From 7340989dc556b739025cb5d308b658914e036b6d Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 7 Feb 2017 20:46:30 -0400 Subject: [PATCH 001/144] Fix trashed document list API view. Add addition trashed document API tests. --- mayan/apps/documents/serializers.py | 4 +- mayan/apps/documents/tests/test_api.py | 133 ++++++++++++++-------- mayan/apps/documents/tests/test_models.py | 2 +- mayan/apps/documents/tests/test_views.py | 1 - mayan/apps/documents/urls.py | 3 +- 5 files changed, 89 insertions(+), 54 deletions(-) diff --git a/mayan/apps/documents/serializers.py b/mayan/apps/documents/serializers.py index 7ff99b2689..a6858e1de1 100644 --- a/mayan/apps/documents/serializers.py +++ b/mayan/apps/documents/serializers.py @@ -106,7 +106,7 @@ class NewDocumentVersionSerializer(serializers.Serializer): class DeletedDocumentSerializer(serializers.HyperlinkedModelSerializer): document_type_label = serializers.SerializerMethodField() restore = serializers.HyperlinkedIdentityField( - view_name='rest_api:deleteddocument-restore' + view_name='rest_api:trasheddocument-restore' ) def get_document_type_label(self, instance): @@ -115,7 +115,7 @@ class DeletedDocumentSerializer(serializers.HyperlinkedModelSerializer): class Meta: extra_kwargs = { 'document_type': {'view_name': 'rest_api:documenttype-detail'}, - 'url': {'view_name': 'rest_api:deleteddocument-detail'} + 'url': {'view_name': 'rest_api:trasheddocument-detail'} } fields = ( 'date_added', 'deleted_date_time', 'description', 'document_type', diff --git a/mayan/apps/documents/tests/test_api.py b/mayan/apps/documents/tests/test_api.py index 7195b01b15..fc1a8225c0 100644 --- a/mayan/apps/documents/tests/test_api.py +++ b/mayan/apps/documents/tests/test_api.py @@ -10,6 +10,7 @@ from django.contrib.auth import get_user_model from django.core.urlresolvers import reverse from django.test import override_settings +from django.utils.encoding import force_text from django.utils.six import BytesIO from rest_framework import status @@ -93,10 +94,6 @@ class DocumentTypeAPITestCase(APITestCase): @override_settings(OCR_AUTO_OCR=False) class DocumentAPITestCase(APITestCase): - """ - Test document API endpoints - """ - def setUp(self): self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, @@ -155,51 +152,6 @@ class DocumentAPITestCase(APITestCase): ) self.assertEqual(document.page_count, 47) - def test_document_move_to_trash(self): - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: - document = self.document_type.new_document( - file_object=file_object, - ) - - self.client.delete( - reverse('rest_api:document-detail', args=(document.pk,)) - ) - - self.assertEqual(Document.objects.count(), 0) - self.assertEqual(Document.trash.count(), 1) - - def test_deleted_document_delete_from_trash(self): - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: - document = self.document_type.new_document( - file_object=file_object, - ) - - document.delete() - - self.assertEqual(Document.objects.count(), 0) - self.assertEqual(Document.trash.count(), 1) - - self.client.delete( - reverse('rest_api:trasheddocument-detail', args=(document.pk,)) - ) - - self.assertEqual(Document.trash.count(), 0) - - def test_deleted_document_restore(self): - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: - document = self.document_type.new_document( - file_object=file_object, - ) - - document.delete() - - self.client.post( - reverse('rest_api:trasheddocument-restore', args=(document.pk,)) - ) - - self.assertEqual(Document.trash.count(), 0) - self.assertEqual(Document.objects.count(), 1) - def test_document_new_version_upload(self): with open(TEST_SMALL_DOCUMENT_PATH) as file_object: document = self.document_type.new_document( @@ -366,5 +318,88 @@ class DocumentAPITestCase(APITestCase): TEST_DOCUMENT_DESCRIPTION_EDITED ) + +@override_settings(OCR_AUTO_OCR=False) +class TrashedDocumentAPITestCase(APITestCase): + def setUp(self): + self.admin_user = get_user_model().objects.create_superuser( + username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, + password=TEST_ADMIN_PASSWORD + ) + + self.client.login( + username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD + ) + + self.document_type = DocumentType.objects.create( + label=TEST_DOCUMENT_TYPE + ) + + def tearDown(self): + self.admin_user.delete() + self.document_type.delete() + + def _upload_document(self): + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + document = self.document_type.new_document( + file_object=file_object, + ) + + return document + + def test_document_move_to_trash(self): + document = self._upload_document() + + self.client.delete( + reverse('rest_api:document-detail', args=(document.pk,)) + ) + + self.assertEqual(Document.objects.count(), 0) + self.assertEqual(Document.trash.count(), 1) + + def test_trashed_document_delete_from_trash(self): + document = self._upload_document() + document.delete() + + self.assertEqual(Document.objects.count(), 0) + self.assertEqual(Document.trash.count(), 1) + + self.client.delete( + reverse('rest_api:trasheddocument-detail', args=(document.pk,)) + ) + + self.assertEqual(Document.trash.count(), 0) + + def test_trashed_document_detail_view(self): + document = self._upload_document() + document.delete() + + response = self.client.get( + reverse('rest_api:trasheddocument-detail', args=(document.pk,)) + ) + + self.assertEqual(response.data['uuid'], force_text(document.uuid)) + + def test_trashed_document_list_view(self): + document = self._upload_document() + document.delete() + + response = self.client.get( + reverse('rest_api:trasheddocument-list') + ) + + self.assertEqual(response.data['results'][0]['uuid'], force_text(document.uuid)) + + def test_trashed_document_restore(self): + document = self._upload_document() + document.delete() + + self.client.post( + reverse('rest_api:trasheddocument-restore', args=(document.pk,)) + ) + + self.assertEqual(Document.trash.count(), 0) + self.assertEqual(Document.objects.count(), 1) + # TODO: def test_document_set_document_type(self): # pass diff --git a/mayan/apps/documents/tests/test_models.py b/mayan/apps/documents/tests/test_models.py index ff9983b656..a272d18b0b 100644 --- a/mayan/apps/documents/tests/test_models.py +++ b/mayan/apps/documents/tests/test_models.py @@ -4,7 +4,7 @@ from datetime import timedelta import time from common.tests import BaseTestCase -from django.test import TestCase, override_settings +from django.test import override_settings from ..exceptions import NewDocumentVersionNotAllowed from ..literals import STUB_EXPIRATION_INTERVAL diff --git a/mayan/apps/documents/tests/test_views.py b/mayan/apps/documents/tests/test_views.py index 4645de3501..19fb13b19c 100644 --- a/mayan/apps/documents/tests/test_views.py +++ b/mayan/apps/documents/tests/test_views.py @@ -380,7 +380,6 @@ class DocumentsViewsTestCase(GenericDocumentViewTestCase): self.assertContains(response, text='queued', status_code=200) self.assertEqual(self.document.pages.count(), page_count) - def test_document_multiple_update_page_count_view_no_permission(self): self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD) diff --git a/mayan/apps/documents/urls.py b/mayan/apps/documents/urls.py index c7dfd59cfd..f1714dd1d0 100644 --- a/mayan/apps/documents/urls.py +++ b/mayan/apps/documents/urls.py @@ -281,7 +281,8 @@ api_urls = patterns( ), url( r'^document_version/(?P[0-9]+)/download/$', - APIDocumentVersionDownloadView.as_view(), name='documentversion-download' + APIDocumentVersionDownloadView.as_view(), + name='documentversion-download' ), url( r'^document_page/(?P[0-9]+)/$', APIDocumentPageView.as_view(), From 10e106ba83728463a16e2d42fb7e3356d8a59211 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 7 Feb 2017 22:06:03 -0400 Subject: [PATCH 002/144] Improve tag serializer adding bulk document tagging on creation and editing. Improve and add additiona tag API tests. --- mayan/apps/tags/api_views.py | 67 +++++++++++++++------------- mayan/apps/tags/serializers.py | 48 ++++++++++++++++++-- mayan/apps/tags/tests/test_api.py | 73 +++++++++++++++++++++---------- 3 files changed, 131 insertions(+), 57 deletions(-) diff --git a/mayan/apps/tags/api_views.py b/mayan/apps/tags/api_views.py index f24e267ef3..87c37c49e1 100644 --- a/mayan/apps/tags/api_views.py +++ b/mayan/apps/tags/api_views.py @@ -21,11 +21,39 @@ from .permissions import ( permission_tag_remove, permission_tag_view ) from .serializers import ( - DocumentTagSerializer, NewDocumentTagSerializer, NewTagSerializer, - TagSerializer + DocumentTagSerializer, NewDocumentTagSerializer, TagSerializer, + WritableTagSerializer ) +class APITagListView(generics.ListCreateAPIView): + filter_backends = (MayanObjectPermissionsFilter,) + mayan_object_permissions = {'GET': (permission_tag_view,)} + mayan_view_permissions = {'POST': (permission_tag_create,)} + permission_classes = (MayanPermission,) + queryset = Tag.objects.all() + + def get_serializer_class(self): + if self.request.method == 'GET': + return TagSerializer + elif self.request.method == 'POST': + return WritableTagSerializer + + def get(self, *args, **kwargs): + """ + Returns a list of all the tags. + """ + + return super(APITagListView, self).get(*args, **kwargs) + + def post(self, *args, **kwargs): + """ + Create a new tag. + """ + + return super(APITagListView, self).post(*args, **kwargs) + + class APITagView(generics.RetrieveUpdateDestroyAPIView): filter_backends = (MayanObjectPermissionsFilter,) mayan_object_permissions = { @@ -35,7 +63,6 @@ class APITagView(generics.RetrieveUpdateDestroyAPIView): 'PUT': (permission_tag_edit,) } queryset = Tag.objects.all() - serializer_class = TagSerializer def delete(self, *args, **kwargs): """ @@ -51,6 +78,12 @@ class APITagView(generics.RetrieveUpdateDestroyAPIView): return super(APITagView, self).get(*args, **kwargs) + def get_serializer_class(self): + if self.request.method == 'GET': + return TagSerializer + else: + return WritableTagSerializer + def patch(self, *args, **kwargs): """ Edit the selected tag. @@ -66,34 +99,6 @@ class APITagView(generics.RetrieveUpdateDestroyAPIView): return super(APITagView, self).put(*args, **kwargs) -class APITagListView(generics.ListCreateAPIView): - filter_backends = (MayanObjectPermissionsFilter,) - mayan_object_permissions = {'GET': (permission_tag_view,)} - mayan_view_permissions = {'POST': (permission_tag_create,)} - permission_classes = (MayanPermission,) - queryset = Tag.objects.all() - - def get_serializer_class(self): - if self.request.method == 'GET': - return TagSerializer - elif self.request.method == 'POST': - return NewTagSerializer - - def get(self, *args, **kwargs): - """ - Returns a list of all the tags. - """ - - return super(APITagListView, self).get(*args, **kwargs) - - def post(self, *args, **kwargs): - """ - Create a new tag. - """ - - return super(APITagListView, self).post(*args, **kwargs) - - class APITagDocumentListView(generics.ListAPIView): """ Returns a list of all the documents tagged by a particular tag. diff --git a/mayan/apps/tags/serializers.py b/mayan/apps/tags/serializers.py index 3f49cf2e42..2d78f5e9bb 100644 --- a/mayan/apps/tags/serializers.py +++ b/mayan/apps/tags/serializers.py @@ -8,6 +8,7 @@ from rest_framework.exceptions import ValidationError from rest_framework.reverse import reverse from acls.models import AccessControlList +from documents.models import Document from permissions import Permission from .models import Tag @@ -15,7 +16,7 @@ from .permissions import permission_tag_attach class TagSerializer(serializers.HyperlinkedModelSerializer): - documents = serializers.HyperlinkedIdentityField( + documents_url = serializers.HyperlinkedIdentityField( view_name='rest_api:tag-document-list' ) documents_count = serializers.SerializerMethodField() @@ -25,7 +26,7 @@ class TagSerializer(serializers.HyperlinkedModelSerializer): 'url': {'view_name': 'rest_api:tag-detail'}, } fields = ( - 'color', 'documents', 'documents_count', 'id', 'label', 'url' + 'color', 'documents_count', 'documents_url', 'id', 'label', 'url' ) model = Tag @@ -33,13 +34,52 @@ class TagSerializer(serializers.HyperlinkedModelSerializer): return instance.documents.count() -class NewTagSerializer(serializers.ModelSerializer): +class WritableTagSerializer(serializers.ModelSerializer): + documents_pk_list = serializers.CharField( + help_text=_( + 'Comma separated list of document primary keys to which this tag ' + 'will be attached.' + ), required=False + ) + class Meta: fields = ( - 'color', 'label', 'id' + 'color', 'documents_pk_list', 'id', 'label', ) model = Tag + def _add_documents(self, documents_pk_list, instance): + instance.documents.add( + *Document.objects.filter(pk__in=documents_pk_list.split(',')) + ) + + def create(self, validated_data): + documents_pk_list = validated_data.pop('documents_pk_list', '') + + instance = super(WritableTagSerializer, self).create(validated_data) + + if documents_pk_list: + self._add_documents( + documents_pk_list=documents_pk_list, instance=instance + ) + + return instance + + def update(self, instance, validated_data): + documents_pk_list = validated_data.pop('documents_pk_list', '') + + instance = super(WritableTagSerializer, self).update( + instance, validated_data + ) + + if documents_pk_list: + instance.documents.clear() + self._add_documents( + documents_pk_list=documents_pk_list, instance=instance + ) + + return instance + class NewDocumentTagSerializer(serializers.Serializer): tag = serializers.IntegerField( diff --git a/mayan/apps/tags/tests/test_api.py b/mayan/apps/tags/tests/test_api.py index d714a5a14f..072ab962f4 100644 --- a/mayan/apps/tags/tests/test_api.py +++ b/mayan/apps/tags/tests/test_api.py @@ -20,6 +20,7 @@ from .literals import ( ) +@override_settings(OCR_AUTO_OCR=False) class TagAPITestCase(APITestCase): """ Test the tag API endpoints @@ -37,6 +38,20 @@ class TagAPITestCase(APITestCase): def tearDown(self): self.admin_user.delete() + if hasattr(self, 'document_type'): + self.document_type.delete() + + def _document_create(self): + self.document_type = DocumentType.objects.create( + label=TEST_DOCUMENT_TYPE + ) + + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + document = self.document_type.new_document( + file_object=file_object, + ) + + return document def test_tag_create(self): response = self.client.post( @@ -46,7 +61,22 @@ class TagAPITestCase(APITestCase): ) tag = Tag.objects.first() + self.assertEqual(response.data['id'], tag.pk) + self.assertEqual(response.data['label'], TEST_TAG_LABEL) + self.assertEqual(response.data['color'], TEST_TAG_COLOR) + self.assertEqual(Tag.objects.count(), 1) + self.assertEqual(tag.label, TEST_TAG_LABEL) + self.assertEqual(tag.color, TEST_TAG_COLOR) + + def test_tag_create_with_documents(self): + response = self.client.post( + reverse('rest_api:tag-list'), { + 'label': TEST_TAG_LABEL, 'color': TEST_TAG_COLOR + } + ) + + tag = Tag.objects.first() self.assertEqual(response.data['id'], tag.pk) self.assertEqual(response.data['label'], TEST_TAG_LABEL) self.assertEqual(response.data['color'], TEST_TAG_COLOR) @@ -62,7 +92,23 @@ class TagAPITestCase(APITestCase): self.assertEqual(Tag.objects.count(), 0) - def test_tag_edit(self): + def test_tag_edit_via_patch(self): + tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) + + self.client.patch( + reverse('rest_api:tag-detail', args=(tag.pk,)), + { + 'label': TEST_TAG_LABEL_EDITED, + 'color': TEST_TAG_COLOR_EDITED + } + ) + + tag = Tag.objects.first() + + self.assertEqual(tag.label, TEST_TAG_LABEL_EDITED) + self.assertEqual(tag.color, TEST_TAG_COLOR_EDITED) + + def test_tag_edit_via_put(self): tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) self.client.put( @@ -78,18 +124,10 @@ class TagAPITestCase(APITestCase): self.assertEqual(tag.label, TEST_TAG_LABEL_EDITED) self.assertEqual(tag.color, TEST_TAG_COLOR_EDITED) - @override_settings(OCR_AUTO_OCR=False) - def test_tag_add_document(self): + def test_tag_document_add(self): tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) - document_type = DocumentType.objects.create( - label=TEST_DOCUMENT_TYPE - ) - - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: - document = document_type.new_document( - file_object=file_object, - ) + document = self._document_create() self.client.post( reverse('rest_api:document-tag-list', args=(document.pk,)), @@ -98,19 +136,10 @@ class TagAPITestCase(APITestCase): self.assertEqual(tag.documents.count(), 1) - @override_settings(OCR_AUTO_OCR=False) - def test_tag_remove_document(self): + def test_tag_document_remove(self): tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) - document_type = DocumentType.objects.create( - label=TEST_DOCUMENT_TYPE - ) - - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: - document = document_type.new_document( - file_object=file_object, - ) - + document = self._document_create() tag.documents.add(document) self.client.delete( From 84e8330d5b9bb35c9c2e54a674c41aa1c3d83044 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 7 Feb 2017 22:07:01 -0400 Subject: [PATCH 003/144] Fix markup typo --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 67acd269bb..426c881519 100644 --- a/README.rst +++ b/README.rst @@ -60,6 +60,6 @@ account. :target: https://codecov.io/gitlab/mayan-edms/mayan-edms?branch=master .. |Documentation| image:: https://readthedocs.org/projects/mayan/badge/?version=latest :target: http://mayan.readthedocs.io/en/latest -.. |Python version| images:: https://img.shields.io/pypi/pyversions/mayan-edms.svg +.. |Python version| image:: https://img.shields.io/pypi/pyversions/mayan-edms.svg |Analytics| From 66fb3a4530e533934c6c8b9ffa298bbfc8c6e43f Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 7 Feb 2017 23:53:35 -0400 Subject: [PATCH 004/144] Keep the django-mptt version mayan-cabinets may have installed. --- requirements/base.txt | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index c87051054e..b563633ab0 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -15,7 +15,7 @@ django-filetransfers==0.1.0 django-formtools==1.0 django-pure-pagination==0.3.0 django-model-utils==2.4 -django-mptt==0.8.0 +django-mptt>=0.8.0 django-qsstats-magic==0.7.2 django-rest-swagger==0.3.4 django-stronghold==0.2.7 diff --git a/setup.py b/setup.py index e2ede2177b..29aff914e9 100644 --- a/setup.py +++ b/setup.py @@ -72,7 +72,7 @@ django-filetransfers==0.1.0 django-formtools==1.0 django-pure-pagination==0.3.0 django-model-utils==2.4 -django-mptt==0.8.0 +django-mptt>=0.8.0 django-qsstats-magic==0.7.2 django-rest-swagger==0.3.4 django-stronghold==0.2.7 From f885d886bda9ba0501b3bedfac116d23ee0dc0b1 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 8 Feb 2017 00:53:33 -0400 Subject: [PATCH 005/144] Improve the document tag serializer. Add document tag detail view. Add more API tests. Tweak URLs to conform with API design best practices. --- mayan/apps/tags/api_views.py | 34 +++++++++++++--------- mayan/apps/tags/serializers.py | 42 +++++++++++++++------------ mayan/apps/tags/tests/test_api.py | 48 ++++++++++++++++++++++++++----- mayan/apps/tags/urls.py | 8 +++--- 4 files changed, 89 insertions(+), 43 deletions(-) diff --git a/mayan/apps/tags/api_views.py b/mayan/apps/tags/api_views.py index 87c37c49e1..41555a758c 100644 --- a/mayan/apps/tags/api_views.py +++ b/mayan/apps/tags/api_views.py @@ -17,8 +17,8 @@ from rest_api.permissions import MayanPermission from .models import Tag from .permissions import ( - permission_tag_create, permission_tag_delete, permission_tag_edit, - permission_tag_remove, permission_tag_view + permission_tag_attach, permission_tag_create, permission_tag_delete, + permission_tag_edit, permission_tag_remove, permission_tag_view ) from .serializers import ( DocumentTagSerializer, NewDocumentTagSerializer, TagSerializer, @@ -123,15 +123,21 @@ class APITagDocumentListView(generics.ListAPIView): class APIDocumentTagListView(generics.ListCreateAPIView): - """ - Returns a list of all the tags attached to a document. - """ - filter_backends = (MayanObjectPermissionsFilter,) - mayan_object_permissions = {'GET': (permission_tag_view,)} + mayan_object_permissions = { + 'GET': (permission_tag_view,), + 'POST': (permission_tag_attach,) + } + + def get(self, *args, **kwargs): + """ + Returns a list of all the tags attached to a document. + """ + + return super(APIDocumentTagListView, self).get(*args, **kwargs) def get_document(self): - return get_object_or_404(Document, pk=self.kwargs['pk']) + return get_object_or_404(Document, pk=self.kwargs['document_pk']) def get_queryset(self): document = self.get_document() @@ -146,6 +152,12 @@ class APIDocumentTagListView(generics.ListCreateAPIView): return document.attached_tags().all() + def get_serializer_class(self): + if self.request.method == 'GET': + return DocumentTagSerializer + elif self.request.method == 'POST': + return NewDocumentTagSerializer + def get_serializer_context(self): """ Extra context provided to the serializer class. @@ -157,12 +169,6 @@ class APIDocumentTagListView(generics.ListCreateAPIView): 'view': self } - def get_serializer_class(self): - if self.request.method == 'GET': - return DocumentTagSerializer - elif self.request.method == 'POST': - return NewDocumentTagSerializer - def perform_create(self, serializer): serializer.save(document=self.get_document()) diff --git a/mayan/apps/tags/serializers.py b/mayan/apps/tags/serializers.py index 2d78f5e9bb..da9265ff3e 100644 --- a/mayan/apps/tags/serializers.py +++ b/mayan/apps/tags/serializers.py @@ -81,14 +81,35 @@ class WritableTagSerializer(serializers.ModelSerializer): return instance +class DocumentTagSerializer(TagSerializer): + document_tag_url = serializers.SerializerMethodField( + help_text=_( + 'API URL pointing to a tag in relation to the document ' + 'attached to it. This URL is different than the canonical ' + 'tag URL.' + ) + ) + + class Meta(TagSerializer.Meta): + fields = TagSerializer.Meta.fields + ('document_tag_url',) + read_only_fields = TagSerializer.Meta.fields + + def get_document_tag_url(self, instance): + return reverse( + 'rest_api:document-tag-detail', args=( + self.context['document'].pk, instance.pk + ), request=self.context['request'], format=self.context['format'] + ) + + class NewDocumentTagSerializer(serializers.Serializer): - tag = serializers.IntegerField( + tag_pk = serializers.IntegerField( help_text=_('Primary key of the tag to be added.') ) def create(self, validated_data): try: - tag = Tag.objects.get(pk=validated_data['tag']) + tag = Tag.objects.get(pk=validated_data['tag_pk']) try: Permission.check_permissions( @@ -103,19 +124,4 @@ class NewDocumentTagSerializer(serializers.Serializer): except Exception as exception: raise ValidationError(exception) - return {'tag': tag.pk} - - -class DocumentTagSerializer(TagSerializer): - remove = serializers.SerializerMethodField() - - def get_remove(self, instance): - return reverse( - 'rest_api:document-tag', args=( - self.context['document'].pk, instance.pk, - ), request=self.context['request'], format=self.context['format'] - ) - - class Meta(TagSerializer.Meta): - fields = TagSerializer.Meta.fields + ('remove',) - read_only_fields = TagSerializer.Meta.fields + return {'tag_pk': tag.pk} diff --git a/mayan/apps/tags/tests/test_api.py b/mayan/apps/tags/tests/test_api.py index 072ab962f4..1beb3441b7 100644 --- a/mayan/apps/tags/tests/test_api.py +++ b/mayan/apps/tags/tests/test_api.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals from django.contrib.auth import get_user_model from django.core.urlresolvers import reverse from django.test import override_settings +from django.utils.encoding import force_text from rest_framework.test import APITestCase @@ -92,6 +93,19 @@ class TagAPITestCase(APITestCase): self.assertEqual(Tag.objects.count(), 0) + def test_tag_document_list_view(self): + tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) + document = self._document_create() + tag.documents.add(document) + + response = self.client.get( + reverse('rest_api:tag-document-list', args=(tag.pk,)) + ) + + self.assertEqual( + response.data['results'][0]['uuid'], force_text(document.uuid) + ) + def test_tag_edit_via_patch(self): tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) @@ -124,26 +138,46 @@ class TagAPITestCase(APITestCase): self.assertEqual(tag.label, TEST_TAG_LABEL_EDITED) self.assertEqual(tag.color, TEST_TAG_COLOR_EDITED) - def test_tag_document_add(self): + def test_document_attach_tag_view(self): tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) - document = self._document_create() - self.client.post( + response = self.client.post( reverse('rest_api:document-tag-list', args=(document.pk,)), - {'tag': tag.pk} + {'tag_pk': tag.pk} + ) + self.assertQuerysetEqual(document.tags.all(), (repr(tag),)) + + def test_document_tag_detail_view(self): + tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) + document = self._document_create() + tag.documents.add(document) + + response = self.client.get( + reverse('rest_api:document-tag-detail', args=(document.pk, tag.pk)) ) - self.assertEqual(tag.documents.count(), 1) + self.assertEqual(response.data['label'], tag.label) - def test_tag_document_remove(self): + def test_document_tag_list_view(self): tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) + document = self._document_create() + tag.documents.add(document) + response = self.client.get( + reverse('rest_api:document-tag-list', args=(document.pk,)) + ) + self.assertEqual(response.data['results'][0]['label'], tag.label) + + def test_document_tag_remove_view(self): + tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) document = self._document_create() tag.documents.add(document) self.client.delete( - reverse('rest_api:document-tag', args=(document.pk, tag.pk)), + reverse( + 'rest_api:document-tag-detail', args=(document.pk, tag.pk) + ), ) self.assertEqual(tag.documents.count(), 0) diff --git a/mayan/apps/tags/urls.py b/mayan/apps/tags/urls.py index 0ee9d5f19f..83223389e0 100644 --- a/mayan/apps/tags/urls.py +++ b/mayan/apps/tags/urls.py @@ -61,11 +61,11 @@ api_urls = patterns( url(r'^tags/(?P[0-9]+)/$', APITagView.as_view(), name='tag-detail'), url(r'^tags/$', APITagListView.as_view(), name='tag-list'), url( - r'^document/(?P[0-9]+)/tags/$', APIDocumentTagListView.as_view(), - name='document-tag-list' + r'^documents/(?P[0-9]+)/tags/$', + APIDocumentTagListView.as_view(), name='document-tag-list' ), url( - r'^document/(?P[0-9]+)/tags/(?P[0-9]+)/$', - APIDocumentTagView.as_view(), name='document-tag' + r'^documents/(?P[0-9]+)/tags/(?P[0-9]+)/$', + APIDocumentTagView.as_view(), name='document-tag-detail' ), ) From 651e37019100099c9fa9255e52e102e7a15b0916 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 8 Feb 2017 01:28:30 -0400 Subject: [PATCH 006/144] Add key serializer, API endpoints and API tests to the django_gpg app. --- mayan/apps/django_gpg/api_views.py | 59 +++++++++++++++++++++++++ mayan/apps/django_gpg/apps.py | 2 + mayan/apps/django_gpg/serializers.py | 17 +++++++ mayan/apps/django_gpg/tests/test_api.py | 59 +++++++++++++++++++++++++ mayan/apps/django_gpg/urls.py | 9 ++++ 5 files changed, 146 insertions(+) create mode 100644 mayan/apps/django_gpg/api_views.py create mode 100644 mayan/apps/django_gpg/serializers.py create mode 100644 mayan/apps/django_gpg/tests/test_api.py diff --git a/mayan/apps/django_gpg/api_views.py b/mayan/apps/django_gpg/api_views.py new file mode 100644 index 0000000000..bb8762f0a0 --- /dev/null +++ b/mayan/apps/django_gpg/api_views.py @@ -0,0 +1,59 @@ +from __future__ import absolute_import, unicode_literals + +from rest_framework import generics + +from rest_api.filters import MayanObjectPermissionsFilter +from rest_api.permissions import MayanPermission + +from .models import Key +from .permissions import ( + permission_key_delete, permission_key_upload, permission_key_view +) +from .serializers import KeySerializer + + +class APIKeyListView(generics.ListCreateAPIView): + filter_backends = (MayanObjectPermissionsFilter,) + mayan_object_permissions = { + 'GET': (permission_key_view,), + 'POST': (permission_key_upload,) + } + permission_classes = (MayanPermission,) + queryset = Key.objects.all() + serializer_class = KeySerializer + + def get(self, *args, **kwargs): + """ + Returns a list of all the keys. + """ + return super(APIKeyListView, self).get(*args, **kwargs) + + def post(self, *args, **kwargs): + """ + Upload a new key. + """ + return super(APIKeyListView, self).post(*args, **kwargs) + + +class APIKeyView(generics.RetrieveDestroyAPIView): + filter_backends = (MayanObjectPermissionsFilter,) + mayan_object_permissions = { + 'DELETE': (permission_key_delete,), + 'GET': (permission_key_view,), + } + queryset = Key.objects.all() + serializer_class = KeySerializer + + def delete(self, *args, **kwargs): + """ + Delete the selected key. + """ + + return super(APIKeyView, self).delete(*args, **kwargs) + + def get(self, *args, **kwargs): + """ + Return the details of the selected key. + """ + + return super(APIKeyView, self).get(*args, **kwargs) diff --git a/mayan/apps/django_gpg/apps.py b/mayan/apps/django_gpg/apps.py index b3abb60d18..9a3c8340ab 100644 --- a/mayan/apps/django_gpg/apps.py +++ b/mayan/apps/django_gpg/apps.py @@ -10,6 +10,7 @@ from common import ( ) from common.classes import Package from navigation import SourceColumn +from rest_api.classes import APIEndPoint from .classes import KeyStub from .links import ( @@ -32,6 +33,7 @@ class DjangoGPGApp(MayanAppConfig): def ready(self): super(DjangoGPGApp, self).ready() + APIEndPoint(app=self, version_string='1') Key = self.get_model('Key') ModelPermission.register( diff --git a/mayan/apps/django_gpg/serializers.py b/mayan/apps/django_gpg/serializers.py new file mode 100644 index 0000000000..df3c965690 --- /dev/null +++ b/mayan/apps/django_gpg/serializers.py @@ -0,0 +1,17 @@ +from __future__ import unicode_literals + +from rest_framework import serializers + +from .models import Key + + +class KeySerializer(serializers.ModelSerializer): + class Meta: + extra_kwargs = { + 'url': {'view_name': 'rest_api:key-detail'}, + } + fields = ( + 'algorithm', 'creation_date', 'expiration_date', 'fingerprint', + 'id', 'key_data', 'key_type', 'length', 'url', 'user_id' + ) + model = Key diff --git a/mayan/apps/django_gpg/tests/test_api.py b/mayan/apps/django_gpg/tests/test_api.py new file mode 100644 index 0000000000..927fed2ff5 --- /dev/null +++ b/mayan/apps/django_gpg/tests/test_api.py @@ -0,0 +1,59 @@ +from __future__ import unicode_literals + +from django.contrib.auth import get_user_model +from django.core.urlresolvers import reverse +from django.test import override_settings + +from rest_framework.test import APITestCase + +from user_management.tests.literals import ( + TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME +) + +from ..models import Key + +from .literals import TEST_KEY_DATA, TEST_KEY_FINGERPRINT + + +@override_settings(OCR_AUTO_OCR=False) +class KeyAPITestCase(APITestCase): + def setUp(self): + self.admin_user = get_user_model().objects.create_superuser( + username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, + password=TEST_ADMIN_PASSWORD + ) + + self.client.login( + username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD + ) + + def _create_key(self): + return Key.objects.create(key_data=TEST_KEY_DATA) + + def test_key_create_view(self): + response = self.client.post( + reverse('rest_api:key-list'), { + 'key_data': TEST_KEY_DATA + } + ) + self.assertEqual(response.data['fingerprint'], TEST_KEY_FINGERPRINT) + + key = Key.objects.first() + self.assertEqual(Key.objects.count(), 1) + self.assertEqual(key.fingerprint, TEST_KEY_FINGERPRINT) + + def test_key_delete_view(self): + key = self._create_key() + + self.client.delete(reverse('rest_api:key-detail', args=(key.pk,))) + + self.assertEqual(Key.objects.count(), 0) + + def test_key_detail_view(self): + key = self._create_key() + + response = self.client.get( + reverse('rest_api:key-detail', args=(key.pk,)) + ) + + self.assertEqual(response.data['fingerprint'], key.fingerprint) diff --git a/mayan/apps/django_gpg/urls.py b/mayan/apps/django_gpg/urls.py index 929e613e71..39068f3039 100644 --- a/mayan/apps/django_gpg/urls.py +++ b/mayan/apps/django_gpg/urls.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals from django.conf.urls import patterns, url +from .api_views import APIKeyListView, APIKeyView from .views import ( KeyDeleteView, KeyDetailView, KeyDownloadView, KeyQueryView, KeyQueryResultView, KeyReceive, KeyUploadView, PrivateKeyListView, @@ -39,3 +40,11 @@ urlpatterns = patterns( r'^receive/(?P.+)/$', KeyReceive.as_view(), name='key_receive' ), ) + +api_urls = [ + url( + r'^keys/(?P[0-9]+)/$', APIKeyView.as_view(), + name='key-detail' + ), + url(r'^keys/$', APIKeyListView.as_view(), name='key-list'), +] From 146459d5bca355926e47c21ba9c095dd6055977b Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 8 Feb 2017 17:03:36 -0400 Subject: [PATCH 007/144] Inital work on the document states API --- mayan/apps/document_states/api_views.py | 254 +++++++++++++++++++ mayan/apps/document_states/apps.py | 3 + mayan/apps/document_states/serializers.py | 123 +++++++++ mayan/apps/document_states/tests/literals.py | 3 +- mayan/apps/document_states/tests/test_api.py | 123 +++++++++ mayan/apps/document_states/urls.py | 22 ++ 6 files changed, 527 insertions(+), 1 deletion(-) create mode 100644 mayan/apps/document_states/api_views.py create mode 100644 mayan/apps/document_states/serializers.py create mode 100644 mayan/apps/document_states/tests/test_api.py diff --git a/mayan/apps/document_states/api_views.py b/mayan/apps/document_states/api_views.py new file mode 100644 index 0000000000..1f61c1980a --- /dev/null +++ b/mayan/apps/document_states/api_views.py @@ -0,0 +1,254 @@ +from __future__ import absolute_import, unicode_literals + +from django.core.exceptions import PermissionDenied +from django.shortcuts import get_object_or_404 + +from rest_framework import generics + +from acls.models import AccessControlList +from documents.permissions import permission_document_type_view +from documents.serializers import DocumentSerializer, DocumentTypeSerializer +from permissions import Permission +from rest_api.filters import MayanObjectPermissionsFilter +from rest_api.permissions import MayanPermission + +from .models import Workflow +from .permissions import ( + permission_workflow_create, permission_workflow_delete, + permission_workflow_edit, permission_workflow_view +) +from .serializers import ( + NewWorkflowDocumentTypeSerializer, WorkflowDocumentTypeSerializer, + WorkflowSerializer, WritableWorkflowSerializer +) + + +class APIWorkflowDocumentTypeList(generics.ListCreateAPIView): + filter_backends = (MayanObjectPermissionsFilter,) + mayan_object_permissions = { + 'GET': (permission_document_type_view,), + } + + def get(self, *args, **kwargs): + """ + Returns a list of all the document types attached to a workflow. + """ + + return super(APIWorkflowDocumentTypeList, self).get(*args, **kwargs) + + def get_queryset(self): + """ + This view returns a list of document types that belong to a workflow + RESEARCH: Could the documents.api_views.APIDocumentTypeList class + be subclasses for this? + """ + + return self.get_workflow().document_types.all() + + def get_serializer_class(self): + if self.request.method == 'GET': + return WorkflowDocumentTypeSerializer + elif self.request.method == 'POST': + return NewWorkflowDocumentTypeSerializer + + def get_serializer_context(self): + """ + Extra context provided to the serializer class. + """ + + return { + 'format': self.format_kwarg, + 'request': self.request, + 'workflow': self.get_workflow(), + 'view': self + } + + def get_workflow(self): + """ + Retrieve the parent workflow of the workflow document type. + Perform custom permission and access check. + """ + + if self.request.method == 'GET': + permission_required = permission_workflow_view + else: + permission_required = permission_workflow_edit + + workflow = get_object_or_404(Workflow, pk=self.kwargs['pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_required,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_required, self.request.user, workflow + ) + + return workflow + + #def perform_create(self, serializer): + # """ + # RESEARCH: This is not needed if the serializer uses the context + # dictionary instead. However is that an acceptable "proper" way + # to do it? + # """ + # + # serializer.save(workflow=self.get_workflow()) + + def post(self, request, *args, **kwargs): + """ + Attach a document type to a specified workflow. + """ + + return super( + APIWorkflowDocumentTypeList, self + ).post(request, *args, **kwargs) + + +class APIWorkflowDocumentTypeView(generics.RetrieveDestroyAPIView): + filter_backends = (MayanObjectPermissionsFilter,) + lookup_url_kwarg = 'document_pk' + mayan_object_permissions = { + 'GET': (permission_document_type_view,), + } + serializer_class = WorkflowDocumentTypeSerializer + + def delete(self, request, *args, **kwargs): + """ + Remove a document type from the selected workflow. + """ + + return super( + APIWorkflowDocumentTypeView, self + ).delete(request, *args, **kwargs) + + def get(self, *args, **kwargs): + """ + Returns the details of the selected workflow document type. + """ + + return super(APIWorkflowDocumentTypeView, self).get(*args, **kwargs) + + def get_queryset(self): + return self.get_workflow().document_types.all() + + def get_serializer_context(self): + """ + Extra context provided to the serializer class. + """ + return { + 'format': self.format_kwarg, + 'request': self.request, + 'workflow': self.get_workflow(), + 'view': self + } + + def get_workflow(self): + """ + This view returns a document types that belongs to a workflow + RESEARCH: Could the documents.api_views.APIDocumentTypeView class + be subclasses for this? + RESEARCH: Since this is a parent-child API view could this be made + into a generic API class? + RESEARCH: Reuse get_workflow method from APIWorkflowDocumentTypeList? + """ + + if self.request.method == 'GET': + permission_required = permission_workflow_view + else: + permission_required = permission_workflow_edit + + workflow = get_object_or_404(Workflow, pk=self.kwargs['pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_required,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_required, self.request.user, workflow + ) + + return workflow + + def perform_destroy(self, instance): + """ + RESEARCH: Move this kind of methods to the serializer instead it that + ability becomes available in Django REST framework + """ + print "DESTROY!" + self.get_workflow().documents.remove(instance) + + +class APIWorkflowListView(generics.ListCreateAPIView): + filter_backends = (MayanObjectPermissionsFilter,) + mayan_object_permissions = { + 'GET': (permission_workflow_view,), + 'POST': (permission_workflow_create,) + } + permission_classes = (MayanPermission,) + queryset = Workflow.objects.all() + + def get(self, *args, **kwargs): + """ + Returns a list of all the workflows. + """ + return super(APIWorkflowListView, self).get(*args, **kwargs) + + def get_serializer_class(self): + if self.request.method == 'GET': + return WorkflowSerializer + else: + return WritableWorkflowSerializer + + def post(self, *args, **kwargs): + """ + Create a new workflow. + """ + return super(APIWorkflowListView, self).post(*args, **kwargs) + + +class APIWorkflowView(generics.RetrieveUpdateDestroyAPIView): + filter_backends = (MayanObjectPermissionsFilter,) + mayan_object_permissions = { + 'DELETE': (permission_workflow_delete,), + 'GET': (permission_workflow_view,), + 'PATCH': (permission_workflow_edit,), + 'PUT': (permission_workflow_edit,) + } + queryset = Workflow.objects.all() + + def delete(self, *args, **kwargs): + """ + Delete the selected workflow. + """ + + return super(APIWorkflowView, self).delete(*args, **kwargs) + + def get(self, *args, **kwargs): + """ + Return the details of the selected workflow. + """ + + return super(APIWorkflowView, self).get(*args, **kwargs) + + def get_serializer_class(self): + if self.request.method == 'GET': + return WorkflowSerializer + else: + return WritableWorkflowSerializer + + def patch(self, *args, **kwargs): + """ + Edit the selected workflow. + """ + + return super(APIWorkflowView, self).patch(*args, **kwargs) + + def put(self, *args, **kwargs): + """ + Edit the selected workflow. + """ + + return super(APIWorkflowView, self).put(*args, **kwargs) diff --git a/mayan/apps/document_states/apps.py b/mayan/apps/document_states/apps.py index 7e71d5b1a2..706d7435d3 100644 --- a/mayan/apps/document_states/apps.py +++ b/mayan/apps/document_states/apps.py @@ -10,6 +10,7 @@ from common import ( ) from common.widgets import two_state_template from navigation import SourceColumn +from rest_api.classes import APIEndPoint from .handlers import launch_workflow from .links import ( @@ -33,6 +34,8 @@ class DocumentStatesApp(MayanAppConfig): def ready(self): super(DocumentStatesApp, self).ready() + APIEndPoint(app=self, version_string='1') + Document = apps.get_model( app_label='documents', model_name='Document' ) diff --git a/mayan/apps/document_states/serializers.py b/mayan/apps/document_states/serializers.py new file mode 100644 index 0000000000..33337b2819 --- /dev/null +++ b/mayan/apps/document_states/serializers.py @@ -0,0 +1,123 @@ +from __future__ import unicode_literals + +from django.utils.translation import ugettext_lazy as _ + +from rest_framework import serializers +from rest_framework.reverse import reverse + +from documents.models import DocumentType +from documents.serializers import DocumentTypeSerializer + +from .models import Workflow + + +class NewWorkflowDocumentTypeSerializer(serializers.Serializer): + document_type_pk = serializers.IntegerField( + help_text=_('Primary key of the document type to be added.') + ) + + def create(self, validated_data): + document_type = DocumentType.objects.get( + pk=validated_data['document_type_pk'] + ) + self.context['workflow'].document_types.add(document_type) + + return validated_data + + +class WorkflowDocumentTypeSerializer(DocumentTypeSerializer): + workflow_document_type_url = serializers.SerializerMethodField( + help_text=_( + 'API URL pointing to a document type in relation to the ' + 'workflow to which it is attached. This URL is different than ' + 'the canonical document type URL.' + ) + ) + + class Meta(DocumentTypeSerializer.Meta): + fields = DocumentTypeSerializer.Meta.fields + ( + 'workflow_document_type_url', + ) + read_only_fields = DocumentTypeSerializer.Meta.fields + + def get_workflow_document_type_url(self, instance): + return reverse( + 'rest_api:workflow-document-type-detail', args=( + self.context['workflow'].pk, instance.pk + ), request=self.context['request'], format=self.context['format'] + ) + + +class WorkflowSerializer(serializers.HyperlinkedModelSerializer): + document_types_url = serializers.HyperlinkedIdentityField( + view_name='rest_api:workflow-document-type-list' + ) + + class Meta: + extra_kwargs = { + 'url': {'view_name': 'rest_api:workflow-detail'}, + } + fields = ( + 'document_types_url', 'get_initial_state', 'id', 'label', 'url' + ) + model = Workflow + + +class WritableWorkflowSerializer(serializers.ModelSerializer): + document_types_pk_list = serializers.CharField( + help_text=_( + 'Comma separated list of document type primary keys to which this ' + 'workflow will be attached.' + ), required=False + ) + + class Meta: + extra_kwargs = { + 'url': {'view_name': 'rest_api:workflow-detail'}, + } + fields = ( + 'document_types_pk_list', 'label', 'id', 'url', + ) + model = Workflow + + def _add_document_types(self, document_types_pk_list, instance): + instance.document_types.add( + *DocumentType.objects.filter( + pk__in=document_types_pk_list.split(',') + ) + ) + + def create(self, validated_data): + document_types_pk_list = validated_data.pop( + 'document_types_pk_list', '' + ) + + instance = super(WritableWorkflowSerializer, self).create( + validated_data + ) + + if document_types_pk_list: + self._add_document_types( + document_types_pk_list=document_types_pk_list, + instance=instance + ) + + return instance + + def update(self, instance, validated_data): + document_types_pk_list = validated_data.pop( + 'document_types_pk_list', '' + ) + + instance = super(WritableWorkflowSerializer, self).update( + instance, validated_data + ) + + if document_types_pk_list: + instance.documents.clear() + self._add_documents( + document_types_pk_list=document_types_pk_list, + instance=instance + ) + + return instance diff --git a/mayan/apps/document_states/tests/literals.py b/mayan/apps/document_states/tests/literals.py index c8fa5f52d8..215d0093cd 100644 --- a/mayan/apps/document_states/tests/literals.py +++ b/mayan/apps/document_states/tests/literals.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals -TEST_WORKFLOW_LABEL = 'test workflow' +TEST_WORKFLOW_LABEL = 'test workflow label' +TEST_WORKFLOW_LABEL_EDITED = 'test workflow label edited' TEST_WORKFLOW_INITIAL_STATE_LABEL = 'test initial state' TEST_WORKFLOW_INITIAL_STATE_COMPLETION = 33 TEST_WORKFLOW_STATE_LABEL = 'test state' diff --git a/mayan/apps/document_states/tests/test_api.py b/mayan/apps/document_states/tests/test_api.py new file mode 100644 index 0000000000..3fd55a3f32 --- /dev/null +++ b/mayan/apps/document_states/tests/test_api.py @@ -0,0 +1,123 @@ +from __future__ import unicode_literals + +from django.contrib.auth import get_user_model +from django.core.urlresolvers import reverse +from django.test import override_settings + +from rest_framework.test import APITestCase + +from documents.models import DocumentType +from documents.permissions import permission_document_type_view +from documents.tests.literals import ( + TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH +) +from user_management.tests.literals import ( + TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME +) + +from ..models import Workflow + +from .literals import TEST_WORKFLOW_LABEL, TEST_WORKFLOW_LABEL_EDITED + + +@override_settings(OCR_AUTO_OCR=False) +class WorkflowAPITestCase(APITestCase): + def setUp(self): + self.admin_user = get_user_model().objects.create_superuser( + username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, + password=TEST_ADMIN_PASSWORD + ) + + self.client.login( + username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD + ) + + self.document_type = DocumentType.objects.create( + label=TEST_DOCUMENT_TYPE + ) + + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + self.document = self.document_type.new_document( + file_object=file_object + ) + + def tearDown(self): + if hasattr(self, 'document_type'): + self.document_type.delete() + + def _create_workflow(self): + return Workflow.objects.create(label=TEST_WORKFLOW_LABEL) + + def test_workflow_create_view(self): + response = self.client.post( + reverse('rest_api:workflow-list'), { + 'label': TEST_WORKFLOW_LABEL + } + ) + + workflow = Workflow.objects.first() + self.assertEqual(Workflow.objects.count(), 1) + self.assertEqual(response.data['id'], workflow.pk) + + def test_workflow_create_with_document_type_view(self): + response = self.client.post( + reverse('rest_api:workflow-list'), { + 'label': TEST_WORKFLOW_LABEL, + 'document_types_pk_list': '{}'.format(self.document_type.pk) + } + ) + + workflow = Workflow.objects.first() + self.assertEqual(Workflow.objects.count(), 1) + self.assertQuerysetEqual( + workflow.document_types.all(), (repr(self.document_type),) + ) + self.assertEqual(response.data['id'], workflow.pk) + + def test_workflow_delete_view(self): + workflow = self._create_workflow() + + self.client.delete( + reverse('rest_api:workflow-detail', args=(workflow.pk,)) + ) + + self.assertEqual(Workflow.objects.count(), 0) + + def test_workflow_detail_view(self): + workflow = self._create_workflow() + + response = self.client.get( + reverse('rest_api:workflow-detail', args=(workflow.pk,)) + ) + + self.assertEqual(response.data['label'], workflow.label) + + def test_workflow_list_view(self): + workflow = self._create_workflow() + + response = self.client.get(reverse('rest_api:workflow-list')) + + self.assertEqual(response.data['results'][0]['label'], workflow.label) + + def test_workflow_put_view(self): + workflow = self._create_workflow() + + response = self.client.put( + reverse('rest_api:workflow-detail', args=(workflow.pk,)), + data={'label': TEST_WORKFLOW_LABEL_EDITED} + ) + + workflow.refresh_from_db() + self.assertEqual(workflow.label, TEST_WORKFLOW_LABEL_EDITED) + + def test_workflow_patch_view(self): + workflow = self._create_workflow() + + response = self.client.patch( + reverse('rest_api:workflow-detail', args=(workflow.pk,)), + data={'label': TEST_WORKFLOW_LABEL_EDITED} + ) + + workflow.refresh_from_db() + self.assertEqual(workflow.label, TEST_WORKFLOW_LABEL_EDITED) + diff --git a/mayan/apps/document_states/urls.py b/mayan/apps/document_states/urls.py index b4f91b1c91..34b9bffd16 100644 --- a/mayan/apps/document_states/urls.py +++ b/mayan/apps/document_states/urls.py @@ -2,6 +2,10 @@ from __future__ import unicode_literals from django.conf.urls import patterns, url +from .api_views import ( + APIWorkflowDocumentTypeList, APIWorkflowDocumentTypeView, + APIWorkflowListView, APIWorkflowView +) from .views import ( DocumentWorkflowInstanceListView, SetupWorkflowCreateView, SetupWorkflowDeleteView, SetupWorkflowDocumentTypesView, @@ -97,3 +101,21 @@ urlpatterns = patterns( name='setup_workflow_transition_edit' ), ) + +api_urls = [ + url(r'^workflows/$', APIWorkflowListView.as_view(), name='workflow-list'), + url( + r'^workflows/(?P[0-9]+)/$', APIWorkflowView.as_view(), + name='workflow-detail' + ), + url( + r'^workflows/(?P[0-9]+)/document_types/$', + APIWorkflowDocumentTypeList.as_view(), + name='workflow-document-type-list' + ), + url( + r'^workflows/(?P[0-9]+)/document_types/(?P[0-9]+)/$', + APIWorkflowDocumentTypeView.as_view(), + name='workflow-document-type-detail' + ), +] From 5de3a607257b8fcafff3fbeaf009e25e7d7c6f05 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 8 Feb 2017 17:03:57 -0400 Subject: [PATCH 008/144] Rename the document type serializer link to its documents to documents_url according to the new guidelines. --- mayan/apps/documents/serializers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mayan/apps/documents/serializers.py b/mayan/apps/documents/serializers.py index a6858e1de1..4a4a729e46 100644 --- a/mayan/apps/documents/serializers.py +++ b/mayan/apps/documents/serializers.py @@ -46,7 +46,7 @@ class DocumentPageSerializer(serializers.HyperlinkedModelSerializer): class DocumentTypeSerializer(serializers.HyperlinkedModelSerializer): - documents = serializers.HyperlinkedIdentityField( + documents_url = serializers.HyperlinkedIdentityField( view_name='rest_api:documenttype-document-list', ) documents_count = serializers.SerializerMethodField() @@ -59,7 +59,7 @@ class DocumentTypeSerializer(serializers.HyperlinkedModelSerializer): 'url': {'view_name': 'rest_api:documenttype-detail'}, } fields = ( - 'delete_time_period', 'delete_time_unit', 'documents', + 'delete_time_period', 'delete_time_unit', 'documents_url', 'documents_count', 'id', 'label', 'trash_time_period', 'trash_time_unit', 'url' ) From 3b7a241c0276979e0ce59406c0da06a0bcde7597 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 8 Feb 2017 17:04:40 -0400 Subject: [PATCH 009/144] Tag API tests cleanups. --- mayan/apps/tags/tests/test_api.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/mayan/apps/tags/tests/test_api.py b/mayan/apps/tags/tests/test_api.py index 1beb3441b7..06393e6bcb 100644 --- a/mayan/apps/tags/tests/test_api.py +++ b/mayan/apps/tags/tests/test_api.py @@ -38,7 +38,6 @@ class TagAPITestCase(APITestCase): ) def tearDown(self): - self.admin_user.delete() if hasattr(self, 'document_type'): self.document_type.delete() @@ -49,8 +48,8 @@ class TagAPITestCase(APITestCase): with open(TEST_SMALL_DOCUMENT_PATH) as file_object: document = self.document_type.new_document( - file_object=file_object, - ) + file_object=file_object, + ) return document @@ -142,7 +141,7 @@ class TagAPITestCase(APITestCase): tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) document = self._document_create() - response = self.client.post( + self.client.post( reverse('rest_api:document-tag-list', args=(document.pk,)), {'tag_pk': tag.pk} ) From e4da3eb7866d659f2b8f219588d59bcc8f8ff378 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 8 Feb 2017 20:46:34 -0400 Subject: [PATCH 010/144] Finish base document states API views. --- mayan/apps/document_states/api_views.py | 6 +-- mayan/apps/document_states/tests/test_api.py | 56 +++++++++++++++++++- mayan/apps/document_states/urls.py | 2 +- 3 files changed, 59 insertions(+), 5 deletions(-) diff --git a/mayan/apps/document_states/api_views.py b/mayan/apps/document_states/api_views.py index 1f61c1980a..c838a82849 100644 --- a/mayan/apps/document_states/api_views.py +++ b/mayan/apps/document_states/api_views.py @@ -108,7 +108,7 @@ class APIWorkflowDocumentTypeList(generics.ListCreateAPIView): class APIWorkflowDocumentTypeView(generics.RetrieveDestroyAPIView): filter_backends = (MayanObjectPermissionsFilter,) - lookup_url_kwarg = 'document_pk' + lookup_url_kwarg = 'document_type_pk' mayan_object_permissions = { 'GET': (permission_document_type_view,), } @@ -177,8 +177,8 @@ class APIWorkflowDocumentTypeView(generics.RetrieveDestroyAPIView): RESEARCH: Move this kind of methods to the serializer instead it that ability becomes available in Django REST framework """ - print "DESTROY!" - self.get_workflow().documents.remove(instance) + + self.get_workflow().document_types.remove(instance) class APIWorkflowListView(generics.ListCreateAPIView): diff --git a/mayan/apps/document_states/tests/test_api.py b/mayan/apps/document_states/tests/test_api.py index 3fd55a3f32..bf2ea54d82 100644 --- a/mayan/apps/document_states/tests/test_api.py +++ b/mayan/apps/document_states/tests/test_api.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals from django.contrib.auth import get_user_model from django.core.urlresolvers import reverse from django.test import override_settings +from django.utils.encoding import force_text from rest_framework.test import APITestCase @@ -92,6 +93,60 @@ class WorkflowAPITestCase(APITestCase): self.assertEqual(response.data['label'], workflow.label) + def test_workflow_document_type_create_view(self): + workflow = self._create_workflow() + + response = self.client.post( + reverse( + 'rest_api:workflow-document-type-list', + args=(workflow.pk,) + ), data={'document_type_pk': self.document_type.pk} + ) + + self.assertQuerysetEqual( + workflow.document_types.all(), (repr(self.document_type),) + ) + + def test_workflow_document_type_delete_view(self): + workflow = self._create_workflow() + workflow.document_types.add(self.document_type) + + response = self.client.delete( + reverse( + 'rest_api:workflow-document-type-detail', + args=(workflow.pk, self.document_type.pk) + ) + ) + + workflow.refresh_from_db() + self.assertQuerysetEqual(workflow.document_types.all(), ()) + + def test_workflow_document_type_detail_view(self): + workflow = self._create_workflow() + workflow.document_types.add(self.document_type) + + response = self.client.get( + reverse( + 'rest_api:workflow-document-type-detail', + args=(workflow.pk, self.document_type.pk) + ) + ) + + self.assertEqual(response.data['label'], self.document_type.label) + + def test_workflow_document_type_list_view(self): + workflow = self._create_workflow() + workflow.document_types.add(self.document_type) + + response = self.client.get( + reverse('rest_api:workflow-document-type-list', + args=(workflow.pk,)) + ) + + self.assertEqual( + response.data['results'][0]['label'], self.document_type.label + ) + def test_workflow_list_view(self): workflow = self._create_workflow() @@ -120,4 +175,3 @@ class WorkflowAPITestCase(APITestCase): workflow.refresh_from_db() self.assertEqual(workflow.label, TEST_WORKFLOW_LABEL_EDITED) - diff --git a/mayan/apps/document_states/urls.py b/mayan/apps/document_states/urls.py index 34b9bffd16..a11c453718 100644 --- a/mayan/apps/document_states/urls.py +++ b/mayan/apps/document_states/urls.py @@ -114,7 +114,7 @@ api_urls = [ name='workflow-document-type-list' ), url( - r'^workflows/(?P[0-9]+)/document_types/(?P[0-9]+)/$', + r'^workflows/(?P[0-9]+)/document_types/(?P[0-9]+)/$', APIWorkflowDocumentTypeView.as_view(), name='workflow-document-type-detail' ), From d12d2d986582537c8155776916dd0ca0ecddd092 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 9 Feb 2017 00:19:42 -0400 Subject: [PATCH 011/144] Initial commit to support workflow states API endpoints. --- mayan/apps/document_states/api_views.py | 38 ++++++++++++----- mayan/apps/document_states/serializers.py | 15 ++++++- mayan/apps/document_states/tests/test_api.py | 45 ++++++++++++++++++++ mayan/apps/document_states/urls.py | 12 +++++- 4 files changed, 96 insertions(+), 14 deletions(-) diff --git a/mayan/apps/document_states/api_views.py b/mayan/apps/document_states/api_views.py index c838a82849..aff3529f01 100644 --- a/mayan/apps/document_states/api_views.py +++ b/mayan/apps/document_states/api_views.py @@ -12,14 +12,14 @@ from permissions import Permission from rest_api.filters import MayanObjectPermissionsFilter from rest_api.permissions import MayanPermission -from .models import Workflow +from .models import Workflow, WorkflowState from .permissions import ( permission_workflow_create, permission_workflow_delete, permission_workflow_edit, permission_workflow_view ) from .serializers import ( NewWorkflowDocumentTypeSerializer, WorkflowDocumentTypeSerializer, - WorkflowSerializer, WritableWorkflowSerializer + WorkflowSerializer, WorkflowStateSerializer, WritableWorkflowSerializer ) @@ -87,15 +87,6 @@ class APIWorkflowDocumentTypeList(generics.ListCreateAPIView): return workflow - #def perform_create(self, serializer): - # """ - # RESEARCH: This is not needed if the serializer uses the context - # dictionary instead. However is that an acceptable "proper" way - # to do it? - # """ - # - # serializer.save(workflow=self.get_workflow()) - def post(self, request, *args, **kwargs): """ Attach a document type to a specified workflow. @@ -252,3 +243,28 @@ class APIWorkflowView(generics.RetrieveUpdateDestroyAPIView): """ return super(APIWorkflowView, self).put(*args, **kwargs) + + +## Workflow state views + + +class APIWorkflowStateListView(generics.ListCreateAPIView): + serializer_class = WorkflowStateSerializer + queryset = WorkflowState.objects.all() + + def get(self, *args, **kwargs): + """ + Returns a list of all the workflow states. + """ + return super(APIWorkflowStateListView, self).get(*args, **kwargs) + + def post(self, *args, **kwargs): + """ + Create a new workflow state. + """ + return super(APIWorkflowStateListView, self).post(*args, **kwargs) + + +class APIWorkflowStateView(generics.RetrieveAPIView): + queryset = WorkflowState.objects.all() + serializer_class = WorkflowStateSerializer diff --git a/mayan/apps/document_states/serializers.py b/mayan/apps/document_states/serializers.py index 33337b2819..322c37743e 100644 --- a/mayan/apps/document_states/serializers.py +++ b/mayan/apps/document_states/serializers.py @@ -8,7 +8,7 @@ from rest_framework.reverse import reverse from documents.models import DocumentType from documents.serializers import DocumentTypeSerializer -from .models import Workflow +from .models import Workflow, WorkflowState class NewWorkflowDocumentTypeSerializer(serializers.Serializer): @@ -48,17 +48,28 @@ class WorkflowDocumentTypeSerializer(DocumentTypeSerializer): ) +class WorkflowStateSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + extra_kwargs = { + 'url': {'view_name': 'rest_api:workflowstate-detail'}, + 'workflow': {'view_name': 'rest_api:workflow-detail'}, + } + fields = ('completion', 'id', 'initial', 'label', 'workflow', 'url') + model = WorkflowState + + class WorkflowSerializer(serializers.HyperlinkedModelSerializer): document_types_url = serializers.HyperlinkedIdentityField( view_name='rest_api:workflow-document-type-list' ) + states = WorkflowStateSerializer(many=True, required=False) class Meta: extra_kwargs = { 'url': {'view_name': 'rest_api:workflow-detail'}, } fields = ( - 'document_types_url', 'get_initial_state', 'id', 'label', 'url' + 'document_types_url', 'id', 'label', 'states', 'url' ) model = Workflow diff --git a/mayan/apps/document_states/tests/test_api.py b/mayan/apps/document_states/tests/test_api.py index bf2ea54d82..d1276791e4 100644 --- a/mayan/apps/document_states/tests/test_api.py +++ b/mayan/apps/document_states/tests/test_api.py @@ -120,6 +120,11 @@ class WorkflowAPITestCase(APITestCase): workflow.refresh_from_db() self.assertQuerysetEqual(workflow.document_types.all(), ()) + # The workflow document type entry was deleted and not the document + # type itself. + self.assertQuerysetEqual( + DocumentType.objects.all(), (repr(self.document_type),) + ) def test_workflow_document_type_detail_view(self): workflow = self._create_workflow() @@ -175,3 +180,43 @@ class WorkflowAPITestCase(APITestCase): workflow.refresh_from_db() self.assertEqual(workflow.label, TEST_WORKFLOW_LABEL_EDITED) + + +@override_settings(OCR_AUTO_OCR=False) +class WorkflowStatesAPITestCase(APITestCase): + def setUp(self): + self.admin_user = get_user_model().objects.create_superuser( + username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, + password=TEST_ADMIN_PASSWORD + ) + + self.client.login( + username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD + ) + + self.document_type = DocumentType.objects.create( + label=TEST_DOCUMENT_TYPE + ) + + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + self.document = self.document_type.new_document( + file_object=file_object + ) + + def tearDown(self): + if hasattr(self, 'document_type'): + self.document_type.delete() + + def _create_workflow(self): + return Workflow.objects.create(label=TEST_WORKFLOW_LABEL) + + def test_workflow_create_view(self): + response = self.client.post( + reverse('rest_api:workflow-list'), { + 'label': TEST_WORKFLOW_LABEL + } + ) + + workflow = Workflow.objects.first() + self.assertEqual(Workflow.objects.count(), 1) + self.assertEqual(response.data['id'], workflow.pk) diff --git a/mayan/apps/document_states/urls.py b/mayan/apps/document_states/urls.py index a11c453718..bfdcac7617 100644 --- a/mayan/apps/document_states/urls.py +++ b/mayan/apps/document_states/urls.py @@ -4,7 +4,8 @@ from django.conf.urls import patterns, url from .api_views import ( APIWorkflowDocumentTypeList, APIWorkflowDocumentTypeView, - APIWorkflowListView, APIWorkflowView + APIWorkflowListView, APIWorkflowStateListView, APIWorkflowStateView, + APIWorkflowView ) from .views import ( DocumentWorkflowInstanceListView, SetupWorkflowCreateView, @@ -103,6 +104,15 @@ urlpatterns = patterns( ) api_urls = [ + url( + r'^states/$', APIWorkflowStateListView.as_view(), + name='workflowstate-list' + ), + url( + r'^states/(?P[0-9]+)/$', + APIWorkflowStateView.as_view(), + name='workflowstate-detail' + ), url(r'^workflows/$', APIWorkflowListView.as_view(), name='workflow-list'), url( r'^workflows/(?P[0-9]+)/$', APIWorkflowView.as_view(), From ab68723cf674a8d1e3109cdd1d0be387044af673 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 9 Feb 2017 04:04:58 -0400 Subject: [PATCH 012/144] Commit working workflow state serializer, API views and tests. --- mayan/apps/document_states/api_views.py | 108 ++++++++++++++++++- mayan/apps/document_states/serializers.py | 29 ++++- mayan/apps/document_states/tests/test_api.py | 72 +++++++++++-- mayan/apps/document_states/urls.py | 9 +- 4 files changed, 196 insertions(+), 22 deletions(-) diff --git a/mayan/apps/document_states/api_views.py b/mayan/apps/document_states/api_views.py index aff3529f01..3caf7e78bf 100644 --- a/mayan/apps/document_states/api_views.py +++ b/mayan/apps/document_states/api_views.py @@ -250,7 +250,6 @@ class APIWorkflowView(generics.RetrieveUpdateDestroyAPIView): class APIWorkflowStateListView(generics.ListCreateAPIView): serializer_class = WorkflowStateSerializer - queryset = WorkflowState.objects.all() def get(self, *args, **kwargs): """ @@ -258,6 +257,39 @@ class APIWorkflowStateListView(generics.ListCreateAPIView): """ return super(APIWorkflowStateListView, self).get(*args, **kwargs) + def get_queryset(self): + return self.get_workflow().states.all() + + def get_serializer_context(self): + """ + Extra context provided to the serializer class. + """ + return { + 'format': self.format_kwarg, + 'request': self.request, + 'workflow': self.get_workflow(), + 'view': self + } + + def get_workflow(self): + if self.request.method == 'GET': + permission_required = permission_workflow_view + else: + permission_required = permission_workflow_edit + + workflow = get_object_or_404(Workflow, pk=self.kwargs['pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_required,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_required, self.request.user, workflow + ) + + return workflow + def post(self, *args, **kwargs): """ Create a new workflow state. @@ -265,6 +297,74 @@ class APIWorkflowStateListView(generics.ListCreateAPIView): return super(APIWorkflowStateListView, self).post(*args, **kwargs) -class APIWorkflowStateView(generics.RetrieveAPIView): - queryset = WorkflowState.objects.all() - serializer_class = WorkflowStateSerializer +class APIWorkflowStateView(generics.RetrieveUpdateDestroyAPIView): + lookup_url_kwarg = 'state_pk' + + def delete(self, *args, **kwargs): + """ + Delete the selected workflow state. + """ + + return super(APIWorkflowStateView, self).delete(*args, **kwargs) + + def get(self, *args, **kwargs): + """ + Return the details of the selected workflow state. + """ + + return super(APIWorkflowStateView, self).get(*args, **kwargs) + + def get_queryset(self): + return self.get_workflow().states.all() + + def get_serializer_class(self): + if self.request.method == 'GET': + return WorkflowStateSerializer + else: + return WorkflowStateSerializer # TODO: Writable + + def get_serializer_context(self): + """ + Extra context provided to the serializer class. + """ + return { + 'format': self.format_kwarg, + 'request': self.request, + 'workflow': self.get_workflow(), + 'view': self + } + + def get_workflow(self): + if self.request.method == 'GET': + permission_required = permission_workflow_view + else: + permission_required = permission_workflow_edit + + workflow = get_object_or_404(Workflow, pk=self.kwargs['pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_required,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_required, self.request.user, workflow + ) + + return workflow + + def patch(self, *args, **kwargs): + """ + Edit the selected workflow state. + """ + + return super(APIWorkflowStateView, self).patch(*args, **kwargs) + + def put(self, *args, **kwargs): + """ + Edit the selected workflow state. + """ + + return super(APIWorkflowStateView, self).put(*args, **kwargs) + + diff --git a/mayan/apps/document_states/serializers.py b/mayan/apps/document_states/serializers.py index 322c37743e..947d9ced86 100644 --- a/mayan/apps/document_states/serializers.py +++ b/mayan/apps/document_states/serializers.py @@ -49,14 +49,33 @@ class WorkflowDocumentTypeSerializer(DocumentTypeSerializer): class WorkflowStateSerializer(serializers.HyperlinkedModelSerializer): + workflow_url = serializers.SerializerMethodField() + url = serializers.SerializerMethodField() + class Meta: - extra_kwargs = { - 'url': {'view_name': 'rest_api:workflowstate-detail'}, - 'workflow': {'view_name': 'rest_api:workflow-detail'}, - } - fields = ('completion', 'id', 'initial', 'label', 'workflow', 'url') + fields = ( + 'completion', 'id', 'initial', 'label', 'url', 'workflow_url', + ) model = WorkflowState + def create(self, validated_data): + validated_data['workflow'] = self.context['workflow'] + return super(WorkflowStateSerializer, self).create(validated_data) + + def get_url(self, instance): + return reverse( + 'rest_api:workflowstate-detail', args=( + instance.workflow.pk, instance.pk + ), request=self.context['request'], format=self.context['format'] + ) + + def get_workflow_url(self, instance): + return reverse( + 'rest_api:workflow-detail', args=( + instance.workflow.pk, + ), request=self.context['request'], format=self.context['format'] + ) + class WorkflowSerializer(serializers.HyperlinkedModelSerializer): document_types_url = serializers.HyperlinkedIdentityField( diff --git a/mayan/apps/document_states/tests/test_api.py b/mayan/apps/document_states/tests/test_api.py index d1276791e4..7da2cecd1a 100644 --- a/mayan/apps/document_states/tests/test_api.py +++ b/mayan/apps/document_states/tests/test_api.py @@ -18,7 +18,10 @@ from user_management.tests.literals import ( from ..models import Workflow -from .literals import TEST_WORKFLOW_LABEL, TEST_WORKFLOW_LABEL_EDITED +from .literals import ( + TEST_WORKFLOW_LABEL, TEST_WORKFLOW_LABEL_EDITED, + TEST_WORKFLOW_STATE_COMPLETION, TEST_WORKFLOW_STATE_LABEL +) @override_settings(OCR_AUTO_OCR=False) @@ -208,15 +211,68 @@ class WorkflowStatesAPITestCase(APITestCase): self.document_type.delete() def _create_workflow(self): - return Workflow.objects.create(label=TEST_WORKFLOW_LABEL) + self.workflow = Workflow.objects.create(label=TEST_WORKFLOW_LABEL) + + def _create_workflow_state(self): + self._create_workflow() + self.workflow_state = self.workflow.states.create( + completion=TEST_WORKFLOW_STATE_COMPLETION, + label=TEST_WORKFLOW_STATE_LABEL + ) + + def test_workflow_state_create_view(self): + self._create_workflow() - def test_workflow_create_view(self): response = self.client.post( - reverse('rest_api:workflow-list'), { - 'label': TEST_WORKFLOW_LABEL + reverse( + 'rest_api:workflowstate-list', args=(self.workflow.pk,) + ), data={ + 'completion': TEST_WORKFLOW_STATE_COMPLETION, + 'label': TEST_WORKFLOW_STATE_LABEL } ) - workflow = Workflow.objects.first() - self.assertEqual(Workflow.objects.count(), 1) - self.assertEqual(response.data['id'], workflow.pk) + self.workflow.refresh_from_db() + + self.assertEqual( + self.workflow.states.first().label, TEST_WORKFLOW_STATE_LABEL + ) + + def test_workflow_state_delete_view(self): + self._create_workflow_state() + + response = self.client.delete( + reverse( + 'rest_api:workflowstate-detail', + args=(self.workflow.pk, self.workflow_state.pk) + ), + ) + + self.workflow.refresh_from_db() + + self.assertEqual(self.workflow.states.count(), 0) + + def test_workflow_state_detail_view(self): + self._create_workflow_state() + + response = self.client.get( + reverse( + 'rest_api:workflowstate-detail', + args=(self.workflow.pk, self.workflow_state.pk) + ), + ) + + self.assertEqual( + response.data['label'], TEST_WORKFLOW_STATE_LABEL + ) + + def test_workflow_state_list_view(self): + self._create_workflow_state() + + response = self.client.get( + reverse('rest_api:workflowstate-list', args=(self.workflow.pk,)), + ) + + self.assertEqual( + response.data['results'][0]['label'], TEST_WORKFLOW_STATE_LABEL + ) diff --git a/mayan/apps/document_states/urls.py b/mayan/apps/document_states/urls.py index bfdcac7617..5eced2ab0c 100644 --- a/mayan/apps/document_states/urls.py +++ b/mayan/apps/document_states/urls.py @@ -105,13 +105,12 @@ urlpatterns = patterns( api_urls = [ url( - r'^states/$', APIWorkflowStateListView.as_view(), - name='workflowstate-list' + r'^workflows/(?P[0-9]+)/states/$', + APIWorkflowStateListView.as_view(), name='workflowstate-list' ), url( - r'^states/(?P[0-9]+)/$', - APIWorkflowStateView.as_view(), - name='workflowstate-detail' + r'^workflows/(?P[0-9]+)/states/(?P[0-9]+)/$', + APIWorkflowStateView.as_view(), name='workflowstate-detail' ), url(r'^workflows/$', APIWorkflowListView.as_view(), name='workflow-list'), url( From 0ff0841826d378e31e357e550de450be7596a5c1 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 9 Feb 2017 05:16:06 -0400 Subject: [PATCH 013/144] Add workflow transition API endpoints and tests. --- mayan/apps/document_states/api_views.py | 140 +++++++++++- mayan/apps/document_states/serializers.py | 95 +++++++- mayan/apps/document_states/tests/literals.py | 6 +- mayan/apps/document_states/tests/test_api.py | 229 ++++++++++++++++++- mayan/apps/document_states/urls.py | 25 +- 5 files changed, 462 insertions(+), 33 deletions(-) diff --git a/mayan/apps/document_states/api_views.py b/mayan/apps/document_states/api_views.py index 3caf7e78bf..a0b287560e 100644 --- a/mayan/apps/document_states/api_views.py +++ b/mayan/apps/document_states/api_views.py @@ -7,19 +7,19 @@ from rest_framework import generics from acls.models import AccessControlList from documents.permissions import permission_document_type_view -from documents.serializers import DocumentSerializer, DocumentTypeSerializer from permissions import Permission from rest_api.filters import MayanObjectPermissionsFilter from rest_api.permissions import MayanPermission -from .models import Workflow, WorkflowState +from .models import Workflow from .permissions import ( permission_workflow_create, permission_workflow_delete, permission_workflow_edit, permission_workflow_view ) from .serializers import ( NewWorkflowDocumentTypeSerializer, WorkflowDocumentTypeSerializer, - WorkflowSerializer, WorkflowStateSerializer, WritableWorkflowSerializer + WorkflowSerializer, WorkflowStateSerializer, WorkflowTransitionSerializer, + WritableWorkflowSerializer, WritableWorkflowTransitionSerializer ) @@ -245,7 +245,7 @@ class APIWorkflowView(generics.RetrieveUpdateDestroyAPIView): return super(APIWorkflowView, self).put(*args, **kwargs) -## Workflow state views +# Workflow state views class APIWorkflowStateListView(generics.ListCreateAPIView): @@ -299,6 +299,7 @@ class APIWorkflowStateListView(generics.ListCreateAPIView): class APIWorkflowStateView(generics.RetrieveUpdateDestroyAPIView): lookup_url_kwarg = 'state_pk' + serializer_class = WorkflowStateSerializer def delete(self, *args, **kwargs): """ @@ -317,12 +318,6 @@ class APIWorkflowStateView(generics.RetrieveUpdateDestroyAPIView): def get_queryset(self): return self.get_workflow().states.all() - def get_serializer_class(self): - if self.request.method == 'GET': - return WorkflowStateSerializer - else: - return WorkflowStateSerializer # TODO: Writable - def get_serializer_context(self): """ Extra context provided to the serializer class. @@ -368,3 +363,128 @@ class APIWorkflowStateView(generics.RetrieveUpdateDestroyAPIView): return super(APIWorkflowStateView, self).put(*args, **kwargs) +# Workflow transition views + + +class APIWorkflowTransitionListView(generics.ListCreateAPIView): + def get(self, *args, **kwargs): + """ + Returns a list of all the workflow transitions. + """ + return super(APIWorkflowTransitionListView, self).get(*args, **kwargs) + + def get_queryset(self): + return self.get_workflow().transitions.all() + + def get_serializer_class(self): + if self.request.method == 'GET': + return WorkflowTransitionSerializer + else: + return WritableWorkflowTransitionSerializer + + def get_serializer_context(self): + """ + Extra context provided to the serializer class. + """ + return { + 'format': self.format_kwarg, + 'request': self.request, + 'workflow': self.get_workflow(), + 'view': self + } + + def get_workflow(self): + if self.request.method == 'GET': + permission_required = permission_workflow_view + else: + permission_required = permission_workflow_edit + + workflow = get_object_or_404(Workflow, pk=self.kwargs['pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_required,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_required, self.request.user, workflow + ) + + return workflow + + def post(self, *args, **kwargs): + """ + Create a new workflow transition. + """ + return super(APIWorkflowTransitionListView, self).post(*args, **kwargs) + + +class APIWorkflowTransitionView(generics.RetrieveUpdateDestroyAPIView): + lookup_url_kwarg = 'transition_pk' + + def delete(self, *args, **kwargs): + """ + Delete the selected workflow transition. + """ + + return super(APIWorkflowTransitionView, self).delete(*args, **kwargs) + + def get(self, *args, **kwargs): + """ + Return the details of the selected workflow transition. + """ + + return super(APIWorkflowTransitionView, self).get(*args, **kwargs) + + def get_queryset(self): + return self.get_workflow().transitions.all() + + def get_serializer_class(self): + if self.request.method == 'GET': + return WorkflowTransitionSerializer + else: + return WritableWorkflowTransitionSerializer + + def get_serializer_context(self): + """ + Extra context provided to the serializer class. + """ + return { + 'format': self.format_kwarg, + 'request': self.request, + 'workflow': self.get_workflow(), + 'view': self + } + + def get_workflow(self): + if self.request.method == 'GET': + permission_required = permission_workflow_view + else: + permission_required = permission_workflow_edit + + workflow = get_object_or_404(Workflow, pk=self.kwargs['pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_required,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_required, self.request.user, workflow + ) + + return workflow + + def patch(self, *args, **kwargs): + """ + Edit the selected workflow transition. + """ + + return super(APIWorkflowTransitionView, self).patch(*args, **kwargs) + + def put(self, *args, **kwargs): + """ + Edit the selected workflow transition. + """ + + return super(APIWorkflowTransitionView, self).put(*args, **kwargs) diff --git a/mayan/apps/document_states/serializers.py b/mayan/apps/document_states/serializers.py index 947d9ced86..3f44f4a4dc 100644 --- a/mayan/apps/document_states/serializers.py +++ b/mayan/apps/document_states/serializers.py @@ -8,7 +8,7 @@ from rest_framework.reverse import reverse from documents.models import DocumentType from documents.serializers import DocumentTypeSerializer -from .models import Workflow, WorkflowState +from .models import Workflow, WorkflowState, WorkflowTransition class NewWorkflowDocumentTypeSerializer(serializers.Serializer): @@ -49,8 +49,8 @@ class WorkflowDocumentTypeSerializer(DocumentTypeSerializer): class WorkflowStateSerializer(serializers.HyperlinkedModelSerializer): - workflow_url = serializers.SerializerMethodField() url = serializers.SerializerMethodField() + workflow_url = serializers.SerializerMethodField() class Meta: fields = ( @@ -77,18 +77,107 @@ class WorkflowStateSerializer(serializers.HyperlinkedModelSerializer): ) +class WorkflowTransitionSerializer(serializers.HyperlinkedModelSerializer): + destination_state = WorkflowStateSerializer() + origin_state = WorkflowStateSerializer() + url = serializers.SerializerMethodField() + workflow_url = serializers.SerializerMethodField() + + class Meta: + fields = ( + 'destination_state', 'id', 'label', 'origin_state', 'url', + 'workflow_url', + ) + model = WorkflowTransition + + def get_url(self, instance): + return reverse( + 'rest_api:workflowtransition-detail', args=( + instance.workflow.pk, instance.pk + ), request=self.context['request'], format=self.context['format'] + ) + + def get_workflow_url(self, instance): + return reverse( + 'rest_api:workflow-detail', args=( + instance.workflow.pk, + ), request=self.context['request'], format=self.context['format'] + ) + + +class WritableWorkflowTransitionSerializer(serializers.ModelSerializer): + destination_state_pk = serializers.IntegerField( + help_text=_('Primary key of the destination state to be added.'), + write_only=True + ) + origin_state_pk = serializers.IntegerField( + help_text=_('Primary key of the origin state to be added.'), + write_only=True + ) + url = serializers.SerializerMethodField() + workflow_url = serializers.SerializerMethodField() + + class Meta: + fields = ( + 'destination_state_pk', 'id', 'label', 'origin_state_pk', 'url', + 'workflow_url', + ) + model = WorkflowTransition + + def create(self, validated_data): + validated_data['destination_state'] = WorkflowState.objects.get( + pk=validated_data.pop('destination_state_pk') + ) + validated_data['origin_state'] = WorkflowState.objects.get( + pk=validated_data.pop('origin_state_pk') + ) + + validated_data['workflow'] = self.context['workflow'] + return super(WritableWorkflowTransitionSerializer, self).create( + validated_data + ) + + def get_url(self, instance): + return reverse( + 'rest_api:workflowtransition-detail', args=( + instance.workflow.pk, instance.pk + ), request=self.context['request'], format=self.context['format'] + ) + + def get_workflow_url(self, instance): + return reverse( + 'rest_api:workflow-detail', args=( + instance.workflow.pk, + ), request=self.context['request'], format=self.context['format'] + ) + + def update(self, instance, validated_data): + validated_data['destination_state'] = WorkflowState.objects.get( + pk=validated_data.pop('destination_state_pk') + ) + validated_data['origin_state'] = WorkflowState.objects.get( + pk=validated_data.pop('origin_state_pk') + ) + + return super(WritableWorkflowTransitionSerializer, self).update( + instance, validated_data + ) + + class WorkflowSerializer(serializers.HyperlinkedModelSerializer): document_types_url = serializers.HyperlinkedIdentityField( view_name='rest_api:workflow-document-type-list' ) states = WorkflowStateSerializer(many=True, required=False) + transitions = WorkflowTransitionSerializer(many=True, required=False) class Meta: extra_kwargs = { 'url': {'view_name': 'rest_api:workflow-detail'}, } fields = ( - 'document_types_url', 'id', 'label', 'states', 'url' + 'document_types_url', 'id', 'label', 'states', 'transitions', + 'url' ) model = Workflow diff --git a/mayan/apps/document_states/tests/literals.py b/mayan/apps/document_states/tests/literals.py index 215d0093cd..aadc1485e1 100644 --- a/mayan/apps/document_states/tests/literals.py +++ b/mayan/apps/document_states/tests/literals.py @@ -4,6 +4,8 @@ TEST_WORKFLOW_LABEL = 'test workflow label' TEST_WORKFLOW_LABEL_EDITED = 'test workflow label edited' TEST_WORKFLOW_INITIAL_STATE_LABEL = 'test initial state' TEST_WORKFLOW_INITIAL_STATE_COMPLETION = 33 -TEST_WORKFLOW_STATE_LABEL = 'test state' +TEST_WORKFLOW_STATE_LABEL = 'test state label' +TEST_WORKFLOW_STATE_LABEL_EDITED = 'test state label edited' TEST_WORKFLOW_STATE_COMPLETION = 66 -TEST_WORKFLOW_TRANSITION_LABEL = 'test transtition' +TEST_WORKFLOW_TRANSITION_LABEL = 'test transtition label' +TEST_WORKFLOW_TRANSITION_LABEL_EDITED = 'test transtition label edited' diff --git a/mayan/apps/document_states/tests/test_api.py b/mayan/apps/document_states/tests/test_api.py index 7da2cecd1a..491f1ba539 100644 --- a/mayan/apps/document_states/tests/test_api.py +++ b/mayan/apps/document_states/tests/test_api.py @@ -8,7 +8,6 @@ from django.utils.encoding import force_text from rest_framework.test import APITestCase from documents.models import DocumentType -from documents.permissions import permission_document_type_view from documents.tests.literals import ( TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH ) @@ -20,7 +19,10 @@ from ..models import Workflow from .literals import ( TEST_WORKFLOW_LABEL, TEST_WORKFLOW_LABEL_EDITED, - TEST_WORKFLOW_STATE_COMPLETION, TEST_WORKFLOW_STATE_LABEL + TEST_WORKFLOW_INITIAL_STATE_COMPLETION, TEST_WORKFLOW_INITIAL_STATE_LABEL, + TEST_WORKFLOW_STATE_COMPLETION, TEST_WORKFLOW_STATE_LABEL, + TEST_WORKFLOW_STATE_LABEL_EDITED, TEST_WORKFLOW_TRANSITION_LABEL, + TEST_WORKFLOW_TRANSITION_LABEL_EDITED ) @@ -99,7 +101,7 @@ class WorkflowAPITestCase(APITestCase): def test_workflow_document_type_create_view(self): workflow = self._create_workflow() - response = self.client.post( + self.client.post( reverse( 'rest_api:workflow-document-type-list', args=(workflow.pk,) @@ -114,7 +116,7 @@ class WorkflowAPITestCase(APITestCase): workflow = self._create_workflow() workflow.document_types.add(self.document_type) - response = self.client.delete( + self.client.delete( reverse( 'rest_api:workflow-document-type-detail', args=(workflow.pk, self.document_type.pk) @@ -147,8 +149,9 @@ class WorkflowAPITestCase(APITestCase): workflow.document_types.add(self.document_type) response = self.client.get( - reverse('rest_api:workflow-document-type-list', - args=(workflow.pk,)) + reverse( + 'rest_api:workflow-document-type-list', args=(workflow.pk,) + ) ) self.assertEqual( @@ -165,7 +168,7 @@ class WorkflowAPITestCase(APITestCase): def test_workflow_put_view(self): workflow = self._create_workflow() - response = self.client.put( + self.client.put( reverse('rest_api:workflow-detail', args=(workflow.pk,)), data={'label': TEST_WORKFLOW_LABEL_EDITED} ) @@ -176,7 +179,7 @@ class WorkflowAPITestCase(APITestCase): def test_workflow_patch_view(self): workflow = self._create_workflow() - response = self.client.patch( + self.client.patch( reverse('rest_api:workflow-detail', args=(workflow.pk,)), data={'label': TEST_WORKFLOW_LABEL_EDITED} ) @@ -223,7 +226,7 @@ class WorkflowStatesAPITestCase(APITestCase): def test_workflow_state_create_view(self): self._create_workflow() - response = self.client.post( + self.client.post( reverse( 'rest_api:workflowstate-list', args=(self.workflow.pk,) ), data={ @@ -241,7 +244,7 @@ class WorkflowStatesAPITestCase(APITestCase): def test_workflow_state_delete_view(self): self._create_workflow_state() - response = self.client.delete( + self.client.delete( reverse( 'rest_api:workflowstate-detail', args=(self.workflow.pk, self.workflow_state.pk) @@ -276,3 +279,209 @@ class WorkflowStatesAPITestCase(APITestCase): self.assertEqual( response.data['results'][0]['label'], TEST_WORKFLOW_STATE_LABEL ) + + def test_workflow_state_patch_view(self): + self._create_workflow_state() + + self.client.patch( + reverse( + 'rest_api:workflowstate-detail', + args=(self.workflow.pk, self.workflow_state.pk) + ), + data={'label': TEST_WORKFLOW_STATE_LABEL_EDITED} + ) + + self.workflow_state.refresh_from_db() + + self.assertEqual( + self.workflow_state.label, + TEST_WORKFLOW_STATE_LABEL_EDITED + ) + + def test_workflow_state_put_view(self): + self._create_workflow_state() + + self.client.put( + reverse( + 'rest_api:workflowstate-detail', + args=(self.workflow.pk, self.workflow_state.pk) + ), + data={'label': TEST_WORKFLOW_STATE_LABEL_EDITED} + ) + + self.workflow_state.refresh_from_db() + + self.assertEqual( + self.workflow_state.label, + TEST_WORKFLOW_STATE_LABEL_EDITED + ) + + +@override_settings(OCR_AUTO_OCR=False) +class WorkflowTransitionsAPITestCase(APITestCase): + def setUp(self): + self.admin_user = get_user_model().objects.create_superuser( + username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, + password=TEST_ADMIN_PASSWORD + ) + + self.client.login( + username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD + ) + + self.document_type = DocumentType.objects.create( + label=TEST_DOCUMENT_TYPE + ) + + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + self.document = self.document_type.new_document( + file_object=file_object + ) + + def tearDown(self): + if hasattr(self, 'document_type'): + self.document_type.delete() + + def _create_workflow(self): + self.workflow = Workflow.objects.create(label=TEST_WORKFLOW_LABEL) + + def _create_workflow_states(self): + self._create_workflow() + self.workflow_state_1 = self.workflow.states.create( + completion=TEST_WORKFLOW_INITIAL_STATE_COMPLETION, + label=TEST_WORKFLOW_INITIAL_STATE_LABEL + ) + self.workflow_state_2 = self.workflow.states.create( + completion=TEST_WORKFLOW_STATE_COMPLETION, + label=TEST_WORKFLOW_STATE_LABEL + ) + + def _create_workflow_transition(self): + self._create_workflow_states() + self.workflow_transition = self.workflow.transitions.create( + label=TEST_WORKFLOW_TRANSITION_LABEL, + origin_state=self.workflow_state_1, + destination_state=self.workflow_state_2, + ) + + def test_workflow_transition_create_view(self): + self._create_workflow_states() + + self.client.post( + reverse( + 'rest_api:workflowtransition-list', args=(self.workflow.pk,) + ), data={ + 'label': TEST_WORKFLOW_TRANSITION_LABEL, + 'origin_state_pk': self.workflow_state_1.pk, + 'destination_state_pk': self.workflow_state_2.pk, + } + ) + + self.workflow.refresh_from_db() + + self.assertEqual( + self.workflow.transitions.first().label, + TEST_WORKFLOW_TRANSITION_LABEL + ) + + def test_workflow_transition_delete_view(self): + self._create_workflow_transition() + + self.client.delete( + reverse( + 'rest_api:workflowtransition-detail', + args=(self.workflow.pk, self.workflow_transition.pk) + ), + ) + + self.workflow.refresh_from_db() + + self.assertEqual(self.workflow.transitions.count(), 0) + + def test_workflow_transition_detail_view(self): + self._create_workflow_transition() + + response = self.client.get( + reverse( + 'rest_api:workflowtransition-detail', + args=(self.workflow.pk, self.workflow_transition.pk) + ), + ) + + self.assertEqual( + response.data['label'], TEST_WORKFLOW_TRANSITION_LABEL + ) + + def test_workflow_transition_list_view(self): + self._create_workflow_transition() + + response = self.client.get( + reverse( + 'rest_api:workflowtransition-list', args=(self.workflow.pk,) + ), + ) + + self.assertEqual( + response.data['results'][0]['label'], + TEST_WORKFLOW_TRANSITION_LABEL + ) + + def test_workflow_transition_patch_view(self): + self._create_workflow_transition() + + self.client.patch( + reverse( + 'rest_api:workflowtransition-detail', + args=(self.workflow.pk, self.workflow_transition.pk) + ), + data={ + 'label': TEST_WORKFLOW_TRANSITION_LABEL_EDITED, + 'origin_state_pk': self.workflow_state_2.pk, + 'destination_state_pk': self.workflow_state_1.pk, + } + ) + + self.workflow_transition.refresh_from_db() + + self.assertEqual( + self.workflow_transition.label, + TEST_WORKFLOW_TRANSITION_LABEL_EDITED + ) + self.assertEqual( + self.workflow_transition.origin_state, + self.workflow_state_2 + ) + self.assertEqual( + self.workflow_transition.destination_state, + self.workflow_state_1 + ) + + def test_workflow_transition_put_view(self): + self._create_workflow_transition() + + self.client.put( + reverse( + 'rest_api:workflowtransition-detail', + args=(self.workflow.pk, self.workflow_transition.pk) + ), + data={ + 'label': TEST_WORKFLOW_TRANSITION_LABEL_EDITED, + 'origin_state_pk': self.workflow_state_2.pk, + 'destination_state_pk': self.workflow_state_1.pk, + } + ) + + self.workflow_transition.refresh_from_db() + + self.assertEqual( + self.workflow_transition.label, + TEST_WORKFLOW_TRANSITION_LABEL_EDITED + ) + self.assertEqual( + self.workflow_transition.origin_state, + self.workflow_state_2 + ) + self.assertEqual( + self.workflow_transition.destination_state, + self.workflow_state_1 + ) diff --git a/mayan/apps/document_states/urls.py b/mayan/apps/document_states/urls.py index 5eced2ab0c..bcb25a6584 100644 --- a/mayan/apps/document_states/urls.py +++ b/mayan/apps/document_states/urls.py @@ -5,6 +5,7 @@ from django.conf.urls import patterns, url from .api_views import ( APIWorkflowDocumentTypeList, APIWorkflowDocumentTypeView, APIWorkflowListView, APIWorkflowStateListView, APIWorkflowStateView, + APIWorkflowTransitionListView, APIWorkflowTransitionView, APIWorkflowView ) from .views import ( @@ -104,14 +105,6 @@ urlpatterns = patterns( ) api_urls = [ - url( - r'^workflows/(?P[0-9]+)/states/$', - APIWorkflowStateListView.as_view(), name='workflowstate-list' - ), - url( - r'^workflows/(?P[0-9]+)/states/(?P[0-9]+)/$', - APIWorkflowStateView.as_view(), name='workflowstate-detail' - ), url(r'^workflows/$', APIWorkflowListView.as_view(), name='workflow-list'), url( r'^workflows/(?P[0-9]+)/$', APIWorkflowView.as_view(), @@ -127,4 +120,20 @@ api_urls = [ APIWorkflowDocumentTypeView.as_view(), name='workflow-document-type-detail' ), + url( + r'^workflows/(?P[0-9]+)/states/$', + APIWorkflowStateListView.as_view(), name='workflowstate-list' + ), + url( + r'^workflows/(?P[0-9]+)/states/(?P[0-9]+)/$', + APIWorkflowStateView.as_view(), name='workflowstate-detail' + ), + url( + r'^workflows/(?P[0-9]+)/transitions/$', + APIWorkflowTransitionListView.as_view(), name='workflowtransition-list' + ), + url( + r'^workflows/(?P[0-9]+)/transitions/(?P[0-9]+)/$', + APIWorkflowTransitionView.as_view(), name='workflowtransition-detail' + ), ] From 448400dc213068b012d644fd4afe4745da7f428d Mon Sep 17 00:00:00 2001 From: Jesaja Everling Date: Thu, 9 Feb 2017 01:21:41 +0200 Subject: [PATCH 014/144] Raise ValidationError when IntegrityError occurs for metadata_type_pk --- mayan/apps/metadata/serializers.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/mayan/apps/metadata/serializers.py b/mayan/apps/metadata/serializers.py index 12b70a50c7..36a1abdd27 100644 --- a/mayan/apps/metadata/serializers.py +++ b/mayan/apps/metadata/serializers.py @@ -1,8 +1,10 @@ from __future__ import unicode_literals +from django.db import IntegrityError from django.utils.translation import ugettext_lazy as _ from rest_framework import serializers +from rest_framework.exceptions import ValidationError from .models import DocumentMetadata, MetadataType, DocumentTypeMetadataType @@ -26,7 +28,7 @@ class DocumentMetadataSerializer(serializers.ModelSerializer): class DocumentTypeMetadataTypeSerializer(serializers.ModelSerializer): class Meta: - fields = ('metadata_type', ) + fields = ('metadata_type',) model = DocumentTypeMetadataType @@ -52,10 +54,15 @@ class DocumentNewMetadataSerializer(serializers.Serializer): metadata_type = MetadataType.objects.get( pk=validated_data['metadata_type_pk'] ) - instance = self.document.metadata.create( - metadata_type=metadata_type, value=validated_data['value'] - ) - return instance + try: + instance = self.document.metadata.create( + metadata_type=metadata_type, value=validated_data['value'] + ) + return instance + except IntegrityError: + detail = 'Metadata type with pk {} is already defined for Document with pk {}'.format(metadata_type.pk, + self.document.pk) + raise ValidationError(detail) class DocumentTypeNewMetadataTypeSerializer(serializers.Serializer): From 280f0e74be8faebea78a09a62772b37b16c46d60 Mon Sep 17 00:00:00 2001 From: Jesaja Everling Date: Thu, 9 Feb 2017 20:13:14 +0200 Subject: [PATCH 015/144] Passing `self.request.data` to serializer not `self.request.POST` --- mayan/apps/metadata/api_views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mayan/apps/metadata/api_views.py b/mayan/apps/metadata/api_views.py index 569a95277d..5bda3a6138 100644 --- a/mayan/apps/metadata/api_views.py +++ b/mayan/apps/metadata/api_views.py @@ -266,7 +266,7 @@ class APIDocumentTypeMetadataTypeOptionalListView(generics.ListCreateAPIView): document_type ) - serializer = self.get_serializer(data=self.request.POST) + serializer = self.get_serializer(data=self.request.data) if serializer.is_valid(): metadata_type = get_object_or_404( From 75b77d6059d778142135d91918b4d82a744599b8 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 10 Feb 2017 03:13:26 -0400 Subject: [PATCH 016/144] Add workflow instance API endpoints and tests. --- mayan/apps/document_states/api_views.py | 127 +++++++++++++++++- mayan/apps/document_states/models.py | 18 ++- mayan/apps/document_states/permissions.py | 3 +- mayan/apps/document_states/serializers.py | 115 +++++++++++++++- mayan/apps/document_states/tests/literals.py | 1 + mayan/apps/document_states/tests/test_api.py | 134 ++++++++++++++++++- mayan/apps/document_states/urls.py | 20 ++- 7 files changed, 405 insertions(+), 13 deletions(-) diff --git a/mayan/apps/document_states/api_views.py b/mayan/apps/document_states/api_views.py index a0b287560e..2c3735e159 100644 --- a/mayan/apps/document_states/api_views.py +++ b/mayan/apps/document_states/api_views.py @@ -6,6 +6,7 @@ from django.shortcuts import get_object_or_404 from rest_framework import generics from acls.models import AccessControlList +from documents.models import Document from documents.permissions import permission_document_type_view from permissions import Permission from rest_api.filters import MayanObjectPermissionsFilter @@ -14,12 +15,15 @@ from rest_api.permissions import MayanPermission from .models import Workflow from .permissions import ( permission_workflow_create, permission_workflow_delete, - permission_workflow_edit, permission_workflow_view + permission_workflow_edit, permission_workflow_transition, + permission_workflow_view ) from .serializers import ( NewWorkflowDocumentTypeSerializer, WorkflowDocumentTypeSerializer, + WorkflowInstanceSerializer, WorkflowInstanceLogEntrySerializer, WorkflowSerializer, WorkflowStateSerializer, WorkflowTransitionSerializer, - WritableWorkflowSerializer, WritableWorkflowTransitionSerializer + WritableWorkflowInstanceLogEntrySerializer, WritableWorkflowSerializer, + WritableWorkflowTransitionSerializer ) @@ -488,3 +492,122 @@ class APIWorkflowTransitionView(generics.RetrieveUpdateDestroyAPIView): """ return super(APIWorkflowTransitionView, self).put(*args, **kwargs) + + +# Document workflow views + + +class APIWorkflowInstanceListView(generics.ListAPIView): + serializer_class = WorkflowInstanceSerializer + + def get(self, *args, **kwargs): + """ + Returns a list of all the document workflows. + """ + return super(APIWorkflowInstanceListView, self).get(*args, **kwargs) + + def get_document(self): + document = get_object_or_404(Document, pk=self.kwargs['pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_workflow_view,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_workflow_view, self.request.user, document + ) + + return document + + def get_queryset(self): + return self.get_document().workflows.all() + + +class APIWorkflowInstanceView(generics.RetrieveAPIView): + lookup_url_kwarg = 'workflow_pk' + serializer_class = WorkflowInstanceSerializer + + def get(self, *args, **kwargs): + """ + Return the details of the selected document workflow. + """ + + return super(APIWorkflowInstanceView, self).get(*args, **kwargs) + + def get_document(self): + document = get_object_or_404(Document, pk=self.kwargs['pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_workflow_view,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_workflow_view, self.request.user, document + ) + + return document + + def get_queryset(self): + return self.get_document().workflows.all() + + +class APIWorkflowInstanceLogEntryListView(generics.ListCreateAPIView): + def get(self, *args, **kwargs): + """ + Returns a list of all the document workflows log entries. + """ + return super(APIWorkflowInstanceLogEntryListView, self).get( + *args, **kwargs + ) + + def get_document(self): + if self.request.method == 'GET': + permission_required = permission_workflow_view + else: + permission_required = permission_workflow_transition + + document = get_object_or_404(Document, pk=self.kwargs['pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_required,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_required, self.request.user, document + ) + + return document + + def get_serializer_class(self): + if self.request.method == 'GET': + return WorkflowInstanceLogEntrySerializer + else: + return WritableWorkflowInstanceLogEntrySerializer + + def get_serializer_context(self): + return { + 'format': self.format_kwarg, + 'request': self.request, + 'workflow_instance': self.get_workflow_instance(), + 'view': self + } + + def get_queryset(self): + return self.get_workflow_instance().log_entries.all() + + def get_workflow_instance(self): + workflow = get_object_or_404( + self.get_document().workflows, pk=self.kwargs['workflow_pk'] + ) + + return workflow + + def post(self, *args, **kwargs): + """ + Transition a document workflow by creating a new document workflow + log entry. + """ + return super(APIWorkflowInstanceLogEntryListView, self).post(*args, **kwargs) diff --git a/mayan/apps/document_states/models.py b/mayan/apps/document_states/models.py index 09fc7cf345..203b29574f 100644 --- a/mayan/apps/document_states/models.py +++ b/mayan/apps/document_states/models.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals import logging from django.conf import settings +from django.core.exceptions import ValidationError from django.core.urlresolvers import reverse from django.db import IntegrityError, models from django.utils.encoding import python_2_unicode_compatible @@ -166,7 +167,18 @@ class WorkflowInstance(models.Model): return None def get_transition_choices(self): - return self.get_current_state().origin_transitions.all() + current_state = self.get_current_state() + + if current_state: + return current_state.origin_transitions.all() + else: + """ + This happens when a workflow has no initial state and a document + whose document type has this workflow is created. We return an + empty transition queryset. + """ + + return WorkflowTransition.objects.none() class Meta: unique_together = ('document', 'workflow') @@ -195,3 +207,7 @@ class WorkflowInstanceLogEntry(models.Model): class Meta: verbose_name = _('Workflow instance log entry') verbose_name_plural = _('Workflow instance log entries') + + def clean(self): + if self.transition not in self.workflow_instance.get_transition_choices(): + raise ValidationError(_('Not a valid transition choice.')) diff --git a/mayan/apps/document_states/permissions.py b/mayan/apps/document_states/permissions.py index c992864d20..54ac90f282 100644 --- a/mayan/apps/document_states/permissions.py +++ b/mayan/apps/document_states/permissions.py @@ -22,6 +22,5 @@ permission_workflow_view = namespace.add_permission( # 'transition workflows' from one state to another, to move the workflow # forwards permission_workflow_transition = namespace.add_permission( - name='workflow_transition', - label=_('Transition workflows') + name='workflow_transition', label=_('Transition workflows') ) diff --git a/mayan/apps/document_states/serializers.py b/mayan/apps/document_states/serializers.py index 3f44f4a4dc..4193a46104 100644 --- a/mayan/apps/document_states/serializers.py +++ b/mayan/apps/document_states/serializers.py @@ -3,12 +3,17 @@ from __future__ import unicode_literals from django.utils.translation import ugettext_lazy as _ from rest_framework import serializers +from rest_framework.exceptions import ValidationError from rest_framework.reverse import reverse from documents.models import DocumentType from documents.serializers import DocumentTypeSerializer +from user_management.serializers import UserSerializer -from .models import Workflow, WorkflowState, WorkflowTransition +from .models import ( + Workflow, WorkflowInstance, WorkflowInstanceLogEntry, WorkflowState, + WorkflowTransition +) class NewWorkflowDocumentTypeSerializer(serializers.Serializer): @@ -182,6 +187,71 @@ class WorkflowSerializer(serializers.HyperlinkedModelSerializer): model = Workflow +class WorkflowInstanceLogEntrySerializer(serializers.ModelSerializer): + document_workflow_url = serializers.SerializerMethodField() + transition = WorkflowTransitionSerializer(read_only=True) + user = UserSerializer(read_only=True) + + class Meta: + fields = ( + 'comment', 'datetime', 'document_workflow_url', 'transition', + 'user' + ) + model = WorkflowInstanceLogEntry + + def get_document_workflow_url(self, instance): + return reverse( + 'rest_api:workflowinstance-detail', args=( + instance.workflow_instance.document.pk, + instance.workflow_instance.pk, + ), request=self.context['request'], format=self.context['format'] + ) + + +class WorkflowInstanceSerializer(serializers.ModelSerializer): + current_state = WorkflowStateSerializer( + read_only=True, source='get_current_state' + ) + document_workflow_url = serializers.SerializerMethodField( + help_text=_( + 'API URL pointing to a workflow in relation to the ' + 'document to which it is attached. This URL is different than ' + 'the canonical workflow URL.' + ) + ) + last_log_entry = WorkflowInstanceLogEntrySerializer( + read_only=True, source='get_last_log_entry' + ) + log_entries_url = serializers.SerializerMethodField( + help_text=_('A link to the entire history of this workflow.') + ) + transition_choices = WorkflowTransitionSerializer( + many=True, read_only=True, source='get_transition_choices' + ) + workflow = WorkflowSerializer(read_only=True) + + class Meta: + fields = ( + 'current_state', 'document_workflow_url', 'last_log_entry', + 'log_entries_url', 'transition_choices', 'workflow', + ) + model = WorkflowInstance + + def get_document_workflow_url(self, instance): + return reverse( + 'rest_api:workflowinstance-detail', args=( + instance.document.pk, instance.pk, + ), request=self.context['request'], format=self.context['format'] + ) + + def get_log_entries_url(self, instance): + return reverse( + 'rest_api:workflowinstancelogentry-list', args=( + instance.document.pk, instance.pk, + ), request=self.context['request'], format=self.context['format'] + ) + + class WritableWorkflowSerializer(serializers.ModelSerializer): document_types_pk_list = serializers.CharField( help_text=_( @@ -240,3 +310,46 @@ class WritableWorkflowSerializer(serializers.ModelSerializer): ) return instance + + +class WritableWorkflowInstanceLogEntrySerializer(serializers.ModelSerializer): + document_workflow_url = serializers.SerializerMethodField() + transition_pk = serializers.IntegerField( + help_text=_('Primary key of the transition to be added.'), + write_only=True + ) + transition = WorkflowTransitionSerializer(read_only=True) + user = UserSerializer(read_only=True) + + class Meta: + fields = ( + 'comment', 'datetime', 'document_workflow_url', 'transition', + 'transition_pk', 'user' + ) + model = WorkflowInstanceLogEntry + + def create(self, validated_data): + validated_data['transition'] = WorkflowTransition.objects.get( + pk=validated_data.pop('transition_pk') + ) + validated_data['user'] = self.context['request'].user + validated_data['workflow_instance'] = self.context['workflow_instance'] + + if validated_data['transition'] not in validated_data['workflow_instance'].get_transition_choices(): + raise ValidationError( + { + 'transition_pk': _('Not a valid transition choice.') + } + ) + + return super(WritableWorkflowInstanceLogEntrySerializer, self).create( + validated_data + ) + + def get_document_workflow_url(self, instance): + return reverse( + 'rest_api:workflowinstance-detail', args=( + instance.workflow_instance.document.pk, + instance.workflow_instance.pk, + ), request=self.context['request'], format=self.context['format'] + ) diff --git a/mayan/apps/document_states/tests/literals.py b/mayan/apps/document_states/tests/literals.py index aadc1485e1..fac41db489 100644 --- a/mayan/apps/document_states/tests/literals.py +++ b/mayan/apps/document_states/tests/literals.py @@ -4,6 +4,7 @@ TEST_WORKFLOW_LABEL = 'test workflow label' TEST_WORKFLOW_LABEL_EDITED = 'test workflow label edited' TEST_WORKFLOW_INITIAL_STATE_LABEL = 'test initial state' TEST_WORKFLOW_INITIAL_STATE_COMPLETION = 33 +TEST_WORKFLOW_INSTANCE_LOG_ENTRY_COMMENT = 'test workflow instance log entry comment' TEST_WORKFLOW_STATE_LABEL = 'test state label' TEST_WORKFLOW_STATE_LABEL_EDITED = 'test state label edited' TEST_WORKFLOW_STATE_COMPLETION = 66 diff --git a/mayan/apps/document_states/tests/test_api.py b/mayan/apps/document_states/tests/test_api.py index 491f1ba539..6545450ee7 100644 --- a/mayan/apps/document_states/tests/test_api.py +++ b/mayan/apps/document_states/tests/test_api.py @@ -3,7 +3,6 @@ from __future__ import unicode_literals from django.contrib.auth import get_user_model from django.core.urlresolvers import reverse from django.test import override_settings -from django.utils.encoding import force_text from rest_framework.test import APITestCase @@ -20,9 +19,9 @@ from ..models import Workflow from .literals import ( TEST_WORKFLOW_LABEL, TEST_WORKFLOW_LABEL_EDITED, TEST_WORKFLOW_INITIAL_STATE_COMPLETION, TEST_WORKFLOW_INITIAL_STATE_LABEL, - TEST_WORKFLOW_STATE_COMPLETION, TEST_WORKFLOW_STATE_LABEL, - TEST_WORKFLOW_STATE_LABEL_EDITED, TEST_WORKFLOW_TRANSITION_LABEL, - TEST_WORKFLOW_TRANSITION_LABEL_EDITED + TEST_WORKFLOW_INSTANCE_LOG_ENTRY_COMMENT, TEST_WORKFLOW_STATE_COMPLETION, + TEST_WORKFLOW_STATE_LABEL, TEST_WORKFLOW_STATE_LABEL_EDITED, + TEST_WORKFLOW_TRANSITION_LABEL, TEST_WORKFLOW_TRANSITION_LABEL_EDITED ) @@ -485,3 +484,130 @@ class WorkflowTransitionsAPITestCase(APITestCase): self.workflow_transition.destination_state, self.workflow_state_1 ) + + +@override_settings(OCR_AUTO_OCR=False) +class DocumentWorkflowsAPITestCase(APITestCase): + def setUp(self): + self.admin_user = get_user_model().objects.create_superuser( + username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, + password=TEST_ADMIN_PASSWORD + ) + + self.client.login( + username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD + ) + + self.document_type = DocumentType.objects.create( + label=TEST_DOCUMENT_TYPE + ) + + def tearDown(self): + if hasattr(self, 'document_type'): + self.document_type.delete() + + def _create_document(self): + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + self.document = self.document_type.new_document( + file_object=file_object + ) + + def _create_workflow(self): + self.workflow = Workflow.objects.create(label=TEST_WORKFLOW_LABEL) + self.workflow.document_types.add(self.document_type) + + def _create_workflow_states(self): + self._create_workflow() + self.workflow_state_1 = self.workflow.states.create( + completion=TEST_WORKFLOW_INITIAL_STATE_COMPLETION, + initial=True, label=TEST_WORKFLOW_INITIAL_STATE_LABEL + ) + self.workflow_state_2 = self.workflow.states.create( + completion=TEST_WORKFLOW_STATE_COMPLETION, + label=TEST_WORKFLOW_STATE_LABEL + ) + + def _create_workflow_transition(self): + self._create_workflow_states() + self.workflow_transition = self.workflow.transitions.create( + label=TEST_WORKFLOW_TRANSITION_LABEL, + origin_state=self.workflow_state_1, + destination_state=self.workflow_state_2, + ) + + def _create_workflow_instance_log_entry(self): + self.document.workflows.first().log_entries.create( + comment=TEST_WORKFLOW_INSTANCE_LOG_ENTRY_COMMENT, transition=self.workflow_transition, + user=self.admin_user + ) + + def test_workflow_instance_detail_view(self): + self._create_workflow_transition() + self._create_document() + + response = self.client.get( + reverse( + 'rest_api:workflowinstance-detail', args=( + self.document.pk, self.document.workflows.first().pk + ) + ), + ) + + self.assertEqual( + response.data['workflow']['label'], + TEST_WORKFLOW_LABEL + ) + + def test_workflow_instance_list_view(self): + self._create_workflow_transition() + self._create_document() + + response = self.client.get( + reverse( + 'rest_api:workflowinstance-list', args=(self.document.pk,) + ), + ) + + self.assertEqual( + response.data['results'][0]['workflow']['label'], + TEST_WORKFLOW_LABEL + ) + + def test_workflow_instance_log_entries_create_view(self): + self._create_workflow_transition() + self._create_document() + + workflow_instance = self.document.workflows.first() + + self.client.post( + reverse( + 'rest_api:workflowinstancelogentry-list', args=( + self.document.pk, workflow_instance.pk + ), + ), data={'transition_pk': self.workflow_transition.pk} + ) + + workflow_instance.refresh_from_db() + + self.assertEqual( + workflow_instance.log_entries.first().transition.label, + TEST_WORKFLOW_TRANSITION_LABEL + ) + + def test_workflow_instance_log_entries_list_view(self): + self._create_workflow_transition() + self._create_document() + self._create_workflow_instance_log_entry() + + response = self.client.get( + reverse( + 'rest_api:workflowinstancelogentry-list', args=( + self.document.pk, self.document.workflows.first().pk + ) + ), + ) + + self.assertEqual( + response.data['results'][0]['transition']['label'], + TEST_WORKFLOW_TRANSITION_LABEL + ) diff --git a/mayan/apps/document_states/urls.py b/mayan/apps/document_states/urls.py index bcb25a6584..d612b28324 100644 --- a/mayan/apps/document_states/urls.py +++ b/mayan/apps/document_states/urls.py @@ -4,9 +4,10 @@ from django.conf.urls import patterns, url from .api_views import ( APIWorkflowDocumentTypeList, APIWorkflowDocumentTypeView, - APIWorkflowListView, APIWorkflowStateListView, APIWorkflowStateView, - APIWorkflowTransitionListView, APIWorkflowTransitionView, - APIWorkflowView + APIWorkflowInstanceListView, APIWorkflowInstanceView, + APIWorkflowInstanceLogEntryListView, APIWorkflowListView, + APIWorkflowStateListView, APIWorkflowStateView, + APIWorkflowTransitionListView, APIWorkflowTransitionView, APIWorkflowView ) from .views import ( DocumentWorkflowInstanceListView, SetupWorkflowCreateView, @@ -136,4 +137,17 @@ api_urls = [ r'^workflows/(?P[0-9]+)/transitions/(?P[0-9]+)/$', APIWorkflowTransitionView.as_view(), name='workflowtransition-detail' ), + url( + r'^document/(?P[0-9]+)/workflows/$', + APIWorkflowInstanceListView.as_view(), name='workflowinstance-list' + ), + url( + r'^document/(?P[0-9]+)/workflows/(?P[0-9]+)/$', + APIWorkflowInstanceView.as_view(), name='workflowinstance-detail' + ), + url( + r'^document/(?P[0-9]+)/workflows/(?P[0-9]+)/log_entries/$', + APIWorkflowInstanceLogEntryListView.as_view(), + name='workflowinstancelogentry-list' + ), ] From 7a1b3e2ee2d2c7fe679da4fd0e3e388cc8d877a3 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 10 Feb 2017 17:46:03 -0400 Subject: [PATCH 017/144] Unify tag API test names and methodology. --- mayan/apps/tags/tests/test_api.py | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/mayan/apps/tags/tests/test_api.py b/mayan/apps/tags/tests/test_api.py index 06393e6bcb..454ecad870 100644 --- a/mayan/apps/tags/tests/test_api.py +++ b/mayan/apps/tags/tests/test_api.py @@ -41,6 +41,9 @@ class TagAPITestCase(APITestCase): if hasattr(self, 'document_type'): self.document_type.delete() + def _create_tag(self): + return Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) + def _document_create(self): self.document_type = DocumentType.objects.create( label=TEST_DOCUMENT_TYPE @@ -53,7 +56,7 @@ class TagAPITestCase(APITestCase): return document - def test_tag_create(self): + def test_tag_create_view(self): response = self.client.post( reverse('rest_api:tag-list'), { 'label': TEST_TAG_LABEL, 'color': TEST_TAG_COLOR @@ -69,7 +72,7 @@ class TagAPITestCase(APITestCase): self.assertEqual(tag.label, TEST_TAG_LABEL) self.assertEqual(tag.color, TEST_TAG_COLOR) - def test_tag_create_with_documents(self): + def test_tag_create_with_documents_view(self): response = self.client.post( reverse('rest_api:tag-list'), { 'label': TEST_TAG_LABEL, 'color': TEST_TAG_COLOR @@ -85,15 +88,15 @@ class TagAPITestCase(APITestCase): self.assertEqual(tag.label, TEST_TAG_LABEL) self.assertEqual(tag.color, TEST_TAG_COLOR) - def test_tag_delete(self): - tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) + def test_tag_delete_view(self): + tag = self._create_tag() self.client.delete(reverse('rest_api:tag-detail', args=(tag.pk,))) self.assertEqual(Tag.objects.count(), 0) def test_tag_document_list_view(self): - tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) + tag = self._create_tag() document = self._document_create() tag.documents.add(document) @@ -106,7 +109,7 @@ class TagAPITestCase(APITestCase): ) def test_tag_edit_via_patch(self): - tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) + tag = self._create_tag() self.client.patch( reverse('rest_api:tag-detail', args=(tag.pk,)), @@ -116,13 +119,13 @@ class TagAPITestCase(APITestCase): } ) - tag = Tag.objects.first() + tag.refresh_from_db() self.assertEqual(tag.label, TEST_TAG_LABEL_EDITED) self.assertEqual(tag.color, TEST_TAG_COLOR_EDITED) def test_tag_edit_via_put(self): - tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) + tag = self._create_tag() self.client.put( reverse('rest_api:tag-detail', args=(tag.pk,)), @@ -132,13 +135,13 @@ class TagAPITestCase(APITestCase): } ) - tag = Tag.objects.first() + tag.refresh_from_db() self.assertEqual(tag.label, TEST_TAG_LABEL_EDITED) self.assertEqual(tag.color, TEST_TAG_COLOR_EDITED) def test_document_attach_tag_view(self): - tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) + tag = self._create_tag() document = self._document_create() self.client.post( @@ -148,7 +151,7 @@ class TagAPITestCase(APITestCase): self.assertQuerysetEqual(document.tags.all(), (repr(tag),)) def test_document_tag_detail_view(self): - tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) + tag = self._create_tag() document = self._document_create() tag.documents.add(document) @@ -159,7 +162,7 @@ class TagAPITestCase(APITestCase): self.assertEqual(response.data['label'], tag.label) def test_document_tag_list_view(self): - tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) + tag = self._create_tag() document = self._document_create() tag.documents.add(document) @@ -169,7 +172,7 @@ class TagAPITestCase(APITestCase): self.assertEqual(response.data['results'][0]['label'], tag.label) def test_document_tag_remove_view(self): - tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) + tag = self._create_tag() document = self._document_create() tag.documents.add(document) From c218819728f641a7f4d666fffeab5cc864da5433 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 10 Feb 2017 18:16:46 -0400 Subject: [PATCH 018/144] Add API endpoints for the message of the day app. --- docs/releases/2.1.8.rst | 80 ++++++++++++++ docs/releases/index.rst | 1 + mayan/apps/motd/api_views.py | 76 +++++++++++++ mayan/apps/motd/apps.py | 3 + mayan/apps/motd/migrations/0001_initial.py | 37 ++++++- .../migrations/0005_auto_20160510_0025.py | 20 +++- mayan/apps/motd/serializers.py | 17 +++ mayan/apps/motd/tests/literals.py | 6 + mayan/apps/motd/tests/test_api.py | 103 ++++++++++++++++++ mayan/apps/motd/tests/test_models.py | 3 +- mayan/apps/motd/urls.py | 13 ++- 11 files changed, 346 insertions(+), 13 deletions(-) create mode 100644 docs/releases/2.1.8.rst create mode 100644 mayan/apps/motd/api_views.py create mode 100644 mayan/apps/motd/serializers.py create mode 100644 mayan/apps/motd/tests/literals.py create mode 100644 mayan/apps/motd/tests/test_api.py diff --git a/docs/releases/2.1.8.rst b/docs/releases/2.1.8.rst new file mode 100644 index 0000000000..196d21b395 --- /dev/null +++ b/docs/releases/2.1.8.rst @@ -0,0 +1,80 @@ +=============================== +Mayan EDMS v2.1.8 release notes +=============================== + +Released: February XX, 2017 + +What's new +========== + +This is a bug-fix release and all users are encouraged to upgrade. The focus +of this micro release was REST API improvement. + +Changes +------------- + +- Fixes in the trashed document API endpoints. +- Improved tags API PUT and PATCH endpoints. +- Bulk document adding when creating and editing tags. +- The version of django-mptt is preserved in case mayan-cabinets is installed. +- Add Django GPG API endpoints for singing keys. +- Add API endpoints for the document states app. +- Add API endpoints for the messsage of the day (MOTD) app. + + +Removals +-------- +* None + +Upgrading from a previous version +--------------------------------- + +Using PIP +~~~~~~~~~ + +Type in the console:: + + $ pip install -U mayan-edms + +the requirements will also be updated automatically. + +Using Git +~~~~~~~~~ + +If you installed Mayan EDMS by cloning the Git repository issue the commands:: + + $ git reset --hard HEAD + $ git pull + +otherwise download the compressed archived and uncompress it overriding the +existing installation. + +Next upgrade/add the new requirements:: + + $ pip install --upgrade -r requirements.txt + +Common steps +~~~~~~~~~~~~ + +Migrate existing database schema with:: + + $ mayan-edms.py performupgrade + +Add new static media:: + + $ mayan-edms.py collectstatic --noinput + +The upgrade procedure is now complete. + + +Backward incompatible changes +============================= + +* None + +Bugs fixed or issues closed +=========================== + +* None + +.. _PyPI: https://pypi.python.org/pypi/mayan-edms/ diff --git a/docs/releases/index.rst b/docs/releases/index.rst index de40317d59..84cb057583 100644 --- a/docs/releases/index.rst +++ b/docs/releases/index.rst @@ -22,6 +22,7 @@ versions of the documentation contain the release notes for any later releases. .. toctree:: :maxdepth: 1 + 2.1.8 2.1.7 2.1.6 2.1.5 diff --git a/mayan/apps/motd/api_views.py b/mayan/apps/motd/api_views.py new file mode 100644 index 0000000000..4799ab357d --- /dev/null +++ b/mayan/apps/motd/api_views.py @@ -0,0 +1,76 @@ +from __future__ import absolute_import, unicode_literals + +from rest_framework import generics + +from rest_api.filters import MayanObjectPermissionsFilter +from rest_api.permissions import MayanPermission + +from .models import Message +from .permissions import ( + permission_message_create, permission_message_delete, + permission_message_edit, permission_message_view +) +from .serializers import MessageSerializer + + +class APIMessageListView(generics.ListCreateAPIView): + filter_backends = (MayanObjectPermissionsFilter,) + mayan_object_permissions = {'GET': (permission_message_view,)} + mayan_view_permissions = {'POST': (permission_message_create,)} + permission_classes = (MayanPermission,) + queryset = Message.objects.all() + serializer_class = MessageSerializer + + def get(self, *args, **kwargs): + """ + Returns a list of all the messages. + """ + + return super(APIMessageListView, self).get(*args, **kwargs) + + def post(self, *args, **kwargs): + """ + Create a new message. + """ + + return super(APIMessageListView, self).post(*args, **kwargs) + + +class APIMessageView(generics.RetrieveUpdateDestroyAPIView): + filter_backends = (MayanObjectPermissionsFilter,) + mayan_object_permissions = { + 'DELETE': (permission_message_delete,), + 'GET': (permission_message_view,), + 'PATCH': (permission_message_edit,), + 'PUT': (permission_message_edit,) + } + queryset = Message.objects.all() + serializer_class = MessageSerializer + + def delete(self, *args, **kwargs): + """ + Delete the selected message. + """ + + return super(APIMessageView, self).delete(*args, **kwargs) + + def get(self, *args, **kwargs): + """ + Return the details of the selected message. + """ + + return super(APIMessageView, self).get(*args, **kwargs) + + def patch(self, *args, **kwargs): + """ + Edit the selected message. + """ + + return super(APIMessageView, self).patch(*args, **kwargs) + + def put(self, *args, **kwargs): + """ + Edit the selected message. + """ + + return super(APIMessageView, self).put(*args, **kwargs) diff --git a/mayan/apps/motd/apps.py b/mayan/apps/motd/apps.py index 0258d066da..afb6c8f132 100644 --- a/mayan/apps/motd/apps.py +++ b/mayan/apps/motd/apps.py @@ -6,6 +6,7 @@ from django.utils.translation import ugettext_lazy as _ from common import MayanAppConfig, menu_object, menu_secondary, menu_setup from navigation import SourceColumn +from rest_api.classes import APIEndPoint from .links import ( link_message_create, link_message_delete, link_message_edit, @@ -23,6 +24,8 @@ class MOTDApp(MayanAppConfig): def ready(self): super(MOTDApp, self).ready() + APIEndPoint(app=self, version_string='1') + Message = self.get_model('Message') SourceColumn( diff --git a/mayan/apps/motd/migrations/0001_initial.py b/mayan/apps/motd/migrations/0001_initial.py index 545f550f5d..f83b25ed46 100644 --- a/mayan/apps/motd/migrations/0001_initial.py +++ b/mayan/apps/motd/migrations/0001_initial.py @@ -13,12 +13,37 @@ class Migration(migrations.Migration): migrations.CreateModel( name='MessageOfTheDay', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('label', models.CharField(max_length=32, verbose_name='Label')), - ('message', models.TextField(verbose_name='Message', blank=True)), - ('enabled', models.BooleanField(default=True, verbose_name='Enabled')), - ('start_datetime', models.DateTimeField(verbose_name='Start date time', blank=True)), - ('end_datetime', models.DateTimeField(verbose_name='End date time', blank=True)), + ( + 'id', models.AutoField( + verbose_name='ID', serialize=False, + auto_created=True, primary_key=True + ) + ), + ( + 'label', models.CharField( + max_length=32, verbose_name='Label' + ) + ), + ( + 'message', models.TextField( + verbose_name='Message', blank=True + ) + ), + ( + 'enabled', models.BooleanField( + default=True, verbose_name='Enabled' + ) + ), + ( + 'start_datetime', models.DateTimeField( + verbose_name='Start date time', blank=True + ) + ), + ( + 'end_datetime', models.DateTimeField( + verbose_name='End date time', blank=True + ) + ), ], options={ 'verbose_name': 'Message of the day', diff --git a/mayan/apps/motd/migrations/0005_auto_20160510_0025.py b/mayan/apps/motd/migrations/0005_auto_20160510_0025.py index 2f87651d4c..469fa0c76d 100644 --- a/mayan/apps/motd/migrations/0005_auto_20160510_0025.py +++ b/mayan/apps/motd/migrations/0005_auto_20160510_0025.py @@ -14,21 +14,33 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='message', name='end_datetime', - field=models.DateTimeField(help_text='Date and time until when this message is to be displayed.', null=True, verbose_name='End date time', blank=True), + field=models.DateTimeField( + help_text='Date and time until when this message is to be displayed.', + null=True, verbose_name='End date time', blank=True + ), ), migrations.AlterField( model_name='message', name='label', - field=models.CharField(help_text='Short description of this message.', max_length=32, verbose_name='Label'), + field=models.CharField( + help_text='Short description of this message.', max_length=32, + verbose_name='Label' + ), ), migrations.AlterField( model_name='message', name='message', - field=models.TextField(help_text='The actual message to be displayed.', verbose_name='Message'), + field=models.TextField( + help_text='The actual message to be displayed.', + verbose_name='Message' + ), ), migrations.AlterField( model_name='message', name='start_datetime', - field=models.DateTimeField(help_text='Date and time after which this message will be displayed.', null=True, verbose_name='Start date time', blank=True), + field=models.DateTimeField( + help_text='Date and time after which this message will be displayed.', + null=True, verbose_name='Start date time', blank=True + ), ), ] diff --git a/mayan/apps/motd/serializers.py b/mayan/apps/motd/serializers.py new file mode 100644 index 0000000000..1637ac91b6 --- /dev/null +++ b/mayan/apps/motd/serializers.py @@ -0,0 +1,17 @@ +from __future__ import absolute_import, unicode_literals + +from rest_framework import serializers + +from .models import Message + + +class MessageSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + extra_kwargs = { + 'url': {'view_name': 'rest_api:message-detail'}, + } + fields = ( + 'end_datetime', 'enabled', 'label', 'message', 'start_datetime', + 'id', 'url' + ) + model = Message diff --git a/mayan/apps/motd/tests/literals.py b/mayan/apps/motd/tests/literals.py new file mode 100644 index 0000000000..431ef052bb --- /dev/null +++ b/mayan/apps/motd/tests/literals.py @@ -0,0 +1,6 @@ +from __future__ import unicode_literals + +TEST_LABEL = 'test label' +TEST_LABEL_EDITED = 'test label edited' +TEST_MESSAGE = 'test message' +TEST_MESSAGE_EDITED = 'test message edited' diff --git a/mayan/apps/motd/tests/test_api.py b/mayan/apps/motd/tests/test_api.py new file mode 100644 index 0000000000..6cb6e8bdfa --- /dev/null +++ b/mayan/apps/motd/tests/test_api.py @@ -0,0 +1,103 @@ +from __future__ import unicode_literals + +from django.contrib.auth import get_user_model +from django.core.urlresolvers import reverse +from django.test import override_settings + +from rest_framework.test import APITestCase + +from user_management.tests.literals import ( + TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME +) + +from ..models import Message + +from .literals import ( + TEST_LABEL, TEST_LABEL_EDITED, TEST_MESSAGE, TEST_MESSAGE_EDITED +) + + +@override_settings(OCR_AUTO_OCR=False) +class MOTDAPITestCase(APITestCase): + def setUp(self): + self.admin_user = get_user_model().objects.create_superuser( + username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, + password=TEST_ADMIN_PASSWORD + ) + + self.client.login( + username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD + ) + + def _create_message(self): + return Message.objects.create( + label=TEST_LABEL, message=TEST_MESSAGE + ) + + def test_message_create_view(self): + response = self.client.post( + reverse('rest_api:message-list'), { + 'label': TEST_LABEL, 'message': TEST_MESSAGE + } + ) + + message = Message.objects.first() + self.assertEqual(response.data['id'], message.pk) + self.assertEqual(response.data['label'], TEST_LABEL) + self.assertEqual(response.data['message'], TEST_MESSAGE) + + self.assertEqual(Message.objects.count(), 1) + self.assertEqual(message.label, TEST_LABEL) + self.assertEqual(message.message, TEST_MESSAGE) + + def test_message_delete_view(self): + message = self._create_message() + + self.client.delete( + reverse('rest_api:message-detail', args=(message.pk,)) + ) + + self.assertEqual(Message.objects.count(), 0) + + def test_message_detail_view(self): + message = self._create_message() + + response = self.client.get( + reverse('rest_api:message-detail', args=(message.pk,)) + ) + + self.assertEqual( + response.data['label'], TEST_LABEL + ) + + def test_message_path_view(self): + message = self._create_message() + + self.client.patch( + reverse('rest_api:message-detail', args=(message.pk,)), + { + 'label': TEST_LABEL_EDITED, + 'message': TEST_MESSAGE_EDITED + } + ) + + message.refresh_from_db() + + self.assertEqual(message.label, TEST_LABEL_EDITED) + self.assertEqual(message.message, TEST_MESSAGE_EDITED) + + def test_message_put_view(self): + message = self._create_message() + + self.client.put( + reverse('rest_api:message-detail', args=(message.pk,)), + { + 'label': TEST_LABEL_EDITED, + 'message': TEST_MESSAGE_EDITED + } + ) + + message.refresh_from_db() + + self.assertEqual(message.label, TEST_LABEL_EDITED) + self.assertEqual(message.message, TEST_MESSAGE_EDITED) diff --git a/mayan/apps/motd/tests/test_models.py b/mayan/apps/motd/tests/test_models.py index bb250982fa..457cacedac 100644 --- a/mayan/apps/motd/tests/test_models.py +++ b/mayan/apps/motd/tests/test_models.py @@ -7,8 +7,7 @@ from django.utils import timezone from ..models import Message -TEST_LABEL = 'test label' -TEST_MESSAGE = 'test message' +from .literals import TEST_LABEL, TEST_MESSAGE class MOTDTestCase(TestCase): diff --git a/mayan/apps/motd/urls.py b/mayan/apps/motd/urls.py index 709e8d7488..e639db5f57 100644 --- a/mayan/apps/motd/urls.py +++ b/mayan/apps/motd/urls.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals from django.conf.urls import patterns, url +from .api_views import APIMessageListView, APIMessageView from .views import ( MessageCreateView, MessageDeleteView, MessageEditView, MessageListView ) @@ -10,9 +11,19 @@ urlpatterns = patterns( '', url(r'^list/$', MessageListView.as_view(), name='message_list'), url(r'^create/$', MessageCreateView.as_view(), name='message_create'), - url(r'^(?P\d+)/edit/$', MessageEditView.as_view(), name='message_edit'), + url( + r'^(?P\d+)/edit/$', MessageEditView.as_view(), name='message_edit' + ), url( r'^(?P\d+)/delete/$', MessageDeleteView.as_view(), name='message_delete' ), ) + +api_urls = [ + url(r'^messages/$', APIMessageListView.as_view(), name='message-list'), + url( + r'^messages/(?P[0-9]+)/$', APIMessageView.as_view(), + name='message-detail' + ), +] From 651f659a05f69044fcb9226bdcf19c2713b2a9f6 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sat, 11 Feb 2017 02:12:25 -0400 Subject: [PATCH 019/144] Add linking app setup API views and tests. --- mayan/apps/linking/api_views.py | 196 ++++++++++++++++++ mayan/apps/linking/apps.py | 3 + mayan/apps/linking/serializers.py | 50 +++++ mayan/apps/linking/tests/literals.py | 6 +- mayan/apps/linking/tests/test_api.py | 265 +++++++++++++++++++++++++ mayan/apps/linking/tests/test_views.py | 8 +- mayan/apps/linking/urls.py | 23 +++ 7 files changed, 546 insertions(+), 5 deletions(-) create mode 100644 mayan/apps/linking/api_views.py create mode 100644 mayan/apps/linking/serializers.py create mode 100644 mayan/apps/linking/tests/test_api.py diff --git a/mayan/apps/linking/api_views.py b/mayan/apps/linking/api_views.py new file mode 100644 index 0000000000..931ea56119 --- /dev/null +++ b/mayan/apps/linking/api_views.py @@ -0,0 +1,196 @@ +from __future__ import absolute_import, unicode_literals + +from django.core.exceptions import PermissionDenied +from django.shortcuts import get_object_or_404 + +from rest_framework import generics + +from acls.models import AccessControlList +from permissions import Permission +from rest_api.filters import MayanObjectPermissionsFilter +from rest_api.permissions import MayanPermission + +from .models import SmartLink +from .permissions import ( + permission_smart_link_create, permission_smart_link_delete, + permission_smart_link_edit, permission_smart_link_view +) +from .serializers import SmartLinkConditionSerializer, SmartLinkSerializer + + +class APISmartLinkConditionListView(generics.ListCreateAPIView): + serializer_class = SmartLinkConditionSerializer + + def get(self, *args, **kwargs): + """ + Returns a list of all the smart link conditions. + """ + return super(APISmartLinkConditionListView, self).get(*args, **kwargs) + + def get_queryset(self): + return self.get_smart_link().conditions.all() + + def get_serializer_context(self): + """ + Extra context provided to the serializer class. + """ + return { + 'format': self.format_kwarg, + 'request': self.request, + 'smart_link': self.get_smart_link(), + 'view': self + } + + def get_smart_link(self): + if self.request.method == 'GET': + permission_required = permission_smart_link_view + else: + permission_required = permission_smart_link_edit + + smart_link = get_object_or_404(SmartLink, pk=self.kwargs['pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_required,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_required, self.request.user, smart_link + ) + + return smart_link + + def post(self, *args, **kwargs): + """ + Create a new smart link condition. + """ + return super(APISmartLinkConditionListView, self).post(*args, **kwargs) + + +class APISmartLinkConditionView(generics.RetrieveUpdateDestroyAPIView): + lookup_url_kwarg = 'condition_pk' + serializer_class = SmartLinkConditionSerializer + + def delete(self, *args, **kwargs): + """ + Delete the selected smart link condition. + """ + + return super(APISmartLinkConditionView, self).delete(*args, **kwargs) + + def get(self, *args, **kwargs): + """ + Return the details of the selected smart link condition. + """ + + return super(APISmartLinkConditionView, self).get(*args, **kwargs) + + def get_queryset(self): + return self.get_smart_link().conditions.all() + + def get_serializer_context(self): + """ + Extra context provided to the serializer class. + """ + return { + 'format': self.format_kwarg, + 'request': self.request, + 'smart_link': self.get_smart_link(), + 'view': self + } + + def get_smart_link(self): + if self.request.method == 'GET': + permission_required = permission_smart_link_view + else: + permission_required = permission_smart_link_edit + + smart_link = get_object_or_404(SmartLink, pk=self.kwargs['pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_required,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_required, self.request.user, smart_link + ) + + return smart_link + + def patch(self, *args, **kwargs): + """ + Edit the selected smart link condition. + """ + + return super(APISmartLinkConditionView, self).patch(*args, **kwargs) + + def put(self, *args, **kwargs): + """ + Edit the selected smart link condition. + """ + + return super(APISmartLinkConditionView, self).put(*args, **kwargs) + + +class APISmartLinkListView(generics.ListCreateAPIView): + filter_backends = (MayanObjectPermissionsFilter,) + mayan_object_permissions = {'GET': (permission_smart_link_view,)} + mayan_view_permissions = {'POST': (permission_smart_link_create,)} + permission_classes = (MayanPermission,) + queryset = SmartLink.objects.all() + serializer_class = SmartLinkSerializer + + def get(self, *args, **kwargs): + """ + Returns a list of all the smart links. + """ + + return super(APISmartLinkListView, self).get(*args, **kwargs) + + def post(self, *args, **kwargs): + """ + Create a new smart link. + """ + + return super(APISmartLinkListView, self).post(*args, **kwargs) + + +class APISmartLinkView(generics.RetrieveUpdateDestroyAPIView): + filter_backends = (MayanObjectPermissionsFilter,) + mayan_object_permissions = { + 'DELETE': (permission_smart_link_delete,), + 'GET': (permission_smart_link_view,), + 'PATCH': (permission_smart_link_edit,), + 'PUT': (permission_smart_link_edit,) + } + queryset = SmartLink.objects.all() + serializer_class = SmartLinkSerializer + + def delete(self, *args, **kwargs): + """ + Delete the selected smart link. + """ + + return super(APISmartLinkView, self).delete(*args, **kwargs) + + def get(self, *args, **kwargs): + """ + Return the details of the selected smart ink. + """ + + return super(APISmartLinkView, self).get(*args, **kwargs) + + def patch(self, *args, **kwargs): + """ + Edit the selected smart link. + """ + + return super(APISmartLinkView, self).patch(*args, **kwargs) + + def put(self, *args, **kwargs): + """ + Edit the selected smart link. + """ + + return super(APISmartLinkView, self).put(*args, **kwargs) diff --git a/mayan/apps/linking/apps.py b/mayan/apps/linking/apps.py index 54250c85e4..41eb9df8cc 100644 --- a/mayan/apps/linking/apps.py +++ b/mayan/apps/linking/apps.py @@ -12,6 +12,7 @@ from common import ( ) from common.widgets import two_state_template from navigation import SourceColumn +from rest_api.classes import APIEndPoint from .links import ( link_smart_link_create, link_smart_link_condition_create, @@ -35,6 +36,8 @@ class LinkingApp(MayanAppConfig): def ready(self): super(LinkingApp, self).ready() + APIEndPoint(app=self, version_string='1') + Document = apps.get_model( app_label='documents', model_name='Document' ) diff --git a/mayan/apps/linking/serializers.py b/mayan/apps/linking/serializers.py new file mode 100644 index 0000000000..4e94a3dc36 --- /dev/null +++ b/mayan/apps/linking/serializers.py @@ -0,0 +1,50 @@ +from __future__ import absolute_import, unicode_literals + +from rest_framework import serializers +from rest_framework.reverse import reverse + +from .models import SmartLink, SmartLinkCondition + + +class SmartLinkConditionSerializer(serializers.HyperlinkedModelSerializer): + smart_link_url = serializers.SerializerMethodField() + url = serializers.SerializerMethodField() + + class Meta: + fields = ( + 'enabled', 'expression', 'foreign_document_data', 'inclusion', + 'id', 'negated', 'operator', 'smart_link_url', 'url' + ) + model = SmartLinkCondition + + def create(self, validated_data): + validated_data['smart_link'] = self.context['smart_link'] + return super(SmartLinkConditionSerializer, self).create(validated_data) + + def get_smart_link_url(self, instance): + return reverse( + 'rest_api:smartlink-detail', args=(instance.smart_link.pk,), + request=self.context['request'], format=self.context['format'] + ) + + def get_url(self, instance): + return reverse( + 'rest_api:smartlinkcondition-detail', args=( + instance.smart_link.pk, instance.pk, + ), request=self.context['request'], format=self.context['format'] + ) + + +class SmartLinkSerializer(serializers.HyperlinkedModelSerializer): + conditions_url = serializers.HyperlinkedIdentityField( + view_name='rest_api:smartlinkcondition-list' + ) + + class Meta: + extra_kwargs = { + 'url': {'view_name': 'rest_api:smartlink-detail'}, + } + fields = ( + 'conditions_url', 'dynamic_label', 'enabled', 'label', 'id', 'url' + ) + model = SmartLink diff --git a/mayan/apps/linking/tests/literals.py b/mayan/apps/linking/tests/literals.py index 279ea65564..e527654e91 100644 --- a/mayan/apps/linking/tests/literals.py +++ b/mayan/apps/linking/tests/literals.py @@ -1,5 +1,9 @@ from __future__ import unicode_literals +TEST_SMART_LINK_CONDITION_FOREIGN_DOCUMENT_DATA = 'label' +TEST_SMART_LINK_CONDITION_EXPRESSION = '\'test\'' +TEST_SMART_LINK_CONDITION_EXPRESSION_EDITED = '\'test edited\'' +TEST_SMART_LINK_CONDITION_OPERATOR = 'icontains' TEST_SMART_LINK_DYNAMIC_LABEL = '{{ document.label }}' -TEST_SMART_LINK_EDITED_LABEL = 'test edited label' +TEST_SMART_LINK_LABEL_EDITED = 'test edited label' TEST_SMART_LINK_LABEL = 'test label' diff --git a/mayan/apps/linking/tests/test_api.py b/mayan/apps/linking/tests/test_api.py new file mode 100644 index 0000000000..8f334b483b --- /dev/null +++ b/mayan/apps/linking/tests/test_api.py @@ -0,0 +1,265 @@ +from __future__ import unicode_literals + +from django.contrib.auth import get_user_model +from django.core.urlresolvers import reverse +from django.test import override_settings + +from rest_framework.test import APITestCase + +from documents.models import DocumentType +from documents.tests.literals import ( + TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH +) +from user_management.tests.literals import ( + TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME +) + +from ..models import SmartLink, SmartLinkCondition + +from .literals import ( + TEST_SMART_LINK_CONDITION_FOREIGN_DOCUMENT_DATA, + TEST_SMART_LINK_CONDITION_EXPRESSION, + TEST_SMART_LINK_CONDITION_EXPRESSION_EDITED, + TEST_SMART_LINK_CONDITION_OPERATOR, TEST_SMART_LINK_DYNAMIC_LABEL, + TEST_SMART_LINK_LABEL_EDITED, TEST_SMART_LINK_LABEL +) + + +@override_settings(OCR_AUTO_OCR=False) +class SmartLinkAPITestCase(APITestCase): + def setUp(self): + self.admin_user = get_user_model().objects.create_superuser( + username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, + password=TEST_ADMIN_PASSWORD + ) + + self.client.login( + username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD + ) + + def tearDown(self): + if hasattr(self, 'document_type'): + self.document_type.delete() + + def _create_document_type(self): + self.document_type = DocumentType.objects.create( + label=TEST_DOCUMENT_TYPE + ) + + def _create_document(self): + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + self.document = self.document_type.new_document( + file_object=file_object + ) + + def _create_smart_link(self): + return SmartLink.objects.create( + label=TEST_SMART_LINK_LABEL, + dynamic_label=TEST_SMART_LINK_DYNAMIC_LABEL + ) + + def test_smart_link_create_view(self): + response = self.client.post( + reverse('rest_api:smartlink-list'), { + 'label': TEST_SMART_LINK_LABEL + } + ) + + smart_link = SmartLink.objects.first() + self.assertEqual(response.data['id'], smart_link.pk) + self.assertEqual(response.data['label'], TEST_SMART_LINK_LABEL) + + self.assertEqual(SmartLink.objects.count(), 1) + self.assertEqual(smart_link.label, TEST_SMART_LINK_LABEL) + + def test_smart_link_delete_view(self): + smart_link = self._create_smart_link() + + self.client.delete( + reverse('rest_api:smartlink-detail', args=(smart_link.pk,)) + ) + + self.assertEqual(SmartLink.objects.count(), 0) + + def test_smart_link_detail_view(self): + smart_link = self._create_smart_link() + + response = self.client.get( + reverse('rest_api:smartlink-detail', args=(smart_link.pk,)) + ) + + self.assertEqual( + response.data['label'], TEST_SMART_LINK_LABEL + ) + + def test_smart_link_patch_view(self): + smart_link = self._create_smart_link() + + self.client.patch( + reverse('rest_api:smartlink-detail', args=(smart_link.pk,)), + data={ + 'label': TEST_SMART_LINK_LABEL_EDITED, + } + ) + + smart_link.refresh_from_db() + + self.assertEqual(smart_link.label, TEST_SMART_LINK_LABEL_EDITED) + + def test_smart_link_put_view(self): + smart_link = self._create_smart_link() + + self.client.put( + reverse('rest_api:smartlink-detail', args=(smart_link.pk,)), + data={ + 'label': TEST_SMART_LINK_LABEL_EDITED, + } + ) + + smart_link.refresh_from_db() + + self.assertEqual(smart_link.label, TEST_SMART_LINK_LABEL_EDITED) + + +@override_settings(OCR_AUTO_OCR=False) +class SmartLinkConditionAPITestCase(APITestCase): + def setUp(self): + self.admin_user = get_user_model().objects.create_superuser( + username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, + password=TEST_ADMIN_PASSWORD + ) + + self.client.login( + username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD + ) + + def tearDown(self): + if hasattr(self, 'document_type'): + self.document_type.delete() + + def _create_document_type(self): + self.document_type = DocumentType.objects.create( + label=TEST_DOCUMENT_TYPE + ) + + def _create_document(self): + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + self.document = self.document_type.new_document( + file_object=file_object + ) + + def _create_smart_link(self): + self.smart_link = SmartLink.objects.create( + label=TEST_SMART_LINK_LABEL, + dynamic_label=TEST_SMART_LINK_DYNAMIC_LABEL + ) + self.smart_link.document_types.add(self.document_type) + + def _create_smart_link_condition(self): + self.smart_link_condition = SmartLinkCondition.objects.create( + smart_link=self.smart_link, + foreign_document_data=TEST_SMART_LINK_CONDITION_FOREIGN_DOCUMENT_DATA, + expression=TEST_SMART_LINK_CONDITION_EXPRESSION, + operator=TEST_SMART_LINK_CONDITION_OPERATOR + ) + + def test_smart_link_condition_create_view(self): + self._create_document_type() + self._create_smart_link() + + response = self.client.post( + reverse( + 'rest_api:smartlinkcondition-list', args=(self.smart_link.pk,) + ), { + 'foreign_document_data': TEST_SMART_LINK_CONDITION_FOREIGN_DOCUMENT_DATA, + 'expression': TEST_SMART_LINK_CONDITION_EXPRESSION, + 'operator': TEST_SMART_LINK_CONDITION_OPERATOR + } + ) + + smart_link_condition = SmartLinkCondition.objects.first() + self.assertEqual(response.data['id'], smart_link_condition.pk) + self.assertEqual( + response.data['operator'], TEST_SMART_LINK_CONDITION_OPERATOR + ) + + self.assertEqual(SmartLinkCondition.objects.count(), 1) + self.assertEqual( + smart_link_condition.operator, TEST_SMART_LINK_CONDITION_OPERATOR + ) + + def test_smart_link_condition_delete_view(self): + self._create_document_type() + self._create_smart_link() + self._create_smart_link_condition() + + self.client.delete( + reverse( + 'rest_api:smartlinkcondition-detail', + args=(self.smart_link.pk, self.smart_link_condition.pk) + ) + ) + + self.assertEqual(SmartLinkCondition.objects.count(), 0) + + def test_smart_link_condition_detail_view(self): + self._create_document_type() + self._create_smart_link() + self._create_smart_link_condition() + + response = self.client.get( + reverse( + 'rest_api:smartlinkcondition-detail', + args=(self.smart_link.pk, self.smart_link_condition.pk) + ) + ) + + self.assertEqual( + response.data['operator'], TEST_SMART_LINK_CONDITION_OPERATOR + ) + + def test_smart_link_condition_patch_view(self): + self._create_document_type() + self._create_smart_link() + self._create_smart_link_condition() + + self.client.patch( + reverse( + 'rest_api:smartlinkcondition-detail', + args=(self.smart_link.pk, self.smart_link_condition.pk) + ), + data={ + 'expression': TEST_SMART_LINK_CONDITION_EXPRESSION_EDITED, + } + ) + + self.smart_link_condition.refresh_from_db() + + self.assertEqual( + self.smart_link_condition.expression, + TEST_SMART_LINK_CONDITION_EXPRESSION_EDITED + ) + + def test_smart_link_condition_put_view(self): + self._create_document_type() + self._create_smart_link() + self._create_smart_link_condition() + + self.client.put( + reverse( + 'rest_api:smartlinkcondition-detail', + args=(self.smart_link.pk, self.smart_link_condition.pk) + ), + data={ + 'expression': TEST_SMART_LINK_CONDITION_EXPRESSION_EDITED, + 'foreign_document_data': TEST_SMART_LINK_CONDITION_FOREIGN_DOCUMENT_DATA, + 'operator': TEST_SMART_LINK_CONDITION_OPERATOR, + } + ) + + self.smart_link_condition.refresh_from_db() + + self.assertEqual( + self.smart_link_condition.expression, + TEST_SMART_LINK_CONDITION_EXPRESSION_EDITED + ) diff --git a/mayan/apps/linking/tests/test_views.py b/mayan/apps/linking/tests/test_views.py index 317e2450b5..d57eed6620 100644 --- a/mayan/apps/linking/tests/test_views.py +++ b/mayan/apps/linking/tests/test_views.py @@ -13,7 +13,7 @@ from ..permissions import ( ) from .literals import ( - TEST_SMART_LINK_DYNAMIC_LABEL, TEST_SMART_LINK_EDITED_LABEL, + TEST_SMART_LINK_DYNAMIC_LABEL, TEST_SMART_LINK_LABEL_EDITED, TEST_SMART_LINK_LABEL ) @@ -83,7 +83,7 @@ class SmartLinkViewTestCase(GenericDocumentViewTestCase): response = self.post( 'linking:smart_link_edit', args=(smart_link.pk,), data={ - 'label': TEST_SMART_LINK_EDITED_LABEL + 'label': TEST_SMART_LINK_LABEL_EDITED } ) self.assertEqual(response.status_code, 403) @@ -101,13 +101,13 @@ class SmartLinkViewTestCase(GenericDocumentViewTestCase): response = self.post( 'linking:smart_link_edit', args=(smart_link.pk,), data={ - 'label': TEST_SMART_LINK_EDITED_LABEL + 'label': TEST_SMART_LINK_LABEL_EDITED }, follow=True ) smart_link = SmartLink.objects.get(pk=smart_link.pk) self.assertContains(response, text='update', status_code=200) - self.assertEqual(smart_link.label, TEST_SMART_LINK_EDITED_LABEL) + self.assertEqual(smart_link.label, TEST_SMART_LINK_LABEL_EDITED) def setup_smart_links(self): smart_link = SmartLink.objects.create( diff --git a/mayan/apps/linking/urls.py b/mayan/apps/linking/urls.py index c9a1c01a1a..3876fb73aa 100644 --- a/mayan/apps/linking/urls.py +++ b/mayan/apps/linking/urls.py @@ -2,6 +2,10 @@ from __future__ import unicode_literals from django.conf.urls import patterns, url +from .api_views import ( + APISmartLinkListView, APISmartLinkView, APISmartLinkConditionListView, + APISmartLinkConditionView +) from .views import ( DocumentSmartLinkListView, ResolvedSmartLinkView, SetupSmartLinkDocumentTypesView, SmartLinkConditionListView, @@ -61,3 +65,22 @@ urlpatterns = patterns( name='smart_link_condition_delete' ), ) + +api_urls = [ + url( + r'^smart_links/$', APISmartLinkListView.as_view(), name='smartlink-list' + ), + url( + r'^smart_links/(?P[0-9]+)/$', APISmartLinkView.as_view(), + name='smartlink-detail' + ), + url( + r'^smart_links/(?P[0-9]+)/conditions/$', + APISmartLinkConditionListView.as_view(), name='smartlinkcondition-list' + ), + url( + r'^smart_links/(?P[0-9]+)/conditions/(?P[0-9]+)/$', + APISmartLinkConditionView.as_view(), + name='smartlinkcondition-detail' + ), +] From dbd614f5049e49d66c477d598b185baf38d936ab Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sat, 11 Feb 2017 02:13:06 -0400 Subject: [PATCH 020/144] Fix typo --- mayan/apps/motd/tests/test_api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mayan/apps/motd/tests/test_api.py b/mayan/apps/motd/tests/test_api.py index 6cb6e8bdfa..84efa6c422 100644 --- a/mayan/apps/motd/tests/test_api.py +++ b/mayan/apps/motd/tests/test_api.py @@ -70,7 +70,7 @@ class MOTDAPITestCase(APITestCase): response.data['label'], TEST_LABEL ) - def test_message_path_view(self): + def test_message_patch_view(self): message = self._create_message() self.client.patch( From a3959aaf79a8c0e6da6b3746e95f796bfafd20eb Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sun, 12 Feb 2017 01:16:58 -0400 Subject: [PATCH 021/144] Add resolved smart link API views. Add Smart link manager method .get_for(document). --- docs/releases/2.1.8.rst | 2 +- mayan/apps/linking/api_views.py | 170 ++++++++++++++++++++++++++- mayan/apps/linking/managers.py | 8 ++ mayan/apps/linking/models.py | 3 + mayan/apps/linking/serializers.py | 65 ++++++++++ mayan/apps/linking/tests/literals.py | 2 +- mayan/apps/linking/tests/test_api.py | 50 ++++++++ mayan/apps/linking/urls.py | 23 +++- mayan/apps/linking/views.py | 4 +- 9 files changed, 316 insertions(+), 11 deletions(-) create mode 100644 mayan/apps/linking/managers.py diff --git a/docs/releases/2.1.8.rst b/docs/releases/2.1.8.rst index 196d21b395..b315527f7e 100644 --- a/docs/releases/2.1.8.rst +++ b/docs/releases/2.1.8.rst @@ -20,7 +20,7 @@ Changes - Add Django GPG API endpoints for singing keys. - Add API endpoints for the document states app. - Add API endpoints for the messsage of the day (MOTD) app. - +- Add Smart link API endpoints. Removals -------- diff --git a/mayan/apps/linking/api_views.py b/mayan/apps/linking/api_views.py index 931ea56119..dd1ca25476 100644 --- a/mayan/apps/linking/api_views.py +++ b/mayan/apps/linking/api_views.py @@ -6,6 +6,8 @@ from django.shortcuts import get_object_or_404 from rest_framework import generics from acls.models import AccessControlList +from documents.models import Document +from documents.permissions import permission_document_view from permissions import Permission from rest_api.filters import MayanObjectPermissionsFilter from rest_api.permissions import MayanPermission @@ -15,7 +17,159 @@ from .permissions import ( permission_smart_link_create, permission_smart_link_delete, permission_smart_link_edit, permission_smart_link_view ) -from .serializers import SmartLinkConditionSerializer, SmartLinkSerializer +from .serializers import ( + ResolvedSmartLinkDocumentSerializer, ResolvedSmartLinkSerializer, + SmartLinkConditionSerializer, SmartLinkSerializer, + WritableSmartLinkSerializer +) + + +class APIResolvedSmartLinkDocumentListView(generics.ListAPIView): + filter_backends = (MayanObjectPermissionsFilter,) + mayan_object_permissions = {'GET': (permission_document_view,)} + permission_classes = (MayanPermission,) + serializer_class = ResolvedSmartLinkDocumentSerializer + + def get(self, *args, **kwargs): + """ + Returns a list of the smart link documents that apply to the document. + """ + return super(APIResolvedSmartLinkDocumentListView, self).get( + *args, **kwargs + ) + + def get_document(self): + document = get_object_or_404(Document, pk=self.kwargs['pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_document_view,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_document_view, self.request.user, document + ) + + return document + + def get_smart_link(self): + smart_link = get_object_or_404( + SmartLink.objects.get_for(document=self.get_document()), + pk=self.kwargs['smart_link_pk'] + ) + + try: + Permission.check_permissions( + self.request.user, (permission_smart_link_view,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_smart_link_view, self.request.user, smart_link + ) + + return smart_link + + def get_serializer_context(self): + """ + Extra context provided to the serializer class. + """ + return { + 'document': self.get_document(), + 'format': self.format_kwarg, + 'request': self.request, + 'smart_link': self.get_smart_link(), + 'view': self + } + + def get_queryset(self): + return self.get_smart_link().get_linked_document_for( + document=self.get_document() + ) + + +class APIResolvedSmartLinkView(generics.RetrieveAPIView): + filter_backends = (MayanObjectPermissionsFilter,) + lookup_url_kwarg = 'smart_link_pk' + mayan_object_permissions = {'GET': (permission_smart_link_view,)} + permission_classes = (MayanPermission,) + serializer_class = ResolvedSmartLinkSerializer + + def get(self, *args, **kwargs): + """ + Return the details of the selected resolved smart link. + """ + return super(APIResolvedSmartLinkView, self).get(*args, **kwargs) + + def get_document(self): + document = get_object_or_404(Document, pk=self.kwargs['pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_document_view,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_document_view, self.request.user, document + ) + + return document + + def get_serializer_context(self): + """ + Extra context provided to the serializer class. + """ + return { + 'document': self.get_document(), + 'format': self.format_kwarg, + 'request': self.request, + 'view': self + } + + def get_queryset(self): + return SmartLink.objects.get_for(document=self.get_document()) + + +class APIResolvedSmartLinkListView(generics.ListAPIView): + filter_backends = (MayanObjectPermissionsFilter,) + mayan_object_permissions = {'GET': (permission_smart_link_view,)} + permission_classes = (MayanPermission,) + serializer_class = ResolvedSmartLinkSerializer + + def get(self, *args, **kwargs): + """ + Returns a list of the smart links that apply to the document. + """ + return super(APIResolvedSmartLinkListView, self).get(*args, **kwargs) + + def get_document(self): + document = get_object_or_404(Document, pk=self.kwargs['pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_document_view,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_document_view, self.request.user, document + ) + + return document + + def get_serializer_context(self): + """ + Extra context provided to the serializer class. + """ + return { + 'document': self.get_document(), + 'format': self.format_kwarg, + 'request': self.request, + 'view': self + } + + def get_queryset(self): + return SmartLink.objects.filter( + document_types=self.get_document().document_type + ) class APISmartLinkConditionListView(generics.ListCreateAPIView): @@ -139,7 +293,6 @@ class APISmartLinkListView(generics.ListCreateAPIView): mayan_view_permissions = {'POST': (permission_smart_link_create,)} permission_classes = (MayanPermission,) queryset = SmartLink.objects.all() - serializer_class = SmartLinkSerializer def get(self, *args, **kwargs): """ @@ -148,6 +301,12 @@ class APISmartLinkListView(generics.ListCreateAPIView): return super(APISmartLinkListView, self).get(*args, **kwargs) + def get_serializer_class(self): + if self.request.method == 'GET': + return SmartLinkSerializer + else: + return WritableSmartLinkSerializer + def post(self, *args, **kwargs): """ Create a new smart link. @@ -165,7 +324,6 @@ class APISmartLinkView(generics.RetrieveUpdateDestroyAPIView): 'PUT': (permission_smart_link_edit,) } queryset = SmartLink.objects.all() - serializer_class = SmartLinkSerializer def delete(self, *args, **kwargs): """ @@ -181,6 +339,12 @@ class APISmartLinkView(generics.RetrieveUpdateDestroyAPIView): return super(APISmartLinkView, self).get(*args, **kwargs) + def get_serializer_class(self): + if self.request.method == 'GET': + return SmartLinkSerializer + else: + return WritableSmartLinkSerializer + def patch(self, *args, **kwargs): """ Edit the selected smart link. diff --git a/mayan/apps/linking/managers.py b/mayan/apps/linking/managers.py new file mode 100644 index 0000000000..e21ce0364c --- /dev/null +++ b/mayan/apps/linking/managers.py @@ -0,0 +1,8 @@ +from django.db import models + + +class SmartLinkManager(models.Manager): + def get_for(self, document): + return self.filter( + document_types=document.document_type, enabled=True + ) diff --git a/mayan/apps/linking/models.py b/mayan/apps/linking/models.py index 776f84fbe6..22e599d50d 100644 --- a/mayan/apps/linking/models.py +++ b/mayan/apps/linking/models.py @@ -11,6 +11,7 @@ from documents.models import Document, DocumentType from .literals import ( INCLUSION_AND, INCLUSION_CHOICES, INCLUSION_OR, OPERATOR_CHOICES ) +from .managers import SmartLinkManager @python_2_unicode_compatible @@ -29,6 +30,8 @@ class SmartLink(models.Model): DocumentType, verbose_name=_('Document types') ) + objects = SmartLinkManager() + def __str__(self): return self.label diff --git a/mayan/apps/linking/serializers.py b/mayan/apps/linking/serializers.py index 4e94a3dc36..23a0db21ff 100644 --- a/mayan/apps/linking/serializers.py +++ b/mayan/apps/linking/serializers.py @@ -3,6 +3,8 @@ from __future__ import absolute_import, unicode_literals from rest_framework import serializers from rest_framework.reverse import reverse +from documents.serializers import DocumentSerializer + from .models import SmartLink, SmartLinkCondition @@ -48,3 +50,66 @@ class SmartLinkSerializer(serializers.HyperlinkedModelSerializer): 'conditions_url', 'dynamic_label', 'enabled', 'label', 'id', 'url' ) model = SmartLink + + +class ResolvedSmartLinkDocumentSerializer(DocumentSerializer): + resolved_smart_link_url = serializers.SerializerMethodField() + + class Meta(DocumentSerializer.Meta): + fields = DocumentSerializer.Meta.fields + ( + 'resolved_smart_link_url', + ) + read_only_fields = DocumentSerializer.Meta.fields + + def get_resolved_smart_link_url(self, instance): + return reverse( + 'rest_api:resolvedsmartlink-detail', args=( + self.context['document'].pk, self.context['smart_link'].pk + ), request=self.context['request'], + format=self.context['format'] + ) + + +class ResolvedSmartLinkSerializer(SmartLinkSerializer): + resolved_dynamic_label = serializers.SerializerMethodField() + resolved_smart_link_url = serializers.SerializerMethodField() + resolved_documents_url = serializers.SerializerMethodField() + + class Meta(SmartLinkSerializer.Meta): + fields = SmartLinkSerializer.Meta.fields + ( + 'resolved_dynamic_label', 'resolved_smart_link_url', + 'resolved_documents_url' + ) + read_only_fields = SmartLinkSerializer.Meta.fields + + def get_resolved_documents_url(self, instance): + return reverse( + 'rest_api:resolvedsmartlinkdocument-list', + args=(self.context['document'].pk, instance.pk,), + request=self.context['request'], format=self.context['format'] + ) + + def get_resolved_dynamic_label(self, instance): + return instance.get_dynamic_label(document=self.context['document']) + + def get_resolved_smart_link_url(self, instance): + return reverse( + 'rest_api:resolvedsmartlink-detail', + args=(self.context['document'].pk, instance.pk,), + request=self.context['request'], format=self.context['format'] + ) + + +class WritableSmartLinkSerializer(serializers.ModelSerializer): + conditions_url = serializers.HyperlinkedIdentityField( + view_name='rest_api:smartlinkcondition-list' + ) + + class Meta: + extra_kwargs = { + 'url': {'view_name': 'rest_api:smartlink-detail'}, + } + fields = ( + 'conditions_url', 'dynamic_label', 'enabled', 'label', 'id', 'url' + ) + model = SmartLink diff --git a/mayan/apps/linking/tests/literals.py b/mayan/apps/linking/tests/literals.py index e527654e91..6c00f08366 100644 --- a/mayan/apps/linking/tests/literals.py +++ b/mayan/apps/linking/tests/literals.py @@ -1,7 +1,7 @@ from __future__ import unicode_literals TEST_SMART_LINK_CONDITION_FOREIGN_DOCUMENT_DATA = 'label' -TEST_SMART_LINK_CONDITION_EXPRESSION = '\'test\'' +TEST_SMART_LINK_CONDITION_EXPRESSION = 'sample' TEST_SMART_LINK_CONDITION_EXPRESSION_EDITED = '\'test edited\'' TEST_SMART_LINK_CONDITION_OPERATOR = 'icontains' TEST_SMART_LINK_DYNAMIC_LABEL = '{{ document.label }}' diff --git a/mayan/apps/linking/tests/test_api.py b/mayan/apps/linking/tests/test_api.py index 8f334b483b..4e795f830e 100644 --- a/mayan/apps/linking/tests/test_api.py +++ b/mayan/apps/linking/tests/test_api.py @@ -163,6 +163,56 @@ class SmartLinkConditionAPITestCase(APITestCase): operator=TEST_SMART_LINK_CONDITION_OPERATOR ) + def test_resolved_smart_link_detail_view(self): + self._create_document_type() + self._create_smart_link() + self._create_smart_link_condition() + self._create_document() + + response = self.client.get( + reverse( + 'rest_api:resolvedsmartlink-detail', + args=(self.document.pk, self.smart_link.pk) + ) + ) + + self.assertEqual( + response.data['label'], TEST_SMART_LINK_LABEL + ) + + def test_resolved_smart_link_list_view(self): + self._create_document_type() + self._create_smart_link() + self._create_smart_link_condition() + self._create_document() + + response = self.client.get( + reverse( + 'rest_api:resolvedsmartlink-list', args=(self.document.pk,) + ) + ) + + self.assertEqual( + response.data['results'][0]['label'], TEST_SMART_LINK_LABEL + ) + + def test_resolved_smart_link_document_list_view(self): + self._create_document_type() + self._create_smart_link() + self._create_smart_link_condition() + self._create_document() + + response = self.client.get( + reverse( + 'rest_api:resolvedsmartlinkdocument-list', + args=(self.document.pk, self.smart_link.pk) + ) + ) + + self.assertEqual( + response.data['results'][0]['label'], self.document.label + ) + def test_smart_link_condition_create_view(self): self._create_document_type() self._create_smart_link() diff --git a/mayan/apps/linking/urls.py b/mayan/apps/linking/urls.py index 3876fb73aa..272a433e87 100644 --- a/mayan/apps/linking/urls.py +++ b/mayan/apps/linking/urls.py @@ -3,8 +3,9 @@ from __future__ import unicode_literals from django.conf.urls import patterns, url from .api_views import ( - APISmartLinkListView, APISmartLinkView, APISmartLinkConditionListView, - APISmartLinkConditionView + APIResolvedSmartLinkView, APIResolvedSmartLinkDocumentListView, + APIResolvedSmartLinkListView, APISmartLinkListView, APISmartLinkView, + APISmartLinkConditionListView, APISmartLinkConditionView ) from .views import ( DocumentSmartLinkListView, ResolvedSmartLinkView, @@ -68,7 +69,8 @@ urlpatterns = patterns( api_urls = [ url( - r'^smart_links/$', APISmartLinkListView.as_view(), name='smartlink-list' + r'^smart_links/$', APISmartLinkListView.as_view(), + name='smartlink-list' ), url( r'^smart_links/(?P[0-9]+)/$', APISmartLinkView.as_view(), @@ -83,4 +85,19 @@ api_urls = [ APISmartLinkConditionView.as_view(), name='smartlinkcondition-detail' ), + url( + r'^documents/(?P[0-9]+)/resolved_smart_links/$', + APIResolvedSmartLinkListView.as_view(), + name='resolvedsmartlink-list' + ), + url( + r'^documents/(?P[0-9]+)/resolved_smart_links/(?P[0-9]+)/$', + APIResolvedSmartLinkView.as_view(), + name='resolvedsmartlink-detail' + ), + url( + r'^documents/(?P[0-9]+)/resolved_smart_links/(?P[0-9]+)/documents/$', + APIResolvedSmartLinkDocumentListView.as_view(), + name='resolvedsmartlinkdocument-list' + ), ] diff --git a/mayan/apps/linking/views.py b/mayan/apps/linking/views.py index c7e03b0482..a04fbc3efa 100644 --- a/mayan/apps/linking/views.py +++ b/mayan/apps/linking/views.py @@ -174,9 +174,7 @@ class DocumentSmartLinkListView(SmartLinkListView): } def get_smart_link_queryset(self): - return ResolvedSmartLink.objects.filter( - document_types=self.document.document_type, enabled=True - ) + return ResolvedSmartLink.objects.get_for(document=self.document) class SmartLinkCreateView(SingleObjectCreateView): From 92ac4dc2f77a8391fc73780856cfa3a694ac9fe9 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sun, 12 Feb 2017 03:11:24 -0400 Subject: [PATCH 022/144] Add writable versions of the Document and Document Type serializers (GitLab issues #348 and #349). --- docs/releases/2.1.8.rst | 4 +- mayan/apps/documents/api_views.py | 31 ++++++++++-- mayan/apps/documents/serializers.py | 70 ++++++++++++++++++++++++-- mayan/apps/documents/tests/test_api.py | 3 +- 4 files changed, 99 insertions(+), 9 deletions(-) diff --git a/docs/releases/2.1.8.rst b/docs/releases/2.1.8.rst index b315527f7e..f3b89980fa 100644 --- a/docs/releases/2.1.8.rst +++ b/docs/releases/2.1.8.rst @@ -21,6 +21,7 @@ Changes - Add API endpoints for the document states app. - Add API endpoints for the messsage of the day (MOTD) app. - Add Smart link API endpoints. +- Add writable versions of the Document and Document Type serializers (GitLab issues #348 and #349). Removals -------- @@ -75,6 +76,7 @@ Backward incompatible changes Bugs fixed or issues closed =========================== -* None +* `GitLab issue #348 `_ REST API: Document version comments are not getting updated +* `GitLab issue #349 `_ REST API: Document Label, Description are not able to update .. _PyPI: https://pypi.python.org/pypi/mayan-edms/ diff --git a/mayan/apps/documents/api_views.py b/mayan/apps/documents/api_views.py index c33ecfd8e7..a21d20278e 100644 --- a/mayan/apps/documents/api_views.py +++ b/mayan/apps/documents/api_views.py @@ -31,7 +31,9 @@ from .serializers import ( DocumentPageSerializer, DocumentSerializer, DocumentTypeSerializer, DocumentVersionSerializer, DocumentVersionRevertSerializer, NewDocumentSerializer, - NewDocumentVersionSerializer, RecentDocumentSerializer + NewDocumentVersionSerializer, RecentDocumentSerializer, + WritableDocumentSerializer, WritableDocumentTypeSerializer, + WritableDocumentVersionSerializer ) logger = logging.getLogger(__name__) @@ -190,7 +192,6 @@ class APIDocumentView(generics.RetrieveUpdateDestroyAPIView): } permission_classes = (MayanPermission,) queryset = Document.objects.all() - serializer_class = DocumentSerializer def delete(self, *args, **kwargs): """ @@ -206,6 +207,12 @@ class APIDocumentView(generics.RetrieveUpdateDestroyAPIView): return super(APIDocumentView, self).get(*args, **kwargs) + def get_serializer_class(self): + if self.request.method == 'GET': + return DocumentSerializer + else: + return WritableDocumentSerializer + def patch(self, *args, **kwargs): """ Edit the properties of the selected document. @@ -289,6 +296,12 @@ class APIDocumentTypeListView(generics.ListCreateAPIView): return super(APIDocumentTypeListView, self).get(*args, **kwargs) + def get_serializer_class(self): + if self.request.method == 'GET': + return DocumentTypeSerializer + else: + return WritableDocumentTypeSerializer + def post(self, *args, **kwargs): """ Create a new document type. @@ -310,7 +323,6 @@ class APIDocumentTypeView(generics.RetrieveUpdateDestroyAPIView): } permission_classes = (MayanPermission,) queryset = DocumentType.objects.all() - serializer_class = DocumentTypeSerializer def delete(self, *args, **kwargs): """ @@ -326,6 +338,12 @@ class APIDocumentTypeView(generics.RetrieveUpdateDestroyAPIView): return super(APIDocumentTypeView, self).get(*args, **kwargs) + def get_serializer_class(self): + if self.request.method == 'GET': + return DocumentTypeSerializer + else: + return WritableDocumentTypeSerializer + def patch(self, *args, **kwargs): """ Edit the properties of the selected document type. @@ -436,7 +454,12 @@ class APIDocumentVersionView(generics.RetrieveUpdateAPIView): mayan_permission_attribute_check = 'document' permission_classes = (MayanPermission,) queryset = DocumentVersion.objects.all() - serializer_class = DocumentVersionSerializer + + def get_serializer_class(self): + if self.request.method == 'GET': + return DocumentVersionSerializer + else: + return WritableDocumentVersionSerializer def patch(self, *args, **kwargs): """ diff --git a/mayan/apps/documents/serializers.py b/mayan/apps/documents/serializers.py index 4a4a729e46..fd3a80e022 100644 --- a/mayan/apps/documents/serializers.py +++ b/mayan/apps/documents/serializers.py @@ -51,9 +51,27 @@ class DocumentTypeSerializer(serializers.HyperlinkedModelSerializer): ) documents_count = serializers.SerializerMethodField() + class Meta: + extra_kwargs = { + 'url': {'view_name': 'rest_api:documenttype-detail'}, + } + fields = ( + 'delete_time_period', 'delete_time_unit', 'documents_url', + 'documents_count', 'id', 'label', 'trash_time_period', + 'trash_time_unit', 'url' + ) + model = DocumentType + def get_documents_count(self, obj): return obj.documents.count() + +class WritableDocumentTypeSerializer(serializers.ModelSerializer): + documents_url = serializers.HyperlinkedIdentityField( + view_name='rest_api:documenttype-document-list', + ) + documents_count = serializers.SerializerMethodField() + class Meta: extra_kwargs = { 'url': {'view_name': 'rest_api:documenttype-detail'}, @@ -65,6 +83,9 @@ class DocumentTypeSerializer(serializers.HyperlinkedModelSerializer): ) model = DocumentType + def get_documents_count(self, obj): + return obj.documents.count() + class DocumentVersionSerializer(serializers.HyperlinkedModelSerializer): pages = DocumentPageSerializer(many=True, required=False, read_only=True) @@ -82,6 +103,26 @@ class DocumentVersionSerializer(serializers.HyperlinkedModelSerializer): read_only_fields = ('document', 'file') +class WritableDocumentVersionSerializer(serializers.ModelSerializer): + document = serializers.HyperlinkedIdentityField( + view_name='rest_api:document-detail' + ) + pages = DocumentPageSerializer(many=True, required=False, read_only=True) + revert = serializers.HyperlinkedIdentityField( + view_name='rest_api:documentversion-revert' + ) + url = serializers.HyperlinkedIdentityField( + view_name='rest_api:documentversion-detail' + ) + + class Meta: + extra_kwargs = { + 'file': {'use_url': False}, + } + model = DocumentVersion + read_only_fields = ('document', 'file') + + class DocumentVersionRevertSerializer(DocumentVersionSerializer): class Meta(DocumentVersionSerializer.Meta): read_only_fields = ('comment', 'document',) @@ -136,9 +177,6 @@ class DocumentSerializer(serializers.HyperlinkedModelSerializer): view_name='rest_api:document-version-list', ) - def get_document_type_label(self, instance): - return instance.document_type.label - class Meta: extra_kwargs = { 'document_type': {'view_name': 'rest_api:documenttype-detail'}, @@ -152,6 +190,32 @@ class DocumentSerializer(serializers.HyperlinkedModelSerializer): model = Document read_only_fields = ('document_type',) + def get_document_type_label(self, instance): + return instance.document_type.label + + +class WritableDocumentSerializer(serializers.ModelSerializer): + document_type_label = serializers.SerializerMethodField() + latest_version = DocumentVersionSerializer(many=False, read_only=True) + versions = serializers.HyperlinkedIdentityField( + view_name='rest_api:document-version-list', + ) + url = serializers.HyperlinkedIdentityField( + view_name='rest_api:document-detail', + ) + + class Meta: + fields = ( + 'date_added', 'description', 'document_type', + 'document_type_label', 'id', 'label', 'language', + 'latest_version', 'url', 'uuid', 'versions', + ) + model = Document + read_only_fields = ('document_type',) + + def get_document_type_label(self, instance): + return instance.document_type.label + class NewDocumentSerializer(serializers.ModelSerializer): file = serializers.FileField(write_only=True) diff --git a/mayan/apps/documents/tests/test_api.py b/mayan/apps/documents/tests/test_api.py index fc1a8225c0..ce77b8a6ae 100644 --- a/mayan/apps/documents/tests/test_api.py +++ b/mayan/apps/documents/tests/test_api.py @@ -49,12 +49,13 @@ class DocumentTypeAPITestCase(APITestCase): def test_document_type_create(self): self.assertEqual(DocumentType.objects.all().count(), 0) - self.client.post( + response = self.client.post( reverse('rest_api:documenttype-list'), data={ 'label': TEST_DOCUMENT_TYPE } ) + self.assertEqual(response.status_code, 201) self.assertEqual(DocumentType.objects.all().count(), 1) self.assertEqual( DocumentType.objects.all().first().label, TEST_DOCUMENT_TYPE From 36db1f4e063ff60edddec1320c72c9190738da27 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 3 Feb 2017 16:18:58 -0400 Subject: [PATCH 023/144] Return metadata type lookup values as list of unicode not list of strings. Fixed GitLab issue #310, thank for @fordguo for the find and fix suggestion. --- docs/releases/2.1.8.rst | 1 + mayan/apps/metadata/models.py | 5 +++-- mayan/apps/metadata/tests/test_models.py | 13 +++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/docs/releases/2.1.8.rst b/docs/releases/2.1.8.rst index f3b89980fa..82aa846878 100644 --- a/docs/releases/2.1.8.rst +++ b/docs/releases/2.1.8.rst @@ -76,6 +76,7 @@ Backward incompatible changes Bugs fixed or issues closed =========================== +* `GitLab issue #310 `_ Metadata's lookup with chinese messages when new document * `GitLab issue #348 `_ REST API: Document version comments are not getting updated * `GitLab issue #349 `_ REST API: Document Label, Description are not able to update diff --git a/mayan/apps/metadata/models.py b/mayan/apps/metadata/models.py index 8ff7609517..b6aaeab76e 100644 --- a/mayan/apps/metadata/models.py +++ b/mayan/apps/metadata/models.py @@ -5,7 +5,7 @@ import shlex from django.core.exceptions import ValidationError from django.db import models from django.template import Context, Template -from django.utils.encoding import python_2_unicode_compatible +from django.utils.encoding import force_text, python_2_unicode_compatible from django.utils.module_loading import import_string from django.utils.translation import ugettext_lazy as _ @@ -97,7 +97,7 @@ class MetadataType(models.Model): splitter.whitespace = ','.encode('utf-8') splitter.whitespace_split = True splitter.commenters = ''.encode('utf-8') - return list(splitter) + return [force_text(e) for e in splitter] def get_default_value(self): template = Template(self.default) @@ -126,6 +126,7 @@ class MetadataType(models.Model): if self.lookup: lookup_options = self.get_lookup_values() + if value and value not in lookup_options: raise ValidationError( _('Value is not one of the provided options.') diff --git a/mayan/apps/metadata/tests/test_models.py b/mayan/apps/metadata/tests/test_models.py index 3d96286a64..91990bd168 100644 --- a/mayan/apps/metadata/tests/test_models.py +++ b/mayan/apps/metadata/tests/test_models.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.core.files.base import File @@ -175,3 +176,15 @@ class MetadataTestCase(TestCase): self.assertTrue( self.metadata_type.get_required_for(self.document_type) ) + + def test_unicode_lookup(self): + # Should NOT return a ValidationError, otherwise test fails + self.metadata_type.lookup = '测试1,测试2,test1,test2' + self.metadata_type.save() + self.metadata_type.validate_value(document_type=None, value='测试1') + + def test_non_unicode_lookup(self): + # Should NOT return a ValidationError, otherwise test fails + self.metadata_type.lookup = 'test1,test2' + self.metadata_type.save() + self.metadata_type.validate_value(document_type=None, value='test1') From 00a2fce71d12073f9294816d245acc17b58529b9 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sun, 12 Feb 2017 13:03:01 -0400 Subject: [PATCH 024/144] Add changelog. Bump version to 2.1.8. --- HISTORY.rst | 13 +++++++++++++ mayan/__init__.py | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/HISTORY.rst b/HISTORY.rst index 3573e665ac..70103fdc22 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -1,3 +1,16 @@ +2.1.8 (2017-02-12) +================== +- Fixes in the trashed document API endpoints. +- Improved tags API PUT and PATCH endpoints. +- Bulk document adding when creating and editing tags. +- The version of django-mptt is preserved in case mayan-cabinets is installed. +- Add Django GPG API endpoints for singing keys. +- Add API endpoints for the document states (workflows) app. +- Add API endpoints for the messsage of the day (MOTD) app. +- Add Smart link API endpoints. +- Add writable versions of the Document and Document Type serializers (GitLab issues #348 and #349). +- Close GitLab issue #310 "Metadata's lookup with chinese messages when new document" + 2.1.7 (2017-02-01) ================== - Improved user management API endpoints. diff --git a/mayan/__init__.py b/mayan/__init__.py index 43c74b02a1..2e0898e7c8 100644 --- a/mayan/__init__.py +++ b/mayan/__init__.py @@ -1,8 +1,8 @@ from __future__ import unicode_literals __title__ = 'Mayan EDMS' -__version__ = '2.1.7' -__build__ = 0x020107 +__version__ = '2.1.8' +__build__ = 0x020108 __author__ = 'Roberto Rosario' __author_email__ = 'roberto.rosario@mayan-edms.com' __description__ = 'Free Open Source Electronic Document Management System' From 55a905236b1fe9c3bfd2c92e018d81f37d4b69b6 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sun, 12 Feb 2017 15:27:49 -0400 Subject: [PATCH 025/144] Update README file. Switch format to markdown. --- README.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.rst | 65 ------------------------------------------- 2 files changed, 82 insertions(+), 65 deletions(-) create mode 100644 README.md delete mode 100644 README.rst diff --git a/README.md b/README.md new file mode 100644 index 0000000000..ebc381f84d --- /dev/null +++ b/README.md @@ -0,0 +1,82 @@ +[![pypi][pypi]][pypi-url] +[![builds][builds]][builds-url] +[![coverage][cover]][cover-url] +![python][python] +![license][license] + +[pypi]: http://img.shields.io/pypi/v/mayan-edms.svg +[pypi-url]: http://badge.fury.io/py/mayan-edms + +[builds]: https://gitlab.com/mayan-edms/mayan-edms/badges/master/build.svg +[builds-url]: https://gitlab.com/mayan-edms/mayan-edms/pipelines + +[cover]: https://codecov.io/gitlab/mayan-edms/mayan-edms/coverage.svg?branch=master +[cover-url]: https://codecov.io/gitlab/mayan-edms/mayan-edms?branch=master + +[python]: https://img.shields.io/pypi/pyversions/mayan-edms.svg +[python-url]: https://img.shields.io/pypi/l/mayan-edms.svg?style=flat + +[license]: https://img.shields.io/pypi/l/mayan-edms.svg?style=flat +[license-url]: https://img.shields.io/pypi/l/mayan-edms.svg?style=flat + + +
+ + + +
+
+

+ Mayan EDMS is a document management system. Its main purpose is to store, + introspect, and categorize files, with a strong emphasis on preserving the + contextual and business information of documents. It can also OCR, preview, + label, sign, send, and receive thoses files. Other features of interest + are its workflow system, role based access control, and REST API. +

+ +

+ +

+ +
+ +

Installation

+ +The installation procedure uses the Docker container manager (docker.com). Make sure Docker is properly installed and working before attempting to install Mayan EDMS. + +Step 1- Initialize the installation + +```bash +docker run --rm -v mayan_media:/var/lib/mayan \ +-v mayan_settings:/etc/mayan mayanedms/mayanedms mayan:init +``` + +Step 2- Deploy a container + +```bash +docker run -d --name mayan-edms --restart=always -p 80:80 \ +-v mayan_media:/var/lib/mayan -v mayan_settings:/etc/mayan mayanedms/mayanedms +``` + +Step 3- Open a browser and go to http://localhost + + +

Important links

+ +Homepage + +Videos + +Documentation + +Paid support + +Community forum + +Community forum archive + +Source code, issues, bugs + +Plug-ins, other related projects + +Translations diff --git a/README.rst b/README.rst deleted file mode 100644 index 426c881519..0000000000 --- a/README.rst +++ /dev/null @@ -1,65 +0,0 @@ -|PyPI badge| |Build Status| |Coverage badge| |Documentation| |License badge| |Python version| - -|Logo| - -Description ------------ - -Free Open Source Electronic Document Management System. - -`Website`_ - -`Video demostration`_ - -`Documentation`_ - -`Translations`_ - -`Mailing list (via Google Groups)`_ - -|Animation| - -License -------- - -This project is open sourced under `Apache 2.0 License`_. - -Installation ------------- - -To install Mayan EDMS, simply do: - -.. code-block:: bash - - $ virtualenv venv - $ source venv/bin/activate - (venv) $ pip install mayan-edms - (venv) $ mayan-edms.py initialsetup - (venv) $ mayan-edms.py runserver - -Point your browser to 127.0.0.1:8000 and use the automatically created admin -account. - - -.. _Website: http://www.mayan-edms.com -.. _Video demostration: http://bit.ly/pADNXv -.. _Documentation: http://readthedocs.org/docs/mayan/en/latest/ -.. _Translations: https://www.transifex.com/projects/p/mayan-edms/ -.. _Mailing list (via Google Groups): http://groups.google.com/group/mayan-edms -.. _Apache 2.0 License: https://www.apache.org/licenses/LICENSE-2.0.txt - -.. |Build Status| image:: https://gitlab.com/mayan-edms/mayan-edms/badges/master/build.svg - :target: https://gitlab.com/mayan-edms/mayan-edms/commits/master -.. |Logo| image:: https://gitlab.com/mayan-edms/mayan-edms/raw/master/docs/_static/mayan_logo.png -.. |Animation| image:: https://gitlab.com/mayan-edms/mayan-edms/raw/master/docs/_static/overview.gif -.. |PyPI badge| image:: http://img.shields.io/pypi/v/mayan-edms.svg?style=flat - :target: http://badge.fury.io/py/mayan-edms -.. |License badge| image:: https://img.shields.io/pypi/l/mayan-edms.svg?style=flat -.. |Analytics| image:: https://ga-beacon.appspot.com/UA-52965619-2/mayan-edms/readme?pixel -.. |Coverage badge| image:: https://codecov.io/gitlab/mayan-edms/mayan-edms/coverage.svg?branch=master - :target: https://codecov.io/gitlab/mayan-edms/mayan-edms?branch=master -.. |Documentation| image:: https://readthedocs.org/projects/mayan/badge/?version=latest - :target: http://mayan.readthedocs.io/en/latest -.. |Python version| image:: https://img.shields.io/pypi/pyversions/mayan-edms.svg - -|Analytics| From 9c7ba66d1f6570044eeaf4da3349f28345ae4596 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sun, 12 Feb 2017 22:34:12 -0400 Subject: [PATCH 026/144] Update MANIFEST to include the markdown version of the README. Convert the markdown README to .rst for PyPI. Add pypandoc to the development requirements. --- MANIFEST.in | 2 +- README.md | 24 +++++++++--------------- requirements/development.txt | 2 ++ setup.py | 9 +++++++-- 4 files changed, 19 insertions(+), 18 deletions(-) diff --git a/MANIFEST.in b/MANIFEST.in index 4c59f9ed98..c8891a699f 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,3 +1,3 @@ -include README.rst LICENSE HISTORY.rst +include README.md LICENSE HISTORY.rst recursive-include mayan *.txt *.html *.css *.ico *.png *.jpg *.js *.po *.mo *.ttf *.woff *.woff2 LICENSE global-exclude mayan/settings/local.py mayan/settings/travis/* mayan/media/* diff --git a/README.md b/README.md index ebc381f84d..d75efe7909 100644 --- a/README.md +++ b/README.md @@ -63,20 +63,14 @@ Step 3- Open a browser and go to http://localhost

Important links

-Homepage -Videos +- [Homepage](http://www.mayan-edms.com) +- [Videos](https://www.youtube.com/channel/UCJOOXHP1MJ9lVA7d8ZTlHPw) +- [Documentation](http://mayan.readthedocs.io/en/stable/) +- [Paid support](http://www.mayan-edms.com/providers/) +- [Community forum](https://groups.google.com/forum/#!forum/mayan-edms) +- [Community forum archive](http://mayan-edms.1003.x6.nabble.com/) +- [Source code, issues, bugs](https://gitlab.com/mayan-edms/mayan-edms) +- [Plug-ins, other related projects](https://gitlab.com/mayan-edms/) +- [Translations](https://www.transifex.com/rosarior/mayan-edms/) -Documentation - -Paid support - -Community forum - -Community forum archive - -Source code, issues, bugs - -Plug-ins, other related projects - -Translations diff --git a/requirements/development.txt b/requirements/development.txt index 46a154d3c8..8fd957cd99 100644 --- a/requirements/development.txt +++ b/requirements/development.txt @@ -8,6 +8,8 @@ django-rosetta==0.7.8 ipython==4.0.3 +pypandoc==1.3.3 + transifex-client==0.12.2 wheel==0.26.0 diff --git a/setup.py b/setup.py index 29aff914e9..76bdb6880c 100644 --- a/setup.py +++ b/setup.py @@ -91,8 +91,13 @@ pytz==2015.4 sh==1.11 """.split() -with open('README.rst') as f: - readme = f.read() +try: + import pypandoc + readme = pypandoc.convert_file('README.md', 'rst') +except (IOError, ImportError): + with open('README.md') as f: + readme = f.read() + with open('HISTORY.rst') as f: history = f.read() From 26f17b6ede3823163558f4c16983bdb6a5bccad6 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sun, 12 Feb 2017 23:08:11 -0400 Subject: [PATCH 027/144] Workaround long standing pypa wheel bug #99 https://bitbucket.org/pypa/wheel/issues/99/cannot-exclude-directory --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index c9dc8bc30e..43e43fda7d 100644 --- a/Makefile +++ b/Makefile @@ -94,8 +94,8 @@ sdist: clean python setup.py sdist ls -l dist -wheel: clean - python setup.py bdist_wheel +wheel: clean sdist + pip wheel --no-index --no-deps --wheel-dir dist dist/*.tar.gz ls -l dist From e65b453bc1e3d2e35a18ac05607ae50b2e548a33 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sun, 12 Feb 2017 23:18:00 -0400 Subject: [PATCH 028/144] Bump version to v.2.1.9. Add changelog and release notes. This is a micro version release to due to the Python Package Index not allowing re-uploads. --- HISTORY.rst | 4 +++ docs/releases/2.1.8.rst | 2 +- docs/releases/2.1.9.rst | 74 +++++++++++++++++++++++++++++++++++++++++ docs/releases/index.rst | 1 + mayan/__init__.py | 4 +-- 5 files changed, 82 insertions(+), 3 deletions(-) create mode 100644 docs/releases/2.1.9.rst diff --git a/HISTORY.rst b/HISTORY.rst index 70103fdc22..19876fd1a9 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -1,3 +1,7 @@ +2.1.9 (2017-02-13) +================== +- Update make file to Workaround long standing pypa wheel bug #99 + 2.1.8 (2017-02-12) ================== - Fixes in the trashed document API endpoints. diff --git a/docs/releases/2.1.8.rst b/docs/releases/2.1.8.rst index 82aa846878..ebe1ae8596 100644 --- a/docs/releases/2.1.8.rst +++ b/docs/releases/2.1.8.rst @@ -2,7 +2,7 @@ Mayan EDMS v2.1.8 release notes =============================== -Released: February XX, 2017 +Released: February 12, 2017 What's new ========== diff --git a/docs/releases/2.1.9.rst b/docs/releases/2.1.9.rst new file mode 100644 index 0000000000..f9c3333e86 --- /dev/null +++ b/docs/releases/2.1.9.rst @@ -0,0 +1,74 @@ +=============================== +Mayan EDMS v2.1.9 release notes +=============================== + +Released: February 13, 2017 + +What's new +========== + +This is a micro release equal to the previews version from the user's point of view. +The version number was increase to workaround some issues with the Python +Package Index not allowing re-uploads. + +Changes +------------- + +- Update make file to Workaround long standing pypa wheel bug #99 + +Removals +-------- +* None + +Upgrading from a previous version +--------------------------------- + +Using PIP +~~~~~~~~~ + +Type in the console:: + + $ pip install -U mayan-edms + +the requirements will also be updated automatically. + +Using Git +~~~~~~~~~ + +If you installed Mayan EDMS by cloning the Git repository issue the commands:: + + $ git reset --hard HEAD + $ git pull + +otherwise download the compressed archived and uncompress it overriding the +existing installation. + +Next upgrade/add the new requirements:: + + $ pip install --upgrade -r requirements.txt + +Common steps +~~~~~~~~~~~~ + +Migrate existing database schema with:: + + $ mayan-edms.py performupgrade + +Add new static media:: + + $ mayan-edms.py collectstatic --noinput + +The upgrade procedure is now complete. + + +Backward incompatible changes +============================= + +* None + +Bugs fixed or issues closed +=========================== + +* None + +.. _PyPI: https://pypi.python.org/pypi/mayan-edms/ diff --git a/docs/releases/index.rst b/docs/releases/index.rst index 84cb057583..20f0924247 100644 --- a/docs/releases/index.rst +++ b/docs/releases/index.rst @@ -22,6 +22,7 @@ versions of the documentation contain the release notes for any later releases. .. toctree:: :maxdepth: 1 + 2.1.9 2.1.8 2.1.7 2.1.6 diff --git a/mayan/__init__.py b/mayan/__init__.py index 2e0898e7c8..5b002feecb 100644 --- a/mayan/__init__.py +++ b/mayan/__init__.py @@ -1,8 +1,8 @@ from __future__ import unicode_literals __title__ = 'Mayan EDMS' -__version__ = '2.1.8' -__build__ = 0x020108 +__version__ = '2.1.9' +__build__ = 0x020109 __author__ = 'Roberto Rosario' __author_email__ = 'roberto.rosario@mayan-edms.com' __description__ = 'Free Open Source Electronic Document Management System' From 1f230c843a1c9cd1441ec8936b0260e38ec235e0 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 13 Feb 2017 02:04:49 -0400 Subject: [PATCH 029/144] Call the wheel target instead of executing setup.py --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 43e43fda7d..37a377306d 100644 --- a/Makefile +++ b/Makefile @@ -87,8 +87,8 @@ requirements_testing: # Releases -release: clean - python setup.py sdist bdist_wheel upload +release: clean wheel + python setup.py upload sdist: clean python setup.py sdist From 4469f020a6b7f8bd4e35963e9201709d0d083d29 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 13 Feb 2017 02:42:01 -0400 Subject: [PATCH 030/144] Update Makefile to use twine for releases. Add target to make test releases. --- Makefile | 9 ++++++--- requirements/development.txt | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 37a377306d..c35edc14fc 100644 --- a/Makefile +++ b/Makefile @@ -87,8 +87,13 @@ requirements_testing: # Releases + +test_release: clean wheel + twine upload dist/* -r testpypi + @echo "Test with: pip install -i https://testpypi.python.org/pypi mayan-edms" + release: clean wheel - python setup.py upload + twine upload dist/* -r pypi sdist: clean python setup.py sdist @@ -106,5 +111,3 @@ runserver: shell_plus: ./manage.py shell_plus --settings=mayan.settings.development - - diff --git a/requirements/development.txt b/requirements/development.txt index 8fd957cd99..2169026ca8 100644 --- a/requirements/development.txt +++ b/requirements/development.txt @@ -11,6 +11,7 @@ ipython==4.0.3 pypandoc==1.3.3 transifex-client==0.12.2 +twine==1.8.1 wheel==0.26.0 From fa38b5b1357cbb8b8501cb21993edde5359804dd Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 13 Feb 2017 02:45:28 -0400 Subject: [PATCH 031/144] Add version 2.1.10 changelog and release notes. --- HISTORY.rst | 5 +++ docs/releases/2.1.10.rst | 75 ++++++++++++++++++++++++++++++++++++++++ docs/releases/index.rst | 1 + 3 files changed, 81 insertions(+) create mode 100644 docs/releases/2.1.10.rst diff --git a/HISTORY.rst b/HISTORY.rst index 19876fd1a9..2e7b617934 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -1,3 +1,8 @@ +2.1.10 (2017-02-13) +================== +- Update Makefile to use twine for releases. +- Add Makefile target to make test releases. + 2.1.9 (2017-02-13) ================== - Update make file to Workaround long standing pypa wheel bug #99 diff --git a/docs/releases/2.1.10.rst b/docs/releases/2.1.10.rst new file mode 100644 index 0000000000..8445af2a09 --- /dev/null +++ b/docs/releases/2.1.10.rst @@ -0,0 +1,75 @@ +=============================== +Mayan EDMS v2.1.10 release notes +=============================== + +Released: February 13, 2017 + +What's new +========== + +This is a micro release equal to the previews version from the user's point of view. +The version number was increase to workaround some issues with the Python +Package Index not allowing re-uploads. + +Changes +------------- + +- Update Makefile to use twine for releases. +- Add Makefile target to make test releases. + +Removals +-------- +* None + +Upgrading from a previous version +--------------------------------- + +Using PIP +~~~~~~~~~ + +Type in the console:: + + $ pip install -U mayan-edms + +the requirements will also be updated automatically. + +Using Git +~~~~~~~~~ + +If you installed Mayan EDMS by cloning the Git repository issue the commands:: + + $ git reset --hard HEAD + $ git pull + +otherwise download the compressed archived and uncompress it overriding the +existing installation. + +Next upgrade/add the new requirements:: + + $ pip install --upgrade -r requirements.txt + +Common steps +~~~~~~~~~~~~ + +Migrate existing database schema with:: + + $ mayan-edms.py performupgrade + +Add new static media:: + + $ mayan-edms.py collectstatic --noinput + +The upgrade procedure is now complete. + + +Backward incompatible changes +============================= + +* None + +Bugs fixed or issues closed +=========================== + +* None + +.. _PyPI: https://pypi.python.org/pypi/mayan-edms/ diff --git a/docs/releases/index.rst b/docs/releases/index.rst index 20f0924247..896a3f1948 100644 --- a/docs/releases/index.rst +++ b/docs/releases/index.rst @@ -22,6 +22,7 @@ versions of the documentation contain the release notes for any later releases. .. toctree:: :maxdepth: 1 + 2.1.10 2.1.9 2.1.8 2.1.7 From cd910e8ae996e725f6653a0b66a5576c20492989 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 13 Feb 2017 02:46:08 -0400 Subject: [PATCH 032/144] Bump version to 2.1.10 --- mayan/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mayan/__init__.py b/mayan/__init__.py index 5b002feecb..bf64ac09c6 100644 --- a/mayan/__init__.py +++ b/mayan/__init__.py @@ -1,8 +1,8 @@ from __future__ import unicode_literals __title__ = 'Mayan EDMS' -__version__ = '2.1.9' -__build__ = 0x020109 +__version__ = '2.1.10' +__build__ = 0x020110 __author__ = 'Roberto Rosario' __author_email__ = 'roberto.rosario@mayan-edms.com' __description__ = 'Free Open Source Electronic Document Management System' From f67443f0d5135a0fcd852544010ed7ba2536d492 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 13 Feb 2017 21:15:27 -0400 Subject: [PATCH 033/144] Add dhasboard widgets removed by the merge with master. --- mayan/apps/documents/apps.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/mayan/apps/documents/apps.py b/mayan/apps/documents/apps.py index 25e6e96884..936d87d7e0 100644 --- a/mayan/apps/documents/apps.py +++ b/mayan/apps/documents/apps.py @@ -105,6 +105,42 @@ class DocumentsApp(MayanAppConfig): serializer_class='documents.serializers.DocumentSerializer' ) + DashboardWidget( + func=new_document_pages_this_month, icon='fa fa-calendar', + label=_('New pages this month'), + link=reverse_lazy( + 'statistics:statistic_detail', + args=('new-document-pages-per-month',) + ) + ) + + DashboardWidget( + func=new_documents_this_month, icon='fa fa-calendar', + label=_('New documents this month'), + link=reverse_lazy( + 'statistics:statistic_detail', + args=('new-documents-per-month',) + ) + ) + + DashboardWidget( + icon='fa fa-file', queryset=Document.objects.all(), + label=_('Total documents'), + link=reverse_lazy('documents:document_list') + ) + + DashboardWidget( + icon='fa fa-book', queryset=DocumentType.objects.all(), + label=_('Document types'), + link=reverse_lazy('documents:document_type_list') + ) + + DashboardWidget( + icon='fa fa-trash', queryset=DeletedDocument.objects.all(), + label=_('Documents in trash'), + link=reverse_lazy('documents:document_list_deleted') + ) + MissingItem( label=_('Create a document type'), description=_( From 81e090f375855e33ef7ea285aa6d5aeeb93d9dd7 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 14 Feb 2017 02:42:40 -0400 Subject: [PATCH 034/144] Update the document app API endpoints. Use resource//subresource/ scheme. --- docs/releases/2.2.rst | 30 ++++ mayan/apps/documents/api_views.py | 182 ++++++++++++++++------- mayan/apps/documents/serializers.py | 147 ++++++++++++------ mayan/apps/documents/tests/test_api.py | 17 +-- mayan/apps/documents/tests/test_views.py | 2 +- mayan/apps/documents/urls.py | 48 +++--- mayan/apps/documents/widgets.py | 16 +- 7 files changed, 308 insertions(+), 134 deletions(-) diff --git a/docs/releases/2.2.rst b/docs/releases/2.2.rst index 9c01310a9a..c26d6b3b25 100644 --- a/docs/releases/2.2.rst +++ b/docs/releases/2.2.rst @@ -7,6 +7,36 @@ Released: XX, 2017 What's new ========== +API changes +----------- +Document API URLs updated to use the resource/sub resource paradigm. +Before: + +/api/documents/document_version +/api/documents/document_pages + +After: +/api/documents//version/ +/api/documents//version//pages/ + +Fields that reference a resource by URL now have the suffix '_url' to differentiate +then from fields include the resource. + +Before: + +'document': '/api/documents/10' + +After: + +'document_url': '/api/documents/10' + +Removal of the document version revert API endpoint. To revert a document to a +previous version using the API, use the DELETE verb to delete the most recent +document version to be discarded. + +Pages data is no longer included as part of the version data. Instead a link to +the document version's pages has been added by the name 'pages_url'. This +resolved to '/api/documents//pages//pages'. Other changes ------------- diff --git a/mayan/apps/documents/api_views.py b/mayan/apps/documents/api_views.py index 215b5f7a3c..e2430e4854 100644 --- a/mayan/apps/documents/api_views.py +++ b/mayan/apps/documents/api_views.py @@ -15,25 +15,24 @@ from rest_api.permissions import MayanPermission from .literals import DOCUMENT_IMAGE_TASK_TIMEOUT from .models import ( - Document, DocumentPage, DocumentType, DocumentVersion, RecentDocument + Document, DocumentType, RecentDocument ) from .permissions import ( permission_document_create, permission_document_delete, permission_document_download, permission_document_edit, permission_document_new_version, permission_document_properties_edit, permission_document_restore, permission_document_trash, - permission_document_version_revert, permission_document_view, - permission_document_type_create, permission_document_type_delete, - permission_document_type_edit, permission_document_type_view + permission_document_view, permission_document_type_create, + permission_document_type_delete, permission_document_type_edit, + permission_document_type_view ) from .runtime import cache_storage_backend from .serializers import ( DeletedDocumentSerializer, DocumentPageSerializer, DocumentSerializer, DocumentTypeSerializer, DocumentVersionSerializer, - DocumentVersionRevertSerializer, NewDocumentSerializer, - NewDocumentVersionSerializer, RecentDocumentSerializer, - WritableDocumentSerializer, WritableDocumentTypeSerializer, - WritableDocumentVersionSerializer + NewDocumentSerializer, NewDocumentVersionSerializer, + RecentDocumentSerializer, WritableDocumentSerializer, + WritableDocumentTypeSerializer, WritableDocumentVersionSerializer ) from .tasks import task_generate_document_page_image @@ -158,12 +157,15 @@ class APIDocumentVersionDownloadView(DownloadMixin, generics.RetrieveAPIView): paramType: path type: number """ + lookup_url_kwarg = 'version_pk' - mayan_object_permissions = { - 'GET': (permission_document_download,) - } - permission_classes = (MayanPermission,) - queryset = DocumentVersion.objects.all() + def get_document(self): + document = get_object_or_404(Document, pk=self.kwargs['pk']) + + AccessControlList.objects.check_access( + permission_document_view, self.request.user, document + ) + return document def get_file(self): instance = self.get_object() @@ -172,6 +174,9 @@ class APIDocumentVersionDownloadView(DownloadMixin, generics.RetrieveAPIView): def get_serializer_class(self): return None + def get_queryset(self): + return self.get_document().versions.all() + def retrieve(self, request, *args, **kwargs): return self.render_to_response() @@ -204,6 +209,13 @@ class APIDocumentView(generics.RetrieveUpdateDestroyAPIView): return super(APIDocumentView, self).get(*args, **kwargs) + def get_serializer_context(self): + return { + 'format': self.format_kwarg, + 'request': self.request, + 'view': self + } + def get_serializer_class(self): if self.request.method == 'GET': return DocumentSerializer @@ -242,12 +254,28 @@ class APIDocumentPageImageView(generics.RetrieveAPIView): type: number """ - mayan_object_permissions = { - 'GET': (permission_document_view,), - } - mayan_permission_attribute_check = 'document' - permission_classes = (MayanPermission,) - queryset = DocumentPage.objects.all() + lookup_url_kwarg = 'page_pk' + + def get_document(self): + if self.request.method == 'GET': + permission_required = permission_document_view + else: + permission_required = permission_document_edit + + document = get_object_or_404(Document, pk=self.kwargs['pk']) + + AccessControlList.objects.check_access( + permission_required, self.request.user, document + ) + return document + + def get_document_version(self): + return get_object_or_404( + self.get_document().versions.all(), pk=self.kwargs['version_pk'] + ) + + def get_queryset(self): + return self.get_document_version().pages.all() def get_serializer_class(self): return None @@ -281,14 +309,7 @@ class APIDocumentPageView(generics.RetrieveUpdateAPIView): Returns the selected document page details. """ - mayan_object_permissions = { - 'GET': (permission_document_view,), - 'PUT': (permission_document_edit,), - 'PATCH': (permission_document_edit,) - } - mayan_permission_attribute_check = 'document' - permission_classes = (MayanPermission,) - queryset = DocumentPage.objects.all() + lookup_url_kwarg = 'page_pk' serializer_class = DocumentPageSerializer def get(self, *args, **kwargs): @@ -298,6 +319,27 @@ class APIDocumentPageView(generics.RetrieveUpdateAPIView): return super(APIDocumentPageView, self).get(*args, **kwargs) + def get_document(self): + if self.request.method == 'GET': + permission_required = permission_document_view + else: + permission_required = permission_document_edit + + document = get_object_or_404(Document, pk=self.kwargs['pk']) + + AccessControlList.objects.check_access( + permission_required, self.request.user, document + ) + return document + + def get_document_version(self): + return get_object_or_404( + self.get_document().versions.all(), pk=self.kwargs['version_pk'] + ) + + def get_queryset(self): + return self.get_document_version().pages.all() + def patch(self, *args, **kwargs): """ Edit the selected document page. @@ -424,6 +466,33 @@ class APIRecentDocumentListView(generics.ListAPIView): return super(APIRecentDocumentListView, self).get(*args, **kwargs) +class APIDocumentVersionPageListView(generics.ListAPIView): + serializer_class = DocumentPageSerializer + + def get_document(self): + document = get_object_or_404(Document, pk=self.kwargs['pk']) + + AccessControlList.objects.check_access( + permission_document_view, self.request.user, document + ) + return document + + def get_document_version(self): + return get_object_or_404( + self.get_document().versions.all(), pk=self.kwargs['version_pk'] + ) + + def get_queryset(self): + return self.get_document_version().pages.all() + + def get_serializer_context(self): + return { + 'format': self.format_kwarg, + 'request': self.request, + 'view': self + } + + class APIDocumentVersionsListView(generics.ListCreateAPIView): """ Return a list of the selected document's versions. @@ -468,19 +537,35 @@ class APIDocumentVersionsListView(generics.ListCreateAPIView): return Response(status=status.HTTP_202_ACCEPTED, headers=headers) -class APIDocumentVersionView(generics.RetrieveUpdateAPIView): +class APIDocumentVersionView(generics.RetrieveUpdateDestroyAPIView): """ Returns the selected document version details. """ - mayan_object_permissions = { - 'GET': (permission_document_view,), - 'PATCH': (permission_document_edit,), - 'PUT': (permission_document_edit,), - } - mayan_permission_attribute_check = 'document' - permission_classes = (MayanPermission,) - queryset = DocumentVersion.objects.all() + lookup_url_kwarg = 'version_pk' + + def delete(self, *args, **kwargs): + """ + Delete the selected document version. + """ + + return super(APIDocumentVersionView, self).delete(*args, **kwargs) + + def get_document(self): + if self.request.method == 'GET': + permission_required = permission_document_view + else: + permission_required = permission_document_edit + + document = get_object_or_404(Document, pk=self.kwargs['pk']) + + AccessControlList.objects.check_access( + permission_required, self.request.user, document + ) + return document + + def get_queryset(self): + return self.get_document().versions.all() def get_serializer_class(self): if self.request.method == 'GET': @@ -488,6 +573,13 @@ class APIDocumentVersionView(generics.RetrieveUpdateAPIView): else: return WritableDocumentVersionSerializer + def get_serializer_context(self): + return { + 'format': self.format_kwarg, + 'request': self.request, + 'view': self + } + def patch(self, *args, **kwargs): """ Edit the selected document version. @@ -501,21 +593,3 @@ class APIDocumentVersionView(generics.RetrieveUpdateAPIView): """ return super(APIDocumentVersionView, self).put(*args, **kwargs) - - -class APIDocumentVersionRevertView(generics.GenericAPIView): - """ - Revert to an earlier document version. - """ - - mayan_object_permissions = { - 'POST': (permission_document_version_revert,) - } - mayan_permission_attribute_check = 'document' - permission_classes = (MayanPermission,) - queryset = DocumentVersion.objects.all() - serializer_class = DocumentVersionRevertSerializer - - def post(self, *args, **kwargs): - self.get_object().revert(_user=self.request.user) - return Response(status=status.HTTP_200_OK) diff --git a/mayan/apps/documents/serializers.py b/mayan/apps/documents/serializers.py index 726fcb42f1..5520700b7d 100644 --- a/mayan/apps/documents/serializers.py +++ b/mayan/apps/documents/serializers.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals from rest_framework import serializers +from rest_framework.reverse import reverse from common.models import SharedUploadedFile @@ -12,19 +13,37 @@ from .tasks import task_upload_new_version class DocumentPageSerializer(serializers.HyperlinkedModelSerializer): - image = serializers.HyperlinkedIdentityField( - view_name='rest_api:documentpage-image' - ) + document_version_url = serializers.SerializerMethodField() + image_url = serializers.SerializerMethodField() + url = serializers.SerializerMethodField() class Meta: - extra_kwargs = { - 'url': {'view_name': 'rest_api:documentpage-detail'}, - 'document_version': { - 'view_name': 'rest_api:documentversion-detail' - } - } + fields = ('document_version_url', 'image_url', 'page_number', 'url') model = DocumentPage + def get_document_version_url(self, instance): + return reverse( + 'rest_api:documentversion-detail', args=( + instance.document.pk, instance.document_version.pk, + ), request=self.context['request'], format=self.context['format'] + ) + + def get_image_url(self, instance): + return reverse( + 'rest_api:documentpage-image', args=( + instance.document.pk, instance.document_version.pk, + instance.pk, + ), request=self.context['request'], format=self.context['format'] + ) + + def get_url(self, instance): + return reverse( + 'rest_api:documentpage-detail', args=( + instance.document.pk, instance.document_version.pk, + instance.pk, + ), request=self.context['request'], format=self.context['format'] + ) + class DocumentTypeSerializer(serializers.HyperlinkedModelSerializer): documents_url = serializers.HyperlinkedIdentityField( @@ -69,44 +88,96 @@ class WritableDocumentTypeSerializer(serializers.ModelSerializer): class DocumentVersionSerializer(serializers.HyperlinkedModelSerializer): - pages = DocumentPageSerializer(many=True, required=False, read_only=True) - revert = serializers.HyperlinkedIdentityField( - view_name='rest_api:documentversion-revert' - ) + document_url = serializers.SerializerMethodField() + download_url = serializers.SerializerMethodField() + pages_url = serializers.SerializerMethodField() + url = serializers.SerializerMethodField() class Meta: extra_kwargs = { 'document': {'view_name': 'rest_api:document-detail'}, 'file': {'use_url': False}, - 'url': {'view_name': 'rest_api:documentversion-detail'}, } + fields = ( + 'checksum', 'comment', 'document_url', 'download_url', 'encoding', + 'file', 'mimetype', 'pages_url', 'timestamp', 'url' + ) model = DocumentVersion read_only_fields = ('document', 'file') + def get_document_url(self, instance): + return reverse( + 'rest_api:document-detail', args=( + instance.document.pk, + ), request=self.context['request'], format=self.context['format'] + ) + + def get_download_url(self, instance): + return reverse( + 'rest_api:documentversion-download', args=( + instance.document.pk, instance.pk, + ), request=self.context['request'], format=self.context['format'] + ) + + def get_pages_url(self, instance): + return reverse( + 'rest_api:documentversion-page-list', args=( + instance.document.pk, instance.pk, + ), request=self.context['request'], format=self.context['format'] + ) + + def get_url(self, instance): + return reverse( + 'rest_api:documentversion-detail', args=( + instance.document.pk, instance.pk, + ), request=self.context['request'], format=self.context['format'] + ) + class WritableDocumentVersionSerializer(serializers.ModelSerializer): - document = serializers.HyperlinkedIdentityField( - view_name='rest_api:document-detail' - ) - pages = DocumentPageSerializer(many=True, required=False, read_only=True) - revert = serializers.HyperlinkedIdentityField( - view_name='rest_api:documentversion-revert' - ) - url = serializers.HyperlinkedIdentityField( - view_name='rest_api:documentversion-detail' - ) + document_url = serializers.SerializerMethodField() + download_url = serializers.SerializerMethodField() + pages_url = serializers.SerializerMethodField() + url = serializers.SerializerMethodField() class Meta: extra_kwargs = { 'file': {'use_url': False}, } + fields = ( + 'checksum', 'comment', 'document_url', 'download_url', 'encoding', + 'file', 'mimetype', 'pages_url', 'timestamp', 'url' + ) model = DocumentVersion read_only_fields = ('document', 'file') + def get_document_url(self, instance): + return reverse( + 'rest_api:document-detail', args=( + instance.document.pk, + ), request=self.context['request'], format=self.context['format'] + ) -class DocumentVersionRevertSerializer(DocumentVersionSerializer): - class Meta(DocumentVersionSerializer.Meta): - read_only_fields = ('comment', 'document',) + def get_download_url(self, instance): + return reverse( + 'rest_api:documentversion-download', args=( + instance.document.pk, instance.pk, + ), request=self.context['request'], format=self.context['format'] + ) + + def get_pages_url(self, instance): + return reverse( + 'rest_api:documentversion-page-list', args=( + instance.document.pk, instance.pk, + ), request=self.context['request'], format=self.context['format'] + ) + + def get_url(self, instance): + return reverse( + 'rest_api:documentversion-detail', args=( + instance.document.pk, instance.pk, + ), request=self.context['request'], format=self.context['format'] + ) class NewDocumentVersionSerializer(serializers.Serializer): @@ -152,9 +223,9 @@ class DeletedDocumentSerializer(serializers.HyperlinkedModelSerializer): class DocumentSerializer(serializers.HyperlinkedModelSerializer): - document_type_label = serializers.SerializerMethodField() + document_type = DocumentTypeSerializer() latest_version = DocumentVersionSerializer(many=False, read_only=True) - versions = serializers.HyperlinkedIdentityField( + versions_url = serializers.HyperlinkedIdentityField( view_name='rest_api:document-version-list', ) @@ -164,19 +235,15 @@ class DocumentSerializer(serializers.HyperlinkedModelSerializer): 'url': {'view_name': 'rest_api:document-detail'} } fields = ( - 'date_added', 'description', 'document_type', - 'document_type_label', 'id', 'label', 'language', - 'latest_version', 'url', 'uuid', 'versions', + 'date_added', 'description', 'document_type', 'id', 'label', + 'language', 'latest_version', 'url', 'uuid', 'versions_url', ) model = Document read_only_fields = ('document_type',) - def get_document_type_label(self, instance): - return instance.document_type.label - class WritableDocumentSerializer(serializers.ModelSerializer): - document_type_label = serializers.SerializerMethodField() + document_type = DocumentTypeSerializer(read_only=True) latest_version = DocumentVersionSerializer(many=False, read_only=True) versions = serializers.HyperlinkedIdentityField( view_name='rest_api:document-version-list', @@ -187,16 +254,12 @@ class WritableDocumentSerializer(serializers.ModelSerializer): class Meta: fields = ( - 'date_added', 'description', 'document_type', - 'document_type_label', 'id', 'label', 'language', - 'latest_version', 'url', 'uuid', 'versions', + 'date_added', 'description', 'document_type', 'id', 'label', + 'language', 'latest_version', 'url', 'uuid', 'versions', ) model = Document read_only_fields = ('document_type',) - def get_document_type_label(self, instance): - return instance.document_type.label - class NewDocumentSerializer(serializers.ModelSerializer): file = serializers.FileField(write_only=True) diff --git a/mayan/apps/documents/tests/test_api.py b/mayan/apps/documents/tests/test_api.py index 501ceed1de..637def9413 100644 --- a/mayan/apps/documents/tests/test_api.py +++ b/mayan/apps/documents/tests/test_api.py @@ -10,7 +10,6 @@ from django.contrib.auth import get_user_model from django.core.urlresolvers import reverse from django.test import override_settings from django.utils.encoding import force_text -from django.utils.six import BytesIO from django_downloadview import assert_download_response from rest_framework import status @@ -201,17 +200,18 @@ class DocumentAPITestCase(APITestCase): self.assertEqual(document.versions.count(), 2) - document_version = document.versions.first() + last_version = document.versions.last() - self.client.post( + self.client.delete( reverse( - 'rest_api:documentversion-revert', args=(document_version.pk,) + 'rest_api:documentversion-detail', + args=(document.pk, last_version.pk,) ) ) self.assertEqual(document.versions.count(), 1) - self.assertEqual(document_version, document.latest_version) + self.assertEqual(document.versions.first(), document.latest_version) def test_document_download(self): with open(TEST_SMALL_DOCUMENT_PATH) as file_object: @@ -242,7 +242,7 @@ class DocumentAPITestCase(APITestCase): response = self.client.get( reverse( 'rest_api:documentversion-download', - args=(latest_version.pk,) + args=(document.pk, latest_version.pk,) ) ) @@ -260,7 +260,7 @@ class DocumentAPITestCase(APITestCase): response = self.client.patch( reverse( 'rest_api:documentversion-detail', - args=(self.document.latest_version.pk,) + args=(self.document.pk, self.document.latest_version.pk,) ), data={'comment': TEST_DOCUMENT_VERSION_COMMENT_EDITED} ) @@ -277,7 +277,7 @@ class DocumentAPITestCase(APITestCase): response = self.client.put( reverse( 'rest_api:documentversion-detail', - args=(self.document.latest_version.pk,) + args=(self.document.pk, self.document.latest_version.pk,) ), data={'comment': TEST_DOCUMENT_VERSION_COMMENT_EDITED} ) @@ -313,7 +313,6 @@ class DocumentAPITestCase(APITestCase): args=(self.document.pk,) ), data={'description': TEST_DOCUMENT_DESCRIPTION_EDITED} ) - self.assertEqual(response.status_code, 200) self.document.refresh_from_db() self.assertEqual( diff --git a/mayan/apps/documents/tests/test_views.py b/mayan/apps/documents/tests/test_views.py index 98c47c47d5..a40ea03bf4 100644 --- a/mayan/apps/documents/tests/test_views.py +++ b/mayan/apps/documents/tests/test_views.py @@ -84,7 +84,7 @@ class DocumentsViewsTestCase(GenericDocumentViewTestCase): def test_document_list_view_with_permissions(self): self.grant(permission=permission_document_view) response = self.get('documents:document_list') - self.assertContains(response, 'Total: 1', status_code=200) + self.assertContains(response, self.document.label, status_code=200) def _edit_document_type(self, document_type): return self.post( diff --git a/mayan/apps/documents/urls.py b/mayan/apps/documents/urls.py index cc507b9b2d..c81fb12461 100644 --- a/mayan/apps/documents/urls.py +++ b/mayan/apps/documents/urls.py @@ -9,7 +9,7 @@ from .api_views import ( APIDocumentPageImageView, APIDocumentPageView, APIDocumentTypeDocumentListView, APIDocumentTypeListView, APIDocumentTypeView, APIDocumentVersionsListView, - APIDocumentVersionRevertView, APIDocumentVersionView, + APIDocumentVersionPageListView, APIDocumentVersionView, APIRecentDocumentListView ) from .views import ( @@ -258,18 +258,6 @@ urlpatterns = [ ] api_urls = [ - url( - r'^trashed_documents/$', APIDeletedDocumentListView.as_view(), - name='trasheddocument-list' - ), - url( - r'^trashed_documents/(?P[0-9]+)/$', - APIDeletedDocumentView.as_view(), name='trasheddocument-detail' - ), - url( - r'^trashed_documents/(?P[0-9]+)/restore/$', - APIDeletedDocumentRestoreView.as_view(), name='trasheddocument-restore' - ), url(r'^documents/$', APIDocumentListView.as_view(), name='document-list'), url( r'^documents/recent/$', APIRecentDocumentListView.as_view(), @@ -279,33 +267,33 @@ api_urls = [ r'^documents/(?P[0-9]+)/$', APIDocumentView.as_view(), name='document-detail' ), - url( - r'^documents/(?P[0-9]+)/versions/$', - APIDocumentVersionsListView.as_view(), name='document-version-list' - ), url( r'^documents/(?P[0-9]+)/download/$', APIDocumentDownloadView.as_view(), name='document-download' ), url( - r'^document_version/(?P[0-9]+)/$', + r'^documents/(?P[0-9]+)/versions/$', + APIDocumentVersionsListView.as_view(), name='document-version-list' + ), + url( + r'^documents/(?P[0-9]+)/versions/(?P[0-9]+)/$', APIDocumentVersionView.as_view(), name='documentversion-detail' ), url( - r'^document_version/(?P[0-9]+)/revert/$', - APIDocumentVersionRevertView.as_view(), name='documentversion-revert' + r'^documents/(?P[0-9]+)/versions/(?P[0-9]+)/pages/$', + APIDocumentVersionPageListView.as_view(), name='documentversion-page-list' ), url( - r'^document_version/(?P[0-9]+)/download/$', + r'^documents/(?P[0-9]+)/versions/(?P[0-9]+)/download/$', APIDocumentVersionDownloadView.as_view(), name='documentversion-download' ), url( - r'^document_page/(?P[0-9]+)/$', APIDocumentPageView.as_view(), - name='documentpage-detail' + r'^documents/(?P[0-9]+)/versions/(?P[0-9]+)/pages/(?P[0-9]+)$', + APIDocumentPageView.as_view(), name='documentpage-detail' ), url( - r'^document_page/(?P[0-9]+)/image/$', + r'^documents/(?P[0-9]+)/versions/(?P[0-9]+)/pages/(?P[0-9]+)/image/$', APIDocumentPageImageView.as_view(), name='documentpage-image' ), url( @@ -321,4 +309,16 @@ api_urls = [ r'^document_types/$', APIDocumentTypeListView.as_view(), name='documenttype-list' ), + url( + r'^trashed_documents/$', APIDeletedDocumentListView.as_view(), + name='trasheddocument-list' + ), + url( + r'^trashed_documents/(?P[0-9]+)/$', + APIDeletedDocumentView.as_view(), name='trasheddocument-detail' + ), + url( + r'^trashed_documents/(?P[0-9]+)/restore/$', + APIDeletedDocumentRestoreView.as_view(), name='trasheddocument-restore' + ), ] diff --git a/mayan/apps/documents/widgets.py b/mayan/apps/documents/widgets.py index 31a9dd0eef..ef5900ec41 100644 --- a/mayan/apps/documents/widgets.py +++ b/mayan/apps/documents/widgets.py @@ -102,7 +102,9 @@ class InstanceImageWidget(object): # Click view def get_click_view_kwargs(self, instance): return { - 'pk': instance.pk + 'pk': instance.document.pk, + 'version_pk': instance.document_version.pk, + 'page_pk': instance.pk } def get_click_view_query_dict(self, instance): @@ -141,7 +143,9 @@ class InstanceImageWidget(object): # Preview view def get_preview_view_kwargs(self, instance): return { - 'pk': instance.pk + 'pk': instance.document.pk, + 'version_pk': instance.document_version.pk, + 'page_pk': instance.pk } def get_preview_view_query_dict(self, instance): @@ -255,12 +259,16 @@ class CarouselDocumentPageThumbnailWidget(BaseDocumentThumbnailWidget): class DocumentThumbnailWidget(BaseDocumentThumbnailWidget): def get_click_view_kwargs(self, instance): return { - 'pk': instance.latest_version.pages.first().pk + 'pk': instance.pk, + 'version_pk': instance.latest_version.pk, + 'page_pk': instance.latest_version.pages.first().pk } def get_preview_view_kwargs(self, instance): return { - 'pk': instance.latest_version.pages.first().pk + 'pk': instance.pk, + 'version_pk': instance.latest_version.pk, + 'page_pk': instance.latest_version.pages.first().pk } def get_title(self, instance): From 0b2406d616758e35b0d7be102d49d0327b9fcd8c Mon Sep 17 00:00:00 2001 From: Jesaja Everling Date: Tue, 14 Feb 2017 19:56:11 +0200 Subject: [PATCH 035/144] Added DocumentTypeFilenameSerializer to display Quick links inline --- mayan/apps/documents/serializers.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/mayan/apps/documents/serializers.py b/mayan/apps/documents/serializers.py index fd3a80e022..0dde168a52 100644 --- a/mayan/apps/documents/serializers.py +++ b/mayan/apps/documents/serializers.py @@ -6,7 +6,8 @@ from common.models import SharedUploadedFile from .literals import DOCUMENT_IMAGE_TASK_TIMEOUT from .models import ( - Document, DocumentVersion, DocumentPage, DocumentType, RecentDocument + Document, DocumentVersion, DocumentPage, DocumentType, + DocumentTypeFilename, RecentDocument ) from .settings import setting_language from .tasks import task_get_document_page_image, task_upload_new_version @@ -45,11 +46,18 @@ class DocumentPageSerializer(serializers.HyperlinkedModelSerializer): model = DocumentPage +class DocumentTypeFilenameSerializer(serializers.ModelSerializer): + class Meta: + model = DocumentTypeFilename + fields = ('filename',) + + class DocumentTypeSerializer(serializers.HyperlinkedModelSerializer): documents_url = serializers.HyperlinkedIdentityField( view_name='rest_api:documenttype-document-list', ) documents_count = serializers.SerializerMethodField() + filenames = DocumentTypeFilenameSerializer(many=True, read_only=True) class Meta: extra_kwargs = { @@ -57,7 +65,7 @@ class DocumentTypeSerializer(serializers.HyperlinkedModelSerializer): } fields = ( 'delete_time_period', 'delete_time_unit', 'documents_url', - 'documents_count', 'id', 'label', 'trash_time_period', + 'documents_count', 'id', 'label', 'filenames', 'trash_time_period', 'trash_time_unit', 'url' ) model = DocumentType From 8b20015f645f291437209a8efdff9846dd5f7e86 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 15 Feb 2017 20:20:14 -0400 Subject: [PATCH 036/144] Add per document type, workflow list API view. GitLab issue #357, GitLab merge request #!9. cc @jeverling --- mayan/apps/document_states/api_views.py | 29 +++++++++++++++++++- mayan/apps/document_states/tests/test_api.py | 13 +++++++++ mayan/apps/document_states/urls.py | 13 ++++++--- 3 files changed, 50 insertions(+), 5 deletions(-) diff --git a/mayan/apps/document_states/api_views.py b/mayan/apps/document_states/api_views.py index 2c3735e159..08a1e55d43 100644 --- a/mayan/apps/document_states/api_views.py +++ b/mayan/apps/document_states/api_views.py @@ -6,7 +6,7 @@ from django.shortcuts import get_object_or_404 from rest_framework import generics from acls.models import AccessControlList -from documents.models import Document +from documents.models import Document, DocumentType from documents.permissions import permission_document_type_view from permissions import Permission from rest_api.filters import MayanObjectPermissionsFilter @@ -27,6 +27,33 @@ from .serializers import ( ) +class APIDocumentTypeWorkflowListView(generics.ListAPIView): + serializer_class = WorkflowSerializer + + def get(self, *args, **kwargs): + """ + Returns a list of all the document type workflows. + """ + return super(APIDocumentTypeWorkflowListView, self).get(*args, **kwargs) + + def get_document_type(self): + document_type = get_object_or_404(DocumentType, pk=self.kwargs['pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_workflow_view,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_workflow_view, self.request.user, document_type + ) + + return document_type + + def get_queryset(self): + return self.get_document_type().workflows.all() + + class APIWorkflowDocumentTypeList(generics.ListCreateAPIView): filter_backends = (MayanObjectPermissionsFilter,) mayan_object_permissions = { diff --git a/mayan/apps/document_states/tests/test_api.py b/mayan/apps/document_states/tests/test_api.py index 6545450ee7..9ee947abe2 100644 --- a/mayan/apps/document_states/tests/test_api.py +++ b/mayan/apps/document_states/tests/test_api.py @@ -186,6 +186,19 @@ class WorkflowAPITestCase(APITestCase): workflow.refresh_from_db() self.assertEqual(workflow.label, TEST_WORKFLOW_LABEL_EDITED) + def test_document_type_workflow_list(self): + workflow = self._create_workflow() + workflow.document_types.add(self.document_type) + + response = self.client.get( + reverse( + 'rest_api:documenttype-workflow-list', + args=(self.document_type.pk,) + ), + ) + + self.assertEqual(response.data['results'][0]['label'], workflow.label) + @override_settings(OCR_AUTO_OCR=False) class WorkflowStatesAPITestCase(APITestCase): diff --git a/mayan/apps/document_states/urls.py b/mayan/apps/document_states/urls.py index d612b28324..2194d26285 100644 --- a/mayan/apps/document_states/urls.py +++ b/mayan/apps/document_states/urls.py @@ -3,10 +3,10 @@ from __future__ import unicode_literals from django.conf.urls import patterns, url from .api_views import ( - APIWorkflowDocumentTypeList, APIWorkflowDocumentTypeView, - APIWorkflowInstanceListView, APIWorkflowInstanceView, - APIWorkflowInstanceLogEntryListView, APIWorkflowListView, - APIWorkflowStateListView, APIWorkflowStateView, + APIDocumentTypeWorkflowListView, APIWorkflowDocumentTypeList, + APIWorkflowDocumentTypeView, APIWorkflowInstanceListView, + APIWorkflowInstanceView, APIWorkflowInstanceLogEntryListView, + APIWorkflowListView, APIWorkflowStateListView, APIWorkflowStateView, APIWorkflowTransitionListView, APIWorkflowTransitionView, APIWorkflowView ) from .views import ( @@ -150,4 +150,9 @@ api_urls = [ APIWorkflowInstanceLogEntryListView.as_view(), name='workflowinstancelogentry-list' ), + url( + r'^document_type/(?P[0-9]+)/workflows/$', + APIDocumentTypeWorkflowListView.as_view(), + name='documenttype-workflow-list' + ), ] From 37f0597b344adb6bdd6ece4f0a3b93a6f20e8c67 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 16 Feb 2017 01:50:00 -0400 Subject: [PATCH 037/144] Add Developer Certificate of Origin. Signed-off-by: Roberto Rosario --- CONTRIBUTING.md | 21 ++++++++++++++------- DCO | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 7 deletions(-) create mode 100644 DCO diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5e114863e9..ce1fd62061 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -17,7 +17,7 @@ same properties that can trigger the issue and upload that file instead. - Add steps that trigger the issue in a **repeatable manner**. - **Screenshots** go a long way in helping understand problems. - The issue must be related to the code only, do not open issues for problems -with webservers, cloud providers, etc. +with deployments, webservers, cloud providers, etc. - Do not open issues asking for **support or consulting**. Code @@ -40,7 +40,19 @@ following branches: are unstable and should not be used in production. 1. Start making your changes in your own separate branch. -1. Write a test which shows that the bug was fixed or that the feature works as expected. +1. Write a test which shows that the bug was fixed or that the feature works as + expected. +1. Sign your work. Your signature certifies your submission according to the + articles of the [Developer Certificate of Origin](https://gitlab.com/mayan-edms/mayan-edms/blob/master/DCO). + The sign-off should be in the form: + + ```` + Signed-off-by: John Doe + ```` + + You must use your real name and email, pseudonyms or anonymous contributions + are not allowed. If you set your user.name and user.email git configs, you can + sign your commit automatically with git commit -s. 1. Submit a merge request for your changes. Feature requests @@ -64,8 +76,3 @@ Code style ---------- - Refer to the [Development](http://mayan.readthedocs.io/en/latest/topics/development.html) chapter for information and examples of the code style. - -License -------- -By contributing your code, you agree to license your contribution under the -terms of the project's license. diff --git a/DCO b/DCO new file mode 100644 index 0000000000..716561d5d2 --- /dev/null +++ b/DCO @@ -0,0 +1,36 @@ +Developer Certificate of Origin +Version 1.1 + +Copyright (C) 2004, 2006 The Linux Foundation and its contributors. +660 York Street, Suite 102, +San Francisco, CA 94110 USA + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + + +Developer's Certificate of Origin 1.1 + +By making a contribution to this project, I certify that: + +(a) The contribution was created in whole or in part by me and I + have the right to submit it under the open source license + indicated in the file; or + +(b) The contribution is based upon previous work that, to the best + of my knowledge, is covered under an appropriate open source + license and I have the right under that license to submit that + work with modifications, whether created in whole or in part + by me, under the same open source license (unless I am + permitted to submit under a different license), as indicated + in the file; or + +(c) The contribution was provided directly to me by some other + person who certified (a), (b) or (c) and I have not modified + it. + +(d) I understand and agree that this project and the contribution + are public and that a record of the contribution (including all + personal information I submit with it, including my sign-off) is + maintained indefinitely and may be redistributed consistent with + this project or the open source license(s) involved. From 9942da601eee9936f7de960ade68d31cdd75b22c Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 16 Feb 2017 02:05:24 -0400 Subject: [PATCH 038/144] Add links to the contributing document and the roadmap wiki. Signed-off-by: Roberto Rosario --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index d75efe7909..8289e70bbc 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,8 @@ Step 3- Open a browser and go to http://localhost - [Videos](https://www.youtube.com/channel/UCJOOXHP1MJ9lVA7d8ZTlHPw) - [Documentation](http://mayan.readthedocs.io/en/stable/) - [Paid support](http://www.mayan-edms.com/providers/) +- [Roadmap](https://gitlab.com/mayan-edms/mayan-edms/wikis/roadmap) +- [Contributing](https://gitlab.com/mayan-edms/mayan-edms/blob/master/CONTRIBUTING.md) - [Community forum](https://groups.google.com/forum/#!forum/mayan-edms) - [Community forum archive](http://mayan-edms.1003.x6.nabble.com/) - [Source code, issues, bugs](https://gitlab.com/mayan-edms/mayan-edms) From 80f64d7fcfb1fac0774fb141615bddc84485f4dd Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 16 Feb 2017 21:12:55 -0400 Subject: [PATCH 039/144] Add BaseAPITestCase class that invalidates the permission and smart settings caches. Use BaseAPITestCase for all API test cases. --- mayan/apps/common/tests/test_api.py | 4 ++-- mayan/apps/django_gpg/tests/test_api.py | 6 +++--- mayan/apps/document_states/tests/test_api.py | 22 ++++++++++++++------ mayan/apps/documents/tests/test_api.py | 18 +++++++++------- mayan/apps/dynamic_search/tests/test_api.py | 11 ++++------ mayan/apps/events/tests/test_api.py | 4 ++-- mayan/apps/folders/tests/test_api.py | 10 +++------ mayan/apps/linking/tests/test_api.py | 12 +++++++---- mayan/apps/metadata/tests/test_api.py | 17 ++++++++++----- mayan/apps/motd/tests/test_api.py | 7 ++++--- mayan/apps/ocr/tests/test_api.py | 7 +++++-- mayan/apps/permissions/tests/test_api.py | 5 ++--- mayan/apps/rest_api/tests/__init__.py | 1 + mayan/apps/rest_api/tests/base.py | 17 +++++++++++++++ mayan/apps/tags/tests/test_api.py | 11 ++++------ mayan/apps/user_management/tests/test_api.py | 19 +++++++---------- 16 files changed, 101 insertions(+), 70 deletions(-) create mode 100644 mayan/apps/rest_api/tests/__init__.py create mode 100644 mayan/apps/rest_api/tests/base.py diff --git a/mayan/apps/common/tests/test_api.py b/mayan/apps/common/tests/test_api.py index 4b92bd8342..2a8f456b1c 100644 --- a/mayan/apps/common/tests/test_api.py +++ b/mayan/apps/common/tests/test_api.py @@ -2,10 +2,10 @@ from __future__ import unicode_literals from django.core.urlresolvers import reverse -from rest_framework.test import APITestCase +from rest_api.tests import BaseAPITestCase -class CommonAPITestCase(APITestCase): +class CommonAPITestCase(BaseAPITestCase): def test_content_type_list_view(self): response = self.client.get(reverse('rest_api:content-type-list')) self.assertEqual(response.status_code, 200) diff --git a/mayan/apps/django_gpg/tests/test_api.py b/mayan/apps/django_gpg/tests/test_api.py index 927fed2ff5..605f973911 100644 --- a/mayan/apps/django_gpg/tests/test_api.py +++ b/mayan/apps/django_gpg/tests/test_api.py @@ -4,8 +4,7 @@ from django.contrib.auth import get_user_model from django.core.urlresolvers import reverse from django.test import override_settings -from rest_framework.test import APITestCase - +from rest_api.tests import BaseAPITestCase from user_management.tests.literals import ( TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME ) @@ -16,8 +15,9 @@ from .literals import TEST_KEY_DATA, TEST_KEY_FINGERPRINT @override_settings(OCR_AUTO_OCR=False) -class KeyAPITestCase(APITestCase): +class KeyAPITestCase(BaseAPITestCase): def setUp(self): + super(KeyAPITestCase, self).setUp() self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD diff --git a/mayan/apps/document_states/tests/test_api.py b/mayan/apps/document_states/tests/test_api.py index 6545450ee7..fe75a90c25 100644 --- a/mayan/apps/document_states/tests/test_api.py +++ b/mayan/apps/document_states/tests/test_api.py @@ -4,12 +4,11 @@ from django.contrib.auth import get_user_model from django.core.urlresolvers import reverse from django.test import override_settings -from rest_framework.test import APITestCase - from documents.models import DocumentType from documents.tests.literals import ( TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH ) +from rest_api.tests import BaseAPITestCase from user_management.tests.literals import ( TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME ) @@ -26,8 +25,9 @@ from .literals import ( @override_settings(OCR_AUTO_OCR=False) -class WorkflowAPITestCase(APITestCase): +class WorkflowAPITestCase(BaseAPITestCase): def setUp(self): + super(WorkflowAPITestCase, self).setUp() self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD @@ -49,6 +49,7 @@ class WorkflowAPITestCase(APITestCase): def tearDown(self): if hasattr(self, 'document_type'): self.document_type.delete() + super(WorkflowAPITestCase, self).tearDown() def _create_workflow(self): return Workflow.objects.create(label=TEST_WORKFLOW_LABEL) @@ -188,8 +189,10 @@ class WorkflowAPITestCase(APITestCase): @override_settings(OCR_AUTO_OCR=False) -class WorkflowStatesAPITestCase(APITestCase): +class WorkflowStatesAPITestCase(BaseAPITestCase): def setUp(self): + super(WorkflowStatesAPITestCase, self).setUp() + self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD @@ -211,6 +214,7 @@ class WorkflowStatesAPITestCase(APITestCase): def tearDown(self): if hasattr(self, 'document_type'): self.document_type.delete() + super(WorkflowStatesAPITestCase, self).tearDown() def _create_workflow(self): self.workflow = Workflow.objects.create(label=TEST_WORKFLOW_LABEL) @@ -317,8 +321,10 @@ class WorkflowStatesAPITestCase(APITestCase): @override_settings(OCR_AUTO_OCR=False) -class WorkflowTransitionsAPITestCase(APITestCase): +class WorkflowTransitionsAPITestCase(BaseAPITestCase): def setUp(self): + super(WorkflowTransitionsAPITestCase, self).setUp() + self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD @@ -340,6 +346,7 @@ class WorkflowTransitionsAPITestCase(APITestCase): def tearDown(self): if hasattr(self, 'document_type'): self.document_type.delete() + super(WorkflowTransitionsAPITestCase, self).tearDown() def _create_workflow(self): self.workflow = Workflow.objects.create(label=TEST_WORKFLOW_LABEL) @@ -487,8 +494,10 @@ class WorkflowTransitionsAPITestCase(APITestCase): @override_settings(OCR_AUTO_OCR=False) -class DocumentWorkflowsAPITestCase(APITestCase): +class DocumentWorkflowsAPITestCase(BaseAPITestCase): def setUp(self): + super(DocumentWorkflowsAPITestCase, self).setUp() + self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD @@ -505,6 +514,7 @@ class DocumentWorkflowsAPITestCase(APITestCase): def tearDown(self): if hasattr(self, 'document_type'): self.document_type.delete() + super(DocumentWorkflowsAPITestCase, self).tearDown() def _create_document(self): with open(TEST_SMALL_DOCUMENT_PATH) as file_object: diff --git a/mayan/apps/documents/tests/test_api.py b/mayan/apps/documents/tests/test_api.py index 637def9413..f30ebf7f2c 100644 --- a/mayan/apps/documents/tests/test_api.py +++ b/mayan/apps/documents/tests/test_api.py @@ -13,8 +13,8 @@ from django.utils.encoding import force_text from django_downloadview import assert_download_response from rest_framework import status -from rest_framework.test import APITestCase +from rest_api.tests import BaseAPITestCase from user_management.tests.literals import ( TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME ) @@ -28,12 +28,9 @@ from .literals import ( from ..models import Document, DocumentType -class DocumentTypeAPITestCase(APITestCase): - """ - Test the document type API endpoints - """ - +class DocumentTypeAPITestCase(BaseAPITestCase): def setUp(self): + super(DocumentTypeAPITestCase, self).setUp() self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD @@ -45,6 +42,7 @@ class DocumentTypeAPITestCase(APITestCase): def tearDown(self): self.admin_user.delete() + super(DocumentTypeAPITestCase, self).tearDown() def test_document_type_create(self): self.assertEqual(DocumentType.objects.all().count(), 0) @@ -94,8 +92,9 @@ class DocumentTypeAPITestCase(APITestCase): @override_settings(OCR_AUTO_OCR=False) -class DocumentAPITestCase(APITestCase): +class DocumentAPITestCase(BaseAPITestCase): def setUp(self): + super(DocumentAPITestCase, self).setUp() self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD @@ -112,6 +111,7 @@ class DocumentAPITestCase(APITestCase): def tearDown(self): self.admin_user.delete() self.document_type.delete() + super(DocumentAPITestCase, self).tearDown() def _upload_document(self): with open(TEST_SMALL_DOCUMENT_PATH) as file_object: @@ -322,8 +322,9 @@ class DocumentAPITestCase(APITestCase): @override_settings(OCR_AUTO_OCR=False) -class TrashedDocumentAPITestCase(APITestCase): +class TrashedDocumentAPITestCase(BaseAPITestCase): def setUp(self): + super(TrashedDocumentAPITestCase, self).setUp() self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD @@ -340,6 +341,7 @@ class TrashedDocumentAPITestCase(APITestCase): def tearDown(self): self.admin_user.delete() self.document_type.delete() + super(TrashedDocumentAPITestCase, self).tearDown() def _upload_document(self): with open(TEST_SMALL_DOCUMENT_PATH) as file_object: diff --git a/mayan/apps/dynamic_search/tests/test_api.py b/mayan/apps/dynamic_search/tests/test_api.py index e8483a90a4..252442d847 100644 --- a/mayan/apps/dynamic_search/tests/test_api.py +++ b/mayan/apps/dynamic_search/tests/test_api.py @@ -6,23 +6,20 @@ from django.contrib.auth import get_user_model from django.core.urlresolvers import reverse from django.test import override_settings -from rest_framework.test import APITestCase - from documents.models import DocumentType from documents.search import document_search from documents.tests import TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH +from rest_api.tests import BaseAPITestCase from user_management.tests import ( TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME ) @override_settings(OCR_AUTO_OCR=False) -class SearchAPITestCase(APITestCase): - """ - Test the search API endpoints - """ - +class SearchAPITestCase(BaseAPITestCase): def setUp(self): + super(SearchAPITestCase, self).setUp() + self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD diff --git a/mayan/apps/events/tests/test_api.py b/mayan/apps/events/tests/test_api.py index dadc0f531a..63cea28c6c 100644 --- a/mayan/apps/events/tests/test_api.py +++ b/mayan/apps/events/tests/test_api.py @@ -2,10 +2,10 @@ from __future__ import unicode_literals from django.core.urlresolvers import reverse -from rest_framework.test import APITestCase +from rest_api.tests import BaseAPITestCase -class EventAPITestCase(APITestCase): +class EventAPITestCase(BaseAPITestCase): def test_evet_type_list_view(self): response = self.client.get(reverse('rest_api:event-type-list')) self.assertEqual(response.status_code, 200) diff --git a/mayan/apps/folders/tests/test_api.py b/mayan/apps/folders/tests/test_api.py index 333198a4d5..6da4b1b16b 100644 --- a/mayan/apps/folders/tests/test_api.py +++ b/mayan/apps/folders/tests/test_api.py @@ -4,10 +4,9 @@ from django.contrib.auth import get_user_model from django.core.urlresolvers import reverse from django.test import override_settings -from rest_framework.test import APITestCase - from documents.models import DocumentType from documents.tests import TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH +from rest_api.tests import BaseAPITestCase from user_management.tests.literals import ( TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME ) @@ -17,12 +16,9 @@ from ..models import Folder from .literals import TEST_FOLDER_EDITED_LABEL, TEST_FOLDER_LABEL -class FolderAPITestCase(APITestCase): - """ - Test the folder API endpoints - """ - +class FolderAPITestCase(BaseAPITestCase): def setUp(self): + super(FolderAPITestCase, self).setUp() self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD diff --git a/mayan/apps/linking/tests/test_api.py b/mayan/apps/linking/tests/test_api.py index 4e795f830e..2e791d5cb1 100644 --- a/mayan/apps/linking/tests/test_api.py +++ b/mayan/apps/linking/tests/test_api.py @@ -4,12 +4,11 @@ from django.contrib.auth import get_user_model from django.core.urlresolvers import reverse from django.test import override_settings -from rest_framework.test import APITestCase - from documents.models import DocumentType from documents.tests.literals import ( TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH ) +from rest_api.tests import BaseAPITestCase from user_management.tests.literals import ( TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME ) @@ -26,8 +25,9 @@ from .literals import ( @override_settings(OCR_AUTO_OCR=False) -class SmartLinkAPITestCase(APITestCase): +class SmartLinkAPITestCase(BaseAPITestCase): def setUp(self): + super(SmartLinkAPITestCase, self).setUp() self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD @@ -40,6 +40,7 @@ class SmartLinkAPITestCase(APITestCase): def tearDown(self): if hasattr(self, 'document_type'): self.document_type.delete() + super(SmartLinkAPITestCase, self).tearDown() def _create_document_type(self): self.document_type = DocumentType.objects.create( @@ -122,8 +123,10 @@ class SmartLinkAPITestCase(APITestCase): @override_settings(OCR_AUTO_OCR=False) -class SmartLinkConditionAPITestCase(APITestCase): +class SmartLinkConditionAPITestCase(BaseAPITestCase): def setUp(self): + super(SmartLinkConditionAPITestCase, self).setUp() + self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD @@ -136,6 +139,7 @@ class SmartLinkConditionAPITestCase(APITestCase): def tearDown(self): if hasattr(self, 'document_type'): self.document_type.delete() + super(SmartLinkConditionAPITestCase, self).tearDown() def _create_document_type(self): self.document_type = DocumentType.objects.create( diff --git a/mayan/apps/metadata/tests/test_api.py b/mayan/apps/metadata/tests/test_api.py index 79ccff4acb..4a9f47c4e0 100644 --- a/mayan/apps/metadata/tests/test_api.py +++ b/mayan/apps/metadata/tests/test_api.py @@ -4,10 +4,9 @@ from django.contrib.auth import get_user_model from django.core.urlresolvers import reverse from django.test import override_settings -from rest_framework.test import APITestCase - from documents.models import DocumentType from documents.tests import TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH +from rest_api.tests import BaseAPITestCase from user_management.tests.literals import ( TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME ) @@ -21,8 +20,10 @@ from .literals import ( ) -class MetadataTypeAPITestCase(APITestCase): +class MetadataTypeAPITestCase(BaseAPITestCase): def setUp(self): + super(MetadataTypeAPITestCase, self).setUp() + self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD @@ -125,8 +126,10 @@ class MetadataTypeAPITestCase(APITestCase): ) -class DocumentTypeMetadataTypeAPITestCase(APITestCase): +class DocumentTypeMetadataTypeAPITestCase(BaseAPITestCase): def setUp(self): + super(DocumentTypeMetadataTypeAPITestCase, self).setUp() + self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD @@ -147,6 +150,7 @@ class DocumentTypeMetadataTypeAPITestCase(APITestCase): def tearDown(self): self.admin_user.delete() self.document_type.delete() + super(DocumentTypeMetadataTypeAPITestCase, self).tearDown() def test_document_type_metadata_type_optional_create(self): response = self.client.post( @@ -205,9 +209,11 @@ class DocumentTypeMetadataTypeAPITestCase(APITestCase): self.assertEqual(self.document_type.metadata.all().count(), 0) -class DocumentMetadataAPITestCase(APITestCase): +class DocumentMetadataAPITestCase(BaseAPITestCase): @override_settings(OCR_AUTO_OCR=False) def setUp(self): + super(DocumentMetadataAPITestCase, self).setUp() + self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD @@ -237,6 +243,7 @@ class DocumentMetadataAPITestCase(APITestCase): def tearDown(self): self.admin_user.delete() self.document_type.delete() + super(DocumentMetadataAPITestCase, self).tearDown() def test_document_metadata_create(self): response = self.client.post( diff --git a/mayan/apps/motd/tests/test_api.py b/mayan/apps/motd/tests/test_api.py index 84efa6c422..53b6ba7c30 100644 --- a/mayan/apps/motd/tests/test_api.py +++ b/mayan/apps/motd/tests/test_api.py @@ -4,8 +4,7 @@ from django.contrib.auth import get_user_model from django.core.urlresolvers import reverse from django.test import override_settings -from rest_framework.test import APITestCase - +from rest_api.tests import BaseAPITestCase from user_management.tests.literals import ( TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME ) @@ -18,8 +17,10 @@ from .literals import ( @override_settings(OCR_AUTO_OCR=False) -class MOTDAPITestCase(APITestCase): +class MOTDAPITestCase(BaseAPITestCase): def setUp(self): + super(MOTDAPITestCase, self).setUp() + self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD diff --git a/mayan/apps/ocr/tests/test_api.py b/mayan/apps/ocr/tests/test_api.py index 1194a76748..181ff14ca1 100644 --- a/mayan/apps/ocr/tests/test_api.py +++ b/mayan/apps/ocr/tests/test_api.py @@ -6,21 +6,23 @@ from django.contrib.auth import get_user_model from django.core.urlresolvers import reverse from rest_framework import status -from rest_framework.test import APITestCase from documents.models import DocumentType from documents.tests import TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH +from rest_api.tests import BaseAPITestCase from user_management.tests import ( TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME ) -class OCRAPITestCase(APITestCase): +class OCRAPITestCase(BaseAPITestCase): """ Test the OCR app API endpoints """ def setUp(self): + super(OCRAPITestCase, self).setUp() + self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD @@ -41,6 +43,7 @@ class OCRAPITestCase(APITestCase): def tearDown(self): self.document_type.delete() + super(OCRAPITestCase, self).tearDown() def test_submit_document(self): response = self.client.post( diff --git a/mayan/apps/permissions/tests/test_api.py b/mayan/apps/permissions/tests/test_api.py index 5a6d39ce12..76f379a230 100644 --- a/mayan/apps/permissions/tests/test_api.py +++ b/mayan/apps/permissions/tests/test_api.py @@ -4,8 +4,7 @@ from django.contrib.auth import get_user_model from django.contrib.auth.models import Group from django.core.urlresolvers import reverse -from rest_framework.test import APITestCase - +from rest_api.tests import BaseAPITestCase from user_management.tests.literals import ( TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME, TEST_GROUP_NAME @@ -18,7 +17,7 @@ from ..permissions import permission_role_view from .literals import TEST_ROLE_LABEL, TEST_ROLE_LABEL_EDITED -class PermissionAPITestCase(APITestCase): +class PermissionAPITestCase(BaseAPITestCase): def setUp(self): super(PermissionAPITestCase, self).setUp() self.admin_user = get_user_model().objects.create_superuser( diff --git a/mayan/apps/rest_api/tests/__init__.py b/mayan/apps/rest_api/tests/__init__.py new file mode 100644 index 0000000000..0b7c12d02a --- /dev/null +++ b/mayan/apps/rest_api/tests/__init__.py @@ -0,0 +1 @@ +from .base import BaseAPITestCase # NOQA diff --git a/mayan/apps/rest_api/tests/base.py b/mayan/apps/rest_api/tests/base.py new file mode 100644 index 0000000000..098d83f9b9 --- /dev/null +++ b/mayan/apps/rest_api/tests/base.py @@ -0,0 +1,17 @@ +from __future__ import absolute_import, unicode_literals + +from rest_framework.test import APITestCase + +from permissions.classes import Permission +from smart_settings.classes import Namespace + + +class BaseAPITestCase(APITestCase): + """ + API test case class that invalidates permissions and smart settings + """ + + def setUp(self): + super(BaseAPITestCase, self).setUp() + Namespace.invalidate_cache_all() + Permission.invalidate_cache() diff --git a/mayan/apps/tags/tests/test_api.py b/mayan/apps/tags/tests/test_api.py index 454ecad870..d3aa157326 100644 --- a/mayan/apps/tags/tests/test_api.py +++ b/mayan/apps/tags/tests/test_api.py @@ -5,10 +5,9 @@ from django.core.urlresolvers import reverse from django.test import override_settings from django.utils.encoding import force_text -from rest_framework.test import APITestCase - from documents.models import DocumentType from documents.tests import TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH +from rest_api.tests import BaseAPITestCase from user_management.tests.literals import ( TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME ) @@ -22,12 +21,9 @@ from .literals import ( @override_settings(OCR_AUTO_OCR=False) -class TagAPITestCase(APITestCase): - """ - Test the tag API endpoints - """ - +class TagAPITestCase(BaseAPITestCase): def setUp(self): + super(TagAPITestCase, self).setUp() self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD @@ -40,6 +36,7 @@ class TagAPITestCase(APITestCase): def tearDown(self): if hasattr(self, 'document_type'): self.document_type.delete() + super(TagAPITestCase, self).tearDown() def _create_tag(self): return Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL) diff --git a/mayan/apps/user_management/tests/test_api.py b/mayan/apps/user_management/tests/test_api.py index d5cb0284f9..7aec08c631 100644 --- a/mayan/apps/user_management/tests/test_api.py +++ b/mayan/apps/user_management/tests/test_api.py @@ -4,7 +4,7 @@ from django.contrib.auth import get_user_model from django.contrib.auth.models import Group from django.core.urlresolvers import reverse -from rest_framework.test import APITestCase +from rest_api.tests import BaseAPITestCase from ..tests.literals import ( TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME @@ -16,12 +16,10 @@ from .literals import ( ) -class UserManagementUserAPITestCase(APITestCase): - """ - Test the user API endpoints - """ - +class UserManagementUserAPITestCase(BaseAPITestCase): def setUp(self): + super(UserManagementUserAPITestCase, self).setUp() + self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD @@ -33,6 +31,7 @@ class UserManagementUserAPITestCase(APITestCase): def tearDown(self): get_user_model().objects.all().delete() + super(UserManagementUserAPITestCase, self).tearDown() def test_user_create(self): response = self.client.post( @@ -249,12 +248,9 @@ class UserManagementUserAPITestCase(APITestCase): self.assertEqual(group.user_set.first(), user) -class UserManagementGroupAPITestCase(APITestCase): - """ - Test the groups API endpoints - """ - +class UserManagementGroupAPITestCase(BaseAPITestCase): def setUp(self): + super(UserManagementGroupAPITestCase, self).setUp() self.admin_user = get_user_model().objects.create_superuser( username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, password=TEST_ADMIN_PASSWORD @@ -266,6 +262,7 @@ class UserManagementGroupAPITestCase(APITestCase): def tearDown(self): get_user_model().objects.all().delete() + super(UserManagementGroupAPITestCase, self).tearDown() def test_group_create(self): response = self.client.post( From cd32c5bda564fe4cb012a901922ce728bd2098c9 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 16 Feb 2017 21:46:40 -0400 Subject: [PATCH 040/144] Return the corresponing keyword arguments to the view of the document thumbnail widget depending on the view type: template or API. --- mayan/apps/documents/widgets.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/mayan/apps/documents/widgets.py b/mayan/apps/documents/widgets.py index ef5900ec41..2bd1b0e7bc 100644 --- a/mayan/apps/documents/widgets.py +++ b/mayan/apps/documents/widgets.py @@ -101,11 +101,21 @@ class InstanceImageWidget(object): # Click view def get_click_view_kwargs(self, instance): - return { - 'pk': instance.document.pk, - 'version_pk': instance.document_version.pk, - 'page_pk': instance.pk - } + """ + Determine if the view is a template or API view and vary the view + keyword arguments + """ + + if self.click_view_name.startswith('rest_api'): + return { + 'pk': instance.document.pk, + 'version_pk': instance.document_version.pk, + 'page_pk': instance.pk + } + else: + return { + 'pk': instance.pk, + } def get_click_view_query_dict(self, instance): return self.click_view_query_dict From 5ff3ea93179dd11c311fa78e8107af63945f2e8a Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 16 Feb 2017 21:47:43 -0400 Subject: [PATCH 041/144] Don't override the DEBUG variable value of local.py --- mayan/settings/testing/base.py | 1 - 1 file changed, 1 deletion(-) diff --git a/mayan/settings/testing/base.py b/mayan/settings/testing/base.py index 663ff4fb9b..47b8dce5c9 100644 --- a/mayan/settings/testing/base.py +++ b/mayan/settings/testing/base.py @@ -2,7 +2,6 @@ from __future__ import absolute_import, unicode_literals from .. import * # NOQA -DEBUG = True INSTALLED_APPS += ('test_without_migrations',) TEMPLATES[0]['OPTIONS']['loaders'] = ( 'django.template.loaders.filesystem.Loader', From 76f8f8f0464b96136ae7665d2df4fd373777cf84 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 16 Feb 2017 21:48:11 -0400 Subject: [PATCH 042/144] Add missing teartDown call to test. --- mayan/apps/ocr/tests/test_parsers.py | 1 + 1 file changed, 1 insertion(+) diff --git a/mayan/apps/ocr/tests/test_parsers.py b/mayan/apps/ocr/tests/test_parsers.py index d222711167..17e23ee80c 100644 --- a/mayan/apps/ocr/tests/test_parsers.py +++ b/mayan/apps/ocr/tests/test_parsers.py @@ -63,6 +63,7 @@ class TextExtractorTestCase(BaseTestCase): def tearDown(self): self.document_type.delete() + super(TextExtractorTestCase, self).tearDown() def test_text_extractor(self): TextExtractor.process_document_version( From 8c4d53b2186dd2323a6151429282e4bbbc24d9c9 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 16 Feb 2017 21:48:37 -0400 Subject: [PATCH 043/144] Remove unnecessary cache invalidation from test, it is done by the test's parent class. --- mayan/apps/common/tests/test_views.py | 1 - 1 file changed, 1 deletion(-) diff --git a/mayan/apps/common/tests/test_views.py b/mayan/apps/common/tests/test_views.py index 1b4175ff9f..7e9039b100 100644 --- a/mayan/apps/common/tests/test_views.py +++ b/mayan/apps/common/tests/test_views.py @@ -37,7 +37,6 @@ class GenericViewTestCase(BaseTestCase): self.role = Role.objects.create(label=TEST_ROLE_LABEL) self.group.user_set.add(self.user) self.role.groups.add(self.group) - Permission.invalidate_cache() def tearDown(self): from mayan.urls import urlpatterns From a9597c81dd4abcdc6611fd00c9ca39fc54584c7d Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 16 Feb 2017 22:10:31 -0400 Subject: [PATCH 044/144] Add missing setUp call to the text extractor test case. --- mayan/apps/ocr/tests/test_parsers.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mayan/apps/ocr/tests/test_parsers.py b/mayan/apps/ocr/tests/test_parsers.py index 17e23ee80c..e846ff5271 100644 --- a/mayan/apps/ocr/tests/test_parsers.py +++ b/mayan/apps/ocr/tests/test_parsers.py @@ -52,6 +52,8 @@ class ParserTestCase(BaseTestCase): @override_settings(OCR_AUTO_OCR=False) class TextExtractorTestCase(BaseTestCase): def setUp(self): + super(TextExtractorTestCase, self).setUp() + self.document_type = DocumentType.objects.create( label=TEST_DOCUMENT_TYPE ) From 708c7ea7768747c77deea6e452b893a6403f2e39 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 16 Feb 2017 22:10:52 -0400 Subject: [PATCH 045/144] Lower the default verbosity of the non debug console logger from INFO to ERROR. --- mayan/apps/common/apps.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mayan/apps/common/apps.py b/mayan/apps/common/apps.py index 1c56cb4553..2e8dd36642 100644 --- a/mayan/apps/common/apps.py +++ b/mayan/apps/common/apps.py @@ -148,7 +148,7 @@ class CommonApp(MayanAppConfig): if settings.DEBUG: level = 'DEBUG' else: - level = 'INFO' + level = 'ERROR' loggers = {} for project_app in apps.apps.get_app_configs(): From 0078600e62bcb8eb37958c9ff5259f1e2b3528bf Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 17 Feb 2017 18:12:48 -0400 Subject: [PATCH 046/144] Add custom tests runner that replaces the custom "runtests" management command. --- .gitlab-ci.yml | 6 +-- .travis.yml | 6 +-- Makefile | 3 -- docs/releases/2.2.rst | 3 ++ .../common/management/commands/runtests.py | 34 --------------- mayan/apps/common/tests/runner.py | 41 +++++++++++++++++++ mayan/settings/base.py | 3 +- tox.ini | 2 +- 8 files changed, 53 insertions(+), 45 deletions(-) delete mode 100644 mayan/apps/common/management/commands/runtests.py create mode 100644 mayan/apps/common/tests/runner.py diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c9c0de6789..b0d172677e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,7 +21,7 @@ test:mysql: - pip install mysql-python - apt-get install -qq mysql-client - mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD" -e "set global character_set_server=utf8mb4;" - - coverage run manage.py runtests --settings=mayan.settings.testing.gitlab-ci.db_mysql --nomigrations + - coverage run manage.py test --settings=mayan.settings.testing.gitlab-ci.db_mysql --nomigrations - bash <(curl https://raw.githubusercontent.com/codecov/codecov-bash/master/codecov) -t $CODECOV_TOKEN tags: - mysql @@ -30,12 +30,12 @@ test:postgres: - apt-get install -qq libpq-dev - pip install -r requirements/testing.txt - pip install psycopg2 - - coverage run manage.py runtests --settings=mayan.settings.testing.gitlab-ci.db_postgres --nomigrations + - coverage run manage.py test --settings=mayan.settings.testing.gitlab-ci.db_postgres --nomigrations - bash <(curl https://raw.githubusercontent.com/codecov/codecov-bash/master/codecov) -t $CODECOV_TOKEN tags: - postgres test:sqlite: script: - pip install -r requirements/testing.txt - - coverage run manage.py runtests --settings=mayan.settings.testing.gitlab-ci --nomigrations + - coverage run manage.py test --settings=mayan.settings.testing.gitlab-ci --nomigrations - bash <(curl https://raw.githubusercontent.com/codecov/codecov-bash/master/codecov) -t $CODECOV_TOKEN diff --git a/.travis.yml b/.travis.yml index fbe358ff14..9591074dfa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,9 +17,9 @@ before_script: - mysql -e 'create database mayan_edms;' - psql -c 'create database mayan_edms;' -U postgres script: - - if [[ $DB == mysql ]]; then coverage run manage.py runtests --settings=mayan.settings.testing.travis.db_mysql --nomigrations; fi - - if [[ $DB == postgres ]]; then coverage run manage.py runtests --settings=mayan.settings.testing.travis.db_postgres --nomigrations; fi - - if [[ $DB == sqlite ]]; then coverage run manage.py runtests --settings=mayan.settings.testing.base --nomigrations; fi + - if [[ $DB == mysql ]]; then coverage run manage.py test --settings=mayan.settings.testing.travis.db_mysql --nomigrations; fi + - if [[ $DB == postgres ]]; then coverage run manage.py test --settings=mayan.settings.testing.travis.db_postgres --nomigrations; fi + - if [[ $DB == sqlite ]]; then coverage run manage.py test --settings=mayan.settings.testing.base --nomigrations; fi after_success: - coveralls branches: diff --git a/Makefile b/Makefile index 764286dc11..55063ab5f1 100644 --- a/Makefile +++ b/Makefile @@ -51,9 +51,6 @@ clean-pyc: test: ./manage.py test $(MODULE) --settings=mayan.settings.testing --nomigrations -test-all: - ./manage.py runtests --settings=mayan.settings.testing --nomigrations - # Documentation diff --git a/docs/releases/2.2.rst b/docs/releases/2.2.rst index c26d6b3b25..7a2a48134a 100644 --- a/docs/releases/2.2.rst +++ b/docs/releases/2.2.rst @@ -92,6 +92,9 @@ Other changes - Gaussian blur - Unsharp masking +- Add custom test runner replacing the custom management command runtests. + The 'test-all' Makefile target that called the `runtests` command has been removed too. + Removals -------- - Removal of the OCR_TESSERACT_PATH configuration setting. diff --git a/mayan/apps/common/management/commands/runtests.py b/mayan/apps/common/management/commands/runtests.py deleted file mode 100644 index 44832cdff8..0000000000 --- a/mayan/apps/common/management/commands/runtests.py +++ /dev/null @@ -1,34 +0,0 @@ -from __future__ import unicode_literals - -from django import apps -from django.core import management - - -class Command(management.BaseCommand): - help = 'Run all configured tests for the project.' - - def add_arguments(self, parser): - parser.add_argument( - '--nomigrations', action='store_true', dest='nomigrations', - default=False, - help='Don\'t use migrations when creating the test database.' - ) - - parser.add_argument( - '--reverse', action='store_true', dest='reverse', default=False, - help='Reverses test cases order.' - ) - - def handle(self, *args, **options): - kwargs = {} - if options.get('nomigrations'): - kwargs['nomigrations'] = True - - if options.get('reverse'): - kwargs['reverse'] = True - - test_apps = [app.name for app in apps.apps.get_app_configs() if getattr(app, 'test', False)] - - print 'Testing: {}'.format(', '.join(test_apps)) - - management.call_command('test', *test_apps, interactive=False, **kwargs) diff --git a/mayan/apps/common/tests/runner.py b/mayan/apps/common/tests/runner.py new file mode 100644 index 0000000000..db617c46d6 --- /dev/null +++ b/mayan/apps/common/tests/runner.py @@ -0,0 +1,41 @@ +from __future__ import unicode_literals + +import os + +from django import apps +from django.conf import settings +from django.test.runner import DiscoverRunner + + +class MayanTestRunner(DiscoverRunner): + @classmethod + def add_arguments(cls, parser): + DiscoverRunner.add_arguments(parser) + + def build_suite(self, *args, **kwargs): + self.top_level = os.path.join(settings.BASE_DIR, 'apps') + + test_suit = super(MayanTestRunner, self).build_suite(*args, **kwargs) + + new_suite = self.test_suite() + + # Apps that report they have tests + + test_apps = [ + app.name for app in apps.apps.get_app_configs() if getattr(app, 'test', False) + ] + + # Filter the test cases reported by the test runner by the apps that + # reported tests + + for test_case in test_suit: + app_label = repr(test_case.__class__).split("'")[1].split('.')[0] + if app_label in test_apps: + new_suite.addTest(test_case) + + print '-' * 10 + print 'Apps to test: {}'.format(', '.join(test_apps)) + print 'Total test cases: {}'.format(new_suite.countTestCases()) + print '-' * 10 + + return new_suite diff --git a/mayan/settings/base.py b/mayan/settings/base.py index d51aa6db70..a069ccb18e 100644 --- a/mayan/settings/base.py +++ b/mayan/settings/base.py @@ -234,6 +234,8 @@ STATICFILES_FINDERS = ( 'compressor.finders.CompressorFinder', ) +TEST_RUNNER = 'common.tests.runner.MayanTestRunner' + # --------- Django compressor ------------- COMPRESS_CSS_FILTERS = ( 'compressor.filters.css_default.CssAbsoluteFilter', @@ -272,7 +274,6 @@ CELERY_ROUTES = {} CELERY_TASK_SERIALIZER = 'json' CELERY_TIMEZONE = 'UTC' CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler' -TEST_RUNNER = 'djcelery.contrib.test_runner.CeleryTestSuiteRunner' # ------------ CORS ------------ CORS_ORIGIN_ALLOW_ALL = True # ------ Django REST Swagger ----- diff --git a/tox.ini b/tox.ini index a64387cd66..5f801bcb01 100644 --- a/tox.ini +++ b/tox.ini @@ -12,7 +12,7 @@ basepython = py35: python3.5 commands= - coverage run {envdir}/bin/django-admin.py runtests --settings=mayan.settings.testing --nomigrations + coverage run {envdir}/bin/django-admin.py test --settings=mayan.settings.testing --nomigrations deps = -rrequirements/testing-no-django.txt From e090628d721e5460880a08f9361bbdce92090ebc Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 17 Feb 2017 18:50:36 -0400 Subject: [PATCH 047/144] Make testing for orphaned file handles and temporary files optional. Allows for running tests in parallel. --- docs/releases/2.2.rst | 3 ++ mayan/apps/common/tests/mixins.py | 79 ++++++++++++++++--------------- 2 files changed, 45 insertions(+), 37 deletions(-) diff --git a/docs/releases/2.2.rst b/docs/releases/2.2.rst index 7a2a48134a..c94542332f 100644 --- a/docs/releases/2.2.rst +++ b/docs/releases/2.2.rst @@ -95,6 +95,9 @@ Other changes - Add custom test runner replacing the custom management command runtests. The 'test-all' Makefile target that called the `runtests` command has been removed too. +- Testing for orphaned temporary files and orphaned file handles is now optional and + controlled by the COMMON_TEST_FILE_HANDLES and COMMON_TEST_FILE_HANDLES settings. + Removals -------- - Removal of the OCR_TESSERACT_PATH configuration setting. diff --git a/mayan/apps/common/tests/mixins.py b/mayan/apps/common/tests/mixins.py index e5c818b1ed..f772800270 100644 --- a/mayan/apps/common/tests/mixins.py +++ b/mayan/apps/common/tests/mixins.py @@ -5,6 +5,8 @@ import os import psutil +from django.conf import settings + from ..settings import setting_temporary_directory @@ -32,6 +34,34 @@ class ContentTypeCheckMixin(object): self.client = CustomClient() +class OpenFileCheckMixin(object): + def _get_descriptor_count(self): + process = psutil.Process() + return process.num_fds() + + def _get_open_files(self): + process = psutil.Process() + return process.open_files() + + def setUp(self): + super(OpenFileCheckMixin, self).setUp() + if getattr(settings, 'COMMON_TEST_FILE_HANDLES', False): + self._open_files = self._get_open_files() + + def tearDown(self): + if getattr(settings, 'COMMON_TEST_FILE_HANDLES', False) and not getattr(self, '_skip_file_descriptor_test', False): + for new_open_file in self._get_open_files(): + self.assertFalse( + new_open_file not in self._open_files, + msg='File descriptor leak. The number of file descriptors ' + 'at the start and at the end of the test are not the same.' + ) + + self._skip_file_descriptor_test = False + + super(OpenFileCheckMixin, self).tearDown() + + class TempfileCheckMixin(object): # Ignore the jvmstat instrumentation and GitLab's CI .config files ignore_globs = ('hsperfdata_*', '.config', '.cache') @@ -57,43 +87,18 @@ class TempfileCheckMixin(object): def setUp(self): super(TempfileCheckMixin, self).setUp() - self._temporary_items = self._get_temporary_entries() + if getattr(settings, 'COMMON_TEST_TEMP_FILES', False): + self._temporary_items = self._get_temporary_entries() def tearDown(self): - final_temporary_items = self._get_temporary_entries() - self.assertEqual( - self._temporary_items, final_temporary_items, - msg='Orphan temporary file. The number of temporary files and/or ' - 'directories at the start and at the end of the test are not the ' - 'same. Orphan entries: {}'.format( - ','.join(final_temporary_items - self._temporary_items) - ) - ) - super(TempfileCheckMixin, self).tearDown() - - -class OpenFileCheckMixin(object): - def _get_descriptor_count(self): - process = psutil.Process() - return process.num_fds() - - def _get_open_files(self): - process = psutil.Process() - return process.open_files() - - def setUp(self): - super(OpenFileCheckMixin, self).setUp() - self._open_files = self._get_open_files() - - def tearDown(self): - if not getattr(self, '_skip_file_descriptor_test', False): - for new_open_file in self._get_open_files(): - self.assertFalse( - new_open_file not in self._open_files, - msg='File descriptor leak. The number of file descriptors ' - 'at the start and at the end of the test are not the same.' + if getattr(settings, 'COMMON_TEST_TEMP_FILES', False): + final_temporary_items = self._get_temporary_entries() + self.assertEqual( + self._temporary_items, final_temporary_items, + msg='Orphan temporary file. The number of temporary files and/or ' + 'directories at the start and at the end of the test are not the ' + 'same. Orphan entries: {}'.format( + ','.join(final_temporary_items - self._temporary_items) ) - - self._skip_file_descriptor_test = False - - super(OpenFileCheckMixin, self).tearDown() + ) + super(TempfileCheckMixin, self).tearDown() From c8e9a625dadc55cdc12429ec0e8c629d005a8190 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 17 Feb 2017 18:56:05 -0400 Subject: [PATCH 048/144] PEP8 cleanups. --- mayan/apps/common/settings.py | 40 +++++++++++++-------------- mayan/apps/common/tests/test_views.py | 1 - mayan/apps/permissions/serializers.py | 4 --- 3 files changed, 20 insertions(+), 25 deletions(-) diff --git a/mayan/apps/common/settings.py b/mayan/apps/common/settings.py index a1a16e656f..8edf6c8512 100644 --- a/mayan/apps/common/settings.py +++ b/mayan/apps/common/settings.py @@ -7,26 +7,6 @@ from django.utils.translation import ugettext_lazy as _ from smart_settings import Namespace namespace = Namespace(name='common', label=_('Common')) -setting_temporary_directory = namespace.add_setting( - global_name='COMMON_TEMPORARY_DIRECTORY', default=tempfile.gettempdir(), - help_text=_( - 'Temporary directory used site wide to store thumbnails, previews ' - 'and temporary files.' - ), - is_path=True -) -setting_shared_storage = namespace.add_setting( - global_name='COMMON_SHARED_STORAGE', - default='storage.backends.filebasedstorage.FileBasedStorage', - help_text=_('A storage backend that all workers can use to share files.') -) -setting_paginate_by = namespace.add_setting( - global_name='COMMON_PAGINATE_BY', - default=40, - help_text=_( - 'An integer specifying how many objects should be displayed per page.' - ) -) setting_auto_logging = namespace.add_setting( global_name='COMMON_AUTO_LOGGING', default=True, @@ -40,3 +20,23 @@ settings_db_sync_task_delay = namespace.add_setting( 'propagate.' ) ) +setting_paginate_by = namespace.add_setting( + global_name='COMMON_PAGINATE_BY', + default=40, + help_text=_( + 'An integer specifying how many objects should be displayed per page.' + ) +) +setting_shared_storage = namespace.add_setting( + global_name='COMMON_SHARED_STORAGE', + default='storage.backends.filebasedstorage.FileBasedStorage', + help_text=_('A storage backend that all workers can use to share files.') +) +setting_temporary_directory = namespace.add_setting( + global_name='COMMON_TEMPORARY_DIRECTORY', default=tempfile.gettempdir(), + help_text=_( + 'Temporary directory used site wide to store thumbnails, previews ' + 'and temporary files.' + ), + is_path=True +) diff --git a/mayan/apps/common/tests/test_views.py b/mayan/apps/common/tests/test_views.py index 7e9039b100..a5716a1c65 100644 --- a/mayan/apps/common/tests/test_views.py +++ b/mayan/apps/common/tests/test_views.py @@ -7,7 +7,6 @@ from django.core.urlresolvers import clear_url_caches, reverse from django.http import HttpResponse from django.template import Context, Template -from permissions import Permission from permissions.models import Role from permissions.tests.literals import TEST_ROLE_LABEL from user_management.tests import ( diff --git a/mayan/apps/permissions/serializers.py b/mayan/apps/permissions/serializers.py index 375818e93a..9cff8afff2 100644 --- a/mayan/apps/permissions/serializers.py +++ b/mayan/apps/permissions/serializers.py @@ -29,10 +29,6 @@ class PermissionSerializer(serializers.Serializer): class RoleSerializer(serializers.HyperlinkedModelSerializer): - groups = GroupSerializer(many=True) - - -class RoleSerializer(serializers.ModelSerializer): groups = GroupSerializer(many=True, read_only=True) permissions = PermissionSerializer(many=True, read_only=True) From 05e5363bfc8df18f9503dbaee5aa1b159060daa2 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sun, 19 Feb 2017 02:33:29 -0400 Subject: [PATCH 049/144] Add the url of a permission in the permission serializer. --- mayan/apps/permissions/serializers.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mayan/apps/permissions/serializers.py b/mayan/apps/permissions/serializers.py index f311070999..6774a9c3b6 100644 --- a/mayan/apps/permissions/serializers.py +++ b/mayan/apps/permissions/serializers.py @@ -32,7 +32,10 @@ class RoleSerializer(serializers.HyperlinkedModelSerializer): groups = GroupSerializer(many=True) class Meta: - fields = ('groups', 'id', 'label') + extra_kwargs = { + 'url': {'view_name': 'rest_api:role-detail'}, + } + fields = ('groups', 'id', 'label', 'url') model = Role From e3f9dd9d201fc6cf8bdbfdb4a3aa04f4532881aa Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sun, 19 Feb 2017 02:34:17 -0400 Subject: [PATCH 050/144] Add a generic relation to any model that registers itself for ACLs. This helps reference the ACLs of the model with using ContentType. --- mayan/apps/acls/classes.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/mayan/apps/acls/classes.py b/mayan/apps/acls/classes.py index 9ddaa03428..7f2c47b9d2 100644 --- a/mayan/apps/acls/classes.py +++ b/mayan/apps/acls/classes.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals, absolute_import import logging from django.apps import apps +from django.contrib.contenttypes.fields import GenericRelation logger = logging.getLogger(__name__) @@ -18,6 +19,12 @@ class ModelPermission(object): for permission in permissions: cls._registry[model].append(permission) + AccessControlList = apps.get_model( + app_label='acls', model_name='AccessControlList' + ) + + model.add_to_class('acls', GenericRelation(AccessControlList)) + @classmethod def get_for_instance(cls, instance): StoredPermission = apps.get_model( From 2544b569f0f4800363024c6ecf3fa7469f785bce Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sun, 19 Feb 2017 02:35:19 -0400 Subject: [PATCH 051/144] Add new read only endpoints for the ACL app API. --- mayan/apps/acls/api_views.py | 202 ++++++++++++++++++++++++++++++ mayan/apps/acls/apps.py | 3 + mayan/apps/acls/serializers.py | 74 +++++++++++ mayan/apps/acls/tests/test_api.py | 146 +++++++++++++++++++++ mayan/apps/acls/urls.py | 24 ++++ 5 files changed, 449 insertions(+) create mode 100644 mayan/apps/acls/api_views.py create mode 100644 mayan/apps/acls/serializers.py create mode 100644 mayan/apps/acls/tests/test_api.py diff --git a/mayan/apps/acls/api_views.py b/mayan/apps/acls/api_views.py new file mode 100644 index 0000000000..36aece2dd7 --- /dev/null +++ b/mayan/apps/acls/api_views.py @@ -0,0 +1,202 @@ +from __future__ import absolute_import, unicode_literals + +from django.contrib.contenttypes.models import ContentType +from django.core.exceptions import PermissionDenied +from django.shortcuts import get_object_or_404 + +from rest_framework import generics + +from permissions import Permission + +from .models import AccessControlList +from .permissions import permission_acl_edit, permission_acl_view +from .serializers import ( + AccessControlListPermissionSerializer, AccessControlListSerializer +) + + +class APIObjectACLListView(generics.ListAPIView): + serializer_class = AccessControlListSerializer + + def get(self, *args, **kwargs): + """ + Returns a list of all the object's access control lists + """ + + return super(APIObjectACLListView, self).get(*args, **kwargs) + + def get_content_object(self): + content_type = get_object_or_404( + ContentType, app_label=self.kwargs['app_label'], + model=self.kwargs['model'] + ) + + content_object = get_object_or_404( + content_type.model_class(), pk=self.kwargs['object_pk'] + ) + + try: + Permission.check_permissions( + self.request.user, permissions=(permission_acl_view,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_acl_view, self.request.user, content_object + ) + + return content_object + + def get_queryset(self): + return self.get_content_object().acls.all() + + def get_serializer_context(self): + """ + Extra context provided to the serializer class. + """ + + return { + 'format': self.format_kwarg, + 'request': self.request, + 'view': self + } + + +class APIObjectACLView(generics.RetrieveAPIView): + serializer_class = AccessControlListSerializer + + def get(self, *args, **kwargs): + """ + Returns the details of the selected access control list. + """ + + return super(APIObjectACLView, self).get(*args, **kwargs) + + def get_content_object(self): + if self.request.method == 'GET': + permission_required = permission_acl_view + else: + permission_required = permission_acl_edit + + content_type = get_object_or_404( + ContentType, app_label=self.kwargs['app_label'], + model=self.kwargs['model'] + ) + + content_object = get_object_or_404( + content_type.model_class(), pk=self.kwargs['object_pk'] + ) + + try: + Permission.check_permissions( + self.request.user, permissions=(permission_required,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_required, self.request.user, content_object + ) + + return content_object + + def get_queryset(self): + return self.get_content_object().acls.all() + + +class APIObjectACLPermissionListView(generics.ListAPIView): + serializer_class = AccessControlListPermissionSerializer + + def get(self, *args, **kwargs): + """ + Returns the access control list permission list. + """ + + return super( + APIObjectACLPermissionListView, self + ).get(*args, **kwargs) + + def get_acl(self): + return get_object_or_404( + self.get_content_object().acls, pk=self.kwargs['pk'] + ) + + def get_content_object(self): + content_type = get_object_or_404( + ContentType, app_label=self.kwargs['app_label'], + model=self.kwargs['model'] + ) + + content_object = get_object_or_404( + content_type.model_class(), pk=self.kwargs['object_pk'] + ) + + try: + Permission.check_permissions( + self.request.user, permissions=(permission_acl_view,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_acl_view, self.request.user, content_object + ) + + return content_object + + def get_queryset(self): + return self.get_acl().permissions.all() + + def get_serializer_context(self): + return { + 'acl': self.get_acl(), + 'format': self.format_kwarg, + 'request': self.request, + 'view': self + } + + +class APIObjectACLPermissionView(generics.RetrieveAPIView): + lookup_url_kwarg = 'permission_pk' + serializer_class = AccessControlListPermissionSerializer + + def get(self, *args, **kwargs): + """ + Returns the details of the selected access control list permission. + """ + + return super( + APIObjectACLPermissionView, self + ).get(*args, **kwargs) + + def get_acl(self): + return get_object_or_404( + self.get_content_object().acls, pk=self.kwargs['pk'] + ) + + def get_content_object(self): + content_type = get_object_or_404( + ContentType, app_label=self.kwargs['app_label'], + model=self.kwargs['model'] + ) + + content_object = get_object_or_404( + content_type.model_class(), pk=self.kwargs['object_pk'] + ) + + try: + Permission.check_permissions( + self.request.user, permissions=(permission_acl_view,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_acl_view, self.request.user, content_object + ) + + return content_object + + def get_queryset(self): + return self.get_acl().permissions.all() + + def get_serializer_context(self): + return { + 'acl': self.get_acl(), + 'format': self.format_kwarg, + 'request': self.request, + 'view': self + } diff --git a/mayan/apps/acls/apps.py b/mayan/apps/acls/apps.py index ebce7ca4ce..9f3404e80b 100644 --- a/mayan/apps/acls/apps.py +++ b/mayan/apps/acls/apps.py @@ -4,6 +4,7 @@ from django.utils.translation import ugettext_lazy as _ from common import MayanAppConfig, menu_object, menu_sidebar from navigation import SourceColumn +from rest_api.classes import APIEndPoint from .links import link_acl_create, link_acl_delete, link_acl_permissions @@ -16,6 +17,8 @@ class ACLsApp(MayanAppConfig): def ready(self): super(ACLsApp, self).ready() + APIEndPoint(app=self, version_string='1') + AccessControlList = self.get_model('AccessControlList') SourceColumn( diff --git a/mayan/apps/acls/serializers.py b/mayan/apps/acls/serializers.py new file mode 100644 index 0000000000..72d9163589 --- /dev/null +++ b/mayan/apps/acls/serializers.py @@ -0,0 +1,74 @@ +from __future__ import absolute_import, unicode_literals + +from django.utils.translation import ugettext_lazy as _ + +from rest_framework import serializers +from rest_framework.reverse import reverse + +from common.serializers import ContentTypeSerializer +from permissions.serializers import PermissionSerializer, RoleSerializer + +from .models import AccessControlList + + +class AccessControlListSerializer(serializers.ModelSerializer): + content_type = ContentTypeSerializer(read_only=True) + permissions_url = serializers.SerializerMethodField( + help_text=_( + 'API URL pointing to the list of permissions for this access ' + 'control list.' + ) + ) + role = RoleSerializer(read_only=True) + url = serializers.SerializerMethodField() + + class Meta: + fields = ( + 'content_type', 'id', 'object_id', 'permissions_url', 'role', 'url' + ) + model = AccessControlList + + def get_permissions_url(self, instance): + return reverse( + 'rest_api:accesscontrollist-permission-list', args=( + instance.content_type.app_label, instance.content_type.model, + instance.object_id, instance.pk + ), request=self.context['request'], format=self.context['format'] + ) + + def get_url(self, instance): + return reverse( + 'rest_api:accesscontrollist-detail', args=( + instance.content_type.app_label, instance.content_type.model, + instance.object_id, instance.pk + ), request=self.context['request'], format=self.context['format'] + ) + + +class AccessControlListPermissionSerializer(PermissionSerializer): + acl_permission_url = serializers.SerializerMethodField( + help_text=_( + 'API URL pointing to a permission in relation to the ' + 'access control list to which it is attached. This URL is ' + 'different than the canonical workflow URL.' + ) + ) + + def __init__(self, *args, **kwargs): + super( + AccessControlListPermissionSerializer, self + ).__init__(*args, **kwargs) + + # Make all fields (inherited and local) read ony. + for field in self._readable_fields: + field.read_only = True + + def get_acl_permission_url(self, instance): + return reverse( + 'rest_api:accesscontrollist-permission-detail', args=( + self.context['acl'].content_type.app_label, + self.context['acl'].content_type.model, + self.context['acl'].object_id, self.context['acl'].pk, + instance.stored_permission.pk + ), request=self.context['request'], format=self.context['format'] + ) diff --git a/mayan/apps/acls/tests/test_api.py b/mayan/apps/acls/tests/test_api.py new file mode 100644 index 0000000000..9c7eade47c --- /dev/null +++ b/mayan/apps/acls/tests/test_api.py @@ -0,0 +1,146 @@ +from __future__ import absolute_import, unicode_literals + +from django.contrib.auth import get_user_model +from django.contrib.contenttypes.models import ContentType +from django.core.urlresolvers import reverse +from django.test import override_settings + +from rest_framework.test import APITestCase + +from documents.models import DocumentType +from documents.permissions import permission_document_view +from documents.tests.literals import ( + TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH +) +from permissions.classes import Permission +from permissions.models import Role +from permissions.tests.literals import TEST_ROLE_LABEL +from user_management.tests.literals import ( + TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME +) + +from ..models import AccessControlList + + +@override_settings(OCR_AUTO_OCR=False) +class ACLAPITestCase(APITestCase): + def setUp(self): + self.admin_user = get_user_model().objects.create_superuser( + username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, + password=TEST_ADMIN_PASSWORD + ) + + self.client.login( + username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD + ) + + self.document_type = DocumentType.objects.create( + label=TEST_DOCUMENT_TYPE + ) + + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + self.document = self.document_type.new_document( + file_object=file_object + ) + + self.role = Role.objects.create(label=TEST_ROLE_LABEL) + + self.document_content_type = ContentType.objects.get_for_model( + self.document + ) + Permission.invalidate_cache() + + def tearDown(self): + if hasattr(self, 'document_type'): + self.document_type.delete() + + def _create_acl(self): + self.acl = AccessControlList.objects.create( + content_object=self.document, + role=self.role + ) + + self.acl.permissions.add(permission_document_view.stored_permission) + + def test_object_acl_list_view(self): + self._create_acl() + + response = self.client.get( + reverse( + 'rest_api:accesscontrollist-list', + args=( + self.document_content_type.app_label, + self.document_content_type.model, + self.document.pk + ) + ) + ) + + self.assertEqual( + response.data['results'][0]['content_type']['app_label'], + self.document_content_type.app_label + ) + self.assertEqual( + response.data['results'][0]['role']['label'], TEST_ROLE_LABEL + ) + + def test_object_acl_detail_view(self): + self._create_acl() + + response = self.client.get( + reverse( + 'rest_api:accesscontrollist-detail', + args=( + self.document_content_type.app_label, + self.document_content_type.model, + self.document.pk, self.acl.pk + ) + ) + ) + + self.assertEqual( + response.data['content_type']['app_label'], + self.document_content_type.app_label + ) + self.assertEqual( + response.data['role']['label'], TEST_ROLE_LABEL + ) + + def test_object_acl_permission_list_view(self): + self._create_acl() + + response = self.client.get( + reverse( + 'rest_api:accesscontrollist-permission-list', + args=( + self.document_content_type.app_label, + self.document_content_type.model, + self.document.pk, self.acl.pk + ) + ) + ) + + self.assertEqual( + response.data['results'][0]['pk'], + permission_document_view.pk + ) + + def test_object_acl_permission_detail_view(self): + self._create_acl() + permission = self.acl.permissions.first() + + response = self.client.get( + reverse( + 'rest_api:accesscontrollist-permission-detail', + args=( + self.document_content_type.app_label, + self.document_content_type.model, + self.document.pk, self.acl.pk, + permission.pk + ) + ) + ) + + self.assertEqual( + response.data['pk'], permission_document_view.pk + ) diff --git a/mayan/apps/acls/urls.py b/mayan/apps/acls/urls.py index f68cc5e0b8..bb52d1a031 100644 --- a/mayan/apps/acls/urls.py +++ b/mayan/apps/acls/urls.py @@ -2,6 +2,10 @@ from __future__ import unicode_literals from django.conf.urls import patterns, url +from .api_views import ( + APIObjectACLListView, APIObjectACLPermissionListView, + APIObjectACLPermissionView, APIObjectACLView +) from .views import ( ACLCreateView, ACLDeleteView, ACLListView, ACLPermissionsView ) @@ -22,3 +26,23 @@ urlpatterns = patterns( name='acl_permissions' ), ) + + +api_urls = [ + url( + r'^object/(?P[-\w]+)/(?P[-\w]+)/(?P\d+)/acls/$', + APIObjectACLListView.as_view(), name='accesscontrollist-list' + ), + url( + r'^object/(?P[-\w]+)/(?P[-\w]+)/(?P\d+)/acls/(?P\d+)/$', + APIObjectACLView.as_view(), name='accesscontrollist-detail' + ), + url( + r'^object/(?P[-\w]+)/(?P[-\w]+)/(?P\d+)/acls/(?P\d+)/permissions/$', + APIObjectACLPermissionListView.as_view(), name='accesscontrollist-permission-list' + ), + url( + r'^object/(?P[-\w]+)/(?P[-\w]+)/(?P\d+)/acls/(?P\d+)/permissions/(?P\d+)/$', + APIObjectACLPermissionView.as_view(), name='accesscontrollist-permission-detail' + ), +] From 6e1cf570790a23d8de85ef57e2180ef3d6ab52d0 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 20 Feb 2017 02:34:47 -0400 Subject: [PATCH 052/144] Implement document workflows transition ACLs. GitLab issue #321. Signed-off-by: Roberto Rosario --- mayan/apps/common/generics.py | 2 +- mayan/apps/common/mixins.py | 20 +- mayan/apps/common/tests/test_views.py | 14 + mayan/apps/document_states/api_views.py | 29 ++- mayan/apps/document_states/apps.py | 16 +- mayan/apps/document_states/forms.py | 38 ++- mayan/apps/document_states/tests/literals.py | 1 + mayan/apps/document_states/tests/test_api.py | 13 + .../apps/document_states/tests/test_views.py | 240 ++++++++++++++---- mayan/apps/document_states/urls.py | 13 +- mayan/apps/document_states/views.py | 39 +-- 11 files changed, 336 insertions(+), 89 deletions(-) diff --git a/mayan/apps/common/generics.py b/mayan/apps/common/generics.py index d79cfb145d..4efc317922 100644 --- a/mayan/apps/common/generics.py +++ b/mayan/apps/common/generics.py @@ -177,7 +177,7 @@ class ConfirmView(ObjectListPermissionFilterMixin, ObjectPermissionCheckMixin, V return HttpResponseRedirect(self.get_success_url()) -class FormView(ViewPermissionCheckMixin, ExtraContextMixin, RedirectionMixin, DjangoFormView): +class FormView(FormExtraKwargsMixin, ViewPermissionCheckMixin, ExtraContextMixin, RedirectionMixin, DjangoFormView): template_name = 'appearance/generic_form.html' diff --git a/mayan/apps/common/mixins.py b/mayan/apps/common/mixins.py index 34b89ff736..aefabb9d57 100644 --- a/mayan/apps/common/mixins.py +++ b/mayan/apps/common/mixins.py @@ -12,8 +12,8 @@ from permissions import Permission __all__ = ( 'DeleteExtraDataMixin', 'ExtraContextMixin', - 'ObjectListPermissionFilterMixin', 'ObjectNameMixin', - 'ObjectPermissionCheckMixin', 'RedirectionMixin', + 'FormExtraKwargsMixin', 'ObjectListPermissionFilterMixin', + 'ObjectNameMixin', 'ObjectPermissionCheckMixin', 'RedirectionMixin', 'ViewPermissionCheckMixin' ) @@ -42,6 +42,22 @@ class ExtraContextMixin(object): return context +class FormExtraKwargsMixin(object): + """ + Mixin that allows a view to pass extra keyword arguments to forms + """ + + form_extra_kwargs = {} + + def get_form_extra_kwargs(self): + return self.form_extra_kwargs + + def get_form_kwargs(self): + result = super(FormExtraKwargsMixin, self).get_form_kwargs() + result.update(self.get_form_extra_kwargs()) + return result + + class MultipleInstanceActionMixin(object): model = None success_message = 'Operation performed on %(count)d object' diff --git a/mayan/apps/common/tests/test_views.py b/mayan/apps/common/tests/test_views.py index 6fa95a8721..ec56a1b9ea 100644 --- a/mayan/apps/common/tests/test_views.py +++ b/mayan/apps/common/tests/test_views.py @@ -76,6 +76,11 @@ class GenericViewTestCase(BaseTestCase): data=data, follow=follow ) + def grant(self, permission): + self.role.permissions.add( + permission.stored_permission + ) + def login(self, username, password): logged_in = self.client.login(username=username, password=password) @@ -84,6 +89,15 @@ class GenericViewTestCase(BaseTestCase): self.assertTrue(logged_in) self.assertTrue(user.is_authenticated()) + def login_user(self): + self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD) + + def login_admin_user(self): + self.login(username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD) + + def logout(self): + self.client.logout() + def post(self, viewname, *args, **kwargs): data = kwargs.pop('data', {}) follow = kwargs.pop('follow', False) diff --git a/mayan/apps/document_states/api_views.py b/mayan/apps/document_states/api_views.py index 2c3735e159..08a1e55d43 100644 --- a/mayan/apps/document_states/api_views.py +++ b/mayan/apps/document_states/api_views.py @@ -6,7 +6,7 @@ from django.shortcuts import get_object_or_404 from rest_framework import generics from acls.models import AccessControlList -from documents.models import Document +from documents.models import Document, DocumentType from documents.permissions import permission_document_type_view from permissions import Permission from rest_api.filters import MayanObjectPermissionsFilter @@ -27,6 +27,33 @@ from .serializers import ( ) +class APIDocumentTypeWorkflowListView(generics.ListAPIView): + serializer_class = WorkflowSerializer + + def get(self, *args, **kwargs): + """ + Returns a list of all the document type workflows. + """ + return super(APIDocumentTypeWorkflowListView, self).get(*args, **kwargs) + + def get_document_type(self): + document_type = get_object_or_404(DocumentType, pk=self.kwargs['pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_workflow_view,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_workflow_view, self.request.user, document_type + ) + + return document_type + + def get_queryset(self): + return self.get_document_type().workflows.all() + + class APIWorkflowDocumentTypeList(generics.ListCreateAPIView): filter_backends = (MayanObjectPermissionsFilter,) mayan_object_permissions = { diff --git a/mayan/apps/document_states/apps.py b/mayan/apps/document_states/apps.py index 706d7435d3..76ffb2673d 100644 --- a/mayan/apps/document_states/apps.py +++ b/mayan/apps/document_states/apps.py @@ -4,6 +4,8 @@ from django.apps import apps from django.db.models.signals import post_save from django.utils.translation import ugettext_lazy as _ +from acls import ModelPermission +from acls.links import link_acl_list from common import ( MayanAppConfig, menu_facet, menu_object, menu_secondary, menu_setup, menu_sidebar @@ -23,6 +25,7 @@ from .links import ( link_setup_workflow_transition_delete, link_setup_workflow_transition_edit, link_workflow_instance_detail, link_workflow_instance_transition ) +from .permissions import permission_workflow_transition class DocumentStatesApp(MayanAppConfig): @@ -46,6 +49,15 @@ class DocumentStatesApp(MayanAppConfig): WorkflowState = self.get_model('WorkflowState') WorkflowTransition = self.get_model('WorkflowTransition') + ModelPermission.register( + model=Workflow, permissions=(permission_workflow_transition,) + ) + + ModelPermission.register( + model=WorkflowTransition, + permissions=(permission_workflow_transition,) + ) + SourceColumn( source=Workflow, label=_('Initial state'), func=lambda context: context['object'].get_initial_state() or _('None') @@ -118,7 +130,7 @@ class DocumentStatesApp(MayanAppConfig): links=( link_setup_workflow_states, link_setup_workflow_transitions, link_setup_workflow_document_types, link_setup_workflow_edit, - link_setup_workflow_delete + link_acl_list, link_setup_workflow_delete ), sources=(Workflow,) ) menu_object.bind_links( @@ -129,7 +141,7 @@ class DocumentStatesApp(MayanAppConfig): ) menu_object.bind_links( links=( - link_setup_workflow_transition_edit, + link_setup_workflow_transition_edit, link_acl_list, link_setup_workflow_transition_delete ), sources=(WorkflowTransition,) ) diff --git a/mayan/apps/document_states/forms.py b/mayan/apps/document_states/forms.py index 98ead3a160..ed1687296f 100644 --- a/mayan/apps/document_states/forms.py +++ b/mayan/apps/document_states/forms.py @@ -1,9 +1,14 @@ -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals from django import forms +from django.core.exceptions import PermissionDenied from django.utils.translation import ugettext_lazy as _ +from acls.models import AccessControlList +from permissions import Permission + from .models import Workflow, WorkflowState, WorkflowTransition +from .permissions import permission_workflow_transition class WorkflowForm(forms.ModelForm): @@ -32,11 +37,36 @@ class WorkflowTransitionForm(forms.ModelForm): class WorkflowInstanceTransitionForm(forms.Form): def __init__(self, *args, **kwargs): - workflow = kwargs.pop('workflow') + user = kwargs.pop('user') + workflow_instance = kwargs.pop('workflow_instance') super(WorkflowInstanceTransitionForm, self).__init__(*args, **kwargs) - self.fields['transition'].choices = workflow.get_transition_choices().values_list('pk', 'label') + queryset = workflow_instance.get_transition_choices().all() - transition = forms.ChoiceField(label=_('Transition')) + try: + Permission.check_permissions( + requester=user, permissions=(permission_workflow_transition,) + ) + except PermissionDenied: + try: + # Check for ACL access to the workflow, if true, allow all + # transition options. + AccessControlList.objects.check_access( + permissions=permission_workflow_transition, user=user, + obj=workflow_instance.workflow + ) + except PermissionDenied: + # If not ACL access to the workflow, filter transition options + # by each transition ACL access + queryset = AccessControlList.objects.filter_by_access( + permission=permission_workflow_transition, user=user, + queryset=queryset + ) + + self.fields['transition'].queryset = queryset + + transition = forms.ModelChoiceField( + label=_('Transition'), queryset=WorkflowTransition.objects.none() + ) comment = forms.CharField( label=_('Comment'), required=False, widget=forms.widgets.Textarea() ) diff --git a/mayan/apps/document_states/tests/literals.py b/mayan/apps/document_states/tests/literals.py index fac41db489..31685e0e70 100644 --- a/mayan/apps/document_states/tests/literals.py +++ b/mayan/apps/document_states/tests/literals.py @@ -9,4 +9,5 @@ TEST_WORKFLOW_STATE_LABEL = 'test state label' TEST_WORKFLOW_STATE_LABEL_EDITED = 'test state label edited' TEST_WORKFLOW_STATE_COMPLETION = 66 TEST_WORKFLOW_TRANSITION_LABEL = 'test transtition label' +TEST_WORKFLOW_TRANSITION_LABEL_2 = 'test transtition label 2' TEST_WORKFLOW_TRANSITION_LABEL_EDITED = 'test transtition label edited' diff --git a/mayan/apps/document_states/tests/test_api.py b/mayan/apps/document_states/tests/test_api.py index 6545450ee7..9ee947abe2 100644 --- a/mayan/apps/document_states/tests/test_api.py +++ b/mayan/apps/document_states/tests/test_api.py @@ -186,6 +186,19 @@ class WorkflowAPITestCase(APITestCase): workflow.refresh_from_db() self.assertEqual(workflow.label, TEST_WORKFLOW_LABEL_EDITED) + def test_document_type_workflow_list(self): + workflow = self._create_workflow() + workflow.document_types.add(self.document_type) + + response = self.client.get( + reverse( + 'rest_api:documenttype-workflow-list', + args=(self.document_type.pk,) + ), + ) + + self.assertEqual(response.data['results'][0]['label'], workflow.label) + @override_settings(OCR_AUTO_OCR=False) class WorkflowStatesAPITestCase(APITestCase): diff --git a/mayan/apps/document_states/tests/test_views.py b/mayan/apps/document_states/tests/test_views.py index 028818247d..5f37b0bacf 100644 --- a/mayan/apps/document_states/tests/test_views.py +++ b/mayan/apps/document_states/tests/test_views.py @@ -5,20 +5,24 @@ from django.core.urlresolvers import reverse from django.test.client import Client from django.test import TestCase +from acls.models import AccessControlList from documents.models import DocumentType from documents.tests.literals import ( TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH ) +from documents.tests.test_views import GenericDocumentViewTestCase from user_management.tests import ( TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME, TEST_ADMIN_EMAIL ) from ..models import Workflow, WorkflowState, WorkflowTransition +from ..permissions import permission_workflow_transition from .literals import ( TEST_WORKFLOW_LABEL, TEST_WORKFLOW_INITIAL_STATE_LABEL, TEST_WORKFLOW_INITIAL_STATE_COMPLETION, TEST_WORKFLOW_STATE_LABEL, - TEST_WORKFLOW_STATE_COMPLETION, TEST_WORKFLOW_TRANSITION_LABEL + TEST_WORKFLOW_STATE_COMPLETION, TEST_WORKFLOW_TRANSITION_LABEL, + TEST_WORKFLOW_TRANSITION_LABEL_2 ) @@ -48,6 +52,26 @@ class DocumentStateViewTestCase(TestCase): def tearDown(self): self.document_type.delete() + def _create_workflow(self): + self.workflow = Workflow.objects.create(label=TEST_WORKFLOW_LABEL) + + def _create_workflow_states(self): + self.workflow_initial_state = WorkflowState.objects.create( + workflow=self.workflow, label=TEST_WORKFLOW_INITIAL_STATE_LABEL, + completion=TEST_WORKFLOW_INITIAL_STATE_COMPLETION, initial=True + ) + self.workflow_state = WorkflowState.objects.create( + workflow=self.workflow, label=TEST_WORKFLOW_STATE_LABEL, + completion=TEST_WORKFLOW_STATE_COMPLETION + ) + + def _create_workflow_transition(self): + self.workflow_transition = WorkflowTransition.objects.create( + workflow=self.workflow, label=TEST_WORKFLOW_TRANSITION_LABEL, + origin_state=self.workflow_initial_state, + destination_state=self.workflow_state + ) + def test_creating_workflow(self): response = self.client.post( reverse( @@ -63,14 +87,12 @@ class DocumentStateViewTestCase(TestCase): self.assertEquals(Workflow.objects.all()[0].label, TEST_WORKFLOW_LABEL) def test_delete_workflow(self): - workflow = Workflow.objects.create(label=TEST_WORKFLOW_LABEL) - - self.assertEquals(Workflow.objects.count(), 1) - self.assertEquals(Workflow.objects.all()[0].label, TEST_WORKFLOW_LABEL) + self._create_workflow() response = self.client.post( reverse( - 'document_states:setup_workflow_delete', args=(workflow.pk,) + 'document_states:setup_workflow_delete', + args=(self.workflow.pk,) ), follow=True ) @@ -79,12 +101,12 @@ class DocumentStateViewTestCase(TestCase): self.assertEquals(Workflow.objects.count(), 0) def test_create_workflow_state(self): - workflow = Workflow.objects.create(label=TEST_WORKFLOW_LABEL) + self._create_workflow() response = self.client.post( reverse( 'document_states:setup_workflow_state_create', - args=(workflow.pk,) + args=(self.workflow.pk,) ), data={ 'label': TEST_WORKFLOW_STATE_LABEL, 'completion': TEST_WORKFLOW_STATE_COMPLETION, @@ -103,43 +125,33 @@ class DocumentStateViewTestCase(TestCase): ) def test_delete_workflow_state(self): - workflow = Workflow.objects.create(label=TEST_WORKFLOW_LABEL) - workflow_state = WorkflowState.objects.create( - workflow=workflow, label=TEST_WORKFLOW_STATE_LABEL, - completion=TEST_WORKFLOW_STATE_COMPLETION - ) + self._create_workflow() + self._create_workflow_states() response = self.client.post( reverse( 'document_states:setup_workflow_state_delete', - args=(workflow_state.pk,) + args=(self.workflow_state.pk,) ), follow=True ) self.assertEquals(response.status_code, 200) - self.assertEquals(WorkflowState.objects.count(), 0) + self.assertEquals(WorkflowState.objects.count(), 1) self.assertEquals(Workflow.objects.count(), 1) def test_create_workflow_transition(self): - workflow = Workflow.objects.create(label=TEST_WORKFLOW_LABEL) - workflow_initial_state = WorkflowState.objects.create( - workflow=workflow, label=TEST_WORKFLOW_INITIAL_STATE_LABEL, - completion=TEST_WORKFLOW_INITIAL_STATE_COMPLETION, initial=True - ) - workflow_state = WorkflowState.objects.create( - workflow=workflow, label=TEST_WORKFLOW_STATE_LABEL, - completion=TEST_WORKFLOW_STATE_COMPLETION - ) + self._create_workflow() + self._create_workflow_states() response = self.client.post( reverse( 'document_states:setup_workflow_transition_create', - args=(workflow.pk,) + args=(self.workflow.pk,) ), data={ 'label': TEST_WORKFLOW_TRANSITION_LABEL, - 'origin_state': workflow_initial_state.pk, - 'destination_state': workflow_state.pk, + 'origin_state': self.workflow_initial_state.pk, + 'destination_state': self.workflow_state.pk, }, follow=True ) @@ -152,35 +164,22 @@ class DocumentStateViewTestCase(TestCase): ) self.assertEquals( WorkflowTransition.objects.all()[0].origin_state, - workflow_initial_state + self.workflow_initial_state ) self.assertEquals( WorkflowTransition.objects.all()[0].destination_state, - workflow_state + self.workflow_state ) def test_delete_workflow_transition(self): - workflow = Workflow.objects.create(label=TEST_WORKFLOW_LABEL) - workflow_initial_state = WorkflowState.objects.create( - workflow=workflow, label=TEST_WORKFLOW_INITIAL_STATE_LABEL, - completion=TEST_WORKFLOW_INITIAL_STATE_COMPLETION, initial=True - ) - workflow_state = WorkflowState.objects.create( - workflow=workflow, label=TEST_WORKFLOW_STATE_LABEL, - completion=TEST_WORKFLOW_STATE_COMPLETION - ) - workflow_transition = WorkflowTransition.objects.create( - workflow=workflow, label=TEST_WORKFLOW_TRANSITION_LABEL, - origin_state=workflow_initial_state, - destination_state=workflow_state - ) - - self.assertEquals(WorkflowTransition.objects.count(), 1) + self._create_workflow() + self._create_workflow_states() + self._create_workflow_transition() response = self.client.post( reverse( 'document_states:setup_workflow_transition_delete', - args=(workflow_transition.pk,) + args=(self.workflow_transition.pk,) ), follow=True ) @@ -189,3 +188,152 @@ class DocumentStateViewTestCase(TestCase): self.assertEquals(WorkflowState.objects.count(), 2) self.assertEquals(Workflow.objects.count(), 1) self.assertEquals(WorkflowTransition.objects.count(), 0) + + +class DocumentStateTransitionViewTestCase(GenericDocumentViewTestCase): + def _create_workflow(self): + self.workflow = Workflow.objects.create(label=TEST_WORKFLOW_LABEL) + self.workflow.document_types.add(self.document_type) + + def _create_workflow_states(self): + self.workflow_initial_state = WorkflowState.objects.create( + workflow=self.workflow, label=TEST_WORKFLOW_INITIAL_STATE_LABEL, + completion=TEST_WORKFLOW_INITIAL_STATE_COMPLETION, initial=True + ) + self.workflow_state = WorkflowState.objects.create( + workflow=self.workflow, label=TEST_WORKFLOW_STATE_LABEL, + completion=TEST_WORKFLOW_STATE_COMPLETION + ) + + def _create_workflow_transitions(self): + self.workflow_transition = WorkflowTransition.objects.create( + workflow=self.workflow, label=TEST_WORKFLOW_TRANSITION_LABEL, + origin_state=self.workflow_initial_state, + destination_state=self.workflow_state + ) + + self.workflow_transition_2 = WorkflowTransition.objects.create( + workflow=self.workflow, label=TEST_WORKFLOW_TRANSITION_LABEL_2, + origin_state=self.workflow_initial_state, + destination_state=self.workflow_state + ) + + def _create_document(self): + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + self.document_2 = self.document_type.new_document( + file_object=file_object + ) + + def _request_workflow_transition(self, workflow_instance): + return self.post( + 'document_states:workflow_instance_transition', + args=(workflow_instance.pk,), data={ + 'transition': self.workflow_transition.pk, + } + ) + + def test_transition_workflow_no_permission(self): + self.login_user() + self._create_workflow() + self._create_workflow_states() + self._create_workflow_transitions() + self._create_document() + + workflow_instance = self.document_2.workflows.first() + + response = self._request_workflow_transition( + workflow_instance=workflow_instance + ) + + self.assertEqual(response.status_code, 200) + + # Workflow should remain in the same initial state + self.assertEqual( + workflow_instance.get_current_state(), self.workflow_initial_state + ) + + def test_transition_workflow_with_permission(self): + """ + Test transitioning a workflow by granting the transition workflow + permission to the role. + """ + + self.login_user() + self._create_workflow() + self._create_workflow_states() + self._create_workflow_transitions() + self._create_document() + + workflow_instance = self.document_2.workflows.first() + + self.grant(permission_workflow_transition) + response = self._request_workflow_transition( + workflow_instance=workflow_instance + ) + + self.assertEqual(response.status_code, 302) + + # Workflow should remain in the same initial state + self.assertEqual( + workflow_instance.get_current_state(), self.workflow_state + ) + + def test_transition_workflow_with_workflow_acl(self): + """ + Test transitioning a workflow by granting the transition workflow + permission to the workflow itself via ACL. + """ + + self.login_user() + self._create_workflow() + self._create_workflow_states() + self._create_workflow_transitions() + self._create_document() + + workflow_instance = self.document_2.workflows.first() + + acl = AccessControlList.objects.create( + content_object=self.workflow, role=self.role + ) + acl.permissions.add(permission_workflow_transition.stored_permission) + + response = self._request_workflow_transition( + workflow_instance=workflow_instance + ) + + self.assertEqual(response.status_code, 302) + + # Workflow should remain in the same initial state + self.assertEqual( + workflow_instance.get_current_state(), self.workflow_state + ) + + def test_transition_workflow_with_transition_acl(self): + """ + Test transitioning a workflow by granting the transition workflow + permission to the transition via ACL. + """ + + self.login_user() + self._create_workflow() + self._create_workflow_states() + self._create_workflow_transitions() + self._create_document() + + workflow_instance = self.document_2.workflows.first() + + acl = AccessControlList.objects.create( + content_object=self.workflow_transition, role=self.role + ) + acl.permissions.add(permission_workflow_transition.stored_permission) + + response = self._request_workflow_transition( + workflow_instance=workflow_instance + ) + + self.assertEqual(response.status_code, 302) + + # Workflow should remain in the same initial state + self.assertEqual( + workflow_instance.get_current_state(), self.workflow_state + ) diff --git a/mayan/apps/document_states/urls.py b/mayan/apps/document_states/urls.py index d612b28324..2194d26285 100644 --- a/mayan/apps/document_states/urls.py +++ b/mayan/apps/document_states/urls.py @@ -3,10 +3,10 @@ from __future__ import unicode_literals from django.conf.urls import patterns, url from .api_views import ( - APIWorkflowDocumentTypeList, APIWorkflowDocumentTypeView, - APIWorkflowInstanceListView, APIWorkflowInstanceView, - APIWorkflowInstanceLogEntryListView, APIWorkflowListView, - APIWorkflowStateListView, APIWorkflowStateView, + APIDocumentTypeWorkflowListView, APIWorkflowDocumentTypeList, + APIWorkflowDocumentTypeView, APIWorkflowInstanceListView, + APIWorkflowInstanceView, APIWorkflowInstanceLogEntryListView, + APIWorkflowListView, APIWorkflowStateListView, APIWorkflowStateView, APIWorkflowTransitionListView, APIWorkflowTransitionView, APIWorkflowView ) from .views import ( @@ -150,4 +150,9 @@ api_urls = [ APIWorkflowInstanceLogEntryListView.as_view(), name='workflowinstancelogentry-list' ), + url( + r'^document_type/(?P[0-9]+)/workflows/$', + APIDocumentTypeWorkflowListView.as_view(), + name='documenttype-workflow-list' + ), ] diff --git a/mayan/apps/document_states/views.py b/mayan/apps/document_states/views.py index 132212c8f0..d8cb69611b 100644 --- a/mayan/apps/document_states/views.py +++ b/mayan/apps/document_states/views.py @@ -7,12 +7,11 @@ from django.db.utils import IntegrityError from django.http import HttpResponseRedirect from django.shortcuts import get_object_or_404 from django.utils.translation import ugettext_lazy as _ -from django.views.generic import FormView from acls.models import AccessControlList from common.views import ( - AssignRemoveView, SingleObjectCreateView, SingleObjectDeleteView, - SingleObjectEditView, SingleObjectListView + AssignRemoveView, FormView, SingleObjectCreateView, + SingleObjectDeleteView, SingleObjectEditView, SingleObjectListView ) from documents.models import Document from documents.views import DocumentListView @@ -25,8 +24,7 @@ from .forms import ( from .models import Workflow, WorkflowInstance, WorkflowState, WorkflowTransition from .permissions import ( permission_workflow_create, permission_workflow_delete, - permission_workflow_edit, permission_workflow_transition, - permission_workflow_view, + permission_workflow_edit, permission_workflow_view, ) @@ -130,28 +128,10 @@ class WorkflowInstanceTransitionView(FormView): form_class = WorkflowInstanceTransitionForm template_name = 'appearance/generic_form.html' - def dispatch(self, request, *args, **kwargs): - try: - Permission.check_permissions( - request.user, (permission_workflow_transition,) - ) - except PermissionDenied: - AccessControlList.objects.check_access( - permission_workflow_transition, request.user, - self.get_workflow_instance().document - ) - - return super( - WorkflowInstanceTransitionView, self - ).dispatch(request, *args, **kwargs) - def form_valid(self, form): - transition = self.get_workflow_instance().workflow.transitions.get( - pk=form.cleaned_data['transition'] - ) self.get_workflow_instance().do_transition( - comment=form.cleaned_data['comment'], transition=transition, - user=self.request.user + comment=form.cleaned_data['comment'], + transition=form.cleaned_data['transition'], user=self.request.user ) return HttpResponseRedirect(self.get_success_url()) @@ -166,10 +146,11 @@ class WorkflowInstanceTransitionView(FormView): 'workflow_instance': self.get_workflow_instance(), } - def get_form_kwargs(self): - kwargs = super(WorkflowInstanceTransitionView, self).get_form_kwargs() - kwargs['workflow'] = self.get_workflow_instance() - return kwargs + def get_form_extra_kwargs(self): + return { + 'user': self.request.user, + 'workflow_instance': self.get_workflow_instance() + } def get_success_url(self): return self.get_workflow_instance().get_absolute_url() From 0625bcf44aa6f90a56d2b7e9869558005b1759a6 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 15 Feb 2017 20:20:14 -0400 Subject: [PATCH 053/144] Add per document type, workflow list API view. GitLab issue #357, GitLab merge request #!9. cc @jeverling --- mayan/apps/document_states/api_views.py | 29 +++++++++++++++++++- mayan/apps/document_states/tests/test_api.py | 13 +++++++++ mayan/apps/document_states/urls.py | 13 ++++++--- 3 files changed, 50 insertions(+), 5 deletions(-) diff --git a/mayan/apps/document_states/api_views.py b/mayan/apps/document_states/api_views.py index 2c3735e159..08a1e55d43 100644 --- a/mayan/apps/document_states/api_views.py +++ b/mayan/apps/document_states/api_views.py @@ -6,7 +6,7 @@ from django.shortcuts import get_object_or_404 from rest_framework import generics from acls.models import AccessControlList -from documents.models import Document +from documents.models import Document, DocumentType from documents.permissions import permission_document_type_view from permissions import Permission from rest_api.filters import MayanObjectPermissionsFilter @@ -27,6 +27,33 @@ from .serializers import ( ) +class APIDocumentTypeWorkflowListView(generics.ListAPIView): + serializer_class = WorkflowSerializer + + def get(self, *args, **kwargs): + """ + Returns a list of all the document type workflows. + """ + return super(APIDocumentTypeWorkflowListView, self).get(*args, **kwargs) + + def get_document_type(self): + document_type = get_object_or_404(DocumentType, pk=self.kwargs['pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_workflow_view,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_workflow_view, self.request.user, document_type + ) + + return document_type + + def get_queryset(self): + return self.get_document_type().workflows.all() + + class APIWorkflowDocumentTypeList(generics.ListCreateAPIView): filter_backends = (MayanObjectPermissionsFilter,) mayan_object_permissions = { diff --git a/mayan/apps/document_states/tests/test_api.py b/mayan/apps/document_states/tests/test_api.py index 6545450ee7..9ee947abe2 100644 --- a/mayan/apps/document_states/tests/test_api.py +++ b/mayan/apps/document_states/tests/test_api.py @@ -186,6 +186,19 @@ class WorkflowAPITestCase(APITestCase): workflow.refresh_from_db() self.assertEqual(workflow.label, TEST_WORKFLOW_LABEL_EDITED) + def test_document_type_workflow_list(self): + workflow = self._create_workflow() + workflow.document_types.add(self.document_type) + + response = self.client.get( + reverse( + 'rest_api:documenttype-workflow-list', + args=(self.document_type.pk,) + ), + ) + + self.assertEqual(response.data['results'][0]['label'], workflow.label) + @override_settings(OCR_AUTO_OCR=False) class WorkflowStatesAPITestCase(APITestCase): diff --git a/mayan/apps/document_states/urls.py b/mayan/apps/document_states/urls.py index d612b28324..2194d26285 100644 --- a/mayan/apps/document_states/urls.py +++ b/mayan/apps/document_states/urls.py @@ -3,10 +3,10 @@ from __future__ import unicode_literals from django.conf.urls import patterns, url from .api_views import ( - APIWorkflowDocumentTypeList, APIWorkflowDocumentTypeView, - APIWorkflowInstanceListView, APIWorkflowInstanceView, - APIWorkflowInstanceLogEntryListView, APIWorkflowListView, - APIWorkflowStateListView, APIWorkflowStateView, + APIDocumentTypeWorkflowListView, APIWorkflowDocumentTypeList, + APIWorkflowDocumentTypeView, APIWorkflowInstanceListView, + APIWorkflowInstanceView, APIWorkflowInstanceLogEntryListView, + APIWorkflowListView, APIWorkflowStateListView, APIWorkflowStateView, APIWorkflowTransitionListView, APIWorkflowTransitionView, APIWorkflowView ) from .views import ( @@ -150,4 +150,9 @@ api_urls = [ APIWorkflowInstanceLogEntryListView.as_view(), name='workflowinstancelogentry-list' ), + url( + r'^document_type/(?P[0-9]+)/workflows/$', + APIDocumentTypeWorkflowListView.as_view(), + name='documenttype-workflow-list' + ), ] From 7ded52be09f50a8e11adcfc9ab354abbe29a8fa0 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 15 Feb 2017 20:20:14 -0400 Subject: [PATCH 054/144] Add per document type, workflow list API view. GitLab issue #357, GitLab merge request #!9. cc @jeverling --- mayan/apps/document_states/api_views.py | 29 +++++++++++++++++++- mayan/apps/document_states/tests/test_api.py | 13 +++++++++ mayan/apps/document_states/urls.py | 13 ++++++--- 3 files changed, 50 insertions(+), 5 deletions(-) diff --git a/mayan/apps/document_states/api_views.py b/mayan/apps/document_states/api_views.py index 2c3735e159..08a1e55d43 100644 --- a/mayan/apps/document_states/api_views.py +++ b/mayan/apps/document_states/api_views.py @@ -6,7 +6,7 @@ from django.shortcuts import get_object_or_404 from rest_framework import generics from acls.models import AccessControlList -from documents.models import Document +from documents.models import Document, DocumentType from documents.permissions import permission_document_type_view from permissions import Permission from rest_api.filters import MayanObjectPermissionsFilter @@ -27,6 +27,33 @@ from .serializers import ( ) +class APIDocumentTypeWorkflowListView(generics.ListAPIView): + serializer_class = WorkflowSerializer + + def get(self, *args, **kwargs): + """ + Returns a list of all the document type workflows. + """ + return super(APIDocumentTypeWorkflowListView, self).get(*args, **kwargs) + + def get_document_type(self): + document_type = get_object_or_404(DocumentType, pk=self.kwargs['pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_workflow_view,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_workflow_view, self.request.user, document_type + ) + + return document_type + + def get_queryset(self): + return self.get_document_type().workflows.all() + + class APIWorkflowDocumentTypeList(generics.ListCreateAPIView): filter_backends = (MayanObjectPermissionsFilter,) mayan_object_permissions = { diff --git a/mayan/apps/document_states/tests/test_api.py b/mayan/apps/document_states/tests/test_api.py index 6545450ee7..9ee947abe2 100644 --- a/mayan/apps/document_states/tests/test_api.py +++ b/mayan/apps/document_states/tests/test_api.py @@ -186,6 +186,19 @@ class WorkflowAPITestCase(APITestCase): workflow.refresh_from_db() self.assertEqual(workflow.label, TEST_WORKFLOW_LABEL_EDITED) + def test_document_type_workflow_list(self): + workflow = self._create_workflow() + workflow.document_types.add(self.document_type) + + response = self.client.get( + reverse( + 'rest_api:documenttype-workflow-list', + args=(self.document_type.pk,) + ), + ) + + self.assertEqual(response.data['results'][0]['label'], workflow.label) + @override_settings(OCR_AUTO_OCR=False) class WorkflowStatesAPITestCase(APITestCase): diff --git a/mayan/apps/document_states/urls.py b/mayan/apps/document_states/urls.py index d612b28324..2194d26285 100644 --- a/mayan/apps/document_states/urls.py +++ b/mayan/apps/document_states/urls.py @@ -3,10 +3,10 @@ from __future__ import unicode_literals from django.conf.urls import patterns, url from .api_views import ( - APIWorkflowDocumentTypeList, APIWorkflowDocumentTypeView, - APIWorkflowInstanceListView, APIWorkflowInstanceView, - APIWorkflowInstanceLogEntryListView, APIWorkflowListView, - APIWorkflowStateListView, APIWorkflowStateView, + APIDocumentTypeWorkflowListView, APIWorkflowDocumentTypeList, + APIWorkflowDocumentTypeView, APIWorkflowInstanceListView, + APIWorkflowInstanceView, APIWorkflowInstanceLogEntryListView, + APIWorkflowListView, APIWorkflowStateListView, APIWorkflowStateView, APIWorkflowTransitionListView, APIWorkflowTransitionView, APIWorkflowView ) from .views import ( @@ -150,4 +150,9 @@ api_urls = [ APIWorkflowInstanceLogEntryListView.as_view(), name='workflowinstancelogentry-list' ), + url( + r'^document_type/(?P[0-9]+)/workflows/$', + APIDocumentTypeWorkflowListView.as_view(), + name='documenttype-workflow-list' + ), ] From 81c0f90b4f06d55266664cba2e5660865fe4b9af Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 21 Feb 2017 02:48:02 -0400 Subject: [PATCH 055/144] Add document comments API endpoints. GitHub issue #249. Signed-off-by: Roberto Rosario --- mayan/apps/document_comments/api_views.py | 120 ++++++++++++++++++ mayan/apps/document_comments/apps.py | 4 + mayan/apps/document_comments/serializers.py | 71 +++++++++++ .../apps/document_comments/tests/__init__.py | 0 .../apps/document_comments/tests/literals.py | 3 + .../apps/document_comments/tests/test_api.py | 97 ++++++++++++++ mayan/apps/document_comments/urls.py | 12 ++ 7 files changed, 307 insertions(+) create mode 100644 mayan/apps/document_comments/api_views.py create mode 100644 mayan/apps/document_comments/serializers.py create mode 100644 mayan/apps/document_comments/tests/__init__.py create mode 100644 mayan/apps/document_comments/tests/literals.py create mode 100644 mayan/apps/document_comments/tests/test_api.py diff --git a/mayan/apps/document_comments/api_views.py b/mayan/apps/document_comments/api_views.py new file mode 100644 index 0000000000..2ce872e2db --- /dev/null +++ b/mayan/apps/document_comments/api_views.py @@ -0,0 +1,120 @@ +from __future__ import absolute_import, unicode_literals + +from django.core.exceptions import PermissionDenied +from django.shortcuts import get_object_or_404 + +from rest_framework import generics + +from acls.models import AccessControlList +from documents.models import Document +from permissions import Permission + +from .permissions import ( + permission_comment_create, permission_comment_delete, + permission_comment_view +) +from .serializers import CommentSerializer, WritableCommentSerializer + + +class APICommentListView(generics.ListCreateAPIView): + def get(self, *args, **kwargs): + """ + Returns a list of all the document comments. + """ + return super(APICommentListView, self).get(*args, **kwargs) + + def get_document(self): + if self.request.method == 'GET': + permission_required = permission_comment_view + else: + permission_required = permission_comment_create + + document = get_object_or_404(Document, pk=self.kwargs['document_pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_required,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_required, self.request.user, document + ) + + return document + + def get_queryset(self): + return self.get_document().comments.all() + + def get_serializer_class(self): + if self.request.method == 'GET': + return CommentSerializer + else: + return WritableCommentSerializer + + def get_serializer_context(self): + """ + Extra context provided to the serializer class. + """ + return { + 'document': self.get_document(), + 'format': self.format_kwarg, + 'request': self.request, + 'view': self + } + + def post(self, *args, **kwargs): + """ + Create a new document comment. + """ + return super(APICommentListView, self).post(*args, **kwargs) + + +class APICommentView(generics.RetrieveDestroyAPIView): + lookup_url_kwarg = 'comment_pk' + serializer_class = CommentSerializer + + def delete(self, request, *args, **kwargs): + """ + Delete the selected document comment. + """ + + return super(APICommentView, self).delete(request, *args, **kwargs) + + def get(self, *args, **kwargs): + """ + Returns the details of the selected document comment. + """ + + return super(APICommentView, self).get(*args, **kwargs) + + def get_document(self): + if self.request.method == 'GET': + permission_required = permission_comment_view + else: + permission_required = permission_comment_delete + + document = get_object_or_404(Document, pk=self.kwargs['document_pk']) + + try: + Permission.check_permissions( + self.request.user, (permission_required,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_required, self.request.user, document + ) + + return document + + def get_queryset(self): + return self.get_document().comments.all() + + def get_serializer_context(self): + """ + Extra context provided to the serializer class. + """ + return { + 'format': self.format_kwarg, + 'request': self.request, + 'view': self + } diff --git a/mayan/apps/document_comments/apps.py b/mayan/apps/document_comments/apps.py index c4d5f3dfd4..905af2c7cf 100644 --- a/mayan/apps/document_comments/apps.py +++ b/mayan/apps/document_comments/apps.py @@ -6,6 +6,7 @@ from django.utils.translation import ugettext_lazy as _ from acls import ModelPermission from common import MayanAppConfig, menu_facet, menu_object, menu_sidebar from navigation import SourceColumn +from rest_api.classes import APIEndPoint from .links import ( link_comment_add, link_comment_delete, link_comments_for_document @@ -20,11 +21,14 @@ class DocumentCommentsApp(MayanAppConfig): app_namespace = 'comments' app_url = 'comments' name = 'document_comments' + test = True verbose_name = _('Document comments') def ready(self): super(DocumentCommentsApp, self).ready() + APIEndPoint(app=self, version_string='1') + Document = apps.get_model( app_label='documents', model_name='Document' ) diff --git a/mayan/apps/document_comments/serializers.py b/mayan/apps/document_comments/serializers.py new file mode 100644 index 0000000000..4090cdadfd --- /dev/null +++ b/mayan/apps/document_comments/serializers.py @@ -0,0 +1,71 @@ +from __future__ import unicode_literals + +from rest_framework import serializers +from rest_framework.reverse import reverse + +from documents.serializers import DocumentSerializer +from user_management.serializers import UserSerializer + +from .models import Comment + + +class CommentSerializer(serializers.HyperlinkedModelSerializer): + document = DocumentSerializer(read_only=True) + document_comments_url = serializers.SerializerMethodField() + url = serializers.SerializerMethodField() + user = UserSerializer(read_only=True) + + class Meta: + fields = ( + 'comment', 'document', 'document_comments_url', 'id', + 'submit_date', 'url', 'user' + ) + model = Comment + + def get_document_comments_url(self, instance): + return reverse( + 'rest_api:comment-list', args=( + instance.document.pk, + ), request=self.context['request'], format=self.context['format'] + ) + + def get_url(self, instance): + return reverse( + 'rest_api:comment-detail', args=( + instance.document.pk, instance.pk + ), request=self.context['request'], format=self.context['format'] + ) + + +class WritableCommentSerializer(serializers.ModelSerializer): + document = DocumentSerializer(read_only=True) + document_comments_url = serializers.SerializerMethodField() + url = serializers.SerializerMethodField() + user = UserSerializer(read_only=True) + + class Meta: + fields = ( + 'comment', 'document', 'document_comments_url', 'id', + 'submit_date', 'url', 'user' + ) + model = Comment + read_only_fields = ('document',) + + def create(self, validated_data): + validated_data['document'] = self.context['document'] + validated_data['user'] = self.context['request'].user + return super(WritableCommentSerializer, self).create(validated_data) + + def get_document_comments_url(self, instance): + return reverse( + 'rest_api:comment-list', args=( + instance.document.pk, + ), request=self.context['request'], format=self.context['format'] + ) + + def get_url(self, instance): + return reverse( + 'rest_api:comment-detail', args=( + instance.document.pk, instance.pk + ), request=self.context['request'], format=self.context['format'] + ) diff --git a/mayan/apps/document_comments/tests/__init__.py b/mayan/apps/document_comments/tests/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/mayan/apps/document_comments/tests/literals.py b/mayan/apps/document_comments/tests/literals.py new file mode 100644 index 0000000000..489cba38be --- /dev/null +++ b/mayan/apps/document_comments/tests/literals.py @@ -0,0 +1,3 @@ +from __future__ import unicode_literals + +TEST_COMMENT_TEXT = 'test comment text' diff --git a/mayan/apps/document_comments/tests/test_api.py b/mayan/apps/document_comments/tests/test_api.py new file mode 100644 index 0000000000..72dd645028 --- /dev/null +++ b/mayan/apps/document_comments/tests/test_api.py @@ -0,0 +1,97 @@ +from __future__ import unicode_literals + +from django.contrib.auth import get_user_model +from django.core.urlresolvers import reverse +from django.test import override_settings + +from rest_framework.test import APITestCase + +from documents.models import DocumentType +from documents.tests.literals import ( + TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH +) +from user_management.tests.literals import ( + TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME +) + +from ..models import Comment + +from .literals import TEST_COMMENT_TEXT + + +@override_settings(OCR_AUTO_OCR=False) +class CommentAPITestCase(APITestCase): + def setUp(self): + self.admin_user = get_user_model().objects.create_superuser( + username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, + password=TEST_ADMIN_PASSWORD + ) + + self.client.login( + username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD + ) + + self.document_type = DocumentType.objects.create( + label=TEST_DOCUMENT_TYPE + ) + + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + self.document = self.document_type.new_document( + file_object=file_object + ) + + def tearDown(self): + if hasattr(self, 'document_type'): + self.document_type.delete() + + def _create_comment(self): + return self.document.comments.create( + comment=TEST_COMMENT_TEXT, user=self.admin_user + ) + + def test_comment_create_view(self): + response = self.client.post( + reverse( + 'rest_api:comment-list', args=(self.document.pk,) + ), { + 'comment': TEST_COMMENT_TEXT + } + ) + + self.assertEqual(response.status_code, 201) + comment = Comment.objects.first() + self.assertEqual(Comment.objects.count(), 1) + self.assertEqual(response.data['id'], comment.pk) + + def test_comment_delete_view(self): + comment = self._create_comment() + + self.client.delete( + reverse( + 'rest_api:comment-detail', args=(self.document.pk, comment.pk,) + ) + ) + + self.assertEqual(Comment.objects.count(), 0) + + def test_comment_detail_view(self): + comment = self._create_comment() + + response = self.client.get( + reverse( + 'rest_api:comment-detail', args=(self.document.pk, comment.pk,) + ) + ) + + self.assertEqual(response.data['comment'], comment.comment) + + def test_comment_list_view(self): + comment = self._create_comment() + + response = self.client.get( + reverse('rest_api:comment-list', args=(self.document.pk,)) + ) + + self.assertEqual( + response.data['results'][0]['comment'], comment.comment + ) diff --git a/mayan/apps/document_comments/urls.py b/mayan/apps/document_comments/urls.py index b2c68b989e..b538962d34 100644 --- a/mayan/apps/document_comments/urls.py +++ b/mayan/apps/document_comments/urls.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals from django.conf.urls import patterns, url +from .api_views import APICommentListView, APICommentView from .views import ( DocumentCommentCreateView, DocumentCommentDeleteView, DocumentCommentListView @@ -22,3 +23,14 @@ urlpatterns = patterns( DocumentCommentListView.as_view(), name='comments_for_document' ), ) + +api_urls = [ + url( + r'^document/(?P[0-9]+)/comments/$', + APICommentListView.as_view(), name='comment-list' + ), + url( + r'^document/(?P[0-9]+)/comments/(?P[0-9]+)/$', + APICommentView.as_view(), name='comment-detail' + ), +] From 958ce912a00b2cbbf678a64bbb120dfed071d5a1 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 22 Feb 2017 16:47:42 -0400 Subject: [PATCH 056/144] AccessControlList.objects.check_access was updated to do a Permission.check_permissions too. Remove duplicity. Signed-off-by: Roberto Rosario --- mayan/apps/document_states/api_views.py | 110 ++++++++---------------- mayan/apps/events/api_views.py | 18 ++-- mayan/apps/linking/api_views.py | 74 ++++++---------- mayan/apps/metadata/tests/test_api.py | 24 ++++-- mayan/apps/navigation/classes.py | 2 +- mayan/apps/permissions/api_views.py | 53 ------------ mayan/apps/tags/serializers.py | 1 - 7 files changed, 83 insertions(+), 199 deletions(-) diff --git a/mayan/apps/document_states/api_views.py b/mayan/apps/document_states/api_views.py index 2c3735e159..1c3599f9ad 100644 --- a/mayan/apps/document_states/api_views.py +++ b/mayan/apps/document_states/api_views.py @@ -1,6 +1,5 @@ from __future__ import absolute_import, unicode_literals -from django.core.exceptions import PermissionDenied from django.shortcuts import get_object_or_404 from rest_framework import generics @@ -8,7 +7,6 @@ from rest_framework import generics from acls.models import AccessControlList from documents.models import Document from documents.permissions import permission_document_type_view -from permissions import Permission from rest_api.filters import MayanObjectPermissionsFilter from rest_api.permissions import MayanPermission @@ -80,14 +78,10 @@ class APIWorkflowDocumentTypeList(generics.ListCreateAPIView): workflow = get_object_or_404(Workflow, pk=self.kwargs['pk']) - try: - Permission.check_permissions( - self.request.user, (permission_required,) - ) - except PermissionDenied: - AccessControlList.objects.check_access( - permission_required, self.request.user, workflow - ) + AccessControlList.objects.check_access( + permissions=permission_required, user=self.request.user, + obj=workflow + ) return workflow @@ -156,14 +150,10 @@ class APIWorkflowDocumentTypeView(generics.RetrieveDestroyAPIView): workflow = get_object_or_404(Workflow, pk=self.kwargs['pk']) - try: - Permission.check_permissions( - self.request.user, (permission_required,) - ) - except PermissionDenied: - AccessControlList.objects.check_access( - permission_required, self.request.user, workflow - ) + AccessControlList.objects.check_access( + permissions=permission_required, user=self.request.user, + obj=workflow + ) return workflow @@ -283,14 +273,10 @@ class APIWorkflowStateListView(generics.ListCreateAPIView): workflow = get_object_or_404(Workflow, pk=self.kwargs['pk']) - try: - Permission.check_permissions( - self.request.user, (permission_required,) - ) - except PermissionDenied: - AccessControlList.objects.check_access( - permission_required, self.request.user, workflow - ) + AccessControlList.objects.check_access( + permissions=permission_required, user=self.request.user, + obj=workflow + ) return workflow @@ -341,14 +327,10 @@ class APIWorkflowStateView(generics.RetrieveUpdateDestroyAPIView): workflow = get_object_or_404(Workflow, pk=self.kwargs['pk']) - try: - Permission.check_permissions( - self.request.user, (permission_required,) - ) - except PermissionDenied: - AccessControlList.objects.check_access( - permission_required, self.request.user, workflow - ) + AccessControlList.objects.check_access( + permissions=permission_required, user=self.request.user, + obj=workflow + ) return workflow @@ -405,14 +387,10 @@ class APIWorkflowTransitionListView(generics.ListCreateAPIView): workflow = get_object_or_404(Workflow, pk=self.kwargs['pk']) - try: - Permission.check_permissions( - self.request.user, (permission_required,) - ) - except PermissionDenied: - AccessControlList.objects.check_access( - permission_required, self.request.user, workflow - ) + AccessControlList.objects.check_access( + permissions=permission_required, user=self.request.user, + obj=workflow + ) return workflow @@ -468,14 +446,10 @@ class APIWorkflowTransitionView(generics.RetrieveUpdateDestroyAPIView): workflow = get_object_or_404(Workflow, pk=self.kwargs['pk']) - try: - Permission.check_permissions( - self.request.user, (permission_required,) - ) - except PermissionDenied: - AccessControlList.objects.check_access( - permission_required, self.request.user, workflow - ) + AccessControlList.objects.check_access( + permissions=permission_required, user=self.request.user, + obj=workflow + ) return workflow @@ -509,14 +483,10 @@ class APIWorkflowInstanceListView(generics.ListAPIView): def get_document(self): document = get_object_or_404(Document, pk=self.kwargs['pk']) - try: - Permission.check_permissions( - self.request.user, (permission_workflow_view,) - ) - except PermissionDenied: - AccessControlList.objects.check_access( - permission_workflow_view, self.request.user, document - ) + AccessControlList.objects.check_access( + permissions=permission_workflow_view, user=self.request.user, + obj=document + ) return document @@ -538,14 +508,10 @@ class APIWorkflowInstanceView(generics.RetrieveAPIView): def get_document(self): document = get_object_or_404(Document, pk=self.kwargs['pk']) - try: - Permission.check_permissions( - self.request.user, (permission_workflow_view,) - ) - except PermissionDenied: - AccessControlList.objects.check_access( - permission_workflow_view, self.request.user, document - ) + AccessControlList.objects.check_access( + permissions=permission_workflow_view, user=self.request.user, + obj=document + ) return document @@ -570,14 +536,10 @@ class APIWorkflowInstanceLogEntryListView(generics.ListCreateAPIView): document = get_object_or_404(Document, pk=self.kwargs['pk']) - try: - Permission.check_permissions( - self.request.user, (permission_required,) - ) - except PermissionDenied: - AccessControlList.objects.check_access( - permission_required, self.request.user, document - ) + AccessControlList.objects.check_access( + permissions=permission_required, user=self.request.user, + obj=document + ) return document diff --git a/mayan/apps/events/api_views.py b/mayan/apps/events/api_views.py index 37c56e6054..35cc03c14c 100644 --- a/mayan/apps/events/api_views.py +++ b/mayan/apps/events/api_views.py @@ -1,7 +1,6 @@ from __future__ import absolute_import, unicode_literals from django.contrib.contenttypes.models import ContentType -from django.core.exceptions import PermissionDenied from django.http import Http404 from django.shortcuts import get_object_or_404 @@ -9,7 +8,6 @@ from actstream.models import Action, any_stream from rest_framework import generics from acls.models import AccessControlList -from permissions import Permission from rest_api.permissions import MayanPermission from .classes import Event @@ -38,18 +36,14 @@ class APIObjectEventListView(generics.ListAPIView): raise Http404 def get_queryset(self): - object = self.get_object() + obj = self.get_object() - try: - Permission.check_permissions( - self.request.user, permissions=(permission_events_view,) - ) - except PermissionDenied: - AccessControlList.objects.check_access( - permission_events_view, self.request.user, object - ) + AccessControlList.objects.check_access( + permissions=permission_events_view, user=self.request.user, + obj=obj + ) - return any_stream(object) + return any_stream(obj) class APIEventTypeListView(generics.ListAPIView): diff --git a/mayan/apps/linking/api_views.py b/mayan/apps/linking/api_views.py index dd1ca25476..9dcbfaf621 100644 --- a/mayan/apps/linking/api_views.py +++ b/mayan/apps/linking/api_views.py @@ -1,6 +1,5 @@ from __future__ import absolute_import, unicode_literals -from django.core.exceptions import PermissionDenied from django.shortcuts import get_object_or_404 from rest_framework import generics @@ -8,7 +7,6 @@ from rest_framework import generics from acls.models import AccessControlList from documents.models import Document from documents.permissions import permission_document_view -from permissions import Permission from rest_api.filters import MayanObjectPermissionsFilter from rest_api.permissions import MayanPermission @@ -41,14 +39,10 @@ class APIResolvedSmartLinkDocumentListView(generics.ListAPIView): def get_document(self): document = get_object_or_404(Document, pk=self.kwargs['pk']) - try: - Permission.check_permissions( - self.request.user, (permission_document_view,) - ) - except PermissionDenied: - AccessControlList.objects.check_access( - permission_document_view, self.request.user, document - ) + AccessControlList.objects.check_access( + permissions=permission_document_view, user=self.request.user, + obj=document + ) return document @@ -58,14 +52,10 @@ class APIResolvedSmartLinkDocumentListView(generics.ListAPIView): pk=self.kwargs['smart_link_pk'] ) - try: - Permission.check_permissions( - self.request.user, (permission_smart_link_view,) - ) - except PermissionDenied: - AccessControlList.objects.check_access( - permission_smart_link_view, self.request.user, smart_link - ) + AccessControlList.objects.check_access( + permissions=permission_smart_link_view, user=self.request.user, + obj=smart_link + ) return smart_link @@ -103,14 +93,10 @@ class APIResolvedSmartLinkView(generics.RetrieveAPIView): def get_document(self): document = get_object_or_404(Document, pk=self.kwargs['pk']) - try: - Permission.check_permissions( - self.request.user, (permission_document_view,) - ) - except PermissionDenied: - AccessControlList.objects.check_access( - permission_document_view, self.request.user, document - ) + AccessControlList.objects.check_access( + permissions=permission_document_view, user=self.request.user, + obj=document + ) return document @@ -144,14 +130,10 @@ class APIResolvedSmartLinkListView(generics.ListAPIView): def get_document(self): document = get_object_or_404(Document, pk=self.kwargs['pk']) - try: - Permission.check_permissions( - self.request.user, (permission_document_view,) - ) - except PermissionDenied: - AccessControlList.objects.check_access( - permission_document_view, self.request.user, document - ) + AccessControlList.objects.check_access( + permissions=permission_document_view, user=self.request.user, + obj=document + ) return document @@ -203,14 +185,10 @@ class APISmartLinkConditionListView(generics.ListCreateAPIView): smart_link = get_object_or_404(SmartLink, pk=self.kwargs['pk']) - try: - Permission.check_permissions( - self.request.user, (permission_required,) - ) - except PermissionDenied: - AccessControlList.objects.check_access( - permission_required, self.request.user, smart_link - ) + AccessControlList.objects.check_access( + permissions=permission_required, user=self.request.user, + obj=smart_link + ) return smart_link @@ -261,14 +239,10 @@ class APISmartLinkConditionView(generics.RetrieveUpdateDestroyAPIView): smart_link = get_object_or_404(SmartLink, pk=self.kwargs['pk']) - try: - Permission.check_permissions( - self.request.user, (permission_required,) - ) - except PermissionDenied: - AccessControlList.objects.check_access( - permission_required, self.request.user, smart_link - ) + AccessControlList.objects.check_access( + permissions=permission_required, user=self.request.user, + obj=smart_link + ) return smart_link diff --git a/mayan/apps/metadata/tests/test_api.py b/mayan/apps/metadata/tests/test_api.py index 4a9f47c4e0..93312509ec 100644 --- a/mayan/apps/metadata/tests/test_api.py +++ b/mayan/apps/metadata/tests/test_api.py @@ -60,8 +60,10 @@ class MetadataTypeAPITestCase(BaseAPITestCase): self._create_metadata_type() response = self.client.delete( - reverse('rest_api:metadatatype-detail', - args=(self.metadata_type.pk,)) + reverse( + 'rest_api:metadatatype-detail', + args=(self.metadata_type.pk,) + ) ) self.assertEqual(response.status_code, 204) @@ -72,8 +74,10 @@ class MetadataTypeAPITestCase(BaseAPITestCase): self._create_metadata_type() response = self.client.get( - reverse('rest_api:metadatatype-detail', - args=(self.metadata_type.pk,)) + reverse( + 'rest_api:metadatatype-detail', + args=(self.metadata_type.pk,) + ) ) self.assertEqual(response.status_code, 200) self.assertEqual( @@ -84,8 +88,10 @@ class MetadataTypeAPITestCase(BaseAPITestCase): self._create_metadata_type() response = self.client.patch( - reverse('rest_api:metadatatype-detail', - args=(self.metadata_type.pk,)), data={ + reverse( + 'rest_api:metadatatype-detail', + args=(self.metadata_type.pk,) + ), data={ 'label': TEST_METADATA_TYPE_LABEL_2, 'name': TEST_METADATA_TYPE_NAME_2 } @@ -102,8 +108,10 @@ class MetadataTypeAPITestCase(BaseAPITestCase): self._create_metadata_type() response = self.client.put( - reverse('rest_api:metadatatype-detail', - args=(self.metadata_type.pk,)), data={ + reverse( + 'rest_api:metadatatype-detail', + args=(self.metadata_type.pk,) + ), data={ 'label': TEST_METADATA_TYPE_LABEL_2, 'name': TEST_METADATA_TYPE_NAME_2 } diff --git a/mayan/apps/navigation/classes.py b/mayan/apps/navigation/classes.py index 6c065ca5f2..3c4df7eb34 100644 --- a/mayan/apps/navigation/classes.py +++ b/mayan/apps/navigation/classes.py @@ -273,7 +273,7 @@ class Link(object): except VariableDoesNotExist: pass - # If this link has a required permission check that the user have it + # If this link has a required permission check that the user has it # too if self.permissions: if resolved_object: diff --git a/mayan/apps/permissions/api_views.py b/mayan/apps/permissions/api_views.py index 47f2ea7c48..c6777bc76c 100644 --- a/mayan/apps/permissions/api_views.py +++ b/mayan/apps/permissions/api_views.py @@ -1,14 +1,9 @@ from __future__ import unicode_literals -from django.shortcuts import get_object_or_404 - from rest_framework import generics -from acls.models import AccessControlList from rest_api.filters import MayanObjectPermissionsFilter from rest_api.permissions import MayanPermission -from user_management.permissions import permission_group_view -from user_management.serializers import GroupSerializer from .classes import Permission from .models import Role @@ -61,54 +56,6 @@ class APIRoleListView(generics.ListCreateAPIView): return super(APIRoleListView, self).post(*args, **kwargs) -class APIRolePermissionList(generics.ListCreateAPIView): - """ - Returns a list of all the permissions of a role. - """ - - mayan_object_permissions = { - 'GET': (permission_role_view,), - 'POST': (permission_role_edit,) - } - permission_classes = (MayanPermission,) - - def get_serializer_class(self): - if self.request.method == 'GET': - return PermissionSerializer - elif self.request.method == 'POST': - return RoleNewPermissionSerializer - - def get_serializer_context(self): - """ - Extra context provided to the serializer class. - """ - return { - 'format': self.format_kwarg, - 'request': self.request, - 'role': self.get_role(), - 'view': self - } - - def get_queryset(self): - return [ - permission.volatile_permission for permission in self.get_role().permissions.all() - ] - - def get_role(self): - return get_object_or_404(Role, pk=self.kwargs['pk']) - - def perform_create(self, serializer): - serializer.save(role=self.get_role()) - - def post(self, request, *args, **kwargs): - """ - Add a list of permissions to a role. - """ - return super(APIRolePermissionList, self).post( - request, *args, **kwargs - ) - - class APIRoleView(generics.RetrieveUpdateDestroyAPIView): mayan_object_permissions = { 'GET': (permission_role_view,), diff --git a/mayan/apps/tags/serializers.py b/mayan/apps/tags/serializers.py index 621de6587d..6a8830f792 100644 --- a/mayan/apps/tags/serializers.py +++ b/mayan/apps/tags/serializers.py @@ -8,7 +8,6 @@ from rest_framework.reverse import reverse from acls.models import AccessControlList from documents.models import Document -from permissions import Permission from .models import Tag from .permissions import permission_tag_attach From eaa9af55c46eb84a4c3936e60768e4bf575d28ad Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 22 Feb 2017 17:16:38 -0400 Subject: [PATCH 057/144] Silence the PEP8 warning F405 "may be undefined, or defined from star imports". Signed-off-by: Roberto Rosario --- mayan/apps/common/generics.py | 9 ++++++++- mayan/apps/common/views.py | 8 +++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/mayan/apps/common/generics.py b/mayan/apps/common/generics.py index ab67e9cc0c..62d4c64b1a 100644 --- a/mayan/apps/common/generics.py +++ b/mayan/apps/common/generics.py @@ -18,7 +18,14 @@ from django_downloadview import VirtualDownloadView, VirtualFile from pure_pagination.mixins import PaginationMixin from .forms import ChoiceForm -from .mixins import * # NOQA +from .mixins import ( + DeleteExtraDataMixin, ExtraContextMixin, FormExtraKwargsMixin, + MultipleObjectMixin, ObjectActionMixin, + ObjectListPermissionFilterMixin, ObjectNameMixin, + ObjectPermissionCheckMixin, RedirectionMixin, + ViewPermissionCheckMixin +) + from .settings import setting_paginate_by __all__ = ( diff --git a/mayan/apps/common/views.py b/mayan/apps/common/views.py index 5e8f47481d..48b54e05be 100644 --- a/mayan/apps/common/views.py +++ b/mayan/apps/common/views.py @@ -17,7 +17,13 @@ from .forms import ( FilterForm, LicenseForm, LocaleProfileForm, LocaleProfileForm_view, PackagesLicensesForm, UserForm, UserForm_view ) -from .generics import * # NOQA +from .generics import ( # NOQA + AssignRemoveView, ConfirmView, FormView, MultiFormView, + MultipleObjectConfirmActionView, MultipleObjectFormActionView, + SingleObjectCreateView, SingleObjectDeleteView, + SingleObjectDetailView, SingleObjectEditView, SingleObjectListView, + SimpleView +) from .menus import menu_tools, menu_setup From 70dfb1561d641ecf929e07267412013580f01710 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 23 Feb 2017 02:13:59 -0400 Subject: [PATCH 058/144] Refactor the metadata API to conform to best practices. Perform model validation on document type metadata type and document type API endpoints. Signed-off-by: Roberto Rosario --- docs/releases/2.2.rst | 23 +- mayan/apps/metadata/api_views.py | 409 ++++++++++++++------------ mayan/apps/metadata/serializers.py | 168 ++++++++--- mayan/apps/metadata/tests/test_api.py | 249 +++++++++++----- mayan/apps/metadata/urls.py | 39 +-- 5 files changed, 561 insertions(+), 327 deletions(-) diff --git a/docs/releases/2.2.rst b/docs/releases/2.2.rst index c94542332f..81d969ebc4 100644 --- a/docs/releases/2.2.rst +++ b/docs/releases/2.2.rst @@ -9,6 +9,27 @@ What's new API changes ----------- +Refactor of the metadata API URLs to use the resource/sub resource paradigm. + +Before: + +/api/metadata/metadata_types/ +/api/metadata/metadata_types/{pk}/ +/api/metadata/document/metadata/{pk}/ +/api/metadata/document/{pk}/metadata/ +/api/metadata/document_type/{document_type_pk}/metadata_types/optional/ +/api/metadata/document_type/{document_type_pk}/metadata_types/required/ + +After: + +/api/metadata/metadata_types/ +/api/metadata/metadata_types/{metadata_type_pk}/ +/api/metadata/document_types/{document_type_pk}/metadata_types/ +/api/metadata/document_types/{document_type_pk}/metadata_types/{metadata_type_pk}/ +/api/metadata/documents/{document_pk}/metadata/ +/api/metadata/documents/{document_pk}/metadata/{metadata_pk}/ + + Document API URLs updated to use the resource/sub resource paradigm. Before: @@ -95,7 +116,7 @@ Other changes - Add custom test runner replacing the custom management command runtests. The 'test-all' Makefile target that called the `runtests` command has been removed too. -- Testing for orphaned temporary files and orphaned file handles is now optional and +- Testing for orphaned temporary files and orphaned file handles is now optional and controlled by the COMMON_TEST_FILE_HANDLES and COMMON_TEST_FILE_HANDLES settings. Removals diff --git a/mayan/apps/metadata/api_views.py b/mayan/apps/metadata/api_views.py index b5b58bf23b..4d16d62d8f 100644 --- a/mayan/apps/metadata/api_views.py +++ b/mayan/apps/metadata/api_views.py @@ -2,8 +2,7 @@ from __future__ import absolute_import, unicode_literals from django.shortcuts import get_object_or_404 -from rest_framework import generics, status, views -from rest_framework.response import Response +from rest_framework import generics from acls.models import AccessControlList from documents.models import Document, DocumentType @@ -13,7 +12,7 @@ from documents.permissions import ( from rest_api.filters import MayanObjectPermissionsFilter from rest_api.permissions import MayanPermission -from .models import DocumentMetadata, DocumentTypeMetadataType, MetadataType +from .models import MetadataType from .permissions import ( permission_metadata_document_add, permission_metadata_document_remove, permission_metadata_document_edit, permission_metadata_document_view, @@ -21,283 +20,315 @@ from .permissions import ( permission_metadata_type_edit, permission_metadata_type_view ) from .serializers import ( - DocumentMetadataSerializer, DocumentNewMetadataSerializer, - DocumentTypeNewMetadataTypeSerializer, MetadataTypeSerializer, - DocumentTypeMetadataTypeSerializer + DocumentMetadataSerializer, DocumentTypeMetadataTypeSerializer, + MetadataTypeSerializer, NewDocumentMetadataSerializer, + NewDocumentTypeMetadataTypeSerializer, + WritableDocumentTypeMetadataTypeSerializer ) -class APIMetadataTypeListView(generics.ListCreateAPIView): - serializer_class = MetadataTypeSerializer - queryset = MetadataType.objects.all() +class APIDocumentMetadataListView(generics.ListCreateAPIView): + def get(self, *args, **kwargs): + """ + Returns a list of selected document's metadata types and values. + """ - permission_classes = (MayanPermission,) + return super(APIDocumentMetadataListView, self).get(*args, **kwargs) + + def get_document(self): + if self.request.method == 'GET': + permission_required = permission_metadata_document_view + else: + permission_required = permission_metadata_document_add + + document = get_object_or_404( + Document, pk=self.kwargs['document_pk'] + ) + + AccessControlList.objects.check_access( + permissions=permission_required, user=self.request.user, + obj=document + ) + + return document + + def get_queryset(self): + return self.get_document().metadata.all() + + def get_serializer_class(self): + if self.request.method == 'GET': + return DocumentMetadataSerializer + else: + return NewDocumentMetadataSerializer + + def get_serializer_context(self): + """ + Extra context provided to the serializer class. + """ + + return { + 'document': self.get_document(), + 'format': self.format_kwarg, + 'request': self.request, + 'view': self + } + + def post(self, *args, **kwargs): + """ + Add an existing metadata type and value to the selected document. + """ + + return super(APIDocumentMetadataListView, self).post(*args, **kwargs) + + +class APIDocumentMetadataView(generics.RetrieveUpdateDestroyAPIView): + lookup_url_kwarg = 'metadata_pk' + + def delete(self, *args, **kwargs): + """ + Remove this metadata entry from the selected document. + """ + + return super(APIDocumentMetadataView, self).delete(*args, **kwargs) + + def get(self, *args, **kwargs): + """ + Return the details of the selected document metadata type and value. + """ + + return super(APIDocumentMetadataView, self).get(*args, **kwargs) + + def get_document(self): + if self.request.method == 'GET': + permission_required = permission_metadata_document_view + elif self.request.method == 'PUT': + permission_required = permission_metadata_document_edit + elif self.request.method == 'PATCH': + permission_required = permission_metadata_document_edit + elif self.request.method == 'DELETE': + permission_required = permission_metadata_document_remove + + document = get_object_or_404( + Document, pk=self.kwargs['document_pk'] + ) + + AccessControlList.objects.check_access( + permissions=permission_required, user=self.request.user, + obj=document + ) + + return document + + def get_queryset(self): + return self.get_document().metadata.all() + + def get_serializer_class(self): + if self.request.method == 'GET': + return DocumentMetadataSerializer + else: + return DocumentMetadataSerializer + + def patch(self, *args, **kwargs): + """ + Edit the selected document metadata type and value. + """ + + return super(APIDocumentMetadataView, self).patch(*args, **kwargs) + + def put(self, *args, **kwargs): + """ + Edit the selected document metadata type and value. + """ + + return super(APIDocumentMetadataView, self).put(*args, **kwargs) + + +class APIMetadataTypeListView(generics.ListCreateAPIView): filter_backends = (MayanObjectPermissionsFilter,) mayan_object_permissions = {'GET': (permission_metadata_type_view,)} mayan_view_permissions = {'POST': (permission_metadata_type_create,)} + permission_classes = (MayanPermission,) + queryset = MetadataType.objects.all() + serializer_class = MetadataTypeSerializer def get(self, *args, **kwargs): """ Returns a list of all the metadata types. """ + return super(APIMetadataTypeListView, self).get(*args, **kwargs) def post(self, *args, **kwargs): """ Create a new metadata type. """ + return super(APIMetadataTypeListView, self).post(*args, **kwargs) class APIMetadataTypeView(generics.RetrieveUpdateDestroyAPIView): - serializer_class = MetadataTypeSerializer - queryset = MetadataType.objects.all() - - permission_classes = (MayanPermission,) + lookup_url_kwarg = 'metadata_type_pk' mayan_object_permissions = { 'GET': (permission_metadata_type_view,), 'PUT': (permission_metadata_type_edit,), 'PATCH': (permission_metadata_type_edit,), 'DELETE': (permission_metadata_type_delete,) } + permission_classes = (MayanPermission,) + queryset = MetadataType.objects.all() + serializer_class = MetadataTypeSerializer def delete(self, *args, **kwargs): """ Delete the selected metadata type. """ + return super(APIMetadataTypeView, self).delete(*args, **kwargs) def get(self, *args, **kwargs): """ Return the details of the selected metadata type. """ + return super(APIMetadataTypeView, self).get(*args, **kwargs) def patch(self, *args, **kwargs): """ Edit the selected metadata type. """ + return super(APIMetadataTypeView, self).patch(*args, **kwargs) def put(self, *args, **kwargs): """ Edit the selected metadata type. """ + return super(APIMetadataTypeView, self).put(*args, **kwargs) -class APIDocumentMetadataListView(generics.ListCreateAPIView): - permission_classes = (MayanPermission,) - - def get_document(self): - return get_object_or_404(Document, pk=self.kwargs['pk']) - - def get_queryset(self): - document = self.get_document() - - if self.request.method == 'GET': - # Make sure the use has the permission to see the metadata for - # this document - AccessControlList.objects.check_access( - permissions=permission_metadata_document_view, - user=self.request.user, obj=document - ) - - return document.metadata.all() - elif self.request.method == 'POST': - # Make sure the use has the permission to add metadata to this - # document - AccessControlList.objects.check_access( - permissions=permission_metadata_document_add, - user=self.request.user, obj=document - ) - - return document.metadata.all() - - def get_serializer_class(self): - if self.request.method == 'GET': - return DocumentMetadataSerializer - elif self.request.method == 'POST': - return DocumentNewMetadataSerializer +class APIDocumentTypeMetadataTypeListView(generics.ListCreateAPIView): + lookup_url_kwarg = 'metadata_type_pk' def get(self, *args, **kwargs): """ - Returns a list of selected document's metadata types and values. + Returns a list of selected document type's metadata types. """ - return super(APIDocumentMetadataListView, self).get(*args, **kwargs) - def perform_create(self, serializer): - serializer.document = self.get_document() - serializer.save() + return super( + APIDocumentTypeMetadataTypeListView, self + ).get(*args, **kwargs) - def post(self, *args, **kwargs): - """ - Add an existing metadata type and value to the selected document. - """ - return super(APIDocumentMetadataListView, self).post(*args, **kwargs) + def get_document_type(self): + if self.request.method == 'GET': + permission_required = permission_document_type_view + else: + permission_required = permission_document_type_edit - -class APIDocumentMetadataView(generics.RetrieveUpdateDestroyAPIView): - serializer_class = DocumentMetadataSerializer - queryset = DocumentMetadata.objects.all() - - permission_classes = (MayanPermission,) - mayan_object_permissions = { - 'GET': (permission_metadata_document_view,), - 'PUT': (permission_metadata_document_edit,), - 'PATCH': (permission_metadata_document_edit,), - 'DELETE': (permission_metadata_document_remove,) - } - - def delete(self, *args, **kwargs): - """ - Delete the selected document metadata type and value. - """ - try: - return super( - APIDocumentMetadataView, self - ).delete(*args, **kwargs) - except Exception as exception: - return Response( - status=status.HTTP_400_BAD_REQUEST, data={ - 'non_fields_errors': unicode(exception) - } - ) - - def get(self, *args, **kwargs): - """ - Return the details of the selected document metadata type and value. - """ - return super(APIDocumentMetadataView, self).get(*args, **kwargs) - - def patch(self, *args, **kwargs): - """ - Edit the selected document metadata type and value. - """ - try: - return super( - APIDocumentMetadataView, self - ).patch(*args, **kwargs) - except Exception as exception: - return Response( - status=status.HTTP_400_BAD_REQUEST, data={ - 'non_fields_errors': unicode(exception) - } - ) - - def put(self, *args, **kwargs): - """ - Edit the selected document metadata type and value. - """ - try: - return super(APIDocumentMetadataView, self).put(*args, **kwargs) - except Exception as exception: - return Response( - status=status.HTTP_400_BAD_REQUEST, data={ - 'non_fields_errors': unicode(exception) - } - ) - - -class APIDocumentTypeMetadataTypeOptionalListView(generics.ListCreateAPIView): - permission_classes = (MayanPermission,) - - mayan_view_permissions = {'POST': (permission_document_type_edit,)} - - required_metadata = False - - def get_queryset(self): document_type = get_object_or_404( DocumentType, pk=self.kwargs['document_type_pk'] ) + AccessControlList.objects.check_access( - permissions=permission_document_type_view, user=self.request.user, + permissions=permission_required, user=self.request.user, obj=document_type ) - return document_type.metadata.filter(required=self.required_metadata) + return document_type - def get(self, *args, **kwargs): - """ - Returns a list of selected document type's optional metadata types. - """ - return super( - APIDocumentTypeMetadataTypeOptionalListView, self - ).get(*args, **kwargs) + def get_queryset(self): + return self.get_document_type().metadata.all() def get_serializer_class(self): if self.request.method == 'GET': return DocumentTypeMetadataTypeSerializer - elif self.request.method == 'POST': - return DocumentTypeNewMetadataTypeSerializer + else: + return NewDocumentTypeMetadataTypeSerializer - def post(self, request, *args, **kwargs): + def get_serializer_context(self): """ - Add an optional metadata type to a document type. + Extra context provided to the serializer class. """ + + return { + 'document_type': self.get_document_type(), + 'format': self.format_kwarg, + 'request': self.request, + 'view': self + } + + def post(self, *args, **kwargs): + """ + Add a metadata type to the selected document type. + """ + + return super( + APIDocumentTypeMetadataTypeListView, self + ).post(*args, **kwargs) + + +class APIDocumentTypeMetadataTypeView(generics.RetrieveUpdateDestroyAPIView): + lookup_url_kwarg = 'metadata_type_pk' + serializer_class = DocumentTypeMetadataTypeSerializer + + def delete(self, *args, **kwargs): + """ + Remove a metadata type from a document type. + """ + + return super( + APIDocumentTypeMetadataTypeView, self + ).delete(*args, **kwargs) + + def get(self, *args, **kwargs): + """ + Retrieve the details of a document type metadata type. + """ + + return super( + APIDocumentTypeMetadataTypeView, self + ).get(*args, **kwargs) + + def get_document_type(self): + if self.request.method == 'GET': + permission_required = permission_document_type_view + else: + permission_required = permission_document_type_edit + document_type = get_object_or_404( DocumentType, pk=self.kwargs['document_type_pk'] ) AccessControlList.objects.check_access( - permissions=permission_document_type_edit, user=self.request.user, + permissions=permission_required, user=self.request.user, obj=document_type ) - serializer = self.get_serializer(data=self.request.data) + return document_type - if serializer.is_valid(): - metadata_type = get_object_or_404( - MetadataType, pk=serializer.data['metadata_type_pk'] - ) - document_type_metadata_type = document_type.metadata.create( - metadata_type=metadata_type, required=self.required_metadata - ) - return Response( - status=status.HTTP_201_CREATED, - data={ - 'pk': document_type_metadata_type.pk - } - ) + def get_queryset(self): + return self.get_document_type().metadata.all() + + def get_serializer_class(self): + if self.request.method == 'GET': + return DocumentTypeMetadataTypeSerializer else: - return Response(status=status.HTTP_400_BAD_REQUEST) + return WritableDocumentTypeMetadataTypeSerializer - -class APIDocumentTypeMetadataTypeRequiredListView(APIDocumentTypeMetadataTypeOptionalListView): - required_metadata = True - - def get(self, *args, **kwargs): + def patch(self, *args, **kwargs): """ - Returns a list of the selected document type's required metadata - types. + Edit the selected document type metadata type. """ + return super( - APIDocumentTypeMetadataTypeRequiredListView, self - ).get(*args, **kwargs) + APIDocumentTypeMetadataTypeView, self + ).patch(*args, **kwargs) - def post(self, request, *args, **kwargs): + def put(self, *args, **kwargs): """ - Add a required metadata type to a document type. + Edit the selected document type metadata type. """ + return super( - APIDocumentTypeMetadataTypeRequiredListView, self - ).post(request, *args, **kwargs) - - -class APIDocumentTypeMetadataTypeView(views.APIView): - def delete(self, request, *args, **kwargs): - """ - Remove a metadata type from a document type. - """ - - document_type_metadata_type = get_object_or_404( - DocumentTypeMetadataType, pk=self.kwargs['pk'] - ) - - AccessControlList.objects.check_access( - permissions=permission_document_type_edit, user=self.request.user, - obj=document_type_metadata_type.document_type - ) - - document_type_metadata_type.delete() - return Response(status=status.HTTP_204_NO_CONTENT) + APIDocumentTypeMetadataTypeView, self + ).put(*args, **kwargs) diff --git a/mayan/apps/metadata/serializers.py b/mayan/apps/metadata/serializers.py index 36a1abdd27..0afcf95540 100644 --- a/mayan/apps/metadata/serializers.py +++ b/mayan/apps/metadata/serializers.py @@ -1,71 +1,159 @@ from __future__ import unicode_literals -from django.db import IntegrityError +from django.core.exceptions import ValidationError as DjangoValidationError from django.utils.translation import ugettext_lazy as _ from rest_framework import serializers from rest_framework.exceptions import ValidationError +from rest_framework.reverse import reverse -from .models import DocumentMetadata, MetadataType, DocumentTypeMetadataType +from documents.serializers import DocumentSerializer, DocumentTypeSerializer + +from .models import DocumentMetadata, DocumentTypeMetadataType, MetadataType -class MetadataTypeSerializer(serializers.ModelSerializer): +class MetadataTypeSerializer(serializers.HyperlinkedModelSerializer): class Meta: + extra_kwargs = { + 'url': { + 'lookup_field': 'pk', 'lookup_url_kwarg': 'metadata_type_pk', + 'view_name': 'rest_api:metadatatype-detail' + }, + } fields = ( - 'id', 'name', 'label', 'default', 'lookup', 'parser', 'validation' + 'default', 'id', 'label', 'lookup', 'name', 'parser', 'url', + 'validation' ) model = MetadataType -class DocumentMetadataSerializer(serializers.ModelSerializer): - document = serializers.PrimaryKeyRelatedField(read_only=True) +class DocumentTypeMetadataTypeSerializer(serializers.HyperlinkedModelSerializer): + document_type = DocumentTypeSerializer(read_only=True) + metadata_type = MetadataTypeSerializer(read_only=True) + url = serializers.SerializerMethodField() class Meta: - fields = ('document', 'id', 'metadata_type', 'value',) - model = DocumentMetadata - read_only_fields = ('metadata_type',) - - -class DocumentTypeMetadataTypeSerializer(serializers.ModelSerializer): - class Meta: - fields = ('metadata_type',) + fields = ('document_type', 'id', 'metadata_type', 'required', 'url') model = DocumentTypeMetadataType + def get_url(self, instance): + return reverse( + 'rest_api:documenttypemetadatatype-detail', args=( + instance.document_type.pk, instance.pk + ), request=self.context['request'], format=self.context['format'] + ) -class DocumentNewMetadataSerializer(serializers.Serializer): + +class NewDocumentTypeMetadataTypeSerializer(serializers.ModelSerializer): metadata_type_pk = serializers.IntegerField( help_text=_('Primary key of the metadata type to be added.'), write_only=True ) + url = serializers.SerializerMethodField() - metadata_type = MetadataTypeSerializer(read_only=True) - - pk = serializers.IntegerField( - help_text=_('Primary key of the document metadata type.'), - read_only=True - ) - - value = serializers.CharField( - max_length=255, - help_text=_('Value of the corresponding metadata type instance.') - ) - - def create(self, validated_data): - metadata_type = MetadataType.objects.get( - pk=validated_data['metadata_type_pk'] + class Meta: + fields = ( + 'id', 'metadata_type_pk', 'required', 'url' ) + model = DocumentTypeMetadataType + + def get_url(self, instance): + return reverse( + 'rest_api:documenttypemetadatatype-detail', args=( + instance.document_type.pk, instance.pk + ), request=self.context['request'], format=self.context['format'] + ) + + def validate(self, attrs): + attrs['document_type'] = self.context['document_type'] + attrs['metadata_type'] = MetadataType.objects.get( + pk=attrs.pop('metadata_type_pk') + ) + + instance = DocumentTypeMetadataType(**attrs) try: - instance = self.document.metadata.create( - metadata_type=metadata_type, value=validated_data['value'] - ) - return instance - except IntegrityError: - detail = 'Metadata type with pk {} is already defined for Document with pk {}'.format(metadata_type.pk, - self.document.pk) - raise ValidationError(detail) + instance.full_clean() + except DjangoValidationError as exception: + raise ValidationError(exception) + + return attrs -class DocumentTypeNewMetadataTypeSerializer(serializers.Serializer): +class WritableDocumentTypeMetadataTypeSerializer(serializers.ModelSerializer): + url = serializers.SerializerMethodField() + + class Meta: + fields = ( + 'id', 'required', 'url' + ) + model = DocumentTypeMetadataType + + def get_url(self, instance): + return reverse( + 'rest_api:documenttypemetadatatype-detail', args=( + instance.document_type.pk, instance.pk + ), request=self.context['request'], format=self.context['format'] + ) + + +class DocumentMetadataSerializer(serializers.HyperlinkedModelSerializer): + document = DocumentSerializer(read_only=True) + metadata_type = MetadataTypeSerializer(read_only=True) + url = serializers.SerializerMethodField() + + class Meta: + fields = ('document', 'id', 'metadata_type', 'url', 'value') + model = DocumentMetadata + read_only_fields = ('document', 'metadata_type',) + + def get_url(self, instance): + return reverse( + 'rest_api:documentmetadata-detail', args=( + instance.document.pk, instance.pk + ), request=self.context['request'], format=self.context['format'] + ) + + def validate(self, attrs): + self.instance.value = attrs['value'] + + try: + self.instance.full_clean() + except DjangoValidationError as exception: + raise ValidationError(exception) + + return attrs + + +class NewDocumentMetadataSerializer(serializers.ModelSerializer): metadata_type_pk = serializers.IntegerField( - help_text=_('Primary key of the metadata type to be added.') + help_text=_( + 'Primary key of the metadata type to be added to the document.' + ), + write_only=True ) + url = serializers.SerializerMethodField() + + class Meta: + fields = ('id', 'metadata_type_pk', 'url', 'value') + model = DocumentMetadata + + def get_url(self, instance): + return reverse( + 'rest_api:documentmetadata-detail', args=( + instance.document.pk, instance.pk + ), request=self.context['request'], format=self.context['format'] + ) + + def validate(self, attrs): + attrs['document'] = self.context['document'] + attrs['metadata_type'] = MetadataType.objects.get( + pk=attrs.pop('metadata_type_pk') + ) + + instance = DocumentMetadata(**attrs) + try: + instance.full_clean() + except DjangoValidationError as exception: + raise ValidationError(exception) + + return attrs diff --git a/mayan/apps/metadata/tests/test_api.py b/mayan/apps/metadata/tests/test_api.py index 4a9f47c4e0..c6bf065d3d 100644 --- a/mayan/apps/metadata/tests/test_api.py +++ b/mayan/apps/metadata/tests/test_api.py @@ -11,7 +11,7 @@ from user_management.tests.literals import ( TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME ) -from ..models import DocumentMetadata, DocumentTypeMetadataType, MetadataType +from ..models import DocumentTypeMetadataType, MetadataType from .literals import ( TEST_METADATA_TYPE_LABEL, TEST_METADATA_TYPE_LABEL_2, @@ -60,8 +60,10 @@ class MetadataTypeAPITestCase(BaseAPITestCase): self._create_metadata_type() response = self.client.delete( - reverse('rest_api:metadatatype-detail', - args=(self.metadata_type.pk,)) + reverse( + 'rest_api:metadatatype-detail', + args=(self.metadata_type.pk,) + ) ) self.assertEqual(response.status_code, 204) @@ -72,20 +74,24 @@ class MetadataTypeAPITestCase(BaseAPITestCase): self._create_metadata_type() response = self.client.get( - reverse('rest_api:metadatatype-detail', - args=(self.metadata_type.pk,)) + reverse( + 'rest_api:metadatatype-detail', + args=(self.metadata_type.pk,) + ) ) self.assertEqual(response.status_code, 200) self.assertEqual( response.data['label'], TEST_METADATA_TYPE_LABEL ) - def test_metadata_type_edit_via_patch_view(self): + def test_metadata_type_patch_view(self): self._create_metadata_type() response = self.client.patch( - reverse('rest_api:metadatatype-detail', - args=(self.metadata_type.pk,)), data={ + reverse( + 'rest_api:metadatatype-detail', + args=(self.metadata_type.pk,) + ), data={ 'label': TEST_METADATA_TYPE_LABEL_2, 'name': TEST_METADATA_TYPE_NAME_2 } @@ -98,12 +104,14 @@ class MetadataTypeAPITestCase(BaseAPITestCase): self.assertEqual(self.metadata_type.label, TEST_METADATA_TYPE_LABEL_2) self.assertEqual(self.metadata_type.name, TEST_METADATA_TYPE_NAME_2) - def test_metadata_type_edit_via_put_view(self): + def test_metadata_type_put_view(self): self._create_metadata_type() response = self.client.put( - reverse('rest_api:metadatatype-detail', - args=(self.metadata_type.pk,)), data={ + reverse( + 'rest_api:metadatatype-detail', + args=(self.metadata_type.pk,) + ), data={ 'label': TEST_METADATA_TYPE_LABEL_2, 'name': TEST_METADATA_TYPE_NAME_2 } @@ -152,55 +160,51 @@ class DocumentTypeMetadataTypeAPITestCase(BaseAPITestCase): self.document_type.delete() super(DocumentTypeMetadataTypeAPITestCase, self).tearDown() - def test_document_type_metadata_type_optional_create(self): + def _create_document_type_metadata_type(self): + self.document_type_metadata_type = self.document_type.metadata.create( + metadata_type=self.metadata_type, required=False + ) + + def test_document_type_metadata_type_create_view(self): response = self.client.post( reverse( - 'rest_api:documenttypeoptionalmetadatatype-list', + 'rest_api:documenttypemetadatatype-list', args=(self.document_type.pk,) - ), data={'metadata_type_pk': self.metadata_type.pk} + ), data={ + 'metadata_type_pk': self.metadata_type.pk, 'required': False + } ) self.assertEqual(response.status_code, 201) - document_type_metadata_type = DocumentTypeMetadataType.objects.filter( - document_type=self.document_type, required=False - ).first() + document_type_metadata_type = DocumentTypeMetadataType.objects.first() - self.assertEqual(response.data['pk'], document_type_metadata_type.pk) + self.assertEqual(response.data['id'], document_type_metadata_type.pk) - self.assertEqual( - document_type_metadata_type.metadata_type, self.metadata_type - ) + def test_document_type_metadata_type_create_dupicate_view(self): + self._create_document_type_metadata_type() - def test_document_type_metadata_type_required_create(self): response = self.client.post( reverse( - 'rest_api:documenttyperequiredmetadatatype-list', + 'rest_api:documenttypemetadatatype-list', args=(self.document_type.pk,) - ), data={'metadata_type_pk': self.metadata_type.pk} + ), data={ + 'metadata_type_pk': self.metadata_type.pk, 'required': False + } ) - self.assertEqual(response.status_code, 201) + self.assertEqual(response.status_code, 400) + self.assertEqual(response.data.keys()[0], 'non_field_errors') - document_type_metadata_type = DocumentTypeMetadataType.objects.filter( - document_type=self.document_type, required=True - ).first() - - self.assertEqual(response.data['pk'], document_type_metadata_type.pk) - - self.assertEqual( - document_type_metadata_type.metadata_type, self.metadata_type - ) - - def test_document_type_metadata_type_delete(self): - document_type_metadata_type = self.document_type.metadata.create( - metadata_type=self.metadata_type, required=True - ) + def test_document_type_metadata_type_delete_view(self): + self._create_document_type_metadata_type() response = self.client.delete( reverse( 'rest_api:documenttypemetadatatype-detail', - args=(document_type_metadata_type.pk,) + args=( + self.document_type.pk, self.document_type_metadata_type.pk, + ), ), ) @@ -208,6 +212,63 @@ class DocumentTypeMetadataTypeAPITestCase(BaseAPITestCase): self.assertEqual(self.document_type.metadata.all().count(), 0) + def test_document_type_metadata_type_list_view(self): + self._create_document_type_metadata_type() + + response = self.client.get( + reverse( + 'rest_api:documenttypemetadatatype-list', + args=( + self.document_type.pk, + ), + ), + ) + + self.assertEqual(response.status_code, 200) + + self.assertEqual( + response.data['results'][0]['id'], + self.document_type_metadata_type.pk + ) + + def test_document_type_metadata_type_patch_view(self): + self._create_document_type_metadata_type() + + response = self.client.patch( + reverse( + 'rest_api:documenttypemetadatatype-detail', + args=( + self.document_type.pk, self.document_type_metadata_type.pk, + ) + ), data={ + 'required': True + } + ) + + document_type_metadata_type = DocumentTypeMetadataType.objects.first() + + self.assertEqual(response.status_code, 200) + self.assertEqual(document_type_metadata_type.required, True) + + def test_document_type_metadata_type_put_view(self): + self._create_document_type_metadata_type() + + response = self.client.put( + reverse( + 'rest_api:documenttypemetadatatype-detail', + args=( + self.document_type.pk, self.document_type_metadata_type.pk, + ) + ), data={ + 'required': True + } + ) + + document_type_metadata_type = DocumentTypeMetadataType.objects.first() + + self.assertEqual(response.status_code, 200) + self.assertEqual(document_type_metadata_type.required, True) + class DocumentMetadataAPITestCase(BaseAPITestCase): @override_settings(OCR_AUTO_OCR=False) @@ -245,7 +306,12 @@ class DocumentMetadataAPITestCase(BaseAPITestCase): self.document_type.delete() super(DocumentMetadataAPITestCase, self).tearDown() - def test_document_metadata_create(self): + def _create_document_metadata(self): + self.document_metadata = self.document.metadata.create( + metadata_type=self.metadata_type, value=TEST_METADATA_VALUE + ) + + def test_document_metadata_create_view(self): response = self.client.post( reverse( 'rest_api:documentmetadata-list', @@ -256,22 +322,64 @@ class DocumentMetadataAPITestCase(BaseAPITestCase): } ) - document_metadata = DocumentMetadata.objects.get( - document=self.document - ) + document_metadata = self.document.metadata.first() self.assertEqual(response.status_code, 201) - self.assertEqual(response.data['pk'], document_metadata.pk) + self.assertEqual(response.data['id'], document_metadata.pk) self.assertEqual(document_metadata.metadata_type, self.metadata_type) self.assertEqual(document_metadata.value, TEST_METADATA_VALUE) - def test_document_metadata_list(self): - document_metadata = self.document.metadata.create( - metadata_type=self.metadata_type, value=TEST_METADATA_VALUE + def test_document_metadata_create_duplicate_view(self): + self._create_document_metadata() + + response = self.client.post( + reverse( + 'rest_api:documentmetadata-list', + args=(self.document.pk,) + ), data={ + 'metadata_type_pk': self.metadata_type.pk, + 'value': TEST_METADATA_VALUE + } ) + self.assertEqual(response.status_code, 400) + self.assertEqual(response.data.keys()[0], 'non_field_errors') + + def test_document_metadata_create_invalid_lookup_value_view(self): + self.metadata_type.lookup = 'invalid,lookup,values,on,purpose' + self.metadata_type.save() + + response = self.client.post( + reverse( + 'rest_api:documentmetadata-list', + args=(self.document.pk,) + ), data={ + 'metadata_type_pk': self.metadata_type.pk, + 'value': TEST_METADATA_VALUE + } + ) + self.assertEqual(response.status_code, 400) + self.assertEqual(response.data.keys()[0], 'non_field_errors') + + def test_document_metadata_delete_view(self): + self._create_document_metadata() + + response = self.client.delete( + reverse( + 'rest_api:documentmetadata-detail', + args=(self.document.pk, self.document_metadata.pk,) + ) + ) + + self.assertEqual(response.status_code, 204) + + self.assertEqual(self.document.metadata.all().count(), 0) + + def test_document_metadata_list_view(self): + self._create_document_metadata() + response = self.client.get( reverse( 'rest_api:documentmetadata-list', args=(self.document.pk,) @@ -281,56 +389,49 @@ class DocumentMetadataAPITestCase(BaseAPITestCase): self.assertEqual(response.status_code, 200) self.assertEqual( - response.data['results'][0]['document'], self.document.pk + response.data['results'][0]['document']['id'], self.document.pk ) self.assertEqual( - response.data['results'][0]['metadata_type'], self.metadata_type.pk + response.data['results'][0]['metadata_type']['id'], + self.metadata_type.pk ) self.assertEqual( response.data['results'][0]['value'], TEST_METADATA_VALUE ) self.assertEqual( - response.data['results'][0]['id'], document_metadata.pk + response.data['results'][0]['id'], self.document_metadata.pk ) - def test_document_metadata_edit(self): - document_metadata = self.document.metadata.create( - metadata_type=self.metadata_type, value=TEST_METADATA_VALUE - ) + def test_document_metadata_patch_view(self): + self._create_document_metadata() - response = self.client.put( + response = self.client.patch( reverse( 'rest_api:documentmetadata-detail', - args=(document_metadata.pk,) + args=(self.document.pk, self.document_metadata.pk,) ), data={ 'value': TEST_METADATA_VALUE_EDITED } ) self.assertEqual(response.status_code, 200) - - self.assertEqual( - response.data['document'], self.document.pk - ) - self.assertEqual( - response.data['metadata_type'], self.metadata_type.pk - ) self.assertEqual( response.data['value'], TEST_METADATA_VALUE_EDITED ) - def test_document_metadata_delete(self): - document_metadata = self.document.metadata.create( - metadata_type=self.metadata_type, value=TEST_METADATA_VALUE - ) + def test_document_metadata_put_view(self): + self._create_document_metadata() - response = self.client.delete( + response = self.client.put( reverse( 'rest_api:documentmetadata-detail', - args=(document_metadata.pk,) - ) + args=(self.document.pk, self.document_metadata.pk,) + ), data={ + 'value': TEST_METADATA_VALUE_EDITED + } ) - self.assertEqual(response.status_code, 204) - - self.assertEqual(self.document.metadata.all().count(), 0) + self.assertEqual(response.status_code, 200) + self.assertEqual( + response.data['value'], TEST_METADATA_VALUE_EDITED + ) diff --git a/mayan/apps/metadata/urls.py b/mayan/apps/metadata/urls.py index e317927bd1..658368c25e 100644 --- a/mayan/apps/metadata/urls.py +++ b/mayan/apps/metadata/urls.py @@ -4,10 +4,8 @@ from django.conf.urls import url from .api_views import ( APIDocumentMetadataListView, APIDocumentMetadataView, - APIDocumentTypeMetadataTypeOptionalListView, - APIDocumentTypeMetadataTypeRequiredListView, - APIDocumentTypeMetadataTypeView, APIMetadataTypeListView, - APIMetadataTypeView + APIDocumentTypeMetadataTypeListView, APIDocumentTypeMetadataTypeView, + APIMetadataTypeListView, APIMetadataTypeView ) from .views import ( DocumentMetadataAddView, DocumentMetadataEditView, @@ -82,30 +80,25 @@ api_urls = [ name='metadatatype-list' ), url( - r'^metadata_types/(?P[0-9]+)/$', APIMetadataTypeView.as_view(), - name='metadatatype-detail' + r'^metadata_types/(?P\d+)/$', + APIMetadataTypeView.as_view(), name='metadatatype-detail' ), url( - r'^document/metadata/(?P[0-9]+)/$', - APIDocumentMetadataView.as_view(), name='documentmetadata-detail' + r'^document_types/(?P\d+)/metadata_types/$', + APIDocumentTypeMetadataTypeListView.as_view(), + name='documenttypemetadatatype-list' ), url( - r'^document/(?P\d+)/metadata/$', - APIDocumentMetadataListView.as_view(), name='documentmetadata-list' - ), - url( - r'^document_type/(?P[0-9]+)/metadata_types/optional/$', - APIDocumentTypeMetadataTypeOptionalListView.as_view(), - name='documenttypeoptionalmetadatatype-list' - ), - url( - r'^document_type/(?P[0-9]+)/metadata_types/required/$', - APIDocumentTypeMetadataTypeRequiredListView.as_view(), - name='documenttyperequiredmetadatatype-list' - ), - url( - r'^document_type_metadata_type/(?P\d+)/$', + r'^document_types/(?P\d+)/metadata_types/(?P\d+)/$', APIDocumentTypeMetadataTypeView.as_view(), name='documenttypemetadatatype-detail' ), + url( + r'^documents/(?P\d+)/metadata/$', + APIDocumentMetadataListView.as_view(), name='documentmetadata-list' + ), + url( + r'^documents/(?P\d+)/metadata/(?P\d+)/$', + APIDocumentMetadataView.as_view(), name='documentmetadata-detail' + ), ] From 5e886d9eaf1ca91e9353256f96c2a91c5b86d8d9 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 23 Feb 2017 03:02:39 -0400 Subject: [PATCH 059/144] Add tool to launch all workflows. Already running workflows are unaffected. Closes GitLab issue #355. Signed-off-by: Roberto Rosario --- docs/releases/2.2.rst | 3 + mayan/apps/document_states/apps.py | 26 ++++++++- mayan/apps/document_states/links.py | 8 ++- mayan/apps/document_states/permissions.py | 3 + mayan/apps/document_states/tasks.py | 24 ++++++++ .../apps/document_states/tests/test_views.py | 57 +++++++++++++++++++ mayan/apps/document_states/urls.py | 9 ++- mayan/apps/document_states/views.py | 20 ++++++- 8 files changed, 142 insertions(+), 8 deletions(-) create mode 100644 mayan/apps/document_states/tasks.py diff --git a/docs/releases/2.2.rst b/docs/releases/2.2.rst index 81d969ebc4..d7e6895f72 100644 --- a/docs/releases/2.2.rst +++ b/docs/releases/2.2.rst @@ -119,6 +119,8 @@ Other changes - Testing for orphaned temporary files and orphaned file handles is now optional and controlled by the COMMON_TEST_FILE_HANDLES and COMMON_TEST_FILE_HANDLES settings. +- Add tool to launch all workflows. GitLab issue #355 + Removals -------- - Removal of the OCR_TESSERACT_PATH configuration setting. @@ -191,5 +193,6 @@ Bugs fixed or issues closed * `GitLab issue #328 `_ Upgrade Warning/Error during performupgrade (v2.1.3 to v2.1.4) * `GitLab issue #342 `_ Tags should be of unordered / unsorted data type * `GitLab issue #343 `_ Bootstrap's dependency on fonts.googleapis.com causes Mayan EDMS web interface load slowly if public internet is unreachable +* `GitLab issue #355 `_ Workflow changes only on new added documents .. _PyPI: https://pypi.python.org/pypi/mayan-edms/ diff --git a/mayan/apps/document_states/apps.py b/mayan/apps/document_states/apps.py index 706d7435d3..e2d2b55aef 100644 --- a/mayan/apps/document_states/apps.py +++ b/mayan/apps/document_states/apps.py @@ -4,11 +4,14 @@ from django.apps import apps from django.db.models.signals import post_save from django.utils.translation import ugettext_lazy as _ +from kombu import Exchange, Queue + from common import ( MayanAppConfig, menu_facet, menu_object, menu_secondary, menu_setup, - menu_sidebar + menu_sidebar, menu_tools ) from common.widgets import two_state_template +from mayan.celery import app from navigation import SourceColumn from rest_api.classes import APIEndPoint @@ -21,7 +24,8 @@ from .links import ( link_setup_workflow_state_delete, link_setup_workflow_state_edit, link_setup_workflow_transitions, link_setup_workflow_transition_create, link_setup_workflow_transition_delete, link_setup_workflow_transition_edit, - link_workflow_instance_detail, link_workflow_instance_transition + link_tool_launch_all_workflows, link_workflow_instance_detail, + link_workflow_instance_transition ) @@ -111,6 +115,23 @@ class DocumentStatesApp(MayanAppConfig): attribute='destination_state' ) + app.conf.CELERY_QUEUES.extend( + ( + Queue( + 'document_states', Exchange('document_states'), + routing_key='converter' + ), + ) + ) + + app.conf.CELERY_ROUTES.update( + { + 'document_states.tasks.task_launch_all_workflows': { + 'queue': 'document_states' + }, + } + ) + menu_facet.bind_links( links=(link_document_workflow_instance_list,), sources=(Document,) ) @@ -153,6 +174,7 @@ class DocumentStatesApp(MayanAppConfig): link_setup_workflow_transition_create ), sources=(Workflow,) ) + menu_tools.bind_links(links=(link_tool_launch_all_workflows,)) post_save.connect( launch_workflow, dispatch_uid='launch_workflow', sender=Document diff --git a/mayan/apps/document_states/links.py b/mayan/apps/document_states/links.py index f9a0e3bba3..4a3abbe7e1 100644 --- a/mayan/apps/document_states/links.py +++ b/mayan/apps/document_states/links.py @@ -7,7 +7,7 @@ from navigation import Link from .permissions import ( permission_workflow_create, permission_workflow_delete, permission_workflow_edit, permission_workflow_transition, - permission_workflow_view, + permission_workflow_tools, permission_workflow_view, ) link_document_workflow_instance_list = Link( @@ -71,6 +71,12 @@ link_setup_workflow_transitions = Link( permissions=(permission_workflow_view,), text=_('Transitions'), view='document_states:setup_workflow_transitions', args='object.pk' ) +link_tool_launch_all_workflows = Link( + icon='fa fa-sitemap', + permissions=(permission_workflow_tools,), + text=_('Launch all workflows'), + view='document_states:tool_launch_all_workflows' +) link_workflow_instance_detail = Link( permissions=(permission_workflow_view,), text=_('Detail'), view='document_states:workflow_instance_detail', args='resolved_object.pk' diff --git a/mayan/apps/document_states/permissions.py b/mayan/apps/document_states/permissions.py index 54ac90f282..470c196a41 100644 --- a/mayan/apps/document_states/permissions.py +++ b/mayan/apps/document_states/permissions.py @@ -24,3 +24,6 @@ permission_workflow_view = namespace.add_permission( permission_workflow_transition = namespace.add_permission( name='workflow_transition', label=_('Transition workflows') ) +permission_workflow_tools = namespace.add_permission( + name='workflow_tools', label=_('Execute workflow tools') +) diff --git a/mayan/apps/document_states/tasks.py b/mayan/apps/document_states/tasks.py new file mode 100644 index 0000000000..ec550c27b3 --- /dev/null +++ b/mayan/apps/document_states/tasks.py @@ -0,0 +1,24 @@ +from __future__ import unicode_literals + +import logging + +from django.apps import apps + +from mayan.celery import app + +logger = logging.getLogger(__name__) + + +@app.task(ignore_result=True) +def task_launch_all_workflows(): + Document = apps.get_model(app_label='documents', model_name='Document') + Workflow = apps.get_model( + app_label='document_states', model_name='Workflow' + ) + + logger.info('Start launching workflows') + for document in Document.objects.all(): + print 'document :', document + Workflow.objects.launch_for(document=document) + + logger.info('Finished launching workflows') diff --git a/mayan/apps/document_states/tests/test_views.py b/mayan/apps/document_states/tests/test_views.py index 251f127f21..a15faab40a 100644 --- a/mayan/apps/document_states/tests/test_views.py +++ b/mayan/apps/document_states/tests/test_views.py @@ -1,8 +1,10 @@ from __future__ import unicode_literals from common.tests.test_views import GenericViewTestCase +from documents.tests.test_views import GenericDocumentViewTestCase from ..models import Workflow, WorkflowState, WorkflowTransition +from ..permissions import permission_workflow_tools from .literals import ( TEST_WORKFLOW_LABEL, TEST_WORKFLOW_INITIAL_STATE_LABEL, @@ -149,3 +151,58 @@ class DocumentStateViewTestCase(GenericViewTestCase): self.assertEquals(WorkflowState.objects.count(), 2) self.assertEquals(Workflow.objects.count(), 1) self.assertEquals(WorkflowTransition.objects.count(), 0) + + +class DocumentStateToolViewTestCase(GenericDocumentViewTestCase): + def _create_workflow(self): + self.workflow = Workflow.objects.create(label=TEST_WORKFLOW_LABEL) + self.workflow.document_types.add(self.document_type) + + def _create_workflow_states(self): + self._create_workflow() + self.workflow_state_1 = self.workflow.states.create( + completion=TEST_WORKFLOW_INITIAL_STATE_COMPLETION, + initial=True, label=TEST_WORKFLOW_INITIAL_STATE_LABEL + ) + self.workflow_state_2 = self.workflow.states.create( + completion=TEST_WORKFLOW_STATE_COMPLETION, + label=TEST_WORKFLOW_STATE_LABEL + ) + + def _create_workflow_transition(self): + self._create_workflow_states() + self.workflow_transition = self.workflow.transitions.create( + label=TEST_WORKFLOW_TRANSITION_LABEL, + origin_state=self.workflow_state_1, + destination_state=self.workflow_state_2, + ) + + def test_tool_launch_all_workflows_view_no_permission(self): + self._create_workflow_transition() + + self.login_user() + + self.assertEqual(self.document.workflows.count(), 0) + + response = self.post( + 'document_states:tool_launch_all_workflows', + ) + self.assertEqual(response.status_code, 403) + self.assertEqual(self.document.workflows.count(), 0) + + def test_tool_launch_all_workflows_view_with_permission(self): + self._create_workflow_transition() + + self.login_user() + self.grant(permission_workflow_tools) + + self.assertEqual(self.document.workflows.count(), 0) + + response = self.post( + 'document_states:tool_launch_all_workflows', + ) + self.assertEqual(response.status_code, 200) + + self.assertEqual( + self.document.workflows.first().workflow, self.workflow + ) diff --git a/mayan/apps/document_states/urls.py b/mayan/apps/document_states/urls.py index b2dacd6293..8b54a58748 100644 --- a/mayan/apps/document_states/urls.py +++ b/mayan/apps/document_states/urls.py @@ -17,8 +17,8 @@ from .views import ( SetupWorkflowStateEditView, SetupWorkflowStateListView, SetupWorkflowTransitionListView, SetupWorkflowTransitionCreateView, SetupWorkflowTransitionDeleteView, SetupWorkflowTransitionEditView, - WorkflowDocumentListView, WorkflowInstanceDetailView, - WorkflowInstanceTransitionView + ToolLaunchAllWorkflows, WorkflowDocumentListView, + WorkflowInstanceDetailView, WorkflowInstanceTransitionView ) urlpatterns = [ @@ -102,6 +102,11 @@ urlpatterns = [ SetupWorkflowTransitionEditView.as_view(), name='setup_workflow_transition_edit' ), + url( + r'^tools/workflow/all/launch/$', + ToolLaunchAllWorkflows.as_view(), + name='tool_launch_all_workflows' + ), ] api_urls = [ diff --git a/mayan/apps/document_states/views.py b/mayan/apps/document_states/views.py index c63ac0f777..d951a25298 100644 --- a/mayan/apps/document_states/views.py +++ b/mayan/apps/document_states/views.py @@ -10,8 +10,8 @@ from django.views.generic import FormView from acls.models import AccessControlList from common.views import ( - AssignRemoveView, SingleObjectCreateView, SingleObjectDeleteView, - SingleObjectEditView, SingleObjectListView + AssignRemoveView, ConfirmView, SingleObjectCreateView, + SingleObjectDeleteView, SingleObjectEditView, SingleObjectListView ) from documents.models import Document from documents.views import DocumentListView @@ -24,8 +24,9 @@ from .models import Workflow, WorkflowInstance, WorkflowState, WorkflowTransitio from .permissions import ( permission_workflow_create, permission_workflow_delete, permission_workflow_edit, permission_workflow_transition, - permission_workflow_view, + permission_workflow_tools, permission_workflow_view, ) +from .tasks import task_launch_all_workflows class DocumentWorkflowInstanceListView(SingleObjectListView): @@ -429,3 +430,16 @@ class SetupWorkflowTransitionEditView(SingleObjectEditView): 'document_states:setup_workflow_transitions', args=(self.get_object().workflow.pk,) ) + + +class ToolLaunchAllWorkflows(ConfirmView): + extra_context = { + 'title': _('Launch all workflows?') + } + view_permission = permission_workflow_tools + + def view_action(self): + task_launch_all_workflows.apply_async() + messages.success( + self.request, _('Workflow launch queued successfully.') + ) From dd63bf3c7c02b65cc84f561757df086c093dbd60 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 23 Feb 2017 04:07:05 -0400 Subject: [PATCH 060/144] Fix key name typo in document page image generation. Signed-off-by: Roberto Rosario --- mayan/apps/documents/api_views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mayan/apps/documents/api_views.py b/mayan/apps/documents/api_views.py index e2430e4854..ea2d460cd1 100644 --- a/mayan/apps/documents/api_views.py +++ b/mayan/apps/documents/api_views.py @@ -294,7 +294,7 @@ class APIDocumentPageImageView(generics.RetrieveAPIView): task = task_generate_document_page_image.apply_async( kwargs=dict( - document_page_id=self.kwargs['pk'], size=size, zoom=zoom, + document_page_id=self.kwargs['page_pk'], size=size, zoom=zoom, rotation=rotation ) ) From 803d56ccf79a29a3092085b1a106d26204725152 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 23 Feb 2017 05:35:52 -0400 Subject: [PATCH 061/144] Add missing 'hide_columns' condition in the list sub template. Signed-off-by: Roberto Rosario --- .../templates/appearance/generic_list_subtemplate.html | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mayan/apps/appearance/templates/appearance/generic_list_subtemplate.html b/mayan/apps/appearance/templates/appearance/generic_list_subtemplate.html index 00a734328e..6219bf1240 100644 --- a/mayan/apps/appearance/templates/appearance/generic_list_subtemplate.html +++ b/mayan/apps/appearance/templates/appearance/generic_list_subtemplate.html @@ -53,9 +53,11 @@ {% trans 'Identifier' %} {% endif %} - {% for column in object_list|get_source_columns %} - {{ column.label }} - {% endfor %} + {% if not hide_columns %} + {% for column in object_list|get_source_columns %} + {{ column.label }} + {% endfor %} + {% endif %} {% for column in extra_columns %} {{ column.name }} From d2ead4e1fb09ac902823d9b2e67f5629df3d18bd Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 23 Feb 2017 05:36:33 -0400 Subject: [PATCH 062/144] Add view to list documents by their workflow and by their current workflow state. Signed-off-by: Roberto Rosario --- docs/releases/2.2.rst | 2 + mayan/apps/document_states/apps.py | 27 ++++- mayan/apps/document_states/links.py | 18 ++++ mayan/apps/document_states/models.py | 17 +++ mayan/apps/document_states/urls.py | 24 ++++- mayan/apps/document_states/views.py | 149 ++++++++++++++++++++++----- 6 files changed, 205 insertions(+), 32 deletions(-) diff --git a/docs/releases/2.2.rst b/docs/releases/2.2.rst index d7e6895f72..62d15f9213 100644 --- a/docs/releases/2.2.rst +++ b/docs/releases/2.2.rst @@ -120,6 +120,8 @@ Other changes controlled by the COMMON_TEST_FILE_HANDLES and COMMON_TEST_FILE_HANDLES settings. - Add tool to launch all workflows. GitLab issue #355 +- New workflow view that lists documents currently executing a workflow and + documents by their specific current workflow state. Removals -------- diff --git a/mayan/apps/document_states/apps.py b/mayan/apps/document_states/apps.py index e2d2b55aef..b4c1a01c21 100644 --- a/mayan/apps/document_states/apps.py +++ b/mayan/apps/document_states/apps.py @@ -7,8 +7,8 @@ from django.utils.translation import ugettext_lazy as _ from kombu import Exchange, Queue from common import ( - MayanAppConfig, menu_facet, menu_object, menu_secondary, menu_setup, - menu_sidebar, menu_tools + MayanAppConfig, menu_facet, menu_main, menu_object, menu_secondary, + menu_setup, menu_sidebar, menu_tools ) from common.widgets import two_state_template from mayan.celery import app @@ -25,7 +25,9 @@ from .links import ( link_setup_workflow_transitions, link_setup_workflow_transition_create, link_setup_workflow_transition_delete, link_setup_workflow_transition_edit, link_tool_launch_all_workflows, link_workflow_instance_detail, - link_workflow_instance_transition + link_workflow_instance_transition, link_workflow_document_list, + link_workflow_list, link_workflow_state_document_list, + link_workflow_state_list ) @@ -47,7 +49,9 @@ class DocumentStatesApp(MayanAppConfig): Workflow = self.get_model('Workflow') WorkflowInstance = self.get_model('WorkflowInstance') WorkflowInstanceLogEntry = self.get_model('WorkflowInstanceLogEntry') + WorkflowRuntimeProxy = self.get_model('WorkflowRuntimeProxy') WorkflowState = self.get_model('WorkflowState') + WorkflowStateRuntimeProxy = self.get_model('WorkflowStateRuntimeProxy') WorkflowTransition = self.get_model('WorkflowTransition') SourceColumn( @@ -135,6 +139,7 @@ class DocumentStatesApp(MayanAppConfig): menu_facet.bind_links( links=(link_document_workflow_instance_list,), sources=(Document,) ) + menu_main.bind_links(links=(link_workflow_list,), position=10) menu_object.bind_links( links=( link_setup_workflow_states, link_setup_workflow_transitions, @@ -160,6 +165,16 @@ class DocumentStatesApp(MayanAppConfig): link_workflow_instance_transition ), sources=(WorkflowInstance,) ) + menu_object.bind_links( + links=( + link_workflow_document_list, link_workflow_state_list, + ), sources=(WorkflowRuntimeProxy,) + ) + menu_object.bind_links( + links=( + link_workflow_state_document_list, + ), sources=(WorkflowStateRuntimeProxy,) + ) menu_secondary.bind_links( links=(link_setup_workflow_list, link_setup_workflow_create), sources=( @@ -167,6 +182,12 @@ class DocumentStatesApp(MayanAppConfig): 'document_states:setup_workflow_list' ) ) + menu_secondary.bind_links( + links=(link_workflow_list,), + sources=( + WorkflowRuntimeProxy, + ) + ) menu_setup.bind_links(links=(link_setup_workflow_list,)) menu_sidebar.bind_links( links=( diff --git a/mayan/apps/document_states/links.py b/mayan/apps/document_states/links.py index 4a3abbe7e1..fcef813012 100644 --- a/mayan/apps/document_states/links.py +++ b/mayan/apps/document_states/links.py @@ -86,3 +86,21 @@ link_workflow_instance_transition = Link( view='document_states:workflow_instance_transition', args='resolved_object.pk' ) +link_workflow_document_list = Link( + permissions=(permission_workflow_view,), text=_('Workflow documents'), + view='document_states:workflow_document_list', args='resolved_object.pk' +) +link_workflow_list = Link( + permissions=(permission_workflow_view,), icon='fa fa-sitemap', + text=_('Workflows'), view='document_states:workflow_list' +) +link_workflow_state_document_list = Link( + permissions=(permission_workflow_view,), + text=_('State documents'), view='document_states:workflow_state_document_list', + args='resolved_object.pk' +) +link_workflow_state_list = Link( + permissions=(permission_workflow_view,), + text=_('States'), view='document_states:workflow_state_list', + args='resolved_object.pk' +) diff --git a/mayan/apps/document_states/models.py b/mayan/apps/document_states/models.py index 203b29574f..41fcd55907 100644 --- a/mayan/apps/document_states/models.py +++ b/mayan/apps/document_states/models.py @@ -56,6 +56,7 @@ class Workflow(models.Model): ) class Meta: + ordering = ('label',) verbose_name = _('Workflow') verbose_name_plural = _('Workflows') @@ -89,6 +90,7 @@ class WorkflowState(models.Model): return super(WorkflowState, self).save(*args, **kwargs) class Meta: + ordering = ('label',) unique_together = ('workflow', 'label') verbose_name = _('Workflow state') verbose_name_plural = _('Workflow states') @@ -114,6 +116,7 @@ class WorkflowTransition(models.Model): return self.label class Meta: + ordering = ('label',) unique_together = ( 'workflow', 'label', 'origin_state', 'destination_state' ) @@ -211,3 +214,17 @@ class WorkflowInstanceLogEntry(models.Model): def clean(self): if self.transition not in self.workflow_instance.get_transition_choices(): raise ValidationError(_('Not a valid transition choice.')) + + +class WorkflowRuntimeProxy(Workflow): + class Meta: + proxy = True + verbose_name = _('Workflow runtime proxy') + verbose_name_plural = _('Workflow runtime proxies') + + +class WorkflowStateRuntimeProxy(WorkflowState): + class Meta: + proxy = True + verbose_name = _('Workflow state runtime proxy') + verbose_name_plural = _('Workflow state runtime proxies') diff --git a/mayan/apps/document_states/urls.py b/mayan/apps/document_states/urls.py index 8b54a58748..e6217a66cf 100644 --- a/mayan/apps/document_states/urls.py +++ b/mayan/apps/document_states/urls.py @@ -18,7 +18,8 @@ from .views import ( SetupWorkflowTransitionListView, SetupWorkflowTransitionCreateView, SetupWorkflowTransitionDeleteView, SetupWorkflowTransitionEditView, ToolLaunchAllWorkflows, WorkflowDocumentListView, - WorkflowInstanceDetailView, WorkflowInstanceTransitionView + WorkflowInstanceDetailView, WorkflowInstanceTransitionView, + WorkflowListView, WorkflowStateDocumentListView, WorkflowStateListView ) urlpatterns = [ @@ -107,6 +108,27 @@ urlpatterns = [ ToolLaunchAllWorkflows.as_view(), name='tool_launch_all_workflows' ), + url( + r'all/$', + WorkflowListView.as_view(), + name='workflow_list' + ), + url( + r'^(?P\d+)/documents/$', + WorkflowDocumentListView.as_view(), + name='workflow_document_list' + ), + + url( + r'^(?P\d+)/states/$', + WorkflowStateListView.as_view(), + name='workflow_state_list' + ), + url( + r'^state/(?P\d+)/documents/$', + WorkflowStateDocumentListView.as_view(), + name='workflow_state_document_list' + ), ] api_urls = [ diff --git a/mayan/apps/document_states/views.py b/mayan/apps/document_states/views.py index d951a25298..d343eabd90 100644 --- a/mayan/apps/document_states/views.py +++ b/mayan/apps/document_states/views.py @@ -2,6 +2,7 @@ from __future__ import absolute_import, unicode_literals from django.contrib import messages from django.core.urlresolvers import reverse, reverse_lazy +from django.db.models import F, Max from django.db.utils import IntegrityError from django.http import HttpResponseRedirect from django.shortcuts import get_object_or_404 @@ -20,7 +21,10 @@ from .forms import ( WorkflowForm, WorkflowInstanceTransitionForm, WorkflowStateForm, WorkflowTransitionForm ) -from .models import Workflow, WorkflowInstance, WorkflowState, WorkflowTransition +from .models import ( + Workflow, WorkflowInstance, WorkflowInstanceLogEntry, WorkflowState, + WorkflowTransition, WorkflowRuntimeProxy, WorkflowStateRuntimeProxy +) from .permissions import ( permission_workflow_create, permission_workflow_delete, permission_workflow_edit, permission_workflow_transition, @@ -56,36 +60,10 @@ class DocumentWorkflowInstanceListView(SingleObjectListView): return self.get_document().workflows.all() -class WorkflowDocumentListView(DocumentListView): - def dispatch(self, request, *args, **kwargs): - self.workflow = get_object_or_404(Workflow, pk=self.kwargs['pk']) - - AccessControlList.objects.check_access( - permissions=permission_workflow_view, user=request.user, - obj=self.workflow - ) - - return super( - WorkflowDocumentListView, self - ).dispatch(request, *args, **kwargs) - - def get_document_queryset(self): - return Document.objects.filter( - document_type__in=self.workflow.document_types.all() - ) - - def get_extra_context(self): - return { - 'hide_links': True, - 'object': self.workflow, - 'title': _('Documents with the workflow: %s') % self.workflow - } - - class WorkflowInstanceDetailView(SingleObjectListView): def dispatch(self, request, *args, **kwargs): AccessControlList.objects.check_access( - permissions=permission_workflow_view, users=request.user, + permissions=permission_workflow_view, user=request.user, obj=self.get_workflow_instance().document ) @@ -432,6 +410,121 @@ class SetupWorkflowTransitionEditView(SingleObjectEditView): ) +class WorkflowListView(SingleObjectListView): + view_permission = permission_workflow_view + + def get_queryset(self): + return WorkflowRuntimeProxy.objects.all() + + def get_extra_context(self): + return { + 'hide_link': True, + 'title': _('Workflows') + } + + +class WorkflowDocumentListView(DocumentListView): + def dispatch(self, request, *args, **kwargs): + self.workflow = get_object_or_404( + WorkflowRuntimeProxy, pk=self.kwargs['pk'] + ) + + AccessControlList.objects.check_access( + permissions=permission_workflow_view, user=request.user, + obj=self.workflow + ) + + return super( + WorkflowDocumentListView, self + ).dispatch(request, *args, **kwargs) + + def get_document_queryset(self): + return Document.objects.filter(workflows__workflow=self.workflow) + + def get_extra_context(self): + return { + 'hide_links': True, + 'object': self.workflow, + 'title': _('Documents with the workflow: %s') % self.workflow + } + + +class WorkflowStateDocumentListView(DocumentListView): + def dispatch(self, request, *args, **kwargs): + self.workflow_state = get_object_or_404( + WorkflowStateRuntimeProxy, pk=self.kwargs['pk'] + ) + + AccessControlList.objects.check_access( + permissions=permission_workflow_view, user=request.user, + obj=self.workflow_state.workflow + ) + + return super( + WorkflowStateDocumentListView, self + ).dispatch(request, *args, **kwargs) + + def get_document_queryset(self): + latest_entries = WorkflowInstanceLogEntry.objects.annotate( + max_datetime=Max( + 'workflow_instance__log_entries__datetime' + ) + ).filter( + datetime=F('max_datetime') + ) + + state_latest_entries = latest_entries.filter( + transition__destination_state=self.workflow_state + ) + + return Document.objects.filter( + workflows__pk__in=state_latest_entries.values_list( + 'workflow_instance', flat=True + ) + ) + + def get_extra_context(self): + return { + 'hide_links': True, + 'object': self.workflow_state, + 'navigation_object_list': ('object', 'workflow'), + 'workflow': WorkflowRuntimeProxy.objects.get( + pk=self.workflow_state.workflow.pk + ), + 'title': _( + 'Documents in the workflow "%s", state "%s"' + ) % (self.workflow_state.workflow, self.workflow_state) + } + + +class WorkflowStateListView(SingleObjectListView): + def dispatch(self, request, *args, **kwargs): + AccessControlList.objects.check_access( + permissions=permission_workflow_view, user=request.user, + obj=self.get_workflow() + ) + + return super( + WorkflowStateListView, self + ).dispatch(request, *args, **kwargs) + + def get_extra_context(self): + return { + 'hide_columns': True, + 'hide_link': True, + 'object': self.get_workflow(), + 'title': _('States of workflow: %s') % self.get_workflow() + } + + def get_queryset(self): + return WorkflowStateRuntimeProxy.objects.filter( + workflow=self.get_workflow() + ) + + def get_workflow(self): + return get_object_or_404(WorkflowRuntimeProxy, pk=self.kwargs['pk']) + + class ToolLaunchAllWorkflows(ConfirmView): extra_context = { 'title': _('Launch all workflows?') From 6e75cba4c71cff46f4970521ff2398990fcb2a96 Mon Sep 17 00:00:00 2001 From: Roger Hunwicks Date: Thu, 23 Feb 2017 16:22:21 +0200 Subject: [PATCH 063/144] More detailed logging for permissions checks - see #321 --- mayan/apps/acls/managers.py | 23 +++++++++++++++++++++++ mayan/apps/permissions/classes.py | 5 +++-- mayan/apps/permissions/models.py | 12 ++++++++++-- 3 files changed, 36 insertions(+), 4 deletions(-) diff --git a/mayan/apps/acls/managers.py b/mayan/apps/acls/managers.py index e9bbb88b5b..20c00391e9 100644 --- a/mayan/apps/acls/managers.py +++ b/mayan/apps/acls/managers.py @@ -48,6 +48,10 @@ class AccessControlListManager(models.Manager): def check_access(self, permissions, user, obj, related=None): if user.is_superuser or user.is_staff: + logger.debug('Permissions "%s" on "%s" granted to user "%s" as superuser or staff', + permissions, + obj, + user) return True try: @@ -77,15 +81,31 @@ class AccessControlListManager(models.Manager): for group in user.groups.all(): for role in group.roles.all(): if set(stored_permissions).intersection(set(self.get_inherited_permissions(role=role, obj=obj))): + logger.debug('Permissions "%s" on "%s" granted to user "%s" through role "%s" via inherited ACL', + permissions, + obj, + user, + role) return True user_roles.append(role) if not self.filter(content_type=ContentType.objects.get_for_model(obj), object_id=obj.pk, permissions__in=stored_permissions, role__in=user_roles).exists(): + logger.debug('Permissions "%s" on "%s" denied for user "%s"', + permissions, + obj, + user) raise PermissionDenied(ugettext('Insufficient access.')) + logger.debug('Permissions "%s" on "%s" granted to user "%s" through roles "%s" by direct ACL', + permissions, + obj, + user, + user_roles) def filter_by_access(self, permission, user, queryset): if user.is_superuser or user.is_staff: + logger.debug('Unfiltered queryset returned to user "%s" as superuser or staff', + user) return queryset user_roles = [] @@ -124,5 +144,8 @@ class AccessControlListManager(models.Manager): content_type=content_type, role__in=user_roles, permissions=permission.stored_permission ).values_list('object_id', flat=True)) + logger.debug('Filtered queryset returned to user "%s" based on roles "%s"', + user, + user_roles) return queryset.filter(parent_acl_query | acl_query) diff --git a/mayan/apps/permissions/classes.py b/mayan/apps/permissions/classes.py index 0de231d8b0..e1655484a5 100644 --- a/mayan/apps/permissions/classes.py +++ b/mayan/apps/permissions/classes.py @@ -61,8 +61,9 @@ class Permission(object): if permission.stored_permission.requester_has_this(requester): return True - logger.debug('no permission') - + logger.debug('User "%s" does not have permissions "%s"', + requester, + permissions) raise PermissionDenied(_('Insufficient permissions.')) @classmethod diff --git a/mayan/apps/permissions/models.py b/mayan/apps/permissions/models.py index af35e599ea..9182e57094 100644 --- a/mayan/apps/permissions/models.py +++ b/mayan/apps/permissions/models.py @@ -46,17 +46,25 @@ class StoredPermission(models.Model): verbose_name_plural = _('Permissions') def requester_has_this(self, user): - logger.debug('user: %s', user) if user.is_superuser or user.is_staff: + logger.debug('Permission "%s" granted to user "%s" as superuser or staff', + self, + user) return True # Request is one of the permission's holders? for group in user.groups.all(): for role in group.roles.all(): if self in role.permissions.all(): + logger.debug('Permission "%s" granted to user "%s" through role "%s"', + self, + user, + role) return True - logger.debug('Fallthru') + logger.debug('Fallthru: Permission "%s" not granted to user "%s"', + self, + user) return False From ed0145cc1c41126614be9a9800733b0949e9fbba Mon Sep 17 00:00:00 2001 From: Roger Hunwicks Date: Thu, 23 Feb 2017 16:22:21 +0200 Subject: [PATCH 064/144] More detailed logging for permissions checks - see #321 Signed-off-by: Roger Hunwicks --- mayan/apps/acls/managers.py | 23 +++++++++++++++++++++++ mayan/apps/permissions/classes.py | 5 +++-- mayan/apps/permissions/models.py | 12 ++++++++++-- 3 files changed, 36 insertions(+), 4 deletions(-) diff --git a/mayan/apps/acls/managers.py b/mayan/apps/acls/managers.py index e9bbb88b5b..20c00391e9 100644 --- a/mayan/apps/acls/managers.py +++ b/mayan/apps/acls/managers.py @@ -48,6 +48,10 @@ class AccessControlListManager(models.Manager): def check_access(self, permissions, user, obj, related=None): if user.is_superuser or user.is_staff: + logger.debug('Permissions "%s" on "%s" granted to user "%s" as superuser or staff', + permissions, + obj, + user) return True try: @@ -77,15 +81,31 @@ class AccessControlListManager(models.Manager): for group in user.groups.all(): for role in group.roles.all(): if set(stored_permissions).intersection(set(self.get_inherited_permissions(role=role, obj=obj))): + logger.debug('Permissions "%s" on "%s" granted to user "%s" through role "%s" via inherited ACL', + permissions, + obj, + user, + role) return True user_roles.append(role) if not self.filter(content_type=ContentType.objects.get_for_model(obj), object_id=obj.pk, permissions__in=stored_permissions, role__in=user_roles).exists(): + logger.debug('Permissions "%s" on "%s" denied for user "%s"', + permissions, + obj, + user) raise PermissionDenied(ugettext('Insufficient access.')) + logger.debug('Permissions "%s" on "%s" granted to user "%s" through roles "%s" by direct ACL', + permissions, + obj, + user, + user_roles) def filter_by_access(self, permission, user, queryset): if user.is_superuser or user.is_staff: + logger.debug('Unfiltered queryset returned to user "%s" as superuser or staff', + user) return queryset user_roles = [] @@ -124,5 +144,8 @@ class AccessControlListManager(models.Manager): content_type=content_type, role__in=user_roles, permissions=permission.stored_permission ).values_list('object_id', flat=True)) + logger.debug('Filtered queryset returned to user "%s" based on roles "%s"', + user, + user_roles) return queryset.filter(parent_acl_query | acl_query) diff --git a/mayan/apps/permissions/classes.py b/mayan/apps/permissions/classes.py index 0de231d8b0..e1655484a5 100644 --- a/mayan/apps/permissions/classes.py +++ b/mayan/apps/permissions/classes.py @@ -61,8 +61,9 @@ class Permission(object): if permission.stored_permission.requester_has_this(requester): return True - logger.debug('no permission') - + logger.debug('User "%s" does not have permissions "%s"', + requester, + permissions) raise PermissionDenied(_('Insufficient permissions.')) @classmethod diff --git a/mayan/apps/permissions/models.py b/mayan/apps/permissions/models.py index af35e599ea..9182e57094 100644 --- a/mayan/apps/permissions/models.py +++ b/mayan/apps/permissions/models.py @@ -46,17 +46,25 @@ class StoredPermission(models.Model): verbose_name_plural = _('Permissions') def requester_has_this(self, user): - logger.debug('user: %s', user) if user.is_superuser or user.is_staff: + logger.debug('Permission "%s" granted to user "%s" as superuser or staff', + self, + user) return True # Request is one of the permission's holders? for group in user.groups.all(): for role in group.roles.all(): if self in role.permissions.all(): + logger.debug('Permission "%s" granted to user "%s" through role "%s"', + self, + user, + role) return True - logger.debug('Fallthru') + logger.debug('Fallthru: Permission "%s" not granted to user "%s"', + self, + user) return False From 976e6d552f24aa6566186dbde8777e3374446f42 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 23 Feb 2017 13:24:55 -0400 Subject: [PATCH 065/144] Turn off permission checking for the workflow transition link to allow it to display even when users have been granted the transition permission to only a few transitions and no for the whole workflow itself. GitLab issue #321. cc: @roger.hunwicks Signed-off-by: Roberto Rosario --- mayan/apps/document_states/links.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mayan/apps/document_states/links.py b/mayan/apps/document_states/links.py index f9a0e3bba3..3165b3329c 100644 --- a/mayan/apps/document_states/links.py +++ b/mayan/apps/document_states/links.py @@ -76,7 +76,7 @@ link_workflow_instance_detail = Link( view='document_states:workflow_instance_detail', args='resolved_object.pk' ) link_workflow_instance_transition = Link( - permissions=(permission_workflow_transition,), text=_('Transition'), + text=_('Transition'), view='document_states:workflow_instance_transition', args='resolved_object.pk' ) From 01c2e262ebfd8005083c9391f2ca8c3e21a8f52e Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 23 Feb 2017 20:06:24 -0400 Subject: [PATCH 066/144] Ignore LibreOffice fontconfig cache dir when testing for orphan temporary files. Signed-off-by: Roberto Rosario --- mayan/apps/common/tests/mixins.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mayan/apps/common/tests/mixins.py b/mayan/apps/common/tests/mixins.py index d5bfaf2e31..e202cf3883 100644 --- a/mayan/apps/common/tests/mixins.py +++ b/mayan/apps/common/tests/mixins.py @@ -34,7 +34,8 @@ class ContentTypeCheckMixin(object): class TempfileCheckMixin(object): # Ignore the jvmstat instrumentation and GitLab's CI .config files - ignore_globs = ('hsperfdata_*', '.config') + # Ignore LibreOffice fontconfig cache dir + ignore_globs = ('hsperfdata_*', '.config', '.cache') def _get_temporary_entries(self): ignored_result = [] From dda2bfd7a830216fa945e25dc63b2fe423501607 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 23 Feb 2017 23:38:49 -0400 Subject: [PATCH 067/144] Move transition ACLs filtering from the form to the model. This way it is usable from many places without duplication. Signed-off-by: Roberto Rosario --- mayan/apps/document_states/forms.py | 26 ++--------------- mayan/apps/document_states/models.py | 43 ++++++++++++++++++++++++---- 2 files changed, 41 insertions(+), 28 deletions(-) diff --git a/mayan/apps/document_states/forms.py b/mayan/apps/document_states/forms.py index ed1687296f..7d0f202a8f 100644 --- a/mayan/apps/document_states/forms.py +++ b/mayan/apps/document_states/forms.py @@ -40,29 +40,9 @@ class WorkflowInstanceTransitionForm(forms.Form): user = kwargs.pop('user') workflow_instance = kwargs.pop('workflow_instance') super(WorkflowInstanceTransitionForm, self).__init__(*args, **kwargs) - queryset = workflow_instance.get_transition_choices().all() - - try: - Permission.check_permissions( - requester=user, permissions=(permission_workflow_transition,) - ) - except PermissionDenied: - try: - # Check for ACL access to the workflow, if true, allow all - # transition options. - AccessControlList.objects.check_access( - permissions=permission_workflow_transition, user=user, - obj=workflow_instance.workflow - ) - except PermissionDenied: - # If not ACL access to the workflow, filter transition options - # by each transition ACL access - queryset = AccessControlList.objects.filter_by_access( - permission=permission_workflow_transition, user=user, - queryset=queryset - ) - - self.fields['transition'].queryset = queryset + self.fields[ + 'transition' + ].queryset = workflow_instance.get_transition_choices(_user=user) transition = forms.ModelChoiceField( label=_('Transition'), queryset=WorkflowTransition.objects.none() diff --git a/mayan/apps/document_states/models.py b/mayan/apps/document_states/models.py index 203b29574f..6963d07751 100644 --- a/mayan/apps/document_states/models.py +++ b/mayan/apps/document_states/models.py @@ -1,17 +1,20 @@ -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals import logging from django.conf import settings -from django.core.exceptions import ValidationError +from django.core.exceptions import PermissionDenied, ValidationError from django.core.urlresolvers import reverse from django.db import IntegrityError, models from django.utils.encoding import python_2_unicode_compatible from django.utils.translation import ugettext_lazy as _ +from acls.models import AccessControlList from documents.models import Document, DocumentType +from permissions import Permission from .managers import WorkflowManager +from .permissions import permission_workflow_transition logger = logging.getLogger(__name__) @@ -166,11 +169,41 @@ class WorkflowInstance(models.Model): except AttributeError: return None - def get_transition_choices(self): + def get_transition_choices(self, _user=None): current_state = self.get_current_state() if current_state: - return current_state.origin_transitions.all() + queryset = current_state.origin_transitions.all() + + if _user: + try: + Permission.check_permissions( + requester=_user, permissions=( + permission_workflow_transition, + ) + ) + except PermissionDenied: + try: + """ + Check for ACL access to the workflow, if true, allow + all transition options. + """ + + AccessControlList.objects.check_access( + permissions=permission_workflow_transition, + user=_user, obj=self.workflow + ) + except PermissionDenied: + """ + If not ACL access to the workflow, filter transition + options by each transition ACL access + """ + + queryset = AccessControlList.objects.filter_by_access( + permission=permission_workflow_transition, + user=_user, queryset=queryset + ) + return queryset else: """ This happens when a workflow has no initial state and a document @@ -209,5 +242,5 @@ class WorkflowInstanceLogEntry(models.Model): verbose_name_plural = _('Workflow instance log entries') def clean(self): - if self.transition not in self.workflow_instance.get_transition_choices(): + if self.transition not in self.workflow_instance.get_transition_choices(_user=self.user): raise ValidationError(_('Not a valid transition choice.')) From 206776441c5c4854c3768a8215f0eb6c20720a6a Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 23 Feb 2017 23:40:10 -0400 Subject: [PATCH 068/144] Add transition ACLs support to the API view and serializer. Signed-off-by: Roberto Rosario --- mayan/apps/document_states/api_views.py | 32 ++-- mayan/apps/document_states/serializers.py | 35 ++-- mayan/apps/document_states/tests/test_api.py | 164 ++++++++++++++++++- 3 files changed, 197 insertions(+), 34 deletions(-) diff --git a/mayan/apps/document_states/api_views.py b/mayan/apps/document_states/api_views.py index 08a1e55d43..4440effedf 100644 --- a/mayan/apps/document_states/api_views.py +++ b/mayan/apps/document_states/api_views.py @@ -590,21 +590,27 @@ class APIWorkflowInstanceLogEntryListView(generics.ListCreateAPIView): ) def get_document(self): - if self.request.method == 'GET': - permission_required = permission_workflow_view - else: - permission_required = permission_workflow_transition - document = get_object_or_404(Document, pk=self.kwargs['pk']) - try: - Permission.check_permissions( - self.request.user, (permission_required,) - ) - except PermissionDenied: - AccessControlList.objects.check_access( - permission_required, self.request.user, document - ) + if self.request.method == 'GET': + """ + Only test for permission if reading. If writing, the permission + will be checked in the serializer + + IMPROVEMENT: + When writing, add check for permission or ACL for the workflow. + Failing that, check for ACLs for any of the workflow's transitions. + Failing that, then raise PermissionDenied + """ + + try: + Permission.check_permissions( + self.request.user, (permission_workflow_view,) + ) + except PermissionDenied: + AccessControlList.objects.check_access( + permission_workflow_view, self.request.user, document + ) return document diff --git a/mayan/apps/document_states/serializers.py b/mayan/apps/document_states/serializers.py index 4193a46104..3a0daf4ab2 100644 --- a/mayan/apps/document_states/serializers.py +++ b/mayan/apps/document_states/serializers.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals +from django.core.exceptions import ValidationError as DjangoValidationError from django.utils.translation import ugettext_lazy as _ from rest_framework import serializers @@ -328,24 +329,6 @@ class WritableWorkflowInstanceLogEntrySerializer(serializers.ModelSerializer): ) model = WorkflowInstanceLogEntry - def create(self, validated_data): - validated_data['transition'] = WorkflowTransition.objects.get( - pk=validated_data.pop('transition_pk') - ) - validated_data['user'] = self.context['request'].user - validated_data['workflow_instance'] = self.context['workflow_instance'] - - if validated_data['transition'] not in validated_data['workflow_instance'].get_transition_choices(): - raise ValidationError( - { - 'transition_pk': _('Not a valid transition choice.') - } - ) - - return super(WritableWorkflowInstanceLogEntrySerializer, self).create( - validated_data - ) - def get_document_workflow_url(self, instance): return reverse( 'rest_api:workflowinstance-detail', args=( @@ -353,3 +336,19 @@ class WritableWorkflowInstanceLogEntrySerializer(serializers.ModelSerializer): instance.workflow_instance.pk, ), request=self.context['request'], format=self.context['format'] ) + + def validate(self, attrs): + attrs['user'] = self.context['request'].user + attrs['workflow_instance'] = self.context['workflow_instance'] + attrs['transition'] = WorkflowTransition.objects.get( + pk=attrs.pop('transition_pk') + ) + + instance = WorkflowInstanceLogEntry(**attrs) + + try: + instance.full_clean() + except DjangoValidationError as exception: + raise ValidationError(exception) + + return attrs diff --git a/mayan/apps/document_states/tests/test_api.py b/mayan/apps/document_states/tests/test_api.py index 9ee947abe2..ffc9366894 100644 --- a/mayan/apps/document_states/tests/test_api.py +++ b/mayan/apps/document_states/tests/test_api.py @@ -1,20 +1,27 @@ -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals from django.contrib.auth import get_user_model +from django.contrib.auth.models import Group from django.core.urlresolvers import reverse from django.test import override_settings from rest_framework.test import APITestCase +from acls.models import AccessControlList from documents.models import DocumentType from documents.tests.literals import ( TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH ) -from user_management.tests.literals import ( - TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME +from permissions import Permission +from permissions.models import Role +from permissions.tests.literals import TEST_ROLE_LABEL +from user_management.tests import ( + TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME, TEST_GROUP, + TEST_USER_EMAIL, TEST_USER_USERNAME, TEST_USER_PASSWORD ) from ..models import Workflow +from ..permissions import permission_workflow_transition from .literals import ( TEST_WORKFLOW_LABEL, TEST_WORKFLOW_LABEL_EDITED, @@ -624,3 +631,154 @@ class DocumentWorkflowsAPITestCase(APITestCase): response.data['results'][0]['transition']['label'], TEST_WORKFLOW_TRANSITION_LABEL ) + + +@override_settings(OCR_AUTO_OCR=False) +class DocumentWorkflowsTransitionACLsAPITestCase(APITestCase): + def setUp(self): + self.user = get_user_model().objects.create_user( + username=TEST_USER_USERNAME, email=TEST_USER_EMAIL, + password=TEST_USER_PASSWORD + ) + + self.client.login( + username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD + ) + + self.document_type = DocumentType.objects.create( + label=TEST_DOCUMENT_TYPE + ) + + self.group = Group.objects.create(name=TEST_GROUP) + self.role = Role.objects.create(label=TEST_ROLE_LABEL) + self.group.user_set.add(self.user) + self.role.groups.add(self.group) + Permission.invalidate_cache() + + def tearDown(self): + if hasattr(self, 'document_type'): + self.document_type.delete() + + def _create_document(self): + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + self.document = self.document_type.new_document( + file_object=file_object + ) + + def _create_workflow(self): + self.workflow = Workflow.objects.create(label=TEST_WORKFLOW_LABEL) + self.workflow.document_types.add(self.document_type) + + def _create_workflow_states(self): + self._create_workflow() + self.workflow_state_1 = self.workflow.states.create( + completion=TEST_WORKFLOW_INITIAL_STATE_COMPLETION, + initial=True, label=TEST_WORKFLOW_INITIAL_STATE_LABEL + ) + self.workflow_state_2 = self.workflow.states.create( + completion=TEST_WORKFLOW_STATE_COMPLETION, + label=TEST_WORKFLOW_STATE_LABEL + ) + + def _create_workflow_transition(self): + self._create_workflow_states() + self.workflow_transition = self.workflow.transitions.create( + label=TEST_WORKFLOW_TRANSITION_LABEL, + origin_state=self.workflow_state_1, + destination_state=self.workflow_state_2, + ) + + def test_workflow_transition_view_no_permission(self): + self._create_workflow_transition() + self._create_document() + + workflow_instance = self.document.workflows.first() + + self.client.post( + reverse( + 'rest_api:workflowinstancelogentry-list', args=( + self.document.pk, workflow_instance.pk + ), + ), data={'transition_pk': self.workflow_transition.pk} + ) + + workflow_instance.refresh_from_db() + + self.assertEqual(workflow_instance.log_entries.count(), 0) + + def test_workflow_transition_view_with_permission(self): + self._create_workflow_transition() + self._create_document() + + workflow_instance = self.document.workflows.first() + + self.role.permissions.add( + permission_workflow_transition.stored_permission + ) + + self.client.post( + reverse( + 'rest_api:workflowinstancelogentry-list', args=( + self.document.pk, workflow_instance.pk + ), + ), data={'transition_pk': self.workflow_transition.pk} + ) + + workflow_instance.refresh_from_db() + + self.assertEqual( + workflow_instance.log_entries.first().transition.label, + TEST_WORKFLOW_TRANSITION_LABEL + ) + + def test_workflow_transition_view_with_workflow_acl(self): + self._create_workflow_transition() + self._create_document() + + workflow_instance = self.document.workflows.first() + + acl = AccessControlList.objects.create( + content_object=self.workflow, role=self.role + ) + acl.permissions.add(permission_workflow_transition.stored_permission) + + self.client.post( + reverse( + 'rest_api:workflowinstancelogentry-list', args=( + self.document.pk, workflow_instance.pk + ), + ), data={'transition_pk': self.workflow_transition.pk} + ) + + workflow_instance.refresh_from_db() + + self.assertEqual( + workflow_instance.log_entries.first().transition.label, + TEST_WORKFLOW_TRANSITION_LABEL + ) + + def test_workflow_transition_view_transition_acl(self): + self._create_workflow_transition() + self._create_document() + + workflow_instance = self.document.workflows.first() + + acl = AccessControlList.objects.create( + content_object=self.workflow_transition, role=self.role + ) + acl.permissions.add(permission_workflow_transition.stored_permission) + + self.client.post( + reverse( + 'rest_api:workflowinstancelogentry-list', args=( + self.document.pk, workflow_instance.pk + ), + ), data={'transition_pk': self.workflow_transition.pk} + ) + + workflow_instance.refresh_from_db() + + self.assertEqual( + workflow_instance.log_entries.first().transition.label, + TEST_WORKFLOW_TRANSITION_LABEL + ) From 137c9daa57ad9dd89de3e091aa3a146cd89f47f3 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 23 Feb 2017 23:40:51 -0400 Subject: [PATCH 069/144] Fix typo in test literal string. Signed-off-by: Roberto Rosario --- mayan/apps/document_states/tests/literals.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mayan/apps/document_states/tests/literals.py b/mayan/apps/document_states/tests/literals.py index 31685e0e70..004d17de8d 100644 --- a/mayan/apps/document_states/tests/literals.py +++ b/mayan/apps/document_states/tests/literals.py @@ -8,6 +8,6 @@ TEST_WORKFLOW_INSTANCE_LOG_ENTRY_COMMENT = 'test workflow instance log entry com TEST_WORKFLOW_STATE_LABEL = 'test state label' TEST_WORKFLOW_STATE_LABEL_EDITED = 'test state label edited' TEST_WORKFLOW_STATE_COMPLETION = 66 -TEST_WORKFLOW_TRANSITION_LABEL = 'test transtition label' -TEST_WORKFLOW_TRANSITION_LABEL_2 = 'test transtition label 2' -TEST_WORKFLOW_TRANSITION_LABEL_EDITED = 'test transtition label edited' +TEST_WORKFLOW_TRANSITION_LABEL = 'test transition label' +TEST_WORKFLOW_TRANSITION_LABEL_2 = 'test transition label 2' +TEST_WORKFLOW_TRANSITION_LABEL_EDITED = 'test transition label edited' From 406f8cb245daa5078fd68ab04ac8fd42e6f52f5c Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 23 Feb 2017 23:42:10 -0400 Subject: [PATCH 070/144] PEP8 cleanups. Signed-off-by: Roberto Rosario --- mayan/apps/document_states/api_views.py | 3 +-- mayan/apps/document_states/forms.py | 5 ----- mayan/apps/document_states/links.py | 3 +-- 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/mayan/apps/document_states/api_views.py b/mayan/apps/document_states/api_views.py index 4440effedf..ea99a0eb74 100644 --- a/mayan/apps/document_states/api_views.py +++ b/mayan/apps/document_states/api_views.py @@ -15,8 +15,7 @@ from rest_api.permissions import MayanPermission from .models import Workflow from .permissions import ( permission_workflow_create, permission_workflow_delete, - permission_workflow_edit, permission_workflow_transition, - permission_workflow_view + permission_workflow_edit, permission_workflow_view ) from .serializers import ( NewWorkflowDocumentTypeSerializer, WorkflowDocumentTypeSerializer, diff --git a/mayan/apps/document_states/forms.py b/mayan/apps/document_states/forms.py index 7d0f202a8f..df288b255b 100644 --- a/mayan/apps/document_states/forms.py +++ b/mayan/apps/document_states/forms.py @@ -1,14 +1,9 @@ from __future__ import absolute_import, unicode_literals from django import forms -from django.core.exceptions import PermissionDenied from django.utils.translation import ugettext_lazy as _ -from acls.models import AccessControlList -from permissions import Permission - from .models import Workflow, WorkflowState, WorkflowTransition -from .permissions import permission_workflow_transition class WorkflowForm(forms.ModelForm): diff --git a/mayan/apps/document_states/links.py b/mayan/apps/document_states/links.py index 3165b3329c..c0ea98a89b 100644 --- a/mayan/apps/document_states/links.py +++ b/mayan/apps/document_states/links.py @@ -6,8 +6,7 @@ from navigation import Link from .permissions import ( permission_workflow_create, permission_workflow_delete, - permission_workflow_edit, permission_workflow_transition, - permission_workflow_view, + permission_workflow_edit, permission_workflow_view, ) link_document_workflow_instance_list = Link( From ba467e274927755a7118f96e3345a1d449310684 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 2 Mar 2017 02:31:54 -0400 Subject: [PATCH 071/144] Add support for overriding the celery class. --- mayan/celery.py | 5 +++-- mayan/conf.py | 18 ++++++++++++++++++ mayan/runtime.py | 5 +++++ 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 mayan/conf.py create mode 100644 mayan/runtime.py diff --git a/mayan/celery.py b/mayan/celery.py index 4c3995bc8b..ca8fc9cdad 100644 --- a/mayan/celery.py +++ b/mayan/celery.py @@ -2,12 +2,13 @@ from __future__ import absolute_import, unicode_literals import os -from celery import Celery from django.conf import settings +from .runtime import celery_class + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mayan.settings.production') -app = Celery('mayan') +app = celery_class('mayan') app.config_from_object('django.conf:settings') app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) diff --git a/mayan/conf.py b/mayan/conf.py new file mode 100644 index 0000000000..5ddcfc8185 --- /dev/null +++ b/mayan/conf.py @@ -0,0 +1,18 @@ +""" +This module should be called settings.py but is named conf.py to avoid a +class with the mayan/settings/* module +""" + +from __future__ import unicode_literals + +from django.utils.translation import ugettext_lazy as _ + +from smart_settings import Namespace + +namespace = Namespace(name='mayan', label=_('Mayan')) + +setting_celery_class = namespace.add_setting( + help_text=_('The class used to instanciate the main Celery app.'), + global_name='MAYAN_CELERY_CLASS', + default='celery.Celery' +) diff --git a/mayan/runtime.py b/mayan/runtime.py new file mode 100644 index 0000000000..16a382b63e --- /dev/null +++ b/mayan/runtime.py @@ -0,0 +1,5 @@ +from django.utils.module_loading import import_string + +from .conf import setting_celery_class + +celery_class = import_string(setting_celery_class.value) From 432a2c51555f4be5cd22c6440db3912beaa02b21 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 3 Mar 2017 05:03:23 -0400 Subject: [PATCH 072/144] Don't user referer URL blindly, recompose using know view name. --- mayan/apps/sources/views.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/mayan/apps/sources/views.py b/mayan/apps/sources/views.py index 288cfcd40d..3287ffa668 100644 --- a/mayan/apps/sources/views.py +++ b/mayan/apps/sources/views.py @@ -263,7 +263,13 @@ class UploadInteractiveView(UploadBaseView): 'shortly.' ) ) - return HttpResponseRedirect(self.request.get_full_path()) + + return HttpResponseRedirect( + '{}?{}'.format( + reverse(self.request.resolver_match.view_name), + self.request.META['QUERY_STRING'] + ), + ) def create_source_form_form(self, **kwargs): return self.get_form_classes()['source_form']( @@ -304,7 +310,10 @@ class UploadInteractiveView(UploadBaseView): if not isinstance(self.source, StagingFolderSource): context['subtemplates_list'][0]['context'].update( { - 'form_action': self.request.get_full_path(), + 'form_action': '{}?{}'.format( + reverse(self.request.resolver_match.view_name), + self.request.META['QUERY_STRING'] + ), 'form_class': 'dropzone', 'form_disable_submit': True, 'form_id': 'html5upload', From 0ad37366fd1267a1aace3bce425618504330f308 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 6 Mar 2017 22:32:36 -0400 Subject: [PATCH 073/144] Update expected view test response code. Signed-off-by: Roberto Rosario --- mayan/apps/document_states/tests/test_views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mayan/apps/document_states/tests/test_views.py b/mayan/apps/document_states/tests/test_views.py index a15faab40a..dc3df31c93 100644 --- a/mayan/apps/document_states/tests/test_views.py +++ b/mayan/apps/document_states/tests/test_views.py @@ -201,7 +201,7 @@ class DocumentStateToolViewTestCase(GenericDocumentViewTestCase): response = self.post( 'document_states:tool_launch_all_workflows', ) - self.assertEqual(response.status_code, 200) + self.assertEqual(response.status_code, 302) self.assertEqual( self.document.workflows.first().workflow, self.workflow From c03ae5649b7f9b599bbd6b5c01a929d5120a8712 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 6 Mar 2017 22:46:21 -0400 Subject: [PATCH 074/144] Update required Django version to Django 1.10.6 Signed-off-by: Roberto Rosario --- requirements/common.txt | 2 +- setup.py | 43 ++++++++++++++++++++--------------------- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/requirements/common.txt b/requirements/common.txt index c44993f923..dd32f1dc0b 100644 --- a/requirements/common.txt +++ b/requirements/common.txt @@ -1,2 +1,2 @@ -r base.txt -Django==1.10.5 +Django==1.10.6 diff --git a/setup.py b/setup.py index 498ae4a061..c099af48d6 100644 --- a/setup.py +++ b/setup.py @@ -56,39 +56,38 @@ def find_packages(directory): return packages install_requires = """ -Django==1.9.11 -Pillow==3.1.2 -PyYAML==3.11 -celery==3.1.19 +Pillow==4.0.0 +PyYAML==3.12 +celery==3.1.24 cssmin==0.2.0 -django-activity-stream==0.6.0 +Django==1.10.6 +django-activity-stream==0.6.3 django-autoadmin==1.1.1 django-celery==3.1.17 -django-colorful==1.1.0 -django-compressor==2.0 -django-cors-headers==1.1.0 +django-colorful==1.2 +django-compressor==2.1 +django-cors-headers==1.2.2 django-downloadview==1.9 -django-filetransfers==0.1.0 -django-formtools==1.0 +django-formtools==2.0 django-pure-pagination==0.3.0 -django-model-utils==2.4 -django-mptt>=0.8.0 +django-model-utils==2.6.1 +django-mptt>=0.8.7 django-qsstats-magic==0.7.2 -django-rest-swagger==0.3.4 -django-stronghold==0.2.7 -django-suit==0.2.16 +django-rest-swagger==0.3.10 +django-stronghold==0.2.8 +django-suit==0.2.23 django-widget-tweaks==1.4.1 djangorestframework==3.3.2 djangorestframework-recursive==0.1.1 -fusepy==2.0.2 +fusepy==2.0.4 pdfminer==20140328 -pycountry==1.19 -pytesseract==0.1.6 -python-dateutil==2.4.2 +pycountry==1.20 +pyocr==0.4.5 +python-dateutil==2.5.3 python-gnupg==0.3.9 -python-magic==0.4.10 -pytz==2015.4 -sh==1.11 +python-magic==0.4.12 +pytz==2016.7 +sh==1.12.9 """.split() try: From 90f1df76bbf40241ee3952070f72ea919afd000a Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 6 Mar 2017 22:47:11 -0400 Subject: [PATCH 075/144] Revert "Update required Django version to Django 1.10.6" This reverts commit c03ae5649b7f9b599bbd6b5c01a929d5120a8712. --- requirements/common.txt | 2 +- setup.py | 43 +++++++++++++++++++++-------------------- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/requirements/common.txt b/requirements/common.txt index dd32f1dc0b..c44993f923 100644 --- a/requirements/common.txt +++ b/requirements/common.txt @@ -1,2 +1,2 @@ -r base.txt -Django==1.10.6 +Django==1.10.5 diff --git a/setup.py b/setup.py index c099af48d6..498ae4a061 100644 --- a/setup.py +++ b/setup.py @@ -56,38 +56,39 @@ def find_packages(directory): return packages install_requires = """ -Pillow==4.0.0 -PyYAML==3.12 -celery==3.1.24 +Django==1.9.11 +Pillow==3.1.2 +PyYAML==3.11 +celery==3.1.19 cssmin==0.2.0 -Django==1.10.6 -django-activity-stream==0.6.3 +django-activity-stream==0.6.0 django-autoadmin==1.1.1 django-celery==3.1.17 -django-colorful==1.2 -django-compressor==2.1 -django-cors-headers==1.2.2 +django-colorful==1.1.0 +django-compressor==2.0 +django-cors-headers==1.1.0 django-downloadview==1.9 -django-formtools==2.0 +django-filetransfers==0.1.0 +django-formtools==1.0 django-pure-pagination==0.3.0 -django-model-utils==2.6.1 -django-mptt>=0.8.7 +django-model-utils==2.4 +django-mptt>=0.8.0 django-qsstats-magic==0.7.2 -django-rest-swagger==0.3.10 -django-stronghold==0.2.8 -django-suit==0.2.23 +django-rest-swagger==0.3.4 +django-stronghold==0.2.7 +django-suit==0.2.16 django-widget-tweaks==1.4.1 djangorestframework==3.3.2 djangorestframework-recursive==0.1.1 -fusepy==2.0.4 +fusepy==2.0.2 pdfminer==20140328 -pycountry==1.20 -pyocr==0.4.5 -python-dateutil==2.5.3 +pycountry==1.19 +pytesseract==0.1.6 +python-dateutil==2.4.2 python-gnupg==0.3.9 -python-magic==0.4.12 -pytz==2016.7 -sh==1.12.9 +python-magic==0.4.10 +pytz==2015.4 +sh==1.11 """.split() try: From fd905e4e3e6608db157453cd0f916a526705c8fc Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 6 Mar 2017 22:48:58 -0400 Subject: [PATCH 076/144] Update required Django version to 1.10.6 Signed-off-by: Roberto Rosario --- requirements/common.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/common.txt b/requirements/common.txt index c44993f923..dd32f1dc0b 100644 --- a/requirements/common.txt +++ b/requirements/common.txt @@ -1,2 +1,2 @@ -r base.txt -Django==1.10.5 +Django==1.10.6 From ae318004322264c301e03296dbb2478b5560aba2 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 6 Mar 2017 22:49:57 -0400 Subject: [PATCH 077/144] Update the requirements in the setup.py file. Signed-off-by: Roberto Rosario --- setup.py | 43 +++++++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/setup.py b/setup.py index 498ae4a061..c099af48d6 100644 --- a/setup.py +++ b/setup.py @@ -56,39 +56,38 @@ def find_packages(directory): return packages install_requires = """ -Django==1.9.11 -Pillow==3.1.2 -PyYAML==3.11 -celery==3.1.19 +Pillow==4.0.0 +PyYAML==3.12 +celery==3.1.24 cssmin==0.2.0 -django-activity-stream==0.6.0 +Django==1.10.6 +django-activity-stream==0.6.3 django-autoadmin==1.1.1 django-celery==3.1.17 -django-colorful==1.1.0 -django-compressor==2.0 -django-cors-headers==1.1.0 +django-colorful==1.2 +django-compressor==2.1 +django-cors-headers==1.2.2 django-downloadview==1.9 -django-filetransfers==0.1.0 -django-formtools==1.0 +django-formtools==2.0 django-pure-pagination==0.3.0 -django-model-utils==2.4 -django-mptt>=0.8.0 +django-model-utils==2.6.1 +django-mptt>=0.8.7 django-qsstats-magic==0.7.2 -django-rest-swagger==0.3.4 -django-stronghold==0.2.7 -django-suit==0.2.16 +django-rest-swagger==0.3.10 +django-stronghold==0.2.8 +django-suit==0.2.23 django-widget-tweaks==1.4.1 djangorestframework==3.3.2 djangorestframework-recursive==0.1.1 -fusepy==2.0.2 +fusepy==2.0.4 pdfminer==20140328 -pycountry==1.19 -pytesseract==0.1.6 -python-dateutil==2.4.2 +pycountry==1.20 +pyocr==0.4.5 +python-dateutil==2.5.3 python-gnupg==0.3.9 -python-magic==0.4.10 -pytz==2015.4 -sh==1.11 +python-magic==0.4.12 +pytz==2016.7 +sh==1.12.9 """.split() try: From f11ffdec5254848f250312081c6403d8244b2ee6 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 6 Mar 2017 23:09:15 -0400 Subject: [PATCH 078/144] Use force_text for debug print to avoid showing non critical unicode errors in the console. Signed-off-by: Roberto Rosario --- mayan/apps/navigation/classes.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/mayan/apps/navigation/classes.py b/mayan/apps/navigation/classes.py index 3c4df7eb34..534854ca5d 100644 --- a/mayan/apps/navigation/classes.py +++ b/mayan/apps/navigation/classes.py @@ -11,7 +11,7 @@ from django.core.exceptions import PermissionDenied from django.core.urlresolvers import resolve, reverse from django.template import VariableDoesNotExist, Variable from django.template.defaulttags import URLNode -from django.utils.encoding import smart_str, smart_unicode +from django.utils.encoding import force_text, smart_str, smart_unicode from django.utils.http import urlencode, urlquote from common.utils import return_attrib @@ -113,9 +113,8 @@ class Menu(object): logger.debug( 'resolved_navigation_object_list: %s', - resolved_navigation_object_list + force_text(resolved_navigation_object_list) ) - return resolved_navigation_object_list def resolve(self, context, source=None): From 772e8cbeffba76b8290ee24fb88a01ed1cab8ff0 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 6 Mar 2017 23:10:18 -0400 Subject: [PATCH 079/144] Bump version to 2.2 beta 1 --- mayan/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mayan/__init__.py b/mayan/__init__.py index bf64ac09c6..cb1a32b04f 100644 --- a/mayan/__init__.py +++ b/mayan/__init__.py @@ -1,8 +1,8 @@ from __future__ import unicode_literals __title__ = 'Mayan EDMS' -__version__ = '2.1.10' -__build__ = 0x020110 +__version__ = '2.2b1' +__build__ = 0x020200 __author__ = 'Roberto Rosario' __author_email__ = 'roberto.rosario@mayan-edms.com' __description__ = 'Free Open Source Electronic Document Management System' From 26a7029140573cc41bf092c5e6fec1e668d723ec Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 6 Mar 2017 23:46:11 -0400 Subject: [PATCH 080/144] Add a "Check now" button to the interval sources for testing. Ref: GitLab issue #313 Thanks to @gersilex for the suggestion. Signed-off-by: Roberto Rosario --- docs/releases/2.2.rst | 3 ++- mayan/apps/sources/apps.py | 14 +++++++++----- mayan/apps/sources/links.py | 4 ++++ mayan/apps/sources/urls.py | 10 +++++++--- mayan/apps/sources/views.py | 37 +++++++++++++++++++++++++++++++------ 5 files changed, 53 insertions(+), 15 deletions(-) diff --git a/docs/releases/2.2.rst b/docs/releases/2.2.rst index 62d15f9213..37c5cb98b5 100644 --- a/docs/releases/2.2.rst +++ b/docs/releases/2.2.rst @@ -2,7 +2,7 @@ Mayan EDMS v2.2 release notes ============================= -Released: XX, 2017 +Released: April XX, 2017 What's new ========== @@ -61,6 +61,7 @@ resolved to '/api/documents//pages//pages'. Other changes ------------- +- Add "Check now" button to interval sources. - Remove the installation app - Add support for page search - Remove recent searches feature diff --git a/mayan/apps/sources/apps.py b/mayan/apps/sources/apps.py index fd502718ae..e05c3ee4e6 100644 --- a/mayan/apps/sources/apps.py +++ b/mayan/apps/sources/apps.py @@ -23,11 +23,11 @@ from .handlers import ( ) from .links import ( link_document_create_multiple, link_setup_sources, - link_setup_source_create_imap_email, link_setup_source_create_pop3_email, - link_setup_source_create_watch_folder, link_setup_source_create_webform, - link_setup_source_create_staging_folder, link_setup_source_delete, - link_setup_source_edit, link_setup_source_logs, link_staging_file_delete, - link_upload_version + link_setup_source_check_now, link_setup_source_create_imap_email, + link_setup_source_create_pop3_email, link_setup_source_create_watch_folder, + link_setup_source_create_webform, link_setup_source_create_staging_folder, + link_setup_source_delete, link_setup_source_edit, link_setup_source_logs, + link_staging_file_delete, link_upload_version ) from .widgets import StagingFileThumbnailWidget @@ -126,6 +126,10 @@ class SourcesApp(MayanAppConfig): menu_object.bind_links( links=(link_staging_file_delete,), sources=(StagingFile,) ) + menu_object.bind_links( + links=(link_setup_source_check_now,), + sources=(IMAPEmail, POP3Email, WatchFolderSource,) + ) menu_secondary.bind_links( links=( link_setup_sources, link_setup_source_create_webform, diff --git a/mayan/apps/sources/links.py b/mayan/apps/sources/links.py index 9ec5234e64..185c706f0f 100644 --- a/mayan/apps/sources/links.py +++ b/mayan/apps/sources/links.py @@ -87,3 +87,7 @@ link_setup_source_logs = Link( text=_('Logs'), view='sources:setup_source_logs', args=('resolved_object.pk',), permissions=(permission_sources_setup_view,) ) +link_setup_source_check_now = Link( + text=_('Check now'), view='sources:setup_source_check', + args=('resolved_object.pk',), permissions=(permission_sources_setup_view,) +) diff --git a/mayan/apps/sources/urls.py b/mayan/apps/sources/urls.py index c096f6ea10..01f41a7b68 100644 --- a/mayan/apps/sources/urls.py +++ b/mayan/apps/sources/urls.py @@ -7,9 +7,9 @@ from .api_views import ( APIStagingSourceListView, APIStagingSourceView ) from .views import ( - SetupSourceCreateView, SetupSourceDeleteView, SetupSourceEditView, - SetupSourceListView, SourceLogListView, StagingFileDeleteView, - UploadInteractiveVersionView, UploadInteractiveView + SetupSourceCheckView, SetupSourceCreateView, SetupSourceDeleteView, + SetupSourceEditView, SetupSourceListView, SourceLogListView, + StagingFileDeleteView, UploadInteractiveVersionView, UploadInteractiveView ) from .wizards import DocumentCreateWizard @@ -59,6 +59,10 @@ urlpatterns = [ r'^setup/(?P\w+)/create/$', SetupSourceCreateView.as_view(), name='setup_source_create' ), + url( + r'^setup/(?P\d+)/check/$', SetupSourceCheckView.as_view(), + name='setup_source_check' + ), # Document create views diff --git a/mayan/apps/sources/views.py b/mayan/apps/sources/views.py index ae9d1cadf6..cd3f67fd8b 100644 --- a/mayan/apps/sources/views.py +++ b/mayan/apps/sources/views.py @@ -12,8 +12,8 @@ from common import menu_facet from common.models import SharedUploadedFile from common.utils import encapsulate from common.views import ( - MultiFormView, SingleObjectCreateView, SingleObjectDeleteView, - SingleObjectEditView, SingleObjectListView + ConfirmView, MultiFormView, SingleObjectCreateView, + SingleObjectDeleteView, SingleObjectEditView, SingleObjectListView ) from common.widgets import two_state_template from documents.models import DocumentType, Document @@ -41,7 +41,7 @@ from .permissions import ( permission_sources_setup_edit, permission_sources_setup_view, permission_staging_file_delete ) -from .tasks import task_source_handle_upload +from .tasks import task_check_interval_source, task_source_handle_upload from .utils import get_class, get_form_class, get_upload_form_class @@ -435,6 +435,32 @@ class StagingFileDeleteView(SingleObjectDeleteView): # Setup views +class SetupSourceCheckView(ConfirmView): + """ + Trigger the task_check_interval_source task for a given source to + test/debug their configuration irrespective of the schedule task setup. + """ + view_permission = permission_sources_setup_view + + def get_extra_context(self): + return { + 'object': self.get_object(), + 'title': _('Trigger check for source "%s"?') % self.get_object(), + } + + def get_object(self): + return get_object_or_404(Source.objects.select_subclasses(), pk=self.kwargs['pk']) + + def view_action(self): + task_check_interval_source.apply_async( + kwargs={ + 'source_id': self.get_object().pk + } + ) + + messages.success(self.request, _('Source check queued.')) + + class SetupSourceCreateView(SingleObjectCreateView): post_action_redirect = reverse_lazy('sources:setup_source_list') view_permission = permission_sources_setup_create @@ -490,9 +516,6 @@ class SetupSourceEditView(SingleObjectEditView): class SetupSourceListView(SingleObjectListView): - view_permission = permission_sources_setup_view - queryset = Source.objects.select_subclasses() - extra_context = { 'extra_columns': ( { @@ -509,3 +532,5 @@ class SetupSourceListView(SingleObjectListView): 'hide_link': True, 'title': _('Sources'), } + queryset = Source.objects.select_subclasses() + view_permission = permission_sources_setup_view From ccc77cdaf724f7386ff4986bd14b636636c09edf Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 6 Mar 2017 23:47:37 -0400 Subject: [PATCH 081/144] Add documentation section of version numbering. --- docs/topics/development.rst | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/topics/development.rst b/docs/topics/development.rst index 46fcf90bd4..1682d08c12 100644 --- a/docs/topics/development.rst +++ b/docs/topics/development.rst @@ -423,3 +423,16 @@ Wheel package $ pip install /dist/mayan_edms-x.y.z-py2-none-any.whl $ mayan-edms.py initialsetup $ mayan-edms.py runserver + + +Version numbering +~~~~~~~~~~~~~~~~~ + +Mayan EDMS uses the Semantic Versioning (http://semver.org/) method to choose +version numbers along with Python's PEP-0440 (https://www.python.org/dev/peps/pep-0440/) +to format them. + +X.YaN # Alpha release +X.YbN # Beta release +X.YrcN # Release Candidate +X.Y # Final release From 21140dfad259c98167145fe3eb6945a3f7f2ec4b Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 7 Mar 2017 00:17:02 -0400 Subject: [PATCH 082/144] Remove optional theme CSS files. Signed-off-by: Roberto Rosario --- .../bootswatch.com/cerulean/bootstrap.min.css | 11 ----------- .../packages/bootswatch.com/cosmo/bootstrap.min.css | 11 ----------- .../packages/bootswatch.com/cyborg/bootstrap.min.css | 11 ----------- .../packages/bootswatch.com/darkly/bootstrap.min.css | 11 ----------- .../packages/bootswatch.com/journal/bootstrap.min.css | 11 ----------- .../packages/bootswatch.com/lumen/bootstrap.min.css | 11 ----------- .../packages/bootswatch.com/paper/bootstrap.min.css | 11 ----------- .../bootswatch.com/readable/bootstrap.min.css | 11 ----------- .../bootswatch.com/sandstone/bootstrap.min.css | 11 ----------- .../packages/bootswatch.com/simplex/bootstrap.min.css | 11 ----------- .../packages/bootswatch.com/slate/bootstrap.min.css | 11 ----------- .../bootswatch.com/spacelab/bootstrap.min.css | 11 ----------- .../bootswatch.com/superhero/bootstrap.min.css | 11 ----------- .../packages/bootswatch.com/united/bootstrap.min.css | 11 ----------- .../packages/bootswatch.com/yeti/bootstrap.min.css | 11 ----------- 15 files changed, 165 deletions(-) delete mode 100644 mayan/apps/appearance/static/appearance/packages/bootswatch.com/cerulean/bootstrap.min.css delete mode 100644 mayan/apps/appearance/static/appearance/packages/bootswatch.com/cosmo/bootstrap.min.css delete mode 100644 mayan/apps/appearance/static/appearance/packages/bootswatch.com/cyborg/bootstrap.min.css delete mode 100644 mayan/apps/appearance/static/appearance/packages/bootswatch.com/darkly/bootstrap.min.css delete mode 100644 mayan/apps/appearance/static/appearance/packages/bootswatch.com/journal/bootstrap.min.css delete mode 100644 mayan/apps/appearance/static/appearance/packages/bootswatch.com/lumen/bootstrap.min.css delete mode 100644 mayan/apps/appearance/static/appearance/packages/bootswatch.com/paper/bootstrap.min.css delete mode 100644 mayan/apps/appearance/static/appearance/packages/bootswatch.com/readable/bootstrap.min.css delete mode 100644 mayan/apps/appearance/static/appearance/packages/bootswatch.com/sandstone/bootstrap.min.css delete mode 100644 mayan/apps/appearance/static/appearance/packages/bootswatch.com/simplex/bootstrap.min.css delete mode 100644 mayan/apps/appearance/static/appearance/packages/bootswatch.com/slate/bootstrap.min.css delete mode 100644 mayan/apps/appearance/static/appearance/packages/bootswatch.com/spacelab/bootstrap.min.css delete mode 100644 mayan/apps/appearance/static/appearance/packages/bootswatch.com/superhero/bootstrap.min.css delete mode 100644 mayan/apps/appearance/static/appearance/packages/bootswatch.com/united/bootstrap.min.css delete mode 100644 mayan/apps/appearance/static/appearance/packages/bootswatch.com/yeti/bootstrap.min.css diff --git a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/cerulean/bootstrap.min.css b/mayan/apps/appearance/static/appearance/packages/bootswatch.com/cerulean/bootstrap.min.css deleted file mode 100644 index dcf0996283..0000000000 --- a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/cerulean/bootstrap.min.css +++ /dev/null @@ -1,11 +0,0 @@ -/*! - * bootswatch v3.3.5 - * Homepage: http://bootswatch.com - * Copyright 2012-2015 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*//*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#555555;background-color:#ffffff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2fa4e7;text-decoration:none}a:hover,a:focus{color:#157ab5;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eeeeee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:#317eac}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#999999}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#999999}.text-primary{color:#2fa4e7}a.text-primary:hover,a.text-primary:focus{color:#178acc}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-warning{color:#c09853}a.text-warning:hover,a.text-warning:focus{color:#a47e3c}.text-danger{color:#b94a48}a.text-danger:hover,a.text-danger:focus{color:#953b39}.bg-primary{color:#fff;background-color:#2fa4e7}a.bg-primary:hover,a.bg-primary:focus{background-color:#178acc}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eeeeee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eeeeee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#999999}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333333;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#999999;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #dddddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #dddddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #dddddd}.table .table{background-color:#ffffff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #dddddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#555555;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:9px;font-size:14px;line-height:1.42857143;color:#555555}.form-control{display:block;width:100%;height:38px;padding:8px 12px;font-size:14px;line-height:1.42857143;color:#555555;background-color:#ffffff;background-image:none;border:1px solid #cccccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#999999;opacity:1}.form-control:-ms-input-placeholder{color:#999999}.form-control::-webkit-input-placeholder{color:#999999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eeeeee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:38px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:54px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:9px;padding-bottom:9px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:54px;padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:54px;line-height:54px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:54px;padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:54px;line-height:54px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:54px;min-height:38px;padding:15px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:47.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:38px;height:38px;line-height:38px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:54px;height:54px;line-height:54px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#468847}.has-success .form-control{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.has-success .input-group-addon{color:#468847;border-color:#468847;background-color:#dff0d8}.has-success .form-control-feedback{color:#468847}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#c09853}.has-warning .form-control{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.has-warning .input-group-addon{color:#c09853;border-color:#c09853;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#c09853}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#b94a48}.has-error .form-control{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.has-error .input-group-addon{color:#b94a48;border-color:#b94a48;background-color:#f2dede}.has-error .form-control-feedback{color:#b94a48}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#959595}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:9px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:29px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:9px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:19.6666662px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:8px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#555555;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#555555;background-color:#ffffff;border-color:rgba(0,0,0,0.1)}.btn-default:focus,.btn-default.focus{color:#555555;background-color:#e6e6e6;border-color:rgba(0,0,0,0.1)}.btn-default:hover{color:#555555;background-color:#e6e6e6;border-color:rgba(0,0,0,0.1)}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#555555;background-color:#e6e6e6;border-color:rgba(0,0,0,0.1)}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#555555;background-color:#d4d4d4;border-color:rgba(0,0,0,0.1)}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#ffffff;border-color:rgba(0,0,0,0.1)}.btn-default .badge{color:#ffffff;background-color:#555555}.btn-primary{color:#ffffff;background-color:#2fa4e7;border-color:#2fa4e7}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#178acc;border-color:#105b87}.btn-primary:hover{color:#ffffff;background-color:#178acc;border-color:#1684c2}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#178acc;border-color:#1684c2}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#1474ac;border-color:#105b87}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#2fa4e7;border-color:#2fa4e7}.btn-primary .badge{color:#2fa4e7;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#73a839;border-color:#73a839}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#59822c;border-color:#324919}.btn-success:hover{color:#ffffff;background-color:#59822c;border-color:#547a29}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#59822c;border-color:#547a29}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#476723;border-color:#324919}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#73a839;border-color:#73a839}.btn-success .badge{color:#73a839;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#033c73;border-color:#033c73}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#022241;border-color:#000000}.btn-info:hover{color:#ffffff;background-color:#022241;border-color:#011d37}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#022241;border-color:#011d37}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#01101f;border-color:#000000}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#033c73;border-color:#033c73}.btn-info .badge{color:#033c73;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#dd5600;border-color:#dd5600}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#aa4200;border-color:#5e2400}.btn-warning:hover{color:#ffffff;background-color:#aa4200;border-color:#a03e00}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#aa4200;border-color:#a03e00}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#863400;border-color:#5e2400}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#dd5600;border-color:#dd5600}.btn-warning .badge{color:#dd5600;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#c71c22;border-color:#c71c22}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#9a161a;border-color:#570c0f}.btn-danger:hover{color:#ffffff;background-color:#9a161a;border-color:#911419}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#9a161a;border-color:#911419}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#7b1115;border-color:#570c0f}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#c71c22;border-color:#c71c22}.btn-danger .badge{color:#c71c22;background-color:#ffffff}.btn-link{color:#2fa4e7;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#157ab5;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999999;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#ffffff;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#ffffff;background-color:#2fa4e7}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#2fa4e7}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#999999;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:54px;padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:54px;line-height:54px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:8px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555555;text-align:center;background-color:#eeeeee;border:1px solid #cccccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:14px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eeeeee}.nav>li.disabled>a{color:#999999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999999;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eeeeee;border-color:#2fa4e7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #dddddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555555;background-color:#ffffff;border:1px solid #dddddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#ffffff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#2fa4e7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#ffffff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:6px;margin-bottom:6px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:6px;margin-bottom:6px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#2fa4e7;border-color:#1995dc}.navbar-default .navbar-brand{color:#ffffff}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#ffffff;background-color:none}.navbar-default .navbar-text{color:#dddddd}.navbar-default .navbar-nav>li>a{color:#ffffff}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#ffffff;background-color:#178acc}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#ffffff;background-color:#178acc}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#dddddd;background-color:transparent}.navbar-default .navbar-toggle{border-color:#178acc}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#178acc}.navbar-default .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#1995dc}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#178acc;color:#ffffff}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#ffffff}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:#178acc}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#178acc}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#dddddd;background-color:transparent}}.navbar-default .navbar-link{color:#ffffff}.navbar-default .navbar-link:hover{color:#ffffff}.navbar-default .btn-link{color:#ffffff}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#ffffff}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#dddddd}.navbar-inverse{background-color:#033c73;border-color:#022f5a}.navbar-inverse .navbar-brand{color:#ffffff}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#ffffff;background-color:none}.navbar-inverse .navbar-text{color:#ffffff}.navbar-inverse .navbar-nav>li>a{color:#ffffff}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#ffffff;background-color:#022f5a}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ffffff;background-color:#022f5a}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#022f5a}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#022f5a}.navbar-inverse .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#022a50}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#022f5a;color:#ffffff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#022f5a}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#022f5a}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#ffffff}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:#022f5a}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#022f5a}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-inverse .navbar-link{color:#ffffff}.navbar-inverse .navbar-link:hover{color:#ffffff}.navbar-inverse .btn-link{color:#ffffff}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#ffffff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#cccccc}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#cccccc}.breadcrumb>.active{color:#999999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:8px 12px;line-height:1.42857143;text-decoration:none;color:#2fa4e7;background-color:#ffffff;border:1px solid #dddddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:3;color:#157ab5;background-color:#eeeeee;border-color:#dddddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#999999;background-color:#f5f5f5;border-color:#dddddd;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999999;background-color:#ffffff;border-color:#dddddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:14px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#ffffff;border:1px solid #dddddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eeeeee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999999;background-color:#ffffff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#999999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}.label-primary{background-color:#2fa4e7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#178acc}.label-success{background-color:#73a839}.label-success[href]:hover,.label-success[href]:focus{background-color:#59822c}.label-info{background-color:#033c73}.label-info[href]:hover,.label-info[href]:focus{background-color:#022241}.label-warning{background-color:#dd5600}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#aa4200}.label-danger{background-color:#c71c22}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#9a161a}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#ffffff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#2fa4e7;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#2fa4e7;background-color:#ffffff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eeeeee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#2fa4e7}.thumbnail .caption{padding:9px;color:#555555}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#356635}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#2d6987}.alert-warning{background-color:#fcf8e3;border-color:#fbeed5;color:#c09853}.alert-warning hr{border-top-color:#f8e5be}.alert-warning .alert-link{color:#a47e3c}.alert-danger{background-color:#f2dede;border-color:#eed3d7;color:#b94a48}.alert-danger hr{border-top-color:#e6c1c7}.alert-danger .alert-link{color:#953b39}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#ffffff;text-align:center;background-color:#2fa4e7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#73a839}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#033c73}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#dd5600}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#c71c22}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#ffffff;border:1px solid #dddddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#555555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eeeeee;color:#999999;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#999999}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#2fa4e7;border-color:#2fa4e7}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e6f4fc}.list-group-item-success{color:#468847;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#468847}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#468847;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#468847;border-color:#468847}.list-group-item-info{color:#3a87ad;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#3a87ad}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#3a87ad;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#3a87ad;border-color:#3a87ad}.list-group-item-warning{color:#c09853;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#c09853}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#c09853;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#c09853;border-color:#c09853}.list-group-item-danger{color:#b94a48;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#b94a48}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#b94a48;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#b94a48;border-color:#b94a48}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#ffffff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #dddddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #dddddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #dddddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #dddddd}.panel-default{border-color:#dddddd}.panel-default>.panel-heading{color:#555555;background-color:#f5f5f5;border-color:#dddddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dddddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#555555}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dddddd}.panel-primary{border-color:#dddddd}.panel-primary>.panel-heading{color:#ffffff;background-color:#2fa4e7;border-color:#dddddd}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dddddd}.panel-primary>.panel-heading .badge{color:#2fa4e7;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dddddd}.panel-success{border-color:#dddddd}.panel-success>.panel-heading{color:#468847;background-color:#73a839;border-color:#dddddd}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dddddd}.panel-success>.panel-heading .badge{color:#73a839;background-color:#468847}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dddddd}.panel-info{border-color:#dddddd}.panel-info>.panel-heading{color:#3a87ad;background-color:#033c73;border-color:#dddddd}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dddddd}.panel-info>.panel-heading .badge{color:#033c73;background-color:#3a87ad}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dddddd}.panel-warning{border-color:#dddddd}.panel-warning>.panel-heading{color:#c09853;background-color:#dd5600;border-color:#dddddd}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dddddd}.panel-warning>.panel-heading .badge{color:#dd5600;background-color:#c09853}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dddddd}.panel-danger{border-color:#dddddd}.panel-danger>.panel-heading{color:#b94a48;background-color:#c71c22;border-color:#dddddd}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dddddd}.panel-danger>.panel-heading .badge{color:#c71c22;background-color:#b94a48}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dddddd}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#ffffff;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#000000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#ffffff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.navbar{background-image:-webkit-linear-gradient(#54b4eb, #2fa4e7 60%, #1d9ce5);background-image:-o-linear-gradient(#54b4eb, #2fa4e7 60%, #1d9ce5);background-image:-webkit-gradient(linear, left top, left bottom, from(#54b4eb), color-stop(60%, #2fa4e7), to(#1d9ce5));background-image:linear-gradient(#54b4eb, #2fa4e7 60%, #1d9ce5);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff54b4eb', endColorstr='#ff1d9ce5', GradientType=0);border-bottom:1px solid #178acc;-webkit-filter:none;filter:none;-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-default .badge{background-color:#fff;color:#2fa4e7}.navbar-inverse{background-image:-webkit-linear-gradient(#04519b, #044687 60%, #033769);background-image:-o-linear-gradient(#04519b, #044687 60%, #033769);background-image:-webkit-gradient(linear, left top, left bottom, from(#04519b), color-stop(60%, #044687), to(#033769));background-image:linear-gradient(#04519b, #044687 60%, #033769);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff04519b', endColorstr='#ff033769', GradientType=0);-webkit-filter:none;filter:none;border-bottom:1px solid #022241}.navbar-inverse .badge{background-color:#fff;color:#033c73}.navbar .navbar-nav>li>a,.navbar-brand{text-shadow:0 1px 0 rgba(0,0,0,0.1)}@media (max-width:767px){.navbar .dropdown-header{color:#fff}.navbar .dropdown-menu a{color:#fff}}.btn{text-shadow:0 1px 0 rgba(0,0,0,0.1)}.btn .caret{border-top-color:#fff}.btn-default{background-image:-webkit-linear-gradient(#fff, #fff 60%, #f5f5f5);background-image:-o-linear-gradient(#fff, #fff 60%, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(60%, #fff), to(#f5f5f5));background-image:linear-gradient(#fff, #fff 60%, #f5f5f5);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff5f5f5', GradientType=0);-webkit-filter:none;filter:none;border-bottom:1px solid #e6e6e6}.btn-default:hover{color:#555555}.btn-default .caret{border-top-color:#555555}.btn-default{background-image:-webkit-linear-gradient(#fff, #fff 60%, #f5f5f5);background-image:-o-linear-gradient(#fff, #fff 60%, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(60%, #fff), to(#f5f5f5));background-image:linear-gradient(#fff, #fff 60%, #f5f5f5);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff5f5f5', GradientType=0);-webkit-filter:none;filter:none;border-bottom:1px solid #e6e6e6}.btn-primary{background-image:-webkit-linear-gradient(#54b4eb, #2fa4e7 60%, #1d9ce5);background-image:-o-linear-gradient(#54b4eb, #2fa4e7 60%, #1d9ce5);background-image:-webkit-gradient(linear, left top, left bottom, from(#54b4eb), color-stop(60%, #2fa4e7), to(#1d9ce5));background-image:linear-gradient(#54b4eb, #2fa4e7 60%, #1d9ce5);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff54b4eb', endColorstr='#ff1d9ce5', GradientType=0);-webkit-filter:none;filter:none;border-bottom:1px solid #178acc}.btn-success{background-image:-webkit-linear-gradient(#88c149, #73a839 60%, #699934);background-image:-o-linear-gradient(#88c149, #73a839 60%, #699934);background-image:-webkit-gradient(linear, left top, left bottom, from(#88c149), color-stop(60%, #73a839), to(#699934));background-image:linear-gradient(#88c149, #73a839 60%, #699934);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff88c149', endColorstr='#ff699934', GradientType=0);-webkit-filter:none;filter:none;border-bottom:1px solid #59822c}.btn-info{background-image:-webkit-linear-gradient(#04519b, #033c73 60%, #02325f);background-image:-o-linear-gradient(#04519b, #033c73 60%, #02325f);background-image:-webkit-gradient(linear, left top, left bottom, from(#04519b), color-stop(60%, #033c73), to(#02325f));background-image:linear-gradient(#04519b, #033c73 60%, #02325f);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff04519b', endColorstr='#ff02325f', GradientType=0);-webkit-filter:none;filter:none;border-bottom:1px solid #022241}.btn-warning{background-image:-webkit-linear-gradient(#ff6707, #dd5600 60%, #c94e00);background-image:-o-linear-gradient(#ff6707, #dd5600 60%, #c94e00);background-image:-webkit-gradient(linear, left top, left bottom, from(#ff6707), color-stop(60%, #dd5600), to(#c94e00));background-image:linear-gradient(#ff6707, #dd5600 60%, #c94e00);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff6707', endColorstr='#ffc94e00', GradientType=0);-webkit-filter:none;filter:none;border-bottom:1px solid #aa4200}.btn-danger{background-image:-webkit-linear-gradient(#e12b31, #c71c22 60%, #b5191f);background-image:-o-linear-gradient(#e12b31, #c71c22 60%, #b5191f);background-image:-webkit-gradient(linear, left top, left bottom, from(#e12b31), color-stop(60%, #c71c22), to(#b5191f));background-image:linear-gradient(#e12b31, #c71c22 60%, #b5191f);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe12b31', endColorstr='#ffb5191f', GradientType=0);-webkit-filter:none;filter:none;border-bottom:1px solid #9a161a}.panel-primary .panel-heading,.panel-success .panel-heading,.panel-warning .panel-heading,.panel-danger .panel-heading,.panel-info .panel-heading,.panel-primary .panel-title,.panel-success .panel-title,.panel-warning .panel-title,.panel-danger .panel-title,.panel-info .panel-title{color:#fff} \ No newline at end of file diff --git a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/cosmo/bootstrap.min.css b/mayan/apps/appearance/static/appearance/packages/bootswatch.com/cosmo/bootstrap.min.css deleted file mode 100644 index 2c959bdc61..0000000000 --- a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/cosmo/bootstrap.min.css +++ /dev/null @@ -1,11 +0,0 @@ -@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700");/*! - * bootswatch v3.3.5 - * Homepage: http://bootswatch.com - * Copyright 2012-2015 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*//*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Source Sans Pro",Calibri,Candara,Arial,sans-serif;font-size:15px;line-height:1.42857143;color:#333333;background-color:#ffffff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2780e3;text-decoration:none}a:hover,a:focus{color:#165ba8;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:0}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#ffffff;border:1px solid #dddddd;border-radius:0;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:21px;margin-bottom:21px;border:0;border-top:1px solid #e6e6e6}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Source Sans Pro",Calibri,Candara,Arial,sans-serif;font-weight:300;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#999999}h1,.h1,h2,.h2,h3,.h3{margin-top:21px;margin-bottom:10.5px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10.5px;margin-bottom:10.5px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:39px}h2,.h2{font-size:32px}h3,.h3{font-size:26px}h4,.h4{font-size:19px}h5,.h5{font-size:15px}h6,.h6{font-size:13px}p{margin:0 0 10.5px}.lead{margin-bottom:21px;font-size:17px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:22.5px}}small,.small{font-size:86%}mark,.mark{background-color:#ff7518;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#999999}.text-primary{color:#2780e3}a.text-primary:hover,a.text-primary:focus{color:#1967be}.text-success{color:#ffffff}a.text-success:hover,a.text-success:focus{color:#e6e6e6}.text-info{color:#ffffff}a.text-info:hover,a.text-info:focus{color:#e6e6e6}.text-warning{color:#ffffff}a.text-warning:hover,a.text-warning:focus{color:#e6e6e6}.text-danger{color:#ffffff}a.text-danger:hover,a.text-danger:focus{color:#e6e6e6}.bg-primary{color:#fff;background-color:#2780e3}a.bg-primary:hover,a.bg-primary:focus{background-color:#1967be}.bg-success{background-color:#3fb618}a.bg-success:hover,a.bg-success:focus{background-color:#2f8912}.bg-info{background-color:#9954bb}a.bg-info:hover,a.bg-info:focus{background-color:#7e3f9d}.bg-warning{background-color:#ff7518}a.bg-warning:hover,a.bg-warning:focus{background-color:#e45c00}.bg-danger{background-color:#ff0039}a.bg-danger:hover,a.bg-danger:focus{background-color:#cc002e}.page-header{padding-bottom:9.5px;margin:42px 0 21px;border-bottom:1px solid #e6e6e6}ul,ol{margin-top:0;margin-bottom:10.5px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:21px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10.5px 21px;margin:0 0 21px;font-size:18.75px;border-left:5px solid #e6e6e6}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#999999}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #e6e6e6;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:21px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:0}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:10px;margin:0 0 10.5px;font-size:14px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333333;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:0}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#999999;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:21px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #dddddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #dddddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #dddddd}.table .table{background-color:#ffffff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#3fb618}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#379f15}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#9954bb}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#8d46b0}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#ff7518}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#fe6600}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#ff0039}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#e60033}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15.75px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #dddddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:21px;font-size:22.5px;line-height:inherit;color:#333333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:11px;font-size:15px;line-height:1.42857143;color:#333333}.form-control{display:block;width:100%;height:43px;padding:10px 18px;font-size:15px;line-height:1.42857143;color:#333333;background-color:#ffffff;background-image:none;border:1px solid #cccccc;border-radius:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#999999;opacity:1}.form-control:-ms-input-placeholder{color:#999999}.form-control::-webkit-input-placeholder{color:#999999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#e6e6e6;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:43px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:31px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:64px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:21px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:11px;padding-bottom:11px;margin-bottom:0;min-height:36px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:31px;padding:5px 10px;font-size:13px;line-height:1.5;border-radius:0}select.input-sm{height:31px;line-height:31px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:31px;padding:5px 10px;font-size:13px;line-height:1.5;border-radius:0}.form-group-sm select.form-control{height:31px;line-height:31px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:31px;min-height:34px;padding:6px 10px;font-size:13px;line-height:1.5}.input-lg{height:64px;padding:18px 30px;font-size:19px;line-height:1.3333333;border-radius:0}select.input-lg{height:64px;line-height:64px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:64px;padding:18px 30px;font-size:19px;line-height:1.3333333;border-radius:0}.form-group-lg select.form-control{height:64px;line-height:64px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:64px;min-height:40px;padding:19px 30px;font-size:19px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:53.75px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:43px;height:43px;line-height:43px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:64px;height:64px;line-height:64px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:31px;height:31px;line-height:31px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#ffffff}.has-success .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-success .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#3fb618}.has-success .form-control-feedback{color:#ffffff}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#ffffff}.has-warning .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-warning .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#ff7518}.has-warning .form-control-feedback{color:#ffffff}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#ffffff}.has-error .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-error .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#ff0039}.has-error .form-control-feedback{color:#ffffff}.has-feedback label~.form-control-feedback{top:26px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:11px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:32px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:11px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:24.9999994px;font-size:19px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:13px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:10px 18px;font-size:15px;line-height:1.42857143;border-radius:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#ffffff;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#ffffff;background-color:#222222;border-color:#222222}.btn-default:focus,.btn-default.focus{color:#ffffff;background-color:#090909;border-color:#000000}.btn-default:hover{color:#ffffff;background-color:#090909;border-color:#040404}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#ffffff;background-color:#090909;border-color:#040404}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#ffffff;background-color:#000000;border-color:#000000}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#222222;border-color:#222222}.btn-default .badge{color:#222222;background-color:#ffffff}.btn-primary{color:#ffffff;background-color:#2780e3;border-color:#2780e3}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#1967be;border-color:#10427b}.btn-primary:hover{color:#ffffff;background-color:#1967be;border-color:#1862b5}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#1967be;border-color:#1862b5}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#15569f;border-color:#10427b}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#2780e3;border-color:#2780e3}.btn-primary .badge{color:#2780e3;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#3fb618;border-color:#3fb618}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#2f8912;border-color:#184509}.btn-success:hover{color:#ffffff;background-color:#2f8912;border-color:#2c8011}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#2f8912;border-color:#2c8011}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#24690e;border-color:#184509}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#3fb618;border-color:#3fb618}.btn-success .badge{color:#3fb618;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#9954bb;border-color:#9954bb}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#7e3f9d;border-color:#522967}.btn-info:hover{color:#ffffff;background-color:#7e3f9d;border-color:#783c96}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#7e3f9d;border-color:#783c96}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#6a3484;border-color:#522967}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#9954bb;border-color:#9954bb}.btn-info .badge{color:#9954bb;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#ff7518;border-color:#ff7518}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#e45c00;border-color:#983d00}.btn-warning:hover{color:#ffffff;background-color:#e45c00;border-color:#da5800}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#e45c00;border-color:#da5800}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#c04d00;border-color:#983d00}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#ff7518;border-color:#ff7518}.btn-warning .badge{color:#ff7518;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#ff0039;border-color:#ff0039}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#cc002e;border-color:#80001c}.btn-danger:hover{color:#ffffff;background-color:#cc002e;border-color:#c2002b}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#cc002e;border-color:#c2002b}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#a80026;border-color:#80001c}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#ff0039;border-color:#ff0039}.btn-danger .badge{color:#ff0039;background-color:#ffffff}.btn-link{color:#2780e3;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#165ba8;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999999;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:18px 30px;font-size:19px;line-height:1.3333333;border-radius:0}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:13px;line-height:1.5;border-radius:0}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:13px;line-height:1.5;border-radius:0}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:15px;text-align:left;background-color:#ffffff;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.15);border-radius:0;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#ffffff;background-color:#2780e3}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#2780e3}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:13px;line-height:1.42857143;color:#999999;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:64px;padding:18px 30px;font-size:19px;line-height:1.3333333;border-radius:0}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:64px;line-height:64px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:31px;padding:5px 10px;font-size:13px;line-height:1.5;border-radius:0}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:31px;line-height:31px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:10px 18px;font-size:15px;font-weight:normal;line-height:1;color:#333333;text-align:center;background-color:#e6e6e6;border:1px solid #cccccc;border-radius:0}.input-group-addon.input-sm{padding:5px 10px;font-size:13px;border-radius:0}.input-group-addon.input-lg{padding:18px 30px;font-size:19px;border-radius:0}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#e6e6e6}.nav>li.disabled>a{color:#999999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999999;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#e6e6e6;border-color:#2780e3}.nav .nav-divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #dddddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:0 0 0 0}.nav-tabs>li>a:hover{border-color:#e6e6e6 #e6e6e6 #dddddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555555;background-color:#ffffff;border:1px solid #dddddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #dddddd;border-radius:0 0 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#ffffff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:0}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#2780e3}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #dddddd;border-radius:0 0 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#ffffff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:21px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:0}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:14.5px 15px;font-size:19px;line-height:21px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:0}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.25px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:21px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:21px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:14.5px;padding-bottom:14.5px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:3.5px;margin-bottom:3.5px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:3.5px;margin-bottom:3.5px}.navbar-btn.btn-sm{margin-top:9.5px;margin-bottom:9.5px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:14.5px;margin-bottom:14.5px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#222222;border-color:#121212}.navbar-default .navbar-brand{color:#ffffff}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#ffffff;background-color:none}.navbar-default .navbar-text{color:#ffffff}.navbar-default .navbar-nav>li>a{color:#ffffff}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#ffffff;background-color:#090909}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#ffffff;background-color:#090909}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:transparent}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#090909}.navbar-default .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#121212}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#090909;color:#ffffff}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#ffffff}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:#090909}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#090909}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-default .navbar-link{color:#ffffff}.navbar-default .navbar-link:hover{color:#ffffff}.navbar-default .btn-link{color:#ffffff}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#ffffff}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#cccccc}.navbar-inverse{background-color:#2780e3;border-color:#1967be}.navbar-inverse .navbar-brand{color:#ffffff}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#ffffff;background-color:none}.navbar-inverse .navbar-text{color:#ffffff}.navbar-inverse .navbar-nav>li>a{color:#ffffff}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#ffffff;background-color:#1967be}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ffffff;background-color:#1967be}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:transparent}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#1967be}.navbar-inverse .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#1a6ecc}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#1967be;color:#ffffff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#1967be}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#1967be}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#ffffff}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:#1967be}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#1967be}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ffffff;background-color:transparent}}.navbar-inverse .navbar-link{color:#ffffff}.navbar-inverse .navbar-link:hover{color:#ffffff}.navbar-inverse .btn-link{color:#ffffff}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#ffffff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#ffffff}.breadcrumb{padding:8px 15px;margin-bottom:21px;list-style:none;background-color:#f5f5f5;border-radius:0}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#cccccc}.breadcrumb>.active{color:#999999}.pagination{display:inline-block;padding-left:0;margin:21px 0;border-radius:0}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:10px 18px;line-height:1.42857143;text-decoration:none;color:#2780e3;background-color:#ffffff;border:1px solid #dddddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:0;border-top-left-radius:0}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:0;border-top-right-radius:0}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:3;color:#165ba8;background-color:#e6e6e6;border-color:#dddddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#999999;background-color:#f5f5f5;border-color:#dddddd;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999999;background-color:#ffffff;border-color:#dddddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:18px 30px;font-size:19px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:0;border-top-left-radius:0}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:0;border-top-right-radius:0}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:13px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:0;border-top-left-radius:0}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:0;border-top-right-radius:0}.pager{padding-left:0;margin:21px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#ffffff;border:1px solid #dddddd;border-radius:0}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#e6e6e6}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999999;background-color:#ffffff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#222222}.label-default[href]:hover,.label-default[href]:focus{background-color:#090909}.label-primary{background-color:#2780e3}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#1967be}.label-success{background-color:#3fb618}.label-success[href]:hover,.label-success[href]:focus{background-color:#2f8912}.label-info{background-color:#9954bb}.label-info[href]:hover,.label-info[href]:focus{background-color:#7e3f9d}.label-warning{background-color:#ff7518}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#e45c00}.label-danger{background-color:#ff0039}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#cc002e}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:13px;font-weight:bold;color:#ffffff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#2780e3;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#2780e3;background-color:#ffffff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#e6e6e6}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:23px;font-weight:200}.jumbotron>hr{border-top-color:#cccccc}.container .jumbotron,.container-fluid .jumbotron{border-radius:0}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:68px}}.thumbnail{display:block;padding:4px;margin-bottom:21px;line-height:1.42857143;background-color:#ffffff;border:1px solid #dddddd;border-radius:0;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#2780e3}.thumbnail .caption{padding:9px;color:#333333}.alert{padding:15px;margin-bottom:21px;border:1px solid transparent;border-radius:0}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#3fb618;border-color:#4e9f15;color:#ffffff}.alert-success hr{border-top-color:#438912}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#9954bb;border-color:#7643a8;color:#ffffff}.alert-info hr{border-top-color:#693c96}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#ff7518;border-color:#ff4309;color:#ffffff}.alert-warning hr{border-top-color:#ee3800}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#ff0039;border-color:#f0005e;color:#ffffff}.alert-danger hr{border-top-color:#d60054}.alert-danger .alert-link{color:#e6e6e6}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:21px;margin-bottom:21px;background-color:#cccccc;border-radius:0;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:13px;line-height:21px;color:#ffffff;text-align:center;background-color:#2780e3;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#3fb618}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#9954bb}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#ff7518}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#ff0039}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#ffffff;border:1px solid #dddddd}.list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}a.list-group-item,button.list-group-item{color:#555555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#555555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#e6e6e6;color:#999999;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#999999}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#2780e3;border-color:#dddddd}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#dceafa}.list-group-item-success{color:#ffffff;background-color:#3fb618}a.list-group-item-success,button.list-group-item-success{color:#ffffff}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#ffffff;background-color:#379f15}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-info{color:#ffffff;background-color:#9954bb}a.list-group-item-info,button.list-group-item-info{color:#ffffff}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#ffffff;background-color:#8d46b0}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-warning{color:#ffffff;background-color:#ff7518}a.list-group-item-warning,button.list-group-item-warning{color:#ffffff}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#ffffff;background-color:#fe6600}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-danger{color:#ffffff;background-color:#ff0039}a.list-group-item-danger,button.list-group-item-danger{color:#ffffff}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#ffffff;background-color:#e60033}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:21px;background-color:#ffffff;border:1px solid transparent;border-radius:0;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:-1;border-top-left-radius:-1}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:17px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #dddddd;border-bottom-right-radius:-1;border-bottom-left-radius:-1}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:-1;border-top-left-radius:-1}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:-1;border-bottom-left-radius:-1}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:-1;border-top-left-radius:-1}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:-1;border-top-right-radius:-1}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:-1}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:-1}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:-1;border-bottom-left-radius:-1}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:-1;border-bottom-right-radius:-1}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:-1}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:-1}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #dddddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:21px}.panel-group .panel{margin-bottom:0;border-radius:0}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #dddddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #dddddd}.panel-default{border-color:#dddddd}.panel-default>.panel-heading{color:#333333;background-color:#f5f5f5;border-color:#dddddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dddddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dddddd}.panel-primary{border-color:#2780e3}.panel-primary>.panel-heading{color:#ffffff;background-color:#2780e3;border-color:#2780e3}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#2780e3}.panel-primary>.panel-heading .badge{color:#2780e3;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#2780e3}.panel-success{border-color:#4e9f15}.panel-success>.panel-heading{color:#ffffff;background-color:#3fb618;border-color:#4e9f15}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#4e9f15}.panel-success>.panel-heading .badge{color:#3fb618;background-color:#ffffff}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#4e9f15}.panel-info{border-color:#7643a8}.panel-info>.panel-heading{color:#ffffff;background-color:#9954bb;border-color:#7643a8}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#7643a8}.panel-info>.panel-heading .badge{color:#9954bb;background-color:#ffffff}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#7643a8}.panel-warning{border-color:#ff4309}.panel-warning>.panel-heading{color:#ffffff;background-color:#ff7518;border-color:#ff4309}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ff4309}.panel-warning>.panel-heading .badge{color:#ff7518;background-color:#ffffff}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ff4309}.panel-danger{border-color:#f0005e}.panel-danger>.panel-heading{color:#ffffff;background-color:#ff0039;border-color:#f0005e}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f0005e}.panel-danger>.panel-heading .badge{color:#ff0039;background-color:#ffffff}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f0005e}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:0}.well-sm{padding:9px;border-radius:0}.close{float:right;font-size:22.5px;font-weight:bold;line-height:1;color:#ffffff;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#ffffff;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#ffffff;border:1px solid #999999;border:1px solid transparent;border-radius:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Source Sans Pro",Calibri,Candara,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:13px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#000000;border-radius:0}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Source Sans Pro",Calibri,Candara,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:15px;background-color:#ffffff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.2);border-radius:0;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:15px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:-1 -1 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.navbar-inverse .badge{background-color:#fff;color:#2780e3}body{-webkit-font-smoothing:antialiased}.text-primary,.text-primary:hover{color:#2780e3}.text-success,.text-success:hover{color:#3fb618}.text-danger,.text-danger:hover{color:#ff0039}.text-warning,.text-warning:hover{color:#ff7518}.text-info,.text-info:hover{color:#9954bb}table a:not(.btn),.table a:not(.btn){text-decoration:underline}table .dropdown-menu a,.table .dropdown-menu a{text-decoration:none}table .success,.table .success,table .warning,.table .warning,table .danger,.table .danger,table .info,.table .info{color:#fff}table .success a,.table .success a,table .warning a,.table .warning a,table .danger a,.table .danger a,table .info a,.table .info a{color:#fff}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label,.has-warning .form-control-feedback{color:#ff7518}.has-warning .form-control,.has-warning .form-control:focus,.has-warning .input-group-addon{border:1px solid #ff7518}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label,.has-error .form-control-feedback{color:#ff0039}.has-error .form-control,.has-error .form-control:focus,.has-error .input-group-addon{border:1px solid #ff0039}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label,.has-success .form-control-feedback{color:#3fb618}.has-success .form-control,.has-success .form-control:focus,.has-success .input-group-addon{border:1px solid #3fb618}.nav-pills>li>a{border-radius:0}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-image:none}.close{text-decoration:none;text-shadow:none;opacity:0.4}.close:hover,.close:focus{opacity:1}.alert{border:none}.alert .alert-link{text-decoration:underline;color:#fff}.label{border-radius:0}.progress{height:8px;-webkit-box-shadow:none;box-shadow:none}.progress .progress-bar{font-size:8px;line-height:8px}.panel-heading,.panel-footer{border-top-right-radius:0;border-top-left-radius:0}.panel-default .close{color:#333333}a.list-group-item-success.active{background-color:#3fb618}a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{background-color:#379f15}a.list-group-item-warning.active{background-color:#ff7518}a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{background-color:#fe6600}a.list-group-item-danger.active{background-color:#ff0039}a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{background-color:#e60033}.modal .close{color:#333333}.popover{color:#333333} \ No newline at end of file diff --git a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/cyborg/bootstrap.min.css b/mayan/apps/appearance/static/appearance/packages/bootswatch.com/cyborg/bootstrap.min.css deleted file mode 100644 index b3d808f985..0000000000 --- a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/cyborg/bootstrap.min.css +++ /dev/null @@ -1,11 +0,0 @@ -@import url("https://fonts.googleapis.com/css?family=Roboto:400,700");/*! - * bootswatch v3.3.5 - * Homepage: http://bootswatch.com - * Copyright 2012-2015 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*//*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#888888;background-color:#060606}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2a9fd6;text-decoration:none}a:hover,a:focus{color:#2a9fd6;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#282828;border:1px solid #282828;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #282828}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:#ffffff}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#888888}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:56px}h2,.h2{font-size:45px}h3,.h3{font-size:34px}h4,.h4{font-size:24px}h5,.h5{font-size:20px}h6,.h6{font-size:16px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#ff8800;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#888888}.text-primary{color:#2a9fd6}a.text-primary:hover,a.text-primary:focus{color:#2180ac}.text-success{color:#ffffff}a.text-success:hover,a.text-success:focus{color:#e6e6e6}.text-info{color:#ffffff}a.text-info:hover,a.text-info:focus{color:#e6e6e6}.text-warning{color:#ffffff}a.text-warning:hover,a.text-warning:focus{color:#e6e6e6}.text-danger{color:#ffffff}a.text-danger:hover,a.text-danger:focus{color:#e6e6e6}.bg-primary{color:#fff;background-color:#2a9fd6}a.bg-primary:hover,a.bg-primary:focus{background-color:#2180ac}.bg-success{background-color:#77b300}a.bg-success:hover,a.bg-success:focus{background-color:#558000}.bg-info{background-color:#9933cc}a.bg-info:hover,a.bg-info:focus{background-color:#7a29a3}.bg-warning{background-color:#ff8800}a.bg-warning:hover,a.bg-warning:focus{background-color:#cc6d00}.bg-danger{background-color:#cc0000}a.bg-danger:hover,a.bg-danger:focus{background-color:#990000}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #282828}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #888888}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #282828}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#555555}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #282828;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#282828;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:#181818}caption{padding-top:8px;padding-bottom:8px;color:#888888;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #282828}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #282828}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #282828}.table .table{background-color:#060606}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #282828}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #282828}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#080808}.table-hover>tbody>tr:hover{background-color:#282828}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#282828}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#1b1b1b}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#77b300}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#669a00}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#9933cc}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#8a2eb8}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#ff8800}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#e67a00}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#cc0000}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#b30000}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #282828}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#888888;border:0;border-bottom:1px solid #282828}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:9px;font-size:14px;line-height:1.42857143;color:#888888}.form-control{display:block;width:100%;height:38px;padding:8px 12px;font-size:14px;line-height:1.42857143;color:#888888;background-color:#ffffff;background-image:none;border:1px solid #282828;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#888888;opacity:1}.form-control:-ms-input-placeholder{color:#888888}.form-control::-webkit-input-placeholder{color:#888888}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#adafae;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:38px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:54px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:9px;padding-bottom:9px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:54px;padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:54px;line-height:54px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:54px;padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:54px;line-height:54px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:54px;min-height:38px;padding:15px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:47.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:38px;height:38px;line-height:38px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:54px;height:54px;line-height:54px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#ffffff}.has-success .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-success .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#77b300}.has-success .form-control-feedback{color:#ffffff}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#ffffff}.has-warning .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-warning .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#ff8800}.has-warning .form-control-feedback{color:#ffffff}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#ffffff}.has-error .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-error .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#cc0000}.has-error .form-control-feedback{color:#ffffff}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#c8c8c8}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:9px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:29px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:9px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:19.6666662px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:8px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#ffffff;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#ffffff;background-color:#424242;border-color:#424242}.btn-default:focus,.btn-default.focus{color:#ffffff;background-color:#282828;border-color:#020202}.btn-default:hover{color:#ffffff;background-color:#282828;border-color:#232323}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#ffffff;background-color:#282828;border-color:#232323}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#ffffff;background-color:#161616;border-color:#020202}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#424242;border-color:#424242}.btn-default .badge{color:#424242;background-color:#ffffff}.btn-primary{color:#ffffff;background-color:#2a9fd6;border-color:#2a9fd6}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#2180ac;border-color:#15506c}.btn-primary:hover{color:#ffffff;background-color:#2180ac;border-color:#1f79a3}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#2180ac;border-color:#1f79a3}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#1b698e;border-color:#15506c}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#2a9fd6;border-color:#2a9fd6}.btn-primary .badge{color:#2a9fd6;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#77b300;border-color:#77b300}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#558000;border-color:#223300}.btn-success:hover{color:#ffffff;background-color:#558000;border-color:#4e7600}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#558000;border-color:#4e7600}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#3d5c00;border-color:#223300}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#77b300;border-color:#77b300}.btn-success .badge{color:#77b300;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#9933cc;border-color:#9933cc}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#7a29a3;border-color:#4c1966}.btn-info:hover{color:#ffffff;background-color:#7a29a3;border-color:#74279b}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#7a29a3;border-color:#74279b}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#652287;border-color:#4c1966}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#9933cc;border-color:#9933cc}.btn-info .badge{color:#9933cc;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#ff8800;border-color:#ff8800}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#cc6d00;border-color:#804400}.btn-warning:hover{color:#ffffff;background-color:#cc6d00;border-color:#c26700}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#cc6d00;border-color:#c26700}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#a85a00;border-color:#804400}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#ff8800;border-color:#ff8800}.btn-warning .badge{color:#ff8800;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#cc0000;border-color:#cc0000}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#990000;border-color:#4d0000}.btn-danger:hover{color:#ffffff;background-color:#990000;border-color:#8f0000}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#990000;border-color:#8f0000}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#750000;border-color:#4d0000}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#cc0000;border-color:#cc0000}.btn-danger .badge{color:#cc0000;background-color:#ffffff}.btn-link{color:#2a9fd6;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a9fd6;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#888888;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#222222;border:1px solid #444444;border:1px solid rgba(255,255,255,0.1);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:rgba(255,255,255,0.1)}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#ffffff;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#ffffff;background-color:#2a9fd6}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#2a9fd6}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#888888}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#888888;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:54px;padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:54px;line-height:54px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:8px 12px;font-size:14px;font-weight:normal;line-height:1;color:#888888;text-align:center;background-color:#adafae;border:1px solid #282828;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:14px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#222222}.nav>li.disabled>a{color:#888888}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#888888;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#222222;border-color:#2a9fd6}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #282828}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:transparent transparent #282828}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#ffffff;background-color:#2a9fd6;border:1px solid #282828;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#060606}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#2a9fd6}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#060606}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:6px;margin-bottom:6px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:6px;margin-bottom:6px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#060606;border-color:#282828}.navbar-default .navbar-brand{color:#ffffff}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#ffffff;background-color:transparent}.navbar-default .navbar-text{color:#888888}.navbar-default .navbar-nav>li>a{color:#888888}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#ffffff;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#ffffff;background-color:transparent}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#888888;background-color:transparent}.navbar-default .navbar-toggle{border-color:#282828}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#282828}.navbar-default .navbar-toggle .icon-bar{background-color:#cccccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#282828}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:transparent;color:#ffffff}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#888888}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#888888;background-color:transparent}}.navbar-default .navbar-link{color:#888888}.navbar-default .navbar-link:hover{color:#ffffff}.navbar-default .btn-link{color:#888888}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#ffffff}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#888888}.navbar-inverse{background-color:#222222;border-color:#080808}.navbar-inverse .navbar-brand{color:#ffffff}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-text{color:#888888}.navbar-inverse .navbar-nav>li>a{color:#888888}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#aaaaaa;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:transparent;color:#ffffff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#888888}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#aaaaaa;background-color:transparent}}.navbar-inverse .navbar-link{color:#888888}.navbar-inverse .navbar-link:hover{color:#ffffff}.navbar-inverse .btn-link{color:#888888}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#ffffff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#aaaaaa}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#222222;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ffffff}.breadcrumb>.active{color:#888888}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:8px 12px;line-height:1.42857143;text-decoration:none;color:#ffffff;background-color:#222222;border:1px solid #282828;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:3;color:#ffffff;background-color:#2a9fd6;border-color:transparent}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#ffffff;background-color:#2a9fd6;border-color:transparent;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#888888;background-color:#222222;border-color:#282828;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:14px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#222222;border:1px solid #282828;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#2a9fd6}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#888888;background-color:#222222;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#424242}.label-default[href]:hover,.label-default[href]:focus{background-color:#282828}.label-primary{background-color:#2a9fd6}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#2180ac}.label-success{background-color:#77b300}.label-success[href]:hover,.label-success[href]:focus{background-color:#558000}.label-info{background-color:#9933cc}.label-info[href]:hover,.label-info[href]:focus{background-color:#7a29a3}.label-warning{background-color:#ff8800}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#cc6d00}.label-danger{background-color:#cc0000}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#990000}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#ffffff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#2a9fd6;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#2a9fd6;background-color:#ffffff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#151515}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#000000}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#282828;border:1px solid #282828;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#2a9fd6}.thumbnail .caption{padding:9px;color:#888888}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#77b300;border-color:#809a00;color:#ffffff}.alert-success hr{border-top-color:#6a8000}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#9933cc;border-color:#6e2caf;color:#ffffff}.alert-info hr{border-top-color:#61279b}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#ff8800;border-color:#f05800;color:#ffffff}.alert-warning hr{border-top-color:#d64f00}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#cc0000;border-color:#bd001f;color:#ffffff}.alert-danger hr{border-top-color:#a3001b}.alert-danger .alert-link{color:#e6e6e6}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#222222;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#ffffff;text-align:center;background-color:#2a9fd6;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#77b300}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#9933cc}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#ff8800}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#cc0000}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#222222;border:1px solid #282828}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#888888}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#ffffff}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#888888;background-color:#484848}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#adafae;color:#888888;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#888888}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#2a9fd6;border-color:#2a9fd6}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#d5ecf7}.list-group-item-success{color:#ffffff;background-color:#77b300}a.list-group-item-success,button.list-group-item-success{color:#ffffff}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#ffffff;background-color:#669a00}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-info{color:#ffffff;background-color:#9933cc}a.list-group-item-info,button.list-group-item-info{color:#ffffff}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#ffffff;background-color:#8a2eb8}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-warning{color:#ffffff;background-color:#ff8800}a.list-group-item-warning,button.list-group-item-warning{color:#ffffff}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#ffffff;background-color:#e67a00}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-danger{color:#ffffff;background-color:#cc0000}a.list-group-item-danger,button.list-group-item-danger{color:#ffffff}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#ffffff;background-color:#b30000}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#222222;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#3c3c3c;border-top:1px solid #282828;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #282828}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #282828}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #282828}.panel-default{border-color:#282828}.panel-default>.panel-heading{color:#888888;background-color:#3c3c3c;border-color:#282828}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#282828}.panel-default>.panel-heading .badge{color:#3c3c3c;background-color:#888888}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#282828}.panel-primary{border-color:#2a9fd6}.panel-primary>.panel-heading{color:#ffffff;background-color:#2a9fd6;border-color:#2a9fd6}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#2a9fd6}.panel-primary>.panel-heading .badge{color:#2a9fd6;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#2a9fd6}.panel-success{border-color:#809a00}.panel-success>.panel-heading{color:#ffffff;background-color:#77b300;border-color:#809a00}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#809a00}.panel-success>.panel-heading .badge{color:#77b300;background-color:#ffffff}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#809a00}.panel-info{border-color:#6e2caf}.panel-info>.panel-heading{color:#ffffff;background-color:#9933cc;border-color:#6e2caf}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#6e2caf}.panel-info>.panel-heading .badge{color:#9933cc;background-color:#ffffff}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#6e2caf}.panel-warning{border-color:#f05800}.panel-warning>.panel-heading{color:#ffffff;background-color:#ff8800;border-color:#f05800}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f05800}.panel-warning>.panel-heading .badge{color:#ff8800;background-color:#ffffff}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f05800}.panel-danger{border-color:#bd001f}.panel-danger>.panel-heading{color:#ffffff;background-color:#cc0000;border-color:#bd001f}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bd001f}.panel-danger>.panel-heading .badge{color:#cc0000;background-color:#ffffff}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bd001f}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#151515;border:1px solid #030303;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#202020;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #282828;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;text-align:right;border-top:1px solid #282828}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#000000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#202020;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#181818;border-bottom:1px solid #0b0b0b;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#666666;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#202020}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#666666;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#202020}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#666666;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#202020}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#666666;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#202020;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.text-primary,.text-primary:hover{color:#2a9fd6}.text-success,.text-success:hover{color:#77b300}.text-danger,.text-danger:hover{color:#cc0000}.text-warning,.text-warning:hover{color:#ff8800}.text-info,.text-info:hover{color:#9933cc}.bg-success,.bg-info,.bg-warning,.bg-danger{color:#fff}table,.table{color:#fff}table a:not(.btn),.table a:not(.btn){color:#fff;text-decoration:underline}table .dropdown-menu a,.table .dropdown-menu a{text-decoration:none}table .text-muted,.table .text-muted{color:#888888}.table-responsive>.table{background-color:#181818}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label,.has-warning .form-control-feedback{color:#ff8800}.has-warning .form-control,.has-warning .form-control:focus,.has-warning .input-group-addon{border-color:#ff8800}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label,.has-error .form-control-feedback{color:#cc0000}.has-error .form-control,.has-error .form-control:focus,.has-error .input-group-addon{border-color:#cc0000}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label,.has-success .form-control-feedback{color:#77b300}.has-success .form-control,.has-success .form-control:focus,.has-success .input-group-addon{border-color:#77b300}legend{color:#fff}.input-group-addon{background-color:#424242}.nav-tabs a,.nav-pills a,.breadcrumb a,.pager a{color:#fff}.alert .alert-link,.alert a{color:#ffffff;text-decoration:underline}.alert .close{text-decoration:none}.close{color:#fff;text-decoration:none;opacity:0.4}.close:hover,.close:focus{color:#fff;opacity:1}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#282828}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{border-color:#282828}a.list-group-item-success.active{background-color:#77b300}a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{background-color:#669a00}a.list-group-item-warning.active{background-color:#ff8800}a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{background-color:#e67a00}a.list-group-item-danger.active{background-color:#cc0000}a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{background-color:#b30000}.jumbotron h1,.jumbotron h2,.jumbotron h3,.jumbotron h4,.jumbotron h5,.jumbotron h6{color:#fff} \ No newline at end of file diff --git a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/darkly/bootstrap.min.css b/mayan/apps/appearance/static/appearance/packages/bootswatch.com/darkly/bootstrap.min.css deleted file mode 100644 index c640607347..0000000000 --- a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/darkly/bootstrap.min.css +++ /dev/null @@ -1,11 +0,0 @@ -@import url("https://fonts.googleapis.com/css?family=Lato:400,700,400italic");/*! - * bootswatch v3.3.5 - * Homepage: http://bootswatch.com - * Copyright 2012-2015 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*//*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Lato","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:15px;line-height:1.42857143;color:#ffffff;background-color:#222222}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#0ce3ac;text-decoration:none}a:hover,a:focus{color:#0ce3ac;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:2px;line-height:1.42857143;background-color:#222222;border:1px solid #464545;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:21px;margin-bottom:21px;border:0;border-top:1px solid #464545}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Lato","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#999999}h1,.h1,h2,.h2,h3,.h3{margin-top:21px;margin-bottom:10.5px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10.5px;margin-bottom:10.5px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:39px}h2,.h2{font-size:32px}h3,.h3{font-size:26px}h4,.h4{font-size:19px}h5,.h5{font-size:15px}h6,.h6{font-size:13px}p{margin:0 0 10.5px}.lead{margin-bottom:21px;font-size:17px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:22.5px}}small,.small{font-size:86%}mark,.mark{background-color:#f39c12;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#999999}.text-primary{color:#375a7f}a.text-primary:hover,a.text-primary:focus{color:#28415b}.text-success{color:#ffffff}a.text-success:hover,a.text-success:focus{color:#e6e6e6}.text-info{color:#ffffff}a.text-info:hover,a.text-info:focus{color:#e6e6e6}.text-warning{color:#ffffff}a.text-warning:hover,a.text-warning:focus{color:#e6e6e6}.text-danger{color:#ffffff}a.text-danger:hover,a.text-danger:focus{color:#e6e6e6}.bg-primary{color:#fff;background-color:#375a7f}a.bg-primary:hover,a.bg-primary:focus{background-color:#28415b}.bg-success{background-color:#00bc8c}a.bg-success:hover,a.bg-success:focus{background-color:#008966}.bg-info{background-color:#3498db}a.bg-info:hover,a.bg-info:focus{background-color:#217dbb}.bg-warning{background-color:#f39c12}a.bg-warning:hover,a.bg-warning:focus{background-color:#c87f0a}.bg-danger{background-color:#e74c3c}a.bg-danger:hover,a.bg-danger:focus{background-color:#d62c1a}.page-header{padding-bottom:9.5px;margin:42px 0 21px;border-bottom:1px solid transparent}ul,ol{margin-top:0;margin-bottom:10.5px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:21px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10.5px 21px;margin:0 0 21px;font-size:18.75px;border-left:5px solid #464545}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#999999}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #464545;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:21px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:10px;margin:0 0 10.5px;font-size:14px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#303030;background-color:#ebebeb;border:1px solid #cccccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#999999;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:21px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #464545}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #464545}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #464545}.table .table{background-color:#222222}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #464545}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #464545}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#3d3d3d}.table-hover>tbody>tr:hover{background-color:#464545}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#464545}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#393838}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#00bc8c}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#00a379}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#3498db}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#258cd1}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#f39c12}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#e08e0b}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#e74c3c}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#e43725}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15.75px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #464545}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:21px;font-size:22.5px;line-height:inherit;color:#ffffff;border:0;border-bottom:1px solid transparent}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:11px;font-size:15px;line-height:1.42857143;color:#464545}.form-control{display:block;width:100%;height:45px;padding:10px 15px;font-size:15px;line-height:1.42857143;color:#464545;background-color:#ffffff;background-image:none;border:1px solid #f1f1f1;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#ffffff;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(255,255,255,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(255,255,255,0.6)}.form-control::-moz-placeholder{color:#999999;opacity:1}.form-control:-ms-input-placeholder{color:#999999}.form-control::-webkit-input-placeholder{color:#999999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#ebebeb;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:45px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:35px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:66px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:21px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:11px;padding-bottom:11px;margin-bottom:0;min-height:36px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:35px;padding:6px 9px;font-size:13px;line-height:1.5;border-radius:3px}select.input-sm{height:35px;line-height:35px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:35px;padding:6px 9px;font-size:13px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:35px;line-height:35px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:35px;min-height:34px;padding:7px 9px;font-size:13px;line-height:1.5}.input-lg{height:66px;padding:18px 27px;font-size:19px;line-height:1.3333333;border-radius:6px}select.input-lg{height:66px;line-height:66px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:66px;padding:18px 27px;font-size:19px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:66px;line-height:66px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:66px;min-height:40px;padding:19px 27px;font-size:19px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:56.25px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:45px;height:45px;line-height:45px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:66px;height:66px;line-height:66px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:35px;height:35px;line-height:35px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#ffffff}.has-success .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-success .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#00bc8c}.has-success .form-control-feedback{color:#ffffff}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#ffffff}.has-warning .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-warning .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#f39c12}.has-warning .form-control-feedback{color:#ffffff}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#ffffff}.has-error .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-error .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#e74c3c}.has-error .form-control-feedback{color:#ffffff}.has-feedback label~.form-control-feedback{top:26px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#ffffff}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:11px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:32px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:11px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:24.9999994px;font-size:19px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:7px;font-size:13px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:10px 15px;font-size:15px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#ffffff;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#ffffff;background-color:#464545;border-color:#464545}.btn-default:focus,.btn-default.focus{color:#ffffff;background-color:#2c2c2c;border-color:#060606}.btn-default:hover{color:#ffffff;background-color:#2c2c2c;border-color:#272727}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#ffffff;background-color:#2c2c2c;border-color:#272727}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#ffffff;background-color:#1a1a1a;border-color:#060606}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#464545;border-color:#464545}.btn-default .badge{color:#464545;background-color:#ffffff}.btn-primary{color:#ffffff;background-color:#375a7f;border-color:#375a7f}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#28415b;border-color:#101b26}.btn-primary:hover{color:#ffffff;background-color:#28415b;border-color:#253c54}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#28415b;border-color:#253c54}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#1d2f43;border-color:#101b26}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#375a7f;border-color:#375a7f}.btn-primary .badge{color:#375a7f;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#00bc8c;border-color:#00bc8c}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#008966;border-color:#003d2d}.btn-success:hover{color:#ffffff;background-color:#008966;border-color:#007f5e}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#008966;border-color:#007f5e}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#00654b;border-color:#003d2d}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#00bc8c;border-color:#00bc8c}.btn-success .badge{color:#00bc8c;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#3498db;border-color:#3498db}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#217dbb;border-color:#16527a}.btn-info:hover{color:#ffffff;background-color:#217dbb;border-color:#2077b2}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#217dbb;border-color:#2077b2}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#1c699d;border-color:#16527a}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#3498db;border-color:#3498db}.btn-info .badge{color:#3498db;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#f39c12;border-color:#f39c12}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#c87f0a;border-color:#7f5006}.btn-warning:hover{color:#ffffff;background-color:#c87f0a;border-color:#be780a}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#c87f0a;border-color:#be780a}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#a66908;border-color:#7f5006}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f39c12;border-color:#f39c12}.btn-warning .badge{color:#f39c12;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#e74c3c;border-color:#e74c3c}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#d62c1a;border-color:#921e12}.btn-danger:hover{color:#ffffff;background-color:#d62c1a;border-color:#cd2a19}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#d62c1a;border-color:#cd2a19}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#b62516;border-color:#921e12}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#e74c3c;border-color:#e74c3c}.btn-danger .badge{color:#e74c3c;background-color:#ffffff}.btn-link{color:#0ce3ac;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#0ce3ac;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999999;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:18px 27px;font-size:19px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:6px 9px;font-size:13px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:13px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:15px;text-align:left;background-color:#303030;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:#464545}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#ebebeb;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#ffffff;background-color:#375a7f}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#375a7f}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:13px;line-height:1.42857143;color:#999999;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:66px;padding:18px 27px;font-size:19px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:66px;line-height:66px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:35px;padding:6px 9px;font-size:13px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:35px;line-height:35px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:10px 15px;font-size:15px;font-weight:normal;line-height:1;color:#464545;text-align:center;background-color:#464545;border:1px solid transparent;border-radius:4px}.input-group-addon.input-sm{padding:6px 9px;font-size:13px;border-radius:3px}.input-group-addon.input-lg{padding:18px 27px;font-size:19px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#303030}.nav>li.disabled>a{color:#605e5e}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#605e5e;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#303030;border-color:#0ce3ac}.nav .nav-divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #464545}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#464545 #464545 #464545}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#00bc8c;background-color:#222222;border:1px solid #464545;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ebebeb}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ebebeb;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#222222}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#375a7f}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ebebeb}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ebebeb;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#222222}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:60px;margin-bottom:21px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:19.5px 15px;font-size:19px;line-height:21px;height:60px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:13px;margin-bottom:13px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:9.75px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:21px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:21px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:19.5px;padding-bottom:19.5px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:7.5px;margin-bottom:7.5px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:7.5px;margin-bottom:7.5px}.navbar-btn.btn-sm{margin-top:12.5px;margin-bottom:12.5px}.navbar-btn.btn-xs{margin-top:19px;margin-bottom:19px}.navbar-text{margin-top:19.5px;margin-bottom:19.5px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#375a7f;border-color:transparent}.navbar-default .navbar-brand{color:#ffffff}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#00bc8c;background-color:transparent}.navbar-default .navbar-text{color:#777777}.navbar-default .navbar-nav>li>a{color:#ffffff}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#00bc8c;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#ffffff;background-color:#28415b}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#28415b}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#28415b}.navbar-default .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#28415b;color:#ffffff}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#ffffff}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#00bc8c;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#28415b}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-default .navbar-link{color:#ffffff}.navbar-default .navbar-link:hover{color:#00bc8c}.navbar-default .btn-link{color:#ffffff}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#00bc8c}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#cccccc}.navbar-inverse{background-color:#00bc8c;border-color:transparent}.navbar-inverse .navbar-brand{color:#ffffff}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#375a7f;background-color:transparent}.navbar-inverse .navbar-text{color:#ffffff}.navbar-inverse .navbar-nav>li>a{color:#ffffff}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#375a7f;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ffffff;background-color:#00a379}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#aaaaaa;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#008966}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#008966}.navbar-inverse .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#009871}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#00a379;color:#ffffff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#ffffff}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#375a7f;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#00a379}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#aaaaaa;background-color:transparent}}.navbar-inverse .navbar-link{color:#ffffff}.navbar-inverse .navbar-link:hover{color:#375a7f}.navbar-inverse .btn-link{color:#ffffff}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#375a7f}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#aaaaaa}.breadcrumb{padding:8px 15px;margin-bottom:21px;list-style:none;background-color:#464545;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ffffff}.breadcrumb>.active{color:#999999}.pagination{display:inline-block;padding-left:0;margin:21px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:10px 15px;line-height:1.42857143;text-decoration:none;color:#ffffff;background-color:#00bc8c;border:1px solid transparent;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:3;color:#ffffff;background-color:#00dba3;border-color:transparent}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#ffffff;background-color:#00dba3;border-color:transparent;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#ffffff;background-color:#007053;border-color:transparent;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:18px 27px;font-size:19px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:6px 9px;font-size:13px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:21px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#00bc8c;border:1px solid transparent;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#00dba3}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#dddddd;background-color:#00bc8c;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#464545}.label-default[href]:hover,.label-default[href]:focus{background-color:#2c2c2c}.label-primary{background-color:#375a7f}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#28415b}.label-success{background-color:#00bc8c}.label-success[href]:hover,.label-success[href]:focus{background-color:#008966}.label-info{background-color:#3498db}.label-info[href]:hover,.label-info[href]:focus{background-color:#217dbb}.label-warning{background-color:#f39c12}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#c87f0a}.label-danger{background-color:#e74c3c}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#d62c1a}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:13px;font-weight:bold;color:#ffffff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#464545;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#375a7f;background-color:#ffffff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#303030}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:23px;font-weight:200}.jumbotron>hr{border-top-color:#161616}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:68px}}.thumbnail{display:block;padding:2px;margin-bottom:21px;line-height:1.42857143;background-color:#222222;border:1px solid #464545;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#0ce3ac}.thumbnail .caption{padding:9px;color:#ffffff}.alert{padding:15px;margin-bottom:21px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#00bc8c;border-color:#00bc8c;color:#ffffff}.alert-success hr{border-top-color:#00a379}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#3498db;border-color:#3498db;color:#ffffff}.alert-info hr{border-top-color:#258cd1}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#f39c12;border-color:#f39c12;color:#ffffff}.alert-warning hr{border-top-color:#e08e0b}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#e74c3c;border-color:#e74c3c;color:#ffffff}.alert-danger hr{border-top-color:#e43725}.alert-danger .alert-link{color:#e6e6e6}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:21px;margin-bottom:21px;background-color:#ebebeb;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:13px;line-height:21px;color:#ffffff;text-align:center;background-color:#375a7f;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#00bc8c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#3498db}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f39c12}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#e74c3c}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#303030;border:1px solid #464545}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#0ce3ac}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#0bcb9a}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#0ce3ac;background-color:transparent}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#ebebeb;color:#999999;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#999999}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#375a7f;border-color:#375a7f}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#a8c0da}.list-group-item-success{color:#ffffff;background-color:#00bc8c}a.list-group-item-success,button.list-group-item-success{color:#ffffff}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#ffffff;background-color:#00a379}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-info{color:#ffffff;background-color:#3498db}a.list-group-item-info,button.list-group-item-info{color:#ffffff}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#ffffff;background-color:#258cd1}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-warning{color:#ffffff;background-color:#f39c12}a.list-group-item-warning,button.list-group-item-warning{color:#ffffff}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#ffffff;background-color:#e08e0b}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-danger{color:#ffffff;background-color:#e74c3c}a.list-group-item-danger,button.list-group-item-danger{color:#ffffff}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#ffffff;background-color:#e43725}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:21px;background-color:#303030;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:17px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#464545;border-top:1px solid #464545;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #464545}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:21px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #464545}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #464545}.panel-default{border-color:#464545}.panel-default>.panel-heading{color:#ffffff;background-color:#303030;border-color:#464545}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#464545}.panel-default>.panel-heading .badge{color:#303030;background-color:#ffffff}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#464545}.panel-primary{border-color:#375a7f}.panel-primary>.panel-heading{color:#ffffff;background-color:#375a7f;border-color:#375a7f}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#375a7f}.panel-primary>.panel-heading .badge{color:#375a7f;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#375a7f}.panel-success{border-color:#00bc8c}.panel-success>.panel-heading{color:#ffffff;background-color:#00bc8c;border-color:#00bc8c}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#00bc8c}.panel-success>.panel-heading .badge{color:#00bc8c;background-color:#ffffff}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#00bc8c}.panel-info{border-color:#3498db}.panel-info>.panel-heading{color:#ffffff;background-color:#3498db;border-color:#3498db}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#3498db}.panel-info>.panel-heading .badge{color:#3498db;background-color:#ffffff}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#3498db}.panel-warning{border-color:#f39c12}.panel-warning>.panel-heading{color:#ffffff;background-color:#f39c12;border-color:#f39c12}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f39c12}.panel-warning>.panel-heading .badge{color:#f39c12;background-color:#ffffff}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f39c12}.panel-danger{border-color:#e74c3c}.panel-danger>.panel-heading{color:#ffffff;background-color:#e74c3c;border-color:#e74c3c}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#e74c3c}.panel-danger>.panel-heading .badge{color:#e74c3c;background-color:#ffffff}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#e74c3c}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#303030;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:22.5px;font-weight:bold;line-height:1;color:#ffffff;text-shadow:none;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#ffffff;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#303030;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.7;filter:alpha(opacity=70)}.modal-header{padding:15px;border-bottom:1px solid #464545;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;text-align:right;border-top:1px solid #464545}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Lato","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:13px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#000000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Lato","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:15px;background-color:#303030;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:15px;background-color:#282828;border-bottom:1px solid #1c1c1c;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#666666;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#303030}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#666666;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#303030}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#666666;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#303030}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#666666;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#303030;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.navbar{border-width:0}.navbar-default .badge{background-color:#fff;color:#375a7f}.navbar-inverse .badge{background-color:#fff;color:#00bc8c}.navbar-brand{line-height:1}.navbar-form .form-control{background-color:white}.navbar-form .form-control:focus{border-color:white}.btn{border-width:2px}.btn:active{-webkit-box-shadow:none;box-shadow:none}.btn-group.open .dropdown-toggle{-webkit-box-shadow:none;box-shadow:none}.text-primary,.text-primary:hover{color:#4673a3}.text-success,.text-success:hover{color:#00bc8c}.text-danger,.text-danger:hover{color:#e74c3c}.text-warning,.text-warning:hover{color:#f39c12}.text-info,.text-info:hover{color:#3498db}table a:not(.btn),.table a:not(.btn){text-decoration:underline}table .dropdown-menu a,.table .dropdown-menu a{text-decoration:none}table .success,.table .success,table .warning,.table .warning,table .danger,.table .danger,table .info,.table .info{color:#fff}table .success>th>a,.table .success>th>a,table .warning>th>a,.table .warning>th>a,table .danger>th>a,.table .danger>th>a,table .info>th>a,.table .info>th>a,table .success>td>a,.table .success>td>a,table .warning>td>a,.table .warning>td>a,table .danger>td>a,.table .danger>td>a,table .info>td>a,.table .info>td>a,table .success>a,.table .success>a,table .warning>a,.table .warning>a,table .danger>a,.table .danger>a,table .info>a,.table .info>a{color:#fff}table>thead>tr>th,.table>thead>tr>th,table>tbody>tr>th,.table>tbody>tr>th,table>tfoot>tr>th,.table>tfoot>tr>th,table>thead>tr>td,.table>thead>tr>td,table>tbody>tr>td,.table>tbody>tr>td,table>tfoot>tr>td,.table>tfoot>tr>td{border:none}table-bordered>thead>tr>th,.table-bordered>thead>tr>th,table-bordered>tbody>tr>th,.table-bordered>tbody>tr>th,table-bordered>tfoot>tr>th,.table-bordered>tfoot>tr>th,table-bordered>thead>tr>td,.table-bordered>thead>tr>td,table-bordered>tbody>tr>td,.table-bordered>tbody>tr>td,table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #464545}input,textarea{color:#464545}.form-control,input,textarea{border:2px hidden transparent;-webkit-box-shadow:none;box-shadow:none}.form-control:focus,input:focus,textarea:focus{-webkit-box-shadow:none;box-shadow:none}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label,.has-warning .form-control-feedback{color:#f39c12}.has-warning .form-control,.has-warning .form-control:focus{-webkit-box-shadow:none;box-shadow:none}.has-warning .input-group-addon{border-color:#f39c12}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label,.has-error .form-control-feedback{color:#e74c3c}.has-error .form-control,.has-error .form-control:focus{-webkit-box-shadow:none;box-shadow:none}.has-error .input-group-addon{border-color:#e74c3c}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label,.has-success .form-control-feedback{color:#00bc8c}.has-success .form-control,.has-success .form-control:focus{-webkit-box-shadow:none;box-shadow:none}.has-success .input-group-addon{border-color:#00bc8c}.input-group-addon{color:#ffffff}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{border-color:#464545}.nav-tabs>li>a,.nav-pills>li>a{color:#fff}.pager a,.pager a:hover{color:#fff}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{background-color:#007053}.breadcrumb a{color:#fff}.close{text-decoration:none;text-shadow:none;opacity:0.4}.close:hover,.close:focus{opacity:1}.alert .alert-link{color:#fff;text-decoration:underline}.progress{height:10px;-webkit-box-shadow:none;box-shadow:none}.progress .progress-bar{font-size:10px;line-height:10px}.well{-webkit-box-shadow:none;box-shadow:none}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{border-color:#464545}a.list-group-item-success.active{background-color:#00bc8c}a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{background-color:#00a379}a.list-group-item-warning.active{background-color:#f39c12}a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{background-color:#e08e0b}a.list-group-item-danger.active{background-color:#e74c3c}a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{background-color:#e43725}.popover{color:#ffffff}.panel-default>.panel-heading{background-color:#464545} \ No newline at end of file diff --git a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/journal/bootstrap.min.css b/mayan/apps/appearance/static/appearance/packages/bootswatch.com/journal/bootstrap.min.css deleted file mode 100644 index 28ef0c6326..0000000000 --- a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/journal/bootstrap.min.css +++ /dev/null @@ -1,11 +0,0 @@ -@import url("https://fonts.googleapis.com/css?family=News+Cycle:400,700");/*! - * bootswatch v3.3.5 - * Homepage: http://bootswatch.com - * Copyright 2012-2015 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*//*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:Georgia,"Times New Roman",Times,serif;font-size:15px;line-height:1.42857143;color:#777777;background-color:#ffffff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#eb6864;text-decoration:none}a:hover,a:focus{color:#e22620;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:21px;margin-bottom:21px;border:0;border-top:1px solid #eeeeee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"News Cycle","Arial Narrow Bold",sans-serif;font-weight:700;line-height:1.1;color:#000000}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#999999}h1,.h1,h2,.h2,h3,.h3{margin-top:21px;margin-bottom:10.5px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10.5px;margin-bottom:10.5px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:39px}h2,.h2{font-size:32px}h3,.h3{font-size:26px}h4,.h4{font-size:19px}h5,.h5{font-size:15px}h6,.h6{font-size:13px}p{margin:0 0 10.5px}.lead{margin-bottom:21px;font-size:17px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:22.5px}}small,.small{font-size:86%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#999999}.text-primary{color:#eb6864}a.text-primary:hover,a.text-primary:focus{color:#e53c37}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-warning{color:#c09853}a.text-warning:hover,a.text-warning:focus{color:#a47e3c}.text-danger{color:#b94a48}a.text-danger:hover,a.text-danger:focus{color:#953b39}.bg-primary{color:#fff;background-color:#eb6864}a.bg-primary:hover,a.bg-primary:focus{background-color:#e53c37}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9.5px;margin:42px 0 21px;border-bottom:1px solid #eeeeee}ul,ol{margin-top:0;margin-bottom:10.5px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:21px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10.5px 21px;margin:0 0 21px;font-size:18.75px;border-left:5px solid #eeeeee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#999999}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:21px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:10px;margin:0 0 10.5px;font-size:14px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333333;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#999999;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:21px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #dddddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #dddddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #dddddd}.table .table{background-color:#ffffff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15.75px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #dddddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:21px;font-size:22.5px;line-height:inherit;color:#777777;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:9px;font-size:15px;line-height:1.42857143;color:#777777}.form-control{display:block;width:100%;height:39px;padding:8px 12px;font-size:15px;line-height:1.42857143;color:#777777;background-color:#ffffff;background-image:none;border:1px solid #cccccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#999999;opacity:1}.form-control:-ms-input-placeholder{color:#999999}.form-control::-webkit-input-placeholder{color:#999999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eeeeee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:39px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:31px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:56px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:21px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:9px;padding-bottom:9px;margin-bottom:0;min-height:36px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:31px;padding:5px 10px;font-size:13px;line-height:1.5;border-radius:3px}select.input-sm{height:31px;line-height:31px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:31px;padding:5px 10px;font-size:13px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:31px;line-height:31px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:31px;min-height:34px;padding:6px 10px;font-size:13px;line-height:1.5}.input-lg{height:56px;padding:14px 16px;font-size:19px;line-height:1.3333333;border-radius:6px}select.input-lg{height:56px;line-height:56px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:56px;padding:14px 16px;font-size:19px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:56px;line-height:56px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:56px;min-height:40px;padding:15px 16px;font-size:19px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:48.75px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:39px;height:39px;line-height:39px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:56px;height:56px;line-height:56px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:31px;height:31px;line-height:31px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#468847}.has-success .form-control{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.has-success .input-group-addon{color:#468847;border-color:#468847;background-color:#dff0d8}.has-success .form-control-feedback{color:#468847}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#c09853}.has-warning .form-control{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.has-warning .input-group-addon{color:#c09853;border-color:#c09853;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#c09853}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#b94a48}.has-error .form-control{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.has-error .input-group-addon{color:#b94a48;border-color:#b94a48;background-color:#f2dede}.has-error .form-control-feedback{color:#b94a48}.has-feedback label~.form-control-feedback{top:26px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#b7b7b7}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:9px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:30px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:9px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:19.6666662px;font-size:19px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:13px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:8px 12px;font-size:15px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#ffffff;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#ffffff;background-color:#999999;border-color:#999999}.btn-default:focus,.btn-default.focus{color:#ffffff;background-color:#808080;border-color:#595959}.btn-default:hover{color:#ffffff;background-color:#808080;border-color:#7a7a7a}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#ffffff;background-color:#808080;border-color:#7a7a7a}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#ffffff;background-color:#6e6e6e;border-color:#595959}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#999999;border-color:#999999}.btn-default .badge{color:#999999;background-color:#ffffff}.btn-primary{color:#ffffff;background-color:#eb6864;border-color:#eb6864}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#e53c37;border-color:#b81c18}.btn-primary:hover{color:#ffffff;background-color:#e53c37;border-color:#e4332e}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#e53c37;border-color:#e4332e}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#dc221c;border-color:#b81c18}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#eb6864;border-color:#eb6864}.btn-primary .badge{color:#eb6864;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#22b24c;border-color:#22b24c}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#1a873a;border-color:#0e471e}.btn-success:hover{color:#ffffff;background-color:#1a873a;border-color:#187f36}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#1a873a;border-color:#187f36}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#14692d;border-color:#0e471e}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#22b24c;border-color:#22b24c}.btn-success .badge{color:#22b24c;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#336699;border-color:#336699}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#264c73;border-color:#132639}.btn-info:hover{color:#ffffff;background-color:#264c73;border-color:#24476b}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#264c73;border-color:#24476b}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#1d3b58;border-color:#132639}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#336699;border-color:#336699}.btn-info .badge{color:#336699;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#f5e625;border-color:#f5e625}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#ddce0a;border-color:#948a07}.btn-warning:hover{color:#ffffff;background-color:#ddce0a;border-color:#d3c50a}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#ddce0a;border-color:#d3c50a}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#bbae09;border-color:#948a07}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f5e625;border-color:#f5e625}.btn-warning .badge{color:#f5e625;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#f57a00;border-color:#f57a00}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#c26100;border-color:#763b00}.btn-danger:hover{color:#ffffff;background-color:#c26100;border-color:#b85c00}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#c26100;border-color:#b85c00}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#9e4f00;border-color:#763b00}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#f57a00;border-color:#f57a00}.btn-danger .badge{color:#f57a00;background-color:#ffffff}.btn-link{color:#eb6864;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#e22620;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999999;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:14px 16px;font-size:19px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:13px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:13px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:15px;text-align:left;background-color:#ffffff;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#ffffff;background-color:#eb6864}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#eb6864}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:13px;line-height:1.42857143;color:#999999;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:56px;padding:14px 16px;font-size:19px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:56px;line-height:56px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:31px;padding:5px 10px;font-size:13px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:31px;line-height:31px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:8px 12px;font-size:15px;font-weight:normal;line-height:1;color:#777777;text-align:center;background-color:#eeeeee;border:1px solid #cccccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:13px;border-radius:3px}.input-group-addon.input-lg{padding:14px 16px;font-size:19px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eeeeee}.nav>li.disabled>a{color:#999999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999999;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eeeeee;border-color:#eb6864}.nav .nav-divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #dddddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#777777;background-color:#ffffff;border:1px solid #dddddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#ffffff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#eb6864}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#ffffff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:60px;margin-bottom:21px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:19.5px 15px;font-size:19px;line-height:21px;height:60px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:13px;margin-bottom:13px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:9.75px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:21px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:21px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:19.5px;padding-bottom:19.5px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:10.5px;margin-bottom:10.5px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:10.5px;margin-bottom:10.5px}.navbar-btn.btn-sm{margin-top:14.5px;margin-bottom:14.5px}.navbar-btn.btn-xs{margin-top:19px;margin-bottom:19px}.navbar-text{margin-top:19.5px;margin-bottom:19.5px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#ffffff;border-color:#eeeeee}.navbar-default .navbar-brand{color:#000000}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#000000;background-color:#eeeeee}.navbar-default .navbar-text{color:#000000}.navbar-default .navbar-nav>li>a{color:#000000}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#000000;background-color:#eeeeee}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#000000;background-color:#eeeeee}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#dddddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#dddddd}.navbar-default .navbar-toggle .icon-bar{background-color:#cccccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#eeeeee}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#eeeeee;color:#000000}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#000000}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#000000;background-color:#eeeeee}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#000000;background-color:#eeeeee}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-default .navbar-link{color:#000000}.navbar-default .navbar-link:hover{color:#000000}.navbar-default .btn-link{color:#000000}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#000000}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#cccccc}.navbar-inverse{background-color:#eb6864;border-color:#e53c37}.navbar-inverse .navbar-brand{color:#ffffff}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#ffffff;background-color:#e74b47}.navbar-inverse .navbar-text{color:#ffffff}.navbar-inverse .navbar-nav>li>a{color:#ffffff}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#ffffff;background-color:#e74b47}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ffffff;background-color:#e74b47}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#e53c37}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#e53c37}.navbar-inverse .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#e74944}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#e74b47;color:#ffffff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#e53c37}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#e53c37}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#ffffff}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:#e74b47}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#e74b47}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444444;background-color:transparent}}.navbar-inverse .navbar-link{color:#ffffff}.navbar-inverse .navbar-link:hover{color:#ffffff}.navbar-inverse .btn-link{color:#ffffff}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#ffffff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444444}.breadcrumb{padding:8px 15px;margin-bottom:21px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#cccccc}.breadcrumb>.active{color:#999999}.pagination{display:inline-block;padding-left:0;margin:21px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:8px 12px;line-height:1.42857143;text-decoration:none;color:#eb6864;background-color:#ffffff;border:1px solid #dddddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:3;color:#e22620;background-color:#eeeeee;border-color:#dddddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#999999;background-color:#f5f5f5;border-color:#dddddd;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999999;background-color:#ffffff;border-color:#dddddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:14px 16px;font-size:19px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:13px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:21px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#ffffff;border:1px solid #dddddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eeeeee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999999;background-color:#ffffff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#999999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}.label-primary{background-color:#eb6864}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#e53c37}.label-success{background-color:#22b24c}.label-success[href]:hover,.label-success[href]:focus{background-color:#1a873a}.label-info{background-color:#336699}.label-info[href]:hover,.label-info[href]:focus{background-color:#264c73}.label-warning{background-color:#f5e625}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ddce0a}.label-danger{background-color:#f57a00}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c26100}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:13px;font-weight:bold;color:#ffffff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#eb6864;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#eb6864;background-color:#ffffff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eeeeee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:23px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:68px}}.thumbnail{display:block;padding:4px;margin-bottom:21px;line-height:1.42857143;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#eb6864}.thumbnail .caption{padding:9px;color:#777777}.alert{padding:15px;margin-bottom:21px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#356635}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#2d6987}.alert-warning{background-color:#fcf8e3;border-color:#fbeed5;color:#c09853}.alert-warning hr{border-top-color:#f8e5be}.alert-warning .alert-link{color:#a47e3c}.alert-danger{background-color:#f2dede;border-color:#eed3d7;color:#b94a48}.alert-danger hr{border-top-color:#e6c1c7}.alert-danger .alert-link{color:#953b39}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:21px;margin-bottom:21px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:13px;line-height:21px;color:#ffffff;text-align:center;background-color:#eb6864;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#22b24c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#336699}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f5e625}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#f57a00}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#ffffff;border:1px solid #dddddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#555555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eeeeee;color:#999999;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#999999}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#eb6864;border-color:#eb6864}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#ffffff}.list-group-item-success{color:#468847;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#468847}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#468847;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#468847;border-color:#468847}.list-group-item-info{color:#3a87ad;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#3a87ad}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#3a87ad;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#3a87ad;border-color:#3a87ad}.list-group-item-warning{color:#c09853;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#c09853}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#c09853;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#c09853;border-color:#c09853}.list-group-item-danger{color:#b94a48;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#b94a48}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#b94a48;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#b94a48;border-color:#b94a48}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:21px;background-color:#ffffff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:17px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #dddddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #dddddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:21px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #dddddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #dddddd}.panel-default{border-color:#dddddd}.panel-default>.panel-heading{color:#777777;background-color:#f5f5f5;border-color:#dddddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dddddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#777777}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dddddd}.panel-primary{border-color:#eb6864}.panel-primary>.panel-heading{color:#ffffff;background-color:#eb6864;border-color:#eb6864}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#eb6864}.panel-primary>.panel-heading .badge{color:#eb6864;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#eb6864}.panel-success{border-color:#22b24c}.panel-success>.panel-heading{color:#468847;background-color:#22b24c;border-color:#22b24c}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#22b24c}.panel-success>.panel-heading .badge{color:#22b24c;background-color:#468847}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#22b24c}.panel-info{border-color:#336699}.panel-info>.panel-heading{color:#3a87ad;background-color:#336699;border-color:#336699}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#336699}.panel-info>.panel-heading .badge{color:#336699;background-color:#3a87ad}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#336699}.panel-warning{border-color:#f5e625}.panel-warning>.panel-heading{color:#c09853;background-color:#f5e625;border-color:#f5e625}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f5e625}.panel-warning>.panel-heading .badge{color:#f5e625;background-color:#c09853}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f5e625}.panel-danger{border-color:#f57a00}.panel-danger>.panel-heading{color:#b94a48;background-color:#f57a00;border-color:#f57a00}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f57a00}.panel-danger>.panel-heading .badge{color:#f57a00;background-color:#b94a48}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f57a00}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:22.5px;font-weight:bold;line-height:1;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#ffffff;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:Georgia,"Times New Roman",Times,serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:13px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#000000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:Georgia,"Times New Roman",Times,serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:15px;background-color:#ffffff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:15px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.navbar{font-size:18px;font-family:"News Cycle","Arial Narrow Bold",sans-serif;font-weight:700}.navbar-default .badge{background-color:#000;color:#fff}.navbar-inverse .badge{background-color:#fff;color:#eb6864}.navbar-brand{font-size:inherit;font-weight:700;text-transform:uppercase}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label,.has-warning .form-control-feedback{color:#f57a00}.has-warning .form-control,.has-warning .form-control:focus{border-color:#f57a00}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label,.has-error .form-control-feedback{color:#eb6864}.has-error .form-control,.has-error .form-control:focus{border-color:#eb6864}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label,.has-success .form-control-feedback{color:#22b24c}.has-success .form-control,.has-success .form-control:focus{border-color:#22b24c}.badge{padding-bottom:4px;vertical-align:3px;font-size:10px}.jumbotron h1,.jumbotron h2,.jumbotron h3,.jumbotron h4,.jumbotron h5,.jumbotron h6{font-family:"News Cycle","Arial Narrow Bold",sans-serif;font-weight:700;color:#000}.panel-primary .panel-title,.panel-success .panel-title,.panel-warning .panel-title,.panel-danger .panel-title,.panel-info .panel-title{color:#fff} \ No newline at end of file diff --git a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/lumen/bootstrap.min.css b/mayan/apps/appearance/static/appearance/packages/bootswatch.com/lumen/bootstrap.min.css deleted file mode 100644 index fd97f41138..0000000000 --- a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/lumen/bootstrap.min.css +++ /dev/null @@ -1,11 +0,0 @@ -@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,400italic");/*! - * bootswatch v3.3.5 - * Homepage: http://bootswatch.com - * Copyright 2012-2015 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*//*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#555555;background-color:#ffffff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#158cba;text-decoration:none}a:hover,a:focus{color:#158cba;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:5px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#ffffff;border:1px solid #eeeeee;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eeeeee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:400;line-height:1.1;color:#333333}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#999999}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#ff851b;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#999999}.text-primary{color:#158cba}a.text-primary:hover,a.text-primary:focus{color:#106a8c}.text-success{color:#ffffff}a.text-success:hover,a.text-success:focus{color:#e6e6e6}.text-info{color:#ffffff}a.text-info:hover,a.text-info:focus{color:#e6e6e6}.text-warning{color:#ffffff}a.text-warning:hover,a.text-warning:focus{color:#e6e6e6}.text-danger{color:#ffffff}a.text-danger:hover,a.text-danger:focus{color:#e6e6e6}.bg-primary{color:#fff;background-color:#158cba}a.bg-primary:hover,a.bg-primary:focus{background-color:#106a8c}.bg-success{background-color:#28b62c}a.bg-success:hover,a.bg-success:focus{background-color:#1f8c22}.bg-info{background-color:#75caeb}a.bg-info:hover,a.bg-info:focus{background-color:#48b9e5}.bg-warning{background-color:#ff851b}a.bg-warning:hover,a.bg-warning:focus{background-color:#e76b00}.bg-danger{background-color:#ff4136}a.bg-danger:hover,a.bg-danger:focus{background-color:#ff1103}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eeeeee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eeeeee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#999999}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:2px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333333;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#999999;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #dddddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #dddddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #dddddd}.table .table{background-color:#ffffff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#28b62c}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#23a127}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#75caeb}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#5fc1e8}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#ff851b}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#ff7701}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#ff4136}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ff291c}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #dddddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:8px;font-size:14px;line-height:1.42857143;color:#555555}.form-control{display:block;width:100%;height:38px;padding:7px 12px;font-size:14px;line-height:1.42857143;color:#555555;background-color:#ffffff;background-image:none;border:1px solid #e7e7e7;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#999999;opacity:1}.form-control:-ms-input-placeholder{color:#999999}.form-control::-webkit-input-placeholder{color:#999999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eeeeee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:38px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:28px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:52px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:8px;padding-bottom:8px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:28px;padding:4px 10px;font-size:12px;line-height:1.5;border-radius:2px}select.input-sm{height:28px;line-height:28px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:28px;padding:4px 10px;font-size:12px;line-height:1.5;border-radius:2px}.form-group-sm select.form-control{height:28px;line-height:28px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:28px;min-height:32px;padding:5px 10px;font-size:12px;line-height:1.5}.input-lg{height:52px;padding:13px 16px;font-size:18px;line-height:1.3333333;border-radius:5px}select.input-lg{height:52px;line-height:52px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:52px;padding:13px 16px;font-size:18px;line-height:1.3333333;border-radius:5px}.form-group-lg select.form-control{height:52px;line-height:52px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:52px;min-height:38px;padding:14px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:47.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:38px;height:38px;line-height:38px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:52px;height:52px;line-height:52px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:28px;height:28px;line-height:28px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#ffffff}.has-success .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-success .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#28b62c}.has-success .form-control-feedback{color:#ffffff}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#ffffff}.has-warning .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-warning .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#ff851b}.has-warning .form-control-feedback{color:#ffffff}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#ffffff}.has-error .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-error .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#ff4136}.has-error .form-control-feedback{color:#ffffff}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#959595}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:8px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:28px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:8px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:18.3333329px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:5px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:7px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#555555;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#555555;background-color:#eeeeee;border-color:#e2e2e2}.btn-default:focus,.btn-default.focus{color:#555555;background-color:#d5d5d5;border-color:#a2a2a2}.btn-default:hover{color:#555555;background-color:#d5d5d5;border-color:#c3c3c3}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#555555;background-color:#d5d5d5;border-color:#c3c3c3}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#555555;background-color:#c3c3c3;border-color:#a2a2a2}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#eeeeee;border-color:#e2e2e2}.btn-default .badge{color:#eeeeee;background-color:#555555}.btn-primary{color:#ffffff;background-color:#158cba;border-color:#127ba3}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#106a8c;border-color:#052531}.btn-primary:hover{color:#ffffff;background-color:#106a8c;border-color:#0c516c}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#106a8c;border-color:#0c516c}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#0c516c;border-color:#052531}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#158cba;border-color:#127ba3}.btn-primary .badge{color:#158cba;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#28b62c;border-color:#23a127}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#1f8c22;border-color:#0c390e}.btn-success:hover{color:#ffffff;background-color:#1f8c22;border-color:#186f1b}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#1f8c22;border-color:#186f1b}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#186f1b;border-color:#0c390e}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#28b62c;border-color:#23a127}.btn-success .badge{color:#28b62c;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#75caeb;border-color:#5fc1e8}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#48b9e5;border-color:#1984ae}.btn-info:hover{color:#ffffff;background-color:#48b9e5;border-color:#29ade0}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#48b9e5;border-color:#29ade0}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#29ade0;border-color:#1984ae}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#75caeb;border-color:#5fc1e8}.btn-info .badge{color:#75caeb;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#ff851b;border-color:#ff7701}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#e76b00;border-color:#813c00}.btn-warning:hover{color:#ffffff;background-color:#e76b00;border-color:#c35b00}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#e76b00;border-color:#c35b00}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#c35b00;border-color:#813c00}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#ff851b;border-color:#ff7701}.btn-warning .badge{color:#ff851b;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#ff4136;border-color:#ff291c}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#ff1103;border-color:#9c0900}.btn-danger:hover{color:#ffffff;background-color:#ff1103;border-color:#de0c00}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#ff1103;border-color:#de0c00}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#de0c00;border-color:#9c0900}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#ff4136;border-color:#ff291c}.btn-danger .badge{color:#ff4136;background-color:#ffffff}.btn-link{color:#158cba;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#158cba;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999999;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:13px 16px;font-size:18px;line-height:1.3333333;border-radius:5px}.btn-sm,.btn-group-sm>.btn{padding:4px 10px;font-size:12px;line-height:1.5;border-radius:2px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:2px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#ffffff;border:1px solid #cccccc;border:1px solid #e7e7e7;border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#eeeeee}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#999999;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#333333;background-color:transparent}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#158cba}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#eeeeee}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#999999;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:52px;padding:13px 16px;font-size:18px;line-height:1.3333333;border-radius:5px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:52px;line-height:52px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:28px;padding:4px 10px;font-size:12px;line-height:1.5;border-radius:2px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:28px;line-height:28px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:7px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555555;text-align:center;background-color:#eeeeee;border:1px solid #e7e7e7;border-radius:4px}.input-group-addon.input-sm{padding:4px 10px;font-size:12px;border-radius:2px}.input-group-addon.input-lg{padding:13px 16px;font-size:18px;border-radius:5px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#ffffff}.nav>li.disabled>a{color:#999999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999999;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#ffffff;border-color:#158cba}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #e7e7e7}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #e7e7e7}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555555;background-color:#ffffff;border:1px solid #e7e7e7;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #e7e7e7}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #e7e7e7;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#ffffff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#158cba}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #e7e7e7}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #e7e7e7;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#ffffff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:6px;margin-bottom:6px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:6px;margin-bottom:6px}.navbar-btn.btn-sm{margin-top:11px;margin-bottom:11px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#333333}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#333333;background-color:transparent}.navbar-default .navbar-text{color:#555555}.navbar-default .navbar-nav>li>a{color:#999999}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#333333;background-color:transparent}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#eeeeee;background-color:transparent}.navbar-default .navbar-toggle{border-color:#eeeeee}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ffffff}.navbar-default .navbar-toggle .icon-bar{background-color:#999999}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:transparent;color:#333333}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#999999}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#333333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#eeeeee;background-color:transparent}}.navbar-default .navbar-link{color:#999999}.navbar-default .navbar-link:hover{color:#333333}.navbar-default .btn-link{color:#999999}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#eeeeee}.navbar-inverse{background-color:#ffffff;border-color:#e6e6e6}.navbar-inverse .navbar-brand{color:#999999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-text{color:#999999}.navbar-inverse .navbar-nav>li>a{color:#999999}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#eeeeee;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#eeeeee}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#eeeeee}.navbar-inverse .navbar-toggle .icon-bar{background-color:#999999}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#ededed}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:transparent;color:#333333}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#e6e6e6}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#e6e6e6}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#eeeeee;background-color:transparent}}.navbar-inverse .navbar-link{color:#999999}.navbar-inverse .navbar-link:hover{color:#333333}.navbar-inverse .btn-link{color:#999999}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#333333}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#eeeeee}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#fafafa;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:">\00a0";padding:0 5px;color:#999999}.breadcrumb>.active{color:#999999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:7px 12px;line-height:1.42857143;text-decoration:none;color:#555555;background-color:#eeeeee;border:1px solid #e2e2e2;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:3;color:#555555;background-color:#eeeeee;border-color:#e2e2e2}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#ffffff;background-color:#158cba;border-color:#127ba3;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999999;background-color:#eeeeee;border-color:#e2e2e2;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:13px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:5px;border-top-left-radius:5px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:5px;border-top-right-radius:5px}.pagination-sm>li>a,.pagination-sm>li>span{padding:4px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:2px;border-top-left-radius:2px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:2px;border-top-right-radius:2px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#eeeeee;border:1px solid #e2e2e2;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eeeeee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999999;background-color:#eeeeee;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#999999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}.label-primary{background-color:#158cba}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#106a8c}.label-success{background-color:#28b62c}.label-success[href]:hover,.label-success[href]:focus{background-color:#1f8c22}.label-info{background-color:#75caeb}.label-info[href]:hover,.label-info[href]:focus{background-color:#48b9e5}.label-warning{background-color:#ff851b}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#e76b00}.label-danger{background-color:#ff4136}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#ff1103}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:normal;color:#ffffff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#158cba;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#158cba;background-color:#ffffff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#fafafa}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#e1e1e1}.container .jumbotron,.container-fluid .jumbotron{border-radius:5px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#ffffff;border:1px solid #eeeeee;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#158cba}.thumbnail .caption{padding:9px;color:#555555}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#28b62c;border-color:#24a528;color:#ffffff}.alert-success hr{border-top-color:#209023}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#75caeb;border-color:#40b5e3;color:#ffffff}.alert-info hr{border-top-color:#29ade0}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#ff851b;border-color:#ff7701;color:#ffffff}.alert-warning hr{border-top-color:#e76b00}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#ff4136;border-color:#ff1103;color:#ffffff}.alert-danger hr{border-top-color:#e90d00}.alert-danger .alert-link{color:#e6e6e6}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#fafafa;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#ffffff;text-align:center;background-color:#158cba;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#28b62c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#75caeb}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#ff851b}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#ff4136}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#ffffff;border:1px solid #dddddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#555555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eeeeee;color:#999999;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#999999}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#158cba;border-color:#158cba}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#a6dff5}.list-group-item-success{color:#ffffff;background-color:#28b62c}a.list-group-item-success,button.list-group-item-success{color:#ffffff}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#ffffff;background-color:#23a127}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-info{color:#ffffff;background-color:#75caeb}a.list-group-item-info,button.list-group-item-info{color:#ffffff}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#ffffff;background-color:#5fc1e8}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-warning{color:#ffffff;background-color:#ff851b}a.list-group-item-warning,button.list-group-item-warning{color:#ffffff}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#ffffff;background-color:#ff7701}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-danger{color:#ffffff;background-color:#ff4136}a.list-group-item-danger,button.list-group-item-danger{color:#ffffff}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#ffffff;background-color:#ff291c}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#ffffff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid transparent;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #dddddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid transparent}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid transparent}.panel-default{border-color:transparent}.panel-default>.panel-heading{color:#333333;background-color:#f5f5f5;border-color:transparent}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-primary{border-color:transparent}.panel-primary>.panel-heading{color:#ffffff;background-color:#158cba;border-color:transparent}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-primary>.panel-heading .badge{color:#158cba;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-success{border-color:transparent}.panel-success>.panel-heading{color:#ffffff;background-color:#28b62c;border-color:transparent}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-success>.panel-heading .badge{color:#28b62c;background-color:#ffffff}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-info{border-color:transparent}.panel-info>.panel-heading{color:#ffffff;background-color:#75caeb;border-color:transparent}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-info>.panel-heading .badge{color:#75caeb;background-color:#ffffff}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-warning{border-color:transparent}.panel-warning>.panel-heading{color:#ffffff;background-color:#ff851b;border-color:transparent}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-warning>.panel-heading .badge{color:#ff851b;background-color:#ffffff}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-danger{border-color:transparent}.panel-danger>.panel-heading{color:#ffffff;background-color:#ff4136;border-color:transparent}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-danger>.panel-heading .badge{color:#ff4136;background-color:#ffffff}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#fafafa;border:1px solid #e8e8e8;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:5px}.well-sm{padding:9px;border-radius:2px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#ffffff;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#ffffff;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#ffffff;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:5px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#000000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#ffffff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.2);border-radius:5px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:4px 4px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.navbar{border-width:0 1px 4px 1px}.btn{padding:9px 12px 7px;border-width:0 1px 4px 1px;font-size:12px;font-weight:bold;text-transform:uppercase}.btn:hover{margin-top:1px;border-bottom-width:3px}.btn:active{margin-top:2px;border-bottom-width:2px;-webkit-box-shadow:none;box-shadow:none}.btn-lg,.btn-group-lg>.btn{padding:15px 16px 13px;line-height:15px}.btn-sm,.btn-group-sm>.btn{padding:6px 10px 4px}.btn-xs,.btn-group-xs>.btn{padding:3px 5px 1px}.btn-default:hover,.btn-default:focus,.btn-group.open .dropdown-toggle.btn-default{background-color:#eeeeee;border-color:#e2e2e2}.btn-primary:hover,.btn-primary:focus,.btn-group.open .dropdown-toggle.btn-primary{background-color:#158cba;border-color:#127ba3}.btn-success:hover,.btn-success:focus,.btn-group.open .dropdown-toggle.btn-success{background-color:#28b62c;border-color:#23a127}.btn-info:hover,.btn-info:focus,.btn-group.open .dropdown-toggle.btn-info{background-color:#75caeb;border-color:#5fc1e8}.btn-warning:hover,.btn-warning:focus,.btn-group.open .dropdown-toggle.btn-warning{background-color:#ff851b;border-color:#ff7701}.btn-danger:hover,.btn-danger:focus,.btn-group.open .dropdown-toggle.btn-danger{background-color:#ff4136;border-color:#ff291c}.btn-group.open .dropdown-toggle{-webkit-box-shadow:none;box-shadow:none}.navbar-btn:hover{margin-top:8px}.navbar-btn:active{margin-top:9px}.navbar-btn.btn-sm:hover{margin-top:11px}.navbar-btn.btn-sm:active{margin-top:12px}.navbar-btn.btn-xs:hover{margin-top:15px}.navbar-btn.btn-xs:active{margin-top:16px}.btn-group-vertical .btn+.btn:hover{border-top-width:1px}.btn-group-vertical .btn+.btn:active{border-top-width:2px}.text-primary,.text-primary:hover{color:#158cba}.text-success,.text-success:hover{color:#28b62c}.text-danger,.text-danger:hover{color:#ff4136}.text-warning,.text-warning:hover{color:#ff851b}.text-info,.text-info:hover{color:#75caeb}table a:not(.btn),.table a:not(.btn){text-decoration:underline}table .dropdown-menu a,.table .dropdown-menu a{text-decoration:none}table .success,.table .success,table .warning,.table .warning,table .danger,.table .danger,table .info,.table .info{color:#fff}table .success a:not(.btn),.table .success a:not(.btn),table .warning a:not(.btn),.table .warning a:not(.btn),table .danger a:not(.btn),.table .danger a:not(.btn),table .info a:not(.btn),.table .info a:not(.btn){color:#fff}table>thead>tr>th,.table>thead>tr>th,table>tbody>tr>th,.table>tbody>tr>th,table>tfoot>tr>th,.table>tfoot>tr>th,table>thead>tr>td,.table>thead>tr>td,table>tbody>tr>td,.table>tbody>tr>td,table>tfoot>tr>td,.table>tfoot>tr>td{border-color:transparent}.form-control{-webkit-box-shadow:inset 0 2px 0 rgba(0,0,0,0.075);box-shadow:inset 0 2px 0 rgba(0,0,0,0.075)}label{font-weight:normal}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label,.has-warning .form-control-feedback{color:#ff851b}.has-warning .form-control,.has-warning .form-control:focus{border:1px solid #ff851b;-webkit-box-shadow:inset 0 2px 0 rgba(0,0,0,0.075);box-shadow:inset 0 2px 0 rgba(0,0,0,0.075)}.has-warning .input-group-addon{border:1px solid #ff851b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label,.has-error .form-control-feedback{color:#ff4136}.has-error .form-control,.has-error .form-control:focus{border:1px solid #ff4136;-webkit-box-shadow:inset 0 2px 0 rgba(0,0,0,0.075);box-shadow:inset 0 2px 0 rgba(0,0,0,0.075)}.has-error .input-group-addon{border:1px solid #ff4136}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label,.has-success .form-control-feedback{color:#28b62c}.has-success .form-control,.has-success .form-control:focus{border:1px solid #28b62c;-webkit-box-shadow:inset 0 2px 0 rgba(0,0,0,0.075);box-shadow:inset 0 2px 0 rgba(0,0,0,0.075)}.has-success .input-group-addon{border:1px solid #28b62c}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{border-color:transparent}.nav-tabs>li>a{margin-top:6px;border-color:#e7e7e7;color:#333333;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus,.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus,.nav-tabs .open>a,.nav-tabs .open>a:hover,.nav-tabs .open>a:focus{padding-bottom:16px;margin-top:0}.nav-tabs .open>a,.nav-tabs .open>a:hover,.nav-tabs .open>a:focus{border-color:#e7e7e7}.nav-tabs>li.disabled>a:hover,.nav-tabs>li.disabled>a:focus{padding-top:10px;padding-bottom:10px;margin-top:6px}.nav-tabs.nav-justified>li{vertical-align:bottom}.dropdown-menu{margin-top:0;border-width:0 1px 4px 1px;border-top-width:1px;-webkit-box-shadow:none;box-shadow:none}.breadcrumb{border-color:#ededed;border-style:solid;border-width:0 1px 4px 1px}.pagination>li>a,.pager>li>a,.pagination>li>span,.pager>li>span{position:relative;top:0;border-width:0 1px 4px 1px;color:#555555;font-size:12px;font-weight:bold;text-transform:uppercase}.pagination>li>a:hover,.pager>li>a:hover,.pagination>li>span:hover,.pager>li>span:hover{top:1px;border-bottom-width:3px}.pagination>li>a:active,.pager>li>a:active,.pagination>li>span:active,.pager>li>span:active{top:2px;border-bottom-width:2px}.pagination>.disabled>a:hover,.pager>.disabled>a:hover,.pagination>.disabled>span:hover,.pager>.disabled>span:hover{top:0;border-width:0 1px 4px 1px}.pagination>.disabled>a:active,.pager>.disabled>a:active,.pagination>.disabled>span:active,.pager>.disabled>span:active{top:0;border-width:0 1px 4px 1px}.pager>li>a,.pager>li>span,.pager>.disabled>a,.pager>.disabled>span,.pager>li>a:hover,.pager>li>span:hover,.pager>.disabled>a:hover,.pager>.disabled>span:hover,.pager>li>a:active,.pager>li>span:active,.pager>.disabled>a:active,.pager>.disabled>span:active{border-left-width:2px;border-right-width:2px}.close{color:#fff;text-decoration:none;opacity:0.4}.close:hover,.close:focus{color:#fff;opacity:1}.alert{border-width:0 1px 4px 1px}.alert .alert-link{font-weight:normal;color:#fff;text-decoration:underline}.label{font-weight:normal}.progress{border:1px solid #e7e7e7;-webkit-box-shadow:inset 0 2px 0 rgba(0,0,0,0.1);box-shadow:inset 0 2px 0 rgba(0,0,0,0.1)}.progress-bar{-webkit-box-shadow:inset 0 -4px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -4px 0 rgba(0,0,0,0.15)}.well{border:1px solid #e7e7e7;-webkit-box-shadow:inset 0 2px 0 rgba(0,0,0,0.05);box-shadow:inset 0 2px 0 rgba(0,0,0,0.05)}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{border-color:#dddddd}a.list-group-item-success.active{background-color:#28b62c}a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{background-color:#23a127}a.list-group-item-warning.active{background-color:#ff851b}a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{background-color:#ff7701}a.list-group-item-danger.active{background-color:#ff4136}a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{background-color:#ff291c}.jumbotron{border:1px solid #e7e7e7;-webkit-box-shadow:inset 0 2px 0 rgba(0,0,0,0.05);box-shadow:inset 0 2px 0 rgba(0,0,0,0.05)}.panel{border:1px solid #e7e7e7;border-width:0 1px 4px 1px}.panel-default .close{color:#555555}.modal .close{color:#555555}.popover{color:#555555} \ No newline at end of file diff --git a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/paper/bootstrap.min.css b/mayan/apps/appearance/static/appearance/packages/bootswatch.com/paper/bootstrap.min.css deleted file mode 100644 index 85fffdd95d..0000000000 --- a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/paper/bootstrap.min.css +++ /dev/null @@ -1,11 +0,0 @@ -@import url("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700");/*! - * bootswatch v3.3.5 - * Homepage: http://bootswatch.com - * Copyright 2012-2015 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*//*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:1.846;color:#666666;background-color:#ffffff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196f3;text-decoration:none}a:hover,a:focus{color:#0a6ebd;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:3px}.img-thumbnail{padding:4px;line-height:1.846;background-color:#ffffff;border:1px solid #dddddd;border-radius:3px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:23px;margin-bottom:23px;border:0;border-top:1px solid #eeeeee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:400;line-height:1.1;color:#444444}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#bbbbbb}h1,.h1,h2,.h2,h3,.h3{margin-top:23px;margin-bottom:11.5px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:11.5px;margin-bottom:11.5px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:56px}h2,.h2{font-size:45px}h3,.h3{font-size:34px}h4,.h4{font-size:24px}h5,.h5{font-size:20px}h6,.h6{font-size:14px}p{margin:0 0 11.5px}.lead{margin-bottom:23px;font-size:14px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:19.5px}}small,.small{font-size:92%}mark,.mark{background-color:#ffe0b2;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#bbbbbb}.text-primary{color:#2196f3}a.text-primary:hover,a.text-primary:focus{color:#0c7cd5}.text-success{color:#4caf50}a.text-success:hover,a.text-success:focus{color:#3d8b40}.text-info{color:#9c27b0}a.text-info:hover,a.text-info:focus{color:#771e86}.text-warning{color:#ff9800}a.text-warning:hover,a.text-warning:focus{color:#cc7a00}.text-danger{color:#e51c23}a.text-danger:hover,a.text-danger:focus{color:#b9151b}.bg-primary{color:#fff;background-color:#2196f3}a.bg-primary:hover,a.bg-primary:focus{background-color:#0c7cd5}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#e1bee7}a.bg-info:hover,a.bg-info:focus{background-color:#d099d9}.bg-warning{background-color:#ffe0b2}a.bg-warning:hover,a.bg-warning:focus{background-color:#ffcb7f}.bg-danger{background-color:#f9bdbb}a.bg-danger:hover,a.bg-danger:focus{background-color:#f5908c}.page-header{padding-bottom:10.5px;margin:46px 0 23px;border-bottom:1px solid #eeeeee}ul,ol{margin-top:0;margin-bottom:11.5px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:23px}dt,dd{line-height:1.846}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #bbbbbb}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:11.5px 23px;margin:0 0 23px;font-size:16.25px;border-left:5px solid #eeeeee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.846;color:#bbbbbb}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:23px;font-style:normal;line-height:1.846}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:3px}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:11px;margin:0 0 11.5px;font-size:12px;line-height:1.846;word-break:break-all;word-wrap:break-word;color:#212121;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:3px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#bbbbbb;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:23px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.846;vertical-align:top;border-top:1px solid #dddddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #dddddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #dddddd}.table .table{background-color:#ffffff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#e1bee7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#d8abe0}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#ffe0b2}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#ffd699}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f9bdbb}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#f7a6a4}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:17.25px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #dddddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:23px;font-size:19.5px;line-height:inherit;color:#212121;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:13px;line-height:1.846;color:#666666}.form-control{display:block;width:100%;height:37px;padding:6px 16px;font-size:13px;line-height:1.846;color:#666666;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#bbbbbb;opacity:1}.form-control:-ms-input-placeholder{color:#bbbbbb}.form-control::-webkit-input-placeholder{color:#bbbbbb}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:transparent;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:37px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:45px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:23px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:36px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:35px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:45px;padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:3px}select.input-lg{height:45px;line-height:45px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:45px;padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:3px}.form-group-lg select.form-control{height:45px;line-height:45px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:45px;min-height:40px;padding:11px 16px;font-size:17px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:46.25px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:37px;height:37px;line-height:37px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:45px;height:45px;line-height:45px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#4caf50}.has-success .form-control{border-color:#4caf50;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#3d8b40;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #92cf94;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #92cf94}.has-success .input-group-addon{color:#4caf50;border-color:#4caf50;background-color:#dff0d8}.has-success .form-control-feedback{color:#4caf50}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#ff9800}.has-warning .form-control{border-color:#ff9800;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#cc7a00;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ffc166;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ffc166}.has-warning .input-group-addon{color:#ff9800;border-color:#ff9800;background-color:#ffe0b2}.has-warning .form-control-feedback{color:#ff9800}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#e51c23}.has-error .form-control{border-color:#e51c23;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#b9151b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ef787c;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ef787c}.has-error .input-group-addon{color:#e51c23;border-color:#e51c23;background-color:#f9bdbb}.has-error .form-control-feedback{color:#e51c23}.has-feedback label~.form-control-feedback{top:28px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#a6a6a6}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:30px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.333333px;font-size:17px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 16px;font-size:13px;line-height:1.846;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#444444;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#444444;background-color:#ffffff;border-color:transparent}.btn-default:focus,.btn-default.focus{color:#444444;background-color:#e6e6e6;border-color:rgba(0,0,0,0)}.btn-default:hover{color:#444444;background-color:#e6e6e6;border-color:rgba(0,0,0,0)}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#444444;background-color:#e6e6e6;border-color:rgba(0,0,0,0)}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#444444;background-color:#d4d4d4;border-color:rgba(0,0,0,0)}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#ffffff;border-color:transparent}.btn-default .badge{color:#ffffff;background-color:#444444}.btn-primary{color:#ffffff;background-color:#2196f3;border-color:transparent}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#0c7cd5;border-color:rgba(0,0,0,0)}.btn-primary:hover{color:#ffffff;background-color:#0c7cd5;border-color:rgba(0,0,0,0)}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#0c7cd5;border-color:rgba(0,0,0,0)}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#0a68b4;border-color:rgba(0,0,0,0)}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#2196f3;border-color:transparent}.btn-primary .badge{color:#2196f3;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#4caf50;border-color:transparent}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#3d8b40;border-color:rgba(0,0,0,0)}.btn-success:hover{color:#ffffff;background-color:#3d8b40;border-color:rgba(0,0,0,0)}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#3d8b40;border-color:rgba(0,0,0,0)}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#327334;border-color:rgba(0,0,0,0)}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#4caf50;border-color:transparent}.btn-success .badge{color:#4caf50;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#9c27b0;border-color:transparent}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#771e86;border-color:rgba(0,0,0,0)}.btn-info:hover{color:#ffffff;background-color:#771e86;border-color:rgba(0,0,0,0)}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#771e86;border-color:rgba(0,0,0,0)}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#5d1769;border-color:rgba(0,0,0,0)}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#9c27b0;border-color:transparent}.btn-info .badge{color:#9c27b0;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#ff9800;border-color:transparent}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#cc7a00;border-color:rgba(0,0,0,0)}.btn-warning:hover{color:#ffffff;background-color:#cc7a00;border-color:rgba(0,0,0,0)}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#cc7a00;border-color:rgba(0,0,0,0)}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#a86400;border-color:rgba(0,0,0,0)}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#ff9800;border-color:transparent}.btn-warning .badge{color:#ff9800;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#e51c23;border-color:transparent}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#b9151b;border-color:rgba(0,0,0,0)}.btn-danger:hover{color:#ffffff;background-color:#b9151b;border-color:rgba(0,0,0,0)}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#b9151b;border-color:rgba(0,0,0,0)}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#991216;border-color:rgba(0,0,0,0)}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#e51c23;border-color:transparent}.btn-danger .badge{color:#e51c23;background-color:#ffffff}.btn-link{color:#2196f3;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#0a6ebd;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#bbbbbb;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:3px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:13px;text-align:left;background-color:#ffffff;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.15);border-radius:3px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:10.5px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.846;color:#666666;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#141414;background-color:#eeeeee}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#2196f3}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#bbbbbb}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.846;color:#bbbbbb;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:3px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:45px;padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:3px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:45px;line-height:45px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 16px;font-size:13px;font-weight:normal;line-height:1;color:#666666;text-align:center;background-color:transparent;border:1px solid transparent;border-radius:3px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:17px;border-radius:3px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eeeeee}.nav>li.disabled>a{color:#bbbbbb}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#bbbbbb;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eeeeee;border-color:#2196f3}.nav .nav-divider{height:1px;margin:10.5px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid transparent}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.846;border:1px solid transparent;border-radius:3px 3px 0 0}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee transparent}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#666666;background-color:transparent;border:1px solid transparent;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:3px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid transparent}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid transparent;border-radius:3px 3px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#ffffff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:3px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#2196f3}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:3px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid transparent}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid transparent;border-radius:3px 3px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#ffffff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:64px;margin-bottom:23px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:3px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:20.5px 15px;font-size:17px;line-height:23px;height:64px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:15px;margin-bottom:15px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:3px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:10.25px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:23px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:23px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:20.5px;padding-bottom:20.5px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:13.5px;margin-bottom:13.5px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:3px;border-top-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:13.5px;margin-bottom:13.5px}.navbar-btn.btn-sm{margin-top:17px;margin-bottom:17px}.navbar-btn.btn-xs{margin-top:21px;margin-bottom:21px}.navbar-text{margin-top:20.5px;margin-bottom:20.5px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#ffffff;border-color:transparent}.navbar-default .navbar-brand{color:#666666}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#212121;background-color:transparent}.navbar-default .navbar-text{color:#bbbbbb}.navbar-default .navbar-nav>li>a{color:#666666}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#212121;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#212121;background-color:#eeeeee}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:transparent}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:transparent}.navbar-default .navbar-toggle .icon-bar{background-color:rgba(0,0,0,0.5)}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#eeeeee;color:#212121}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#666666}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#212121;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#212121;background-color:#eeeeee}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-default .navbar-link{color:#666666}.navbar-default .navbar-link:hover{color:#212121}.navbar-default .btn-link{color:#666666}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#212121}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#cccccc}.navbar-inverse{background-color:#2196f3;border-color:transparent}.navbar-inverse .navbar-brand{color:#b2dbfb}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-text{color:#bbbbbb}.navbar-inverse .navbar-nav>li>a{color:#b2dbfb}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ffffff;background-color:#0c7cd5}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:transparent}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:transparent}.navbar-inverse .navbar-toggle .icon-bar{background-color:rgba(0,0,0,0.5)}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#0c84e4}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#0c7cd5;color:#ffffff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#b2dbfb}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#0c7cd5}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444444;background-color:transparent}}.navbar-inverse .navbar-link{color:#b2dbfb}.navbar-inverse .navbar-link:hover{color:#ffffff}.navbar-inverse .btn-link{color:#b2dbfb}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#ffffff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444444}.breadcrumb{padding:8px 15px;margin-bottom:23px;list-style:none;background-color:#f5f5f5;border-radius:3px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#cccccc}.breadcrumb>.active{color:#bbbbbb}.pagination{display:inline-block;padding-left:0;margin:23px 0;border-radius:3px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 16px;line-height:1.846;text-decoration:none;color:#2196f3;background-color:#ffffff;border:1px solid #dddddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:3;color:#0a6ebd;background-color:#eeeeee;border-color:#dddddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#ffffff;background-color:#2196f3;border-color:#2196f3;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#bbbbbb;background-color:#ffffff;border-color:#dddddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:17px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:23px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#ffffff;border:1px solid #dddddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eeeeee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#bbbbbb;background-color:#ffffff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#bbbbbb}.label-default[href]:hover,.label-default[href]:focus{background-color:#a2a2a2}.label-primary{background-color:#2196f3}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#0c7cd5}.label-success{background-color:#4caf50}.label-success[href]:hover,.label-success[href]:focus{background-color:#3d8b40}.label-info{background-color:#9c27b0}.label-info[href]:hover,.label-info[href]:focus{background-color:#771e86}.label-warning{background-color:#ff9800}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#cc7a00}.label-danger{background-color:#e51c23}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#b9151b}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:normal;color:#ffffff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#bbbbbb;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#2196f3;background-color:#ffffff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#f9f9f9}.jumbotron h1,.jumbotron .h1{color:#444444}.jumbotron p{margin-bottom:15px;font-size:20px;font-weight:200}.jumbotron>hr{border-top-color:#e0e0e0}.container .jumbotron,.container-fluid .jumbotron{border-radius:3px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:59px}}.thumbnail{display:block;padding:4px;margin-bottom:23px;line-height:1.846;background-color:#ffffff;border:1px solid #dddddd;border-radius:3px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#2196f3}.thumbnail .caption{padding:9px;color:#666666}.alert{padding:15px;margin-bottom:23px;border:1px solid transparent;border-radius:3px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#4caf50}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#3d8b40}.alert-info{background-color:#e1bee7;border-color:#cba4dd;color:#9c27b0}.alert-info hr{border-top-color:#c191d6}.alert-info .alert-link{color:#771e86}.alert-warning{background-color:#ffe0b2;border-color:#ffc599;color:#ff9800}.alert-warning hr{border-top-color:#ffb67f}.alert-warning .alert-link{color:#cc7a00}.alert-danger{background-color:#f9bdbb;border-color:#f7a4af;color:#e51c23}.alert-danger hr{border-top-color:#f58c9a}.alert-danger .alert-link{color:#b9151b}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:23px;margin-bottom:23px;background-color:#f5f5f5;border-radius:3px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:23px;color:#ffffff;text-align:center;background-color:#2196f3;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#4caf50}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#9c27b0}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#ff9800}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#e51c23}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#ffffff;border:1px solid #dddddd}.list-group-item:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}a.list-group-item,button.list-group-item{color:#555555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#555555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eeeeee;color:#bbbbbb;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#bbbbbb}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#2196f3;border-color:#2196f3}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e3f2fd}.list-group-item-success{color:#4caf50;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#4caf50}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#4caf50;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#4caf50;border-color:#4caf50}.list-group-item-info{color:#9c27b0;background-color:#e1bee7}a.list-group-item-info,button.list-group-item-info{color:#9c27b0}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#9c27b0;background-color:#d8abe0}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#9c27b0;border-color:#9c27b0}.list-group-item-warning{color:#ff9800;background-color:#ffe0b2}a.list-group-item-warning,button.list-group-item-warning{color:#ff9800}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#ff9800;background-color:#ffd699}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#ff9800;border-color:#ff9800}.list-group-item-danger{color:#e51c23;background-color:#f9bdbb}a.list-group-item-danger,button.list-group-item-danger{color:#e51c23}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#e51c23;background-color:#f7a6a4}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#e51c23;border-color:#e51c23}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:23px;background-color:#ffffff;border:1px solid transparent;border-radius:3px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:2px;border-top-left-radius:2px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:15px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #dddddd;border-bottom-right-radius:2px;border-bottom-left-radius:2px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:2px;border-top-left-radius:2px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:2px;border-bottom-left-radius:2px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:2px;border-top-left-radius:2px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:2px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:2px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:2px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:2px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #dddddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:23px}.panel-group .panel{margin-bottom:0;border-radius:3px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #dddddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #dddddd}.panel-default{border-color:#dddddd}.panel-default>.panel-heading{color:#212121;background-color:#f5f5f5;border-color:#dddddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dddddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#212121}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dddddd}.panel-primary{border-color:#2196f3}.panel-primary>.panel-heading{color:#ffffff;background-color:#2196f3;border-color:#2196f3}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#2196f3}.panel-primary>.panel-heading .badge{color:#2196f3;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#2196f3}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#ffffff;background-color:#4caf50;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#4caf50;background-color:#ffffff}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#cba4dd}.panel-info>.panel-heading{color:#ffffff;background-color:#9c27b0;border-color:#cba4dd}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#cba4dd}.panel-info>.panel-heading .badge{color:#9c27b0;background-color:#ffffff}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#cba4dd}.panel-warning{border-color:#ffc599}.panel-warning>.panel-heading{color:#ffffff;background-color:#ff9800;border-color:#ffc599}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ffc599}.panel-warning>.panel-heading .badge{color:#ff9800;background-color:#ffffff}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ffc599}.panel-danger{border-color:#f7a4af}.panel-danger>.panel-heading{color:#ffffff;background-color:#e51c23;border-color:#f7a4af}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f7a4af}.panel-danger>.panel-heading .badge{color:#e51c23;background-color:#ffffff}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f7a4af}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f9f9f9;border:1px solid transparent;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:3px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:19.5px;font-weight:normal;line-height:1;color:#000000;text-shadow:none;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#ffffff;border:1px solid #999999;border:1px solid transparent;border-radius:3px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid transparent;min-height:16.846px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.846}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid transparent}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.846;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#727272;border-radius:3px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#727272}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#727272}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#727272}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#727272}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#727272}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#727272}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#727272}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#727272}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.846;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:13px;background-color:#ffffff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid transparent;border-radius:3px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:13px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:2px 2px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:rgba(0,0,0,0);border-top-color:rgba(0,0,0,0.075);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0.075)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:rgba(0,0,0,0);border-bottom-color:rgba(0,0,0,0.075);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:rgba(0,0,0,0);border-left-color:rgba(0,0,0,0.075)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.navbar{border:none;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.3);box-shadow:0 1px 2px rgba(0,0,0,0.3)}.navbar-brand{font-size:24px}.navbar-inverse .form-control{color:#fff}.navbar-inverse .form-control::-moz-placeholder{color:#b2dbfb;opacity:1}.navbar-inverse .form-control:-ms-input-placeholder{color:#b2dbfb}.navbar-inverse .form-control::-webkit-input-placeholder{color:#b2dbfb}.navbar-inverse .form-control[type=text],.navbar-inverse .form-control[type=password]{-webkit-box-shadow:inset 0 -1px 0 #b2dbfb;box-shadow:inset 0 -1px 0 #b2dbfb}.navbar-inverse .form-control[type=text]:focus,.navbar-inverse .form-control[type=password]:focus{-webkit-box-shadow:inset 0 -2px 0 #fff;box-shadow:inset 0 -2px 0 #fff}.btn-default{-webkit-background-size:200% 200%;background-size:200%;background-position:50%}.btn-default:focus{background-color:#ffffff}.btn-default:hover,.btn-default:active:hover{background-color:#f0f0f0}.btn-default:active{background-color:#e0e0e0;background-image:-webkit-radial-gradient(circle, #e0e0e0 10%, #fff 11%);background-image:-o-radial-gradient(circle, #e0e0e0 10%, #fff 11%);background-image:radial-gradient(circle, #e0e0e0 10%, #fff 11%);background-repeat:no-repeat;-webkit-background-size:1000% 1000%;background-size:1000%;-webkit-box-shadow:2px 2px 4px rgba(0,0,0,0.4);box-shadow:2px 2px 4px rgba(0,0,0,0.4)}.btn-primary{-webkit-background-size:200% 200%;background-size:200%;background-position:50%}.btn-primary:focus{background-color:#2196f3}.btn-primary:hover,.btn-primary:active:hover{background-color:#0d87e9}.btn-primary:active{background-color:#0b76cc;background-image:-webkit-radial-gradient(circle, #0b76cc 10%, #2196f3 11%);background-image:-o-radial-gradient(circle, #0b76cc 10%, #2196f3 11%);background-image:radial-gradient(circle, #0b76cc 10%, #2196f3 11%);background-repeat:no-repeat;-webkit-background-size:1000% 1000%;background-size:1000%;-webkit-box-shadow:2px 2px 4px rgba(0,0,0,0.4);box-shadow:2px 2px 4px rgba(0,0,0,0.4)}.btn-success{-webkit-background-size:200% 200%;background-size:200%;background-position:50%}.btn-success:focus{background-color:#4caf50}.btn-success:hover,.btn-success:active:hover{background-color:#439a46}.btn-success:active{background-color:#39843c;background-image:-webkit-radial-gradient(circle, #39843c 10%, #4caf50 11%);background-image:-o-radial-gradient(circle, #39843c 10%, #4caf50 11%);background-image:radial-gradient(circle, #39843c 10%, #4caf50 11%);background-repeat:no-repeat;-webkit-background-size:1000% 1000%;background-size:1000%;-webkit-box-shadow:2px 2px 4px rgba(0,0,0,0.4);box-shadow:2px 2px 4px rgba(0,0,0,0.4)}.btn-info{-webkit-background-size:200% 200%;background-size:200%;background-position:50%}.btn-info:focus{background-color:#9c27b0}.btn-info:hover,.btn-info:active:hover{background-color:#862197}.btn-info:active{background-color:#701c7e;background-image:-webkit-radial-gradient(circle, #701c7e 10%, #9c27b0 11%);background-image:-o-radial-gradient(circle, #701c7e 10%, #9c27b0 11%);background-image:radial-gradient(circle, #701c7e 10%, #9c27b0 11%);background-repeat:no-repeat;-webkit-background-size:1000% 1000%;background-size:1000%;-webkit-box-shadow:2px 2px 4px rgba(0,0,0,0.4);box-shadow:2px 2px 4px rgba(0,0,0,0.4)}.btn-warning{-webkit-background-size:200% 200%;background-size:200%;background-position:50%}.btn-warning:focus{background-color:#ff9800}.btn-warning:hover,.btn-warning:active:hover{background-color:#e08600}.btn-warning:active{background-color:#c27400;background-image:-webkit-radial-gradient(circle, #c27400 10%, #ff9800 11%);background-image:-o-radial-gradient(circle, #c27400 10%, #ff9800 11%);background-image:radial-gradient(circle, #c27400 10%, #ff9800 11%);background-repeat:no-repeat;-webkit-background-size:1000% 1000%;background-size:1000%;-webkit-box-shadow:2px 2px 4px rgba(0,0,0,0.4);box-shadow:2px 2px 4px rgba(0,0,0,0.4)}.btn-danger{-webkit-background-size:200% 200%;background-size:200%;background-position:50%}.btn-danger:focus{background-color:#e51c23}.btn-danger:hover,.btn-danger:active:hover{background-color:#cb171e}.btn-danger:active{background-color:#b0141a;background-image:-webkit-radial-gradient(circle, #b0141a 10%, #e51c23 11%);background-image:-o-radial-gradient(circle, #b0141a 10%, #e51c23 11%);background-image:radial-gradient(circle, #b0141a 10%, #e51c23 11%);background-repeat:no-repeat;-webkit-background-size:1000% 1000%;background-size:1000%;-webkit-box-shadow:2px 2px 4px rgba(0,0,0,0.4);box-shadow:2px 2px 4px rgba(0,0,0,0.4)}.btn-link{-webkit-background-size:200% 200%;background-size:200%;background-position:50%}.btn-link:focus{background-color:#ffffff}.btn-link:hover,.btn-link:active:hover{background-color:#f0f0f0}.btn-link:active{background-color:#e0e0e0;background-image:-webkit-radial-gradient(circle, #e0e0e0 10%, #fff 11%);background-image:-o-radial-gradient(circle, #e0e0e0 10%, #fff 11%);background-image:radial-gradient(circle, #e0e0e0 10%, #fff 11%);background-repeat:no-repeat;-webkit-background-size:1000% 1000%;background-size:1000%;-webkit-box-shadow:2px 2px 4px rgba(0,0,0,0.4);box-shadow:2px 2px 4px rgba(0,0,0,0.4)}.btn{text-transform:uppercase;border:none;-webkit-box-shadow:1px 1px 4px rgba(0,0,0,0.4);box-shadow:1px 1px 4px rgba(0,0,0,0.4);-webkit-transition:all 0.4s;-o-transition:all 0.4s;transition:all 0.4s}.btn-link{border-radius:3px;-webkit-box-shadow:none;box-shadow:none;color:#444444}.btn-link:hover,.btn-link:focus{-webkit-box-shadow:none;box-shadow:none;color:#444444;text-decoration:none}.btn-default.disabled{background-color:rgba(0,0,0,0.1);color:rgba(0,0,0,0.4);opacity:1}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:0}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:0}body{-webkit-font-smoothing:antialiased;letter-spacing:.1px}p{margin:0 0 1em}input,button{-webkit-font-smoothing:antialiased;letter-spacing:.1px}a{-webkit-transition:all 0.2s;-o-transition:all 0.2s;transition:all 0.2s}.table-hover>tbody>tr,.table-hover>tbody>tr>th,.table-hover>tbody>tr>td{-webkit-transition:all 0.2s;-o-transition:all 0.2s;transition:all 0.2s}label{font-weight:normal}textarea,textarea.form-control,input.form-control,input[type=text],input[type=password],input[type=email],input[type=number],[type=text].form-control,[type=password].form-control,[type=email].form-control,[type=tel].form-control,[contenteditable].form-control{padding:0;border:none;border-radius:0;-webkit-appearance:none;-webkit-box-shadow:inset 0 -1px 0 #ddd;box-shadow:inset 0 -1px 0 #ddd;font-size:16px}textarea:focus,textarea.form-control:focus,input.form-control:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,[type=text].form-control:focus,[type=password].form-control:focus,[type=email].form-control:focus,[type=tel].form-control:focus,[contenteditable].form-control:focus{-webkit-box-shadow:inset 0 -2px 0 #2196f3;box-shadow:inset 0 -2px 0 #2196f3}textarea[disabled],textarea.form-control[disabled],input.form-control[disabled],input[type=text][disabled],input[type=password][disabled],input[type=email][disabled],input[type=number][disabled],[type=text].form-control[disabled],[type=password].form-control[disabled],[type=email].form-control[disabled],[type=tel].form-control[disabled],[contenteditable].form-control[disabled],textarea[readonly],textarea.form-control[readonly],input.form-control[readonly],input[type=text][readonly],input[type=password][readonly],input[type=email][readonly],input[type=number][readonly],[type=text].form-control[readonly],[type=password].form-control[readonly],[type=email].form-control[readonly],[type=tel].form-control[readonly],[contenteditable].form-control[readonly]{-webkit-box-shadow:none;box-shadow:none;border-bottom:1px dotted #ddd}textarea.input-sm,textarea.form-control.input-sm,input.form-control.input-sm,input[type=text].input-sm,input[type=password].input-sm,input[type=email].input-sm,input[type=number].input-sm,[type=text].form-control.input-sm,[type=password].form-control.input-sm,[type=email].form-control.input-sm,[type=tel].form-control.input-sm,[contenteditable].form-control.input-sm{font-size:12px}textarea.input-lg,textarea.form-control.input-lg,input.form-control.input-lg,input[type=text].input-lg,input[type=password].input-lg,input[type=email].input-lg,input[type=number].input-lg,[type=text].form-control.input-lg,[type=password].form-control.input-lg,[type=email].form-control.input-lg,[type=tel].form-control.input-lg,[contenteditable].form-control.input-lg{font-size:17px}select,select.form-control{border:0;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-left:0;padding-right:0\9;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAAJ1BMVEVmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmaP/QSjAAAADHRSTlMAAgMJC0uWpKa6wMxMdjkoAAAANUlEQVR4AeXJyQEAERAAsNl7Hf3X6xt0QL6JpZWq30pdvdadme+0PMdzvHm8YThHcT1H7K0BtOMDniZhWOgAAAAASUVORK5CYII=);-webkit-background-size:13px 13px;background-size:13px;background-repeat:no-repeat;background-position:right center;-webkit-box-shadow:inset 0 -1px 0 #ddd;box-shadow:inset 0 -1px 0 #ddd;font-size:16px;line-height:1.5}select::-ms-expand,select.form-control::-ms-expand{display:none}select.input-sm,select.form-control.input-sm{font-size:12px}select.input-lg,select.form-control.input-lg{font-size:17px}select:focus,select.form-control:focus{-webkit-box-shadow:inset 0 -2px 0 #2196f3;box-shadow:inset 0 -2px 0 #2196f3;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAAJ1BMVEUhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISF8S9ewAAAADHRSTlMAAgMJC0uWpKa6wMxMdjkoAAAANUlEQVR4AeXJyQEAERAAsNl7Hf3X6xt0QL6JpZWq30pdvdadme+0PMdzvHm8YThHcT1H7K0BtOMDniZhWOgAAAAASUVORK5CYII=)}select[multiple],select.form-control[multiple]{background:none}.radio label,.radio-inline label,.checkbox label,.checkbox-inline label{padding-left:25px}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="radio"],.checkbox-inline input[type="radio"],.radio input[type="checkbox"],.radio-inline input[type="checkbox"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{margin-left:-25px}input[type="radio"],.radio input[type="radio"],.radio-inline input[type="radio"]{position:relative;margin-top:6px;margin-right:4px;vertical-align:top;border:none;background-color:transparent;-webkit-appearance:none;appearance:none;cursor:pointer}input[type="radio"]:focus,.radio input[type="radio"]:focus,.radio-inline input[type="radio"]:focus{outline:none}input[type="radio"]:before,.radio input[type="radio"]:before,.radio-inline input[type="radio"]:before,input[type="radio"]:after,.radio input[type="radio"]:after,.radio-inline input[type="radio"]:after{content:"";display:block;width:18px;height:18px;border-radius:50%;-webkit-transition:240ms;-o-transition:240ms;transition:240ms}input[type="radio"]:before,.radio input[type="radio"]:before,.radio-inline input[type="radio"]:before{position:absolute;left:0;top:-3px;background-color:#2196f3;-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0)}input[type="radio"]:after,.radio input[type="radio"]:after,.radio-inline input[type="radio"]:after{position:relative;top:-3px;border:2px solid #666666}input[type="radio"]:checked:before,.radio input[type="radio"]:checked:before,.radio-inline input[type="radio"]:checked:before{-webkit-transform:scale(.5);-ms-transform:scale(.5);-o-transform:scale(.5);transform:scale(.5)}input[type="radio"]:disabled:checked:before,.radio input[type="radio"]:disabled:checked:before,.radio-inline input[type="radio"]:disabled:checked:before{background-color:#bbbbbb}input[type="radio"]:checked:after,.radio input[type="radio"]:checked:after,.radio-inline input[type="radio"]:checked:after{border-color:#2196f3}input[type="radio"]:disabled:after,.radio input[type="radio"]:disabled:after,.radio-inline input[type="radio"]:disabled:after,input[type="radio"]:disabled:checked:after,.radio input[type="radio"]:disabled:checked:after,.radio-inline input[type="radio"]:disabled:checked:after{border-color:#bbbbbb}input[type="checkbox"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:relative;border:none;margin-bottom:-4px;-webkit-appearance:none;appearance:none;cursor:pointer}input[type="checkbox"]:focus,.checkbox input[type="checkbox"]:focus,.checkbox-inline input[type="checkbox"]:focus{outline:none}input[type="checkbox"]:focus:after,.checkbox input[type="checkbox"]:focus:after,.checkbox-inline input[type="checkbox"]:focus:after{border-color:#2196f3}input[type="checkbox"]:after,.checkbox input[type="checkbox"]:after,.checkbox-inline input[type="checkbox"]:after{content:"";display:block;width:18px;height:18px;margin-top:-2px;margin-right:5px;border:2px solid #666666;border-radius:2px;-webkit-transition:240ms;-o-transition:240ms;transition:240ms}input[type="checkbox"]:checked:before,.checkbox input[type="checkbox"]:checked:before,.checkbox-inline input[type="checkbox"]:checked:before{content:"";position:absolute;top:0;left:6px;display:table;width:6px;height:12px;border:2px solid #fff;border-top-width:0;border-left-width:0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}input[type="checkbox"]:checked:after,.checkbox input[type="checkbox"]:checked:after,.checkbox-inline input[type="checkbox"]:checked:after{background-color:#2196f3;border-color:#2196f3}input[type="checkbox"]:disabled:after,.checkbox input[type="checkbox"]:disabled:after,.checkbox-inline input[type="checkbox"]:disabled:after{border-color:#bbbbbb}input[type="checkbox"]:disabled:checked:after,.checkbox input[type="checkbox"]:disabled:checked:after,.checkbox-inline input[type="checkbox"]:disabled:checked:after{background-color:#bbbbbb;border-color:transparent}.has-warning input:not([type=checkbox]),.has-warning .form-control,.has-warning input.form-control[readonly],.has-warning input[type=text][readonly],.has-warning [type=text].form-control[readonly],.has-warning input:not([type=checkbox]):focus,.has-warning .form-control:focus{border-bottom:none;-webkit-box-shadow:inset 0 -2px 0 #ff9800;box-shadow:inset 0 -2px 0 #ff9800}.has-error input:not([type=checkbox]),.has-error .form-control,.has-error input.form-control[readonly],.has-error input[type=text][readonly],.has-error [type=text].form-control[readonly],.has-error input:not([type=checkbox]):focus,.has-error .form-control:focus{border-bottom:none;-webkit-box-shadow:inset 0 -2px 0 #e51c23;box-shadow:inset 0 -2px 0 #e51c23}.has-success input:not([type=checkbox]),.has-success .form-control,.has-success input.form-control[readonly],.has-success input[type=text][readonly],.has-success [type=text].form-control[readonly],.has-success input:not([type=checkbox]):focus,.has-success .form-control:focus{border-bottom:none;-webkit-box-shadow:inset 0 -2px 0 #4caf50;box-shadow:inset 0 -2px 0 #4caf50}.has-warning .input-group-addon,.has-error .input-group-addon,.has-success .input-group-addon{color:#666666;border-color:transparent;background-color:transparent}.nav-tabs>li>a,.nav-tabs>li>a:focus{margin-right:0;background-color:transparent;border:none;color:#666666;-webkit-box-shadow:inset 0 -1px 0 #ddd;box-shadow:inset 0 -1px 0 #ddd;-webkit-transition:all 0.2s;-o-transition:all 0.2s;transition:all 0.2s}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus:hover{background-color:transparent;-webkit-box-shadow:inset 0 -2px 0 #2196f3;box-shadow:inset 0 -2px 0 #2196f3;color:#2196f3}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus{border:none;-webkit-box-shadow:inset 0 -2px 0 #2196f3;box-shadow:inset 0 -2px 0 #2196f3;color:#2196f3}.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus:hover{border:none;color:#2196f3}.nav-tabs>li.disabled>a{-webkit-box-shadow:inset 0 -1px 0 #ddd;box-shadow:inset 0 -1px 0 #ddd}.nav-tabs.nav-justified>li>a,.nav-tabs.nav-justified>li>a:hover,.nav-tabs.nav-justified>li>a:focus,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:none}.nav-tabs .dropdown-menu{margin-top:0}.dropdown-menu{margin-top:0;border:none;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.3);box-shadow:0 1px 4px rgba(0,0,0,0.3)}.alert{border:none;color:#fff}.alert-success{background-color:#4caf50}.alert-info{background-color:#9c27b0}.alert-warning{background-color:#ff9800}.alert-danger{background-color:#e51c23}.alert a:not(.close),.alert .alert-link{color:#fff;font-weight:bold}.alert .close{color:#fff}.badge{padding:3px 6px 5px}.progress{position:relative;z-index:1;height:6px;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.progress-bar{-webkit-box-shadow:none;box-shadow:none}.progress-bar:last-child{border-radius:0 3px 3px 0}.progress-bar:last-child:before{display:block;content:"";position:absolute;width:100%;height:100%;left:0;right:0;z-index:-1;background-color:#cae6fc}.progress-bar-success:last-child.progress-bar:before{background-color:#c7e7c8}.progress-bar-info:last-child.progress-bar:before{background-color:#edc9f3}.progress-bar-warning:last-child.progress-bar:before{background-color:#ffe0b3}.progress-bar-danger:last-child.progress-bar:before{background-color:#f28e92}.close{font-size:34px;font-weight:300;line-height:24px;opacity:0.6;-webkit-transition:all 0.2s;-o-transition:all 0.2s;transition:all 0.2s}.close:hover{opacity:1}.list-group-item{padding:15px}.list-group-item-text{color:#bbbbbb}.well{border-radius:0;-webkit-box-shadow:none;box-shadow:none}.panel{border:none;border-radius:2px;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.3);box-shadow:0 1px 4px rgba(0,0,0,0.3)}.panel-heading{border-bottom:none}.panel-footer{border-top:none}.popover{border:none;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.3);box-shadow:0 1px 4px rgba(0,0,0,0.3)}.carousel-caption h1,.carousel-caption h2,.carousel-caption h3,.carousel-caption h4,.carousel-caption h5,.carousel-caption h6{color:inherit} \ No newline at end of file diff --git a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/readable/bootstrap.min.css b/mayan/apps/appearance/static/appearance/packages/bootswatch.com/readable/bootstrap.min.css deleted file mode 100644 index 3fb40860a3..0000000000 --- a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/readable/bootstrap.min.css +++ /dev/null @@ -1,11 +0,0 @@ -@import url("https://fonts.googleapis.com/css?family=Raleway:400,700");/*! - * bootswatch v3.3.5 - * Homepage: http://bootswatch.com - * Copyright 2012-2015 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*//*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:Georgia,"Times New Roman",Times,serif;font-size:16px;line-height:1.42857143;color:#333333;background-color:#ffffff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#4582ec;text-decoration:none}a:hover,a:focus{color:#134fb8;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:22px;margin-bottom:22px;border:0;border-top:1px solid #eeeeee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#b3b3b3}h1,.h1,h2,.h2,h3,.h3{margin-top:22px;margin-bottom:11px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:11px;margin-bottom:11px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:41px}h2,.h2{font-size:34px}h3,.h3{font-size:28px}h4,.h4{font-size:20px}h5,.h5{font-size:16px}h6,.h6{font-size:14px}p{margin:0 0 11px}.lead{margin-bottom:22px;font-size:18px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:24px}}small,.small{font-size:87%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#b3b3b3}.text-primary{color:#4582ec}a.text-primary:hover,a.text-primary:focus{color:#1863e6}.text-success{color:#3fad46}a.text-success:hover,a.text-success:focus{color:#318837}.text-info{color:#5bc0de}a.text-info:hover,a.text-info:focus{color:#31b0d5}.text-warning{color:#f0ad4e}a.text-warning:hover,a.text-warning:focus{color:#ec971f}.text-danger{color:#d9534f}a.text-danger:hover,a.text-danger:focus{color:#c9302c}.bg-primary{color:#fff;background-color:#4582ec}a.bg-primary:hover,a.bg-primary:focus{background-color:#1863e6}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:10px;margin:44px 0 22px;border-bottom:1px solid #dddddd}ul,ol{margin-top:0;margin-bottom:11px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:22px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #b3b3b3}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:11px 22px;margin:0 0 22px;font-size:20px;border-left:5px solid #4582ec}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#333333}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #4582ec;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:22px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:10.5px;margin:0 0 11px;font-size:15px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333333;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#b3b3b3;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:22px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #dddddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #dddddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #dddddd}.table .table{background-color:#ffffff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:16.5px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #dddddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:22px;font-size:24px;line-height:inherit;color:#333333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:9px;font-size:16px;line-height:1.42857143;color:#333333}.form-control{display:block;width:100%;height:40px;padding:8px 12px;font-size:16px;line-height:1.42857143;color:#333333;background-color:#ffffff;background-image:none;border:1px solid #dddddd;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#b3b3b3;opacity:1}.form-control:-ms-input-placeholder{color:#b3b3b3}.form-control::-webkit-input-placeholder{color:#b3b3b3}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eeeeee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:40px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:33px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:57px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:22px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:9px;padding-bottom:9px;margin-bottom:0;min-height:38px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:33px;padding:5px 10px;font-size:14px;line-height:1.5;border-radius:3px}select.input-sm{height:33px;line-height:33px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:33px;padding:5px 10px;font-size:14px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:33px;line-height:33px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:33px;min-height:36px;padding:6px 10px;font-size:14px;line-height:1.5}.input-lg{height:57px;padding:14px 16px;font-size:20px;line-height:1.3333333;border-radius:6px}select.input-lg{height:57px;line-height:57px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:57px;padding:14px 16px;font-size:20px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:57px;line-height:57px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:57px;min-height:42px;padding:15px 16px;font-size:20px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:50px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:40px;height:40px;line-height:40px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:57px;height:57px;line-height:57px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:33px;height:33px;line-height:33px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3fad46}.has-success .form-control{border-color:#3fad46;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#318837;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #81d186;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #81d186}.has-success .input-group-addon{color:#3fad46;border-color:#3fad46;background-color:#dff0d8}.has-success .form-control-feedback{color:#3fad46}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#f0ad4e}.has-warning .form-control{border-color:#f0ad4e;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#ec971f;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f8d9ac;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f8d9ac}.has-warning .input-group-addon{color:#f0ad4e;border-color:#f0ad4e;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#f0ad4e}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#d9534f}.has-error .form-control{border-color:#d9534f;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#c9302c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #eba5a3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #eba5a3}.has-error .input-group-addon{color:#d9534f;border-color:#d9534f;background-color:#f2dede}.has-error .form-control-feedback{color:#d9534f}.has-feedback label~.form-control-feedback{top:27px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:9px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:31px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:9px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:19.6666662px;font-size:20px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:14px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:8px 12px;font-size:16px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333333;background-color:#ffffff;border-color:#dddddd}.btn-default:focus,.btn-default.focus{color:#333333;background-color:#e6e6e6;border-color:#9d9d9d}.btn-default:hover{color:#333333;background-color:#e6e6e6;border-color:#bebebe}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333333;background-color:#e6e6e6;border-color:#bebebe}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#333333;background-color:#d4d4d4;border-color:#9d9d9d}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#ffffff;border-color:#dddddd}.btn-default .badge{color:#ffffff;background-color:#333333}.btn-primary{color:#ffffff;background-color:#4582ec;border-color:#4582ec}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#1863e6;border-color:#1045a1}.btn-primary:hover{color:#ffffff;background-color:#1863e6;border-color:#175fdd}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#1863e6;border-color:#175fdd}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#1455c6;border-color:#1045a1}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#4582ec;border-color:#4582ec}.btn-primary .badge{color:#4582ec;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#3fad46;border-color:#3fad46}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#318837;border-color:#1d5020}.btn-success:hover{color:#ffffff;background-color:#318837;border-color:#2f8034}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#318837;border-color:#2f8034}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#286d2c;border-color:#1d5020}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#3fad46;border-color:#3fad46}.btn-success .badge{color:#3fad46;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#31b0d5;border-color:#1f7e9a}.btn-info:hover{color:#ffffff;background-color:#31b0d5;border-color:#2aabd2}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#31b0d5;border-color:#2aabd2}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#269abc;border-color:#1f7e9a}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#5bc0de}.btn-info .badge{color:#5bc0de;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#ec971f;border-color:#b06d0f}.btn-warning:hover{color:#ffffff;background-color:#ec971f;border-color:#eb9316}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#ec971f;border-color:#eb9316}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#d58512;border-color:#b06d0f}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning .badge{color:#f0ad4e;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#d9534f;border-color:#d9534f}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#c9302c;border-color:#8b211e}.btn-danger:hover{color:#ffffff;background-color:#c9302c;border-color:#c12e2a}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#c9302c;border-color:#c12e2a}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#ac2925;border-color:#8b211e}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d9534f}.btn-danger .badge{color:#d9534f;background-color:#ffffff}.btn-link{color:#4582ec;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#134fb8;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#b3b3b3;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:14px 16px;font-size:20px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:14px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:14px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:16px;text-align:left;background-color:#ffffff;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:10px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#ffffff;background-color:#4582ec}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#4582ec}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#b3b3b3}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:14px;line-height:1.42857143;color:#b3b3b3;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:57px;padding:14px 16px;font-size:20px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:57px;line-height:57px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:33px;padding:5px 10px;font-size:14px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:33px;line-height:33px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:8px 12px;font-size:16px;font-weight:normal;line-height:1;color:#333333;text-align:center;background-color:#eeeeee;border:1px solid #dddddd;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:14px;border-radius:3px}.input-group-addon.input-lg{padding:14px 16px;font-size:20px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eeeeee}.nav>li.disabled>a{color:#b3b3b3}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#b3b3b3;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eeeeee;border-color:#4582ec}.nav .nav-divider{height:1px;margin:10px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #dddddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555555;background-color:#ffffff;border:1px solid #dddddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#ffffff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#4582ec}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#ffffff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:65px;margin-bottom:22px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:21.5px 15px;font-size:20px;line-height:22px;height:65px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:15.5px;margin-bottom:15.5px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:10.75px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:22px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:22px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:21.5px;padding-bottom:21.5px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:12.5px;margin-bottom:12.5px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:12.5px;margin-bottom:12.5px}.navbar-btn.btn-sm{margin-top:16px;margin-bottom:16px}.navbar-btn.btn-xs{margin-top:21.5px;margin-bottom:21.5px}.navbar-text{margin-top:21.5px;margin-bottom:21.5px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#ffffff;border-color:#dddddd}.navbar-default .navbar-brand{color:#4582ec}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#4582ec;background-color:transparent}.navbar-default .navbar-text{color:#333333}.navbar-default .navbar-nav>li>a{color:#4582ec}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#4582ec;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#4582ec;background-color:transparent}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#333333;background-color:transparent}.navbar-default .navbar-toggle{border-color:#dddddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#dddddd}.navbar-default .navbar-toggle .icon-bar{background-color:#cccccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#dddddd}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:transparent;color:#4582ec}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#4582ec}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#4582ec;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#4582ec;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#333333;background-color:transparent}}.navbar-default .navbar-link{color:#4582ec}.navbar-default .navbar-link:hover{color:#4582ec}.navbar-default .btn-link{color:#4582ec}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#4582ec}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#333333}.navbar-inverse{background-color:#ffffff;border-color:#dddddd}.navbar-inverse .navbar-brand{color:#333333}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-text{color:#333333}.navbar-inverse .navbar-nav>li>a{color:#333333}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#dddddd}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#dddddd}.navbar-inverse .navbar-toggle .icon-bar{background-color:#cccccc}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#ededed}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:transparent;color:#333333}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#dddddd}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#dddddd}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#333333}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-inverse .navbar-link{color:#333333}.navbar-inverse .navbar-link:hover{color:#333333}.navbar-inverse .btn-link{color:#333333}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#333333}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#cccccc}.breadcrumb{padding:8px 15px;margin-bottom:22px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#cccccc}.breadcrumb>.active{color:#b3b3b3}.pagination{display:inline-block;padding-left:0;margin:22px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:8px 12px;line-height:1.42857143;text-decoration:none;color:#333333;background-color:#ffffff;border:1px solid #dddddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:3;color:#ffffff;background-color:#4582ec;border-color:#4582ec}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#ffffff;background-color:#4582ec;border-color:#4582ec;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#b3b3b3;background-color:#ffffff;border-color:#dddddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:14px 16px;font-size:20px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:14px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:22px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#ffffff;border:1px solid #dddddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#4582ec}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#b3b3b3;background-color:#ffffff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#ffffff}.label-default[href]:hover,.label-default[href]:focus{background-color:#e6e6e6}.label-primary{background-color:#4582ec}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#1863e6}.label-success{background-color:#3fad46}.label-success[href]:hover,.label-success[href]:focus{background-color:#318837}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:14px;font-weight:bold;color:#ffffff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#4582ec;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#4582ec;background-color:#ffffff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#f7f7f7}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:24px;font-weight:200}.jumbotron>hr{border-top-color:#dedede}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:72px}}.thumbnail{display:block;padding:4px;margin-bottom:22px;line-height:1.42857143;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#4582ec}.thumbnail .caption{padding:9px;color:#333333}.alert{padding:15px;margin-bottom:22px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#3fad46;border-color:#3fad46;color:#ffffff}.alert-success hr{border-top-color:#389a3e}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#5bc0de;border-color:#5bc0de;color:#ffffff}.alert-info hr{border-top-color:#46b8da}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#f0ad4e;border-color:#f0ad4e;color:#ffffff}.alert-warning hr{border-top-color:#eea236}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#d9534f;border-color:#d9534f;color:#ffffff}.alert-danger hr{border-top-color:#d43f3a}.alert-danger .alert-link{color:#e6e6e6}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:22px;margin-bottom:22px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:14px;line-height:22px;color:#ffffff;text-align:center;background-color:#4582ec;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#3fad46}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#ffffff;border:1px solid #dddddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#555555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eeeeee;color:#b3b3b3;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#b3b3b3}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#4582ec;border-color:#4582ec}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#fefeff}.list-group-item-success{color:#3fad46;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3fad46}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#3fad46;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#3fad46;border-color:#3fad46}.list-group-item-info{color:#5bc0de;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#5bc0de}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#5bc0de;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.list-group-item-warning{color:#f0ad4e;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#f0ad4e}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#f0ad4e;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.list-group-item-danger{color:#d9534f;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#d9534f}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#d9534f;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#d9534f;border-color:#d9534f}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:22px;background-color:#ffffff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:18px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#ffffff;border-top:1px solid #dddddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #dddddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:22px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #dddddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #dddddd}.panel-default{border-color:#dddddd}.panel-default>.panel-heading{color:#333333;background-color:#f5f5f5;border-color:#dddddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dddddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dddddd}.panel-primary{border-color:#4582ec}.panel-primary>.panel-heading{color:#ffffff;background-color:#4582ec;border-color:#4582ec}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#4582ec}.panel-primary>.panel-heading .badge{color:#4582ec;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#4582ec}.panel-success{border-color:#3fad46}.panel-success>.panel-heading{color:#ffffff;background-color:#3fad46;border-color:#3fad46}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#3fad46}.panel-success>.panel-heading .badge{color:#3fad46;background-color:#ffffff}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#3fad46}.panel-info{border-color:#5bc0de}.panel-info>.panel-heading{color:#ffffff;background-color:#5bc0de;border-color:#5bc0de}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#5bc0de}.panel-info>.panel-heading .badge{color:#5bc0de;background-color:#ffffff}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#5bc0de}.panel-warning{border-color:#f0ad4e}.panel-warning>.panel-heading{color:#ffffff;background-color:#f0ad4e;border-color:#f0ad4e}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f0ad4e}.panel-warning>.panel-heading .badge{color:#f0ad4e;background-color:#ffffff}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f0ad4e}.panel-danger{border-color:#d9534f}.panel-danger>.panel-heading{color:#ffffff;background-color:#d9534f;border-color:#d9534f}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d9534f}.panel-danger>.panel-heading .badge{color:#d9534f;background-color:#ffffff}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d9534f}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f7f7f7;border:1px solid #e5e5e5;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:24px;font-weight:bold;line-height:1;color:#ffffff;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#ffffff;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#ffffff;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:Georgia,"Times New Roman",Times,serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#000000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:Georgia,"Times New Roman",Times,serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:16px;background-color:#ffffff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:16px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.navbar{font-family:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif}.navbar-nav,.navbar-form{margin-left:0;margin-right:0}.navbar-nav>li>a{margin:12.5px 6px;padding:8px 12px;border:1px solid transparent;border-radius:4px}.navbar-nav>li>a:hover{border:1px solid #ddd}.navbar-nav>.active>a,.navbar-nav>.active>a:hover{border:1px solid #ddd}.navbar-default .navbar-nav>.active>a:hover{color:#4582ec}.navbar-inverse .navbar-nav>.active>a:hover{color:#333333}.navbar-brand{padding-top:12.5px;padding-bottom:12.5px;line-height:1.9}@media (min-width:768px){.navbar .navbar-nav>li>a{padding:8px 12px}}@media (max-width:768px - 1){.navbar .navbar-nav>li>a{margin:0}}.btn{font-family:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif}legend{font-family:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif}.input-group-addon{font-family:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{border:1px solid #ddd}.pagination{font-family:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif}.pagination-lg>li>a,.pagination-lg>li>span{padding:14px 24px}.pager{font-family:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif}.pager a{color:#333333}.pager a:hover{border-color:transparent;color:#fff}.pager .disabled a{border-color:#dddddd}.close{color:#fff;text-decoration:none;text-shadow:none;opacity:0.4}.close:hover,.close:focus{color:#fff;opacity:1}.alert .alert-link{color:#ffffff;text-decoration:underline}.label{font-family:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:normal}.label-default{border:1px solid #ddd;color:#333333}.badge{padding:1px 7px 5px;vertical-align:2px;font-family:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:normal}.panel{-webkit-box-shadow:none;box-shadow:none}.panel-default .close{color:#333333}.modal .close{color:#333333} \ No newline at end of file diff --git a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/sandstone/bootstrap.min.css b/mayan/apps/appearance/static/appearance/packages/bootswatch.com/sandstone/bootstrap.min.css deleted file mode 100644 index 48ff1700ef..0000000000 --- a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/sandstone/bootstrap.min.css +++ /dev/null @@ -1,11 +0,0 @@ -@import url("https://fonts.googleapis.com/css?family=Roboto:400,500");/*! - * bootswatch v3.3.5 - * Homepage: http://bootswatch.com - * Copyright 2012-2015 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*//*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#3e3f3a;background-color:#ffffff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#93c54b;text-decoration:none}a:hover,a:focus{color:#79a736;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#f8f5f0;border:1px solid #dfd7ca;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #f8f5f0}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:400;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#98978b}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#98978b}.text-primary{color:#325d88}a.text-primary:hover,a.text-primary:focus{color:#244363}.text-success{color:#93c54b}a.text-success:hover,a.text-success:focus{color:#79a736}.text-info{color:#29abe0}a.text-info:hover,a.text-info:focus{color:#1b8dbb}.text-warning{color:#f47c3c}a.text-warning:hover,a.text-warning:focus{color:#ef5c0e}.text-danger{color:#d9534f}a.text-danger:hover,a.text-danger:focus{color:#c9302c}.bg-primary{color:#fff;background-color:#325d88}a.bg-primary:hover,a.bg-primary:focus{background-color:#244363}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #f8f5f0}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #98978b}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #dfd7ca}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#3e3f3a}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #dfd7ca;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#8e8c84;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#98978b;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #dfd7ca}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #dfd7ca}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #dfd7ca}.table .table{background-color:#ffffff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #dfd7ca}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #dfd7ca}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f8f5f0}.table-hover>tbody>tr:hover{background-color:#f8f5f0}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f8f5f0}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#f0e9df}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #dfd7ca}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:inherit;border:0;border-bottom:1px solid transparent}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:13px;font-size:14px;line-height:1.42857143;color:#3e3f3a}.form-control{display:block;width:100%;height:46px;padding:12px 16px;font-size:14px;line-height:1.42857143;color:#3e3f3a;background-color:#ffffff;background-image:none;border:1px solid #dfd7ca;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:transparent;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(0,0,0,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(0,0,0,0.6)}.form-control::-moz-placeholder{color:#dfd7ca;opacity:1}.form-control:-ms-input-placeholder{color:#dfd7ca}.form-control::-webkit-input-placeholder{color:#dfd7ca}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#f8f5f0;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:46px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:66px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:13px;padding-bottom:13px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:66px;padding:20px 30px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:66px;line-height:66px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:66px;padding:20px 30px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:66px;line-height:66px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:66px;min-height:38px;padding:21px 30px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:57.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:46px;height:46px;line-height:46px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:66px;height:66px;line-height:66px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#93c54b}.has-success .form-control{border-color:#93c54b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#79a736;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c1de98;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c1de98}.has-success .input-group-addon{color:#93c54b;border-color:#93c54b;background-color:#dff0d8}.has-success .form-control-feedback{color:#93c54b}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#f47c3c}.has-warning .form-control{border-color:#f47c3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#ef5c0e;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f9bd9d;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f9bd9d}.has-warning .input-group-addon{color:#f47c3c;border-color:#f47c3c;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#f47c3c}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#d9534f}.has-error .form-control{border-color:#d9534f;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#c9302c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #eba5a3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #eba5a3}.has-error .input-group-addon{color:#d9534f;border-color:#d9534f;background-color:#f2dede}.has-error .form-control-feedback{color:#d9534f}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#7f8177}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:13px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:33px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:13px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:27.666666px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:12px 16px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#ffffff;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#ffffff;background-color:#3e3f3a;border-color:transparent}.btn-default:focus,.btn-default.focus{color:#ffffff;background-color:#242422;border-color:rgba(0,0,0,0)}.btn-default:hover{color:#ffffff;background-color:#242422;border-color:rgba(0,0,0,0)}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#ffffff;background-color:#242422;border-color:rgba(0,0,0,0)}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#ffffff;background-color:#121210;border-color:rgba(0,0,0,0)}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#3e3f3a;border-color:transparent}.btn-default .badge{color:#3e3f3a;background-color:#ffffff}.btn-primary{color:#ffffff;background-color:#325d88;border-color:transparent}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#244363;border-color:rgba(0,0,0,0)}.btn-primary:hover{color:#ffffff;background-color:#244363;border-color:rgba(0,0,0,0)}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#244363;border-color:rgba(0,0,0,0)}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#1b3249;border-color:rgba(0,0,0,0)}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#325d88;border-color:transparent}.btn-primary .badge{color:#325d88;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#93c54b;border-color:transparent}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#79a736;border-color:rgba(0,0,0,0)}.btn-success:hover{color:#ffffff;background-color:#79a736;border-color:rgba(0,0,0,0)}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#79a736;border-color:rgba(0,0,0,0)}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#658c2d;border-color:rgba(0,0,0,0)}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#93c54b;border-color:transparent}.btn-success .badge{color:#93c54b;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#29abe0;border-color:transparent}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#1b8dbb;border-color:rgba(0,0,0,0)}.btn-info:hover{color:#ffffff;background-color:#1b8dbb;border-color:rgba(0,0,0,0)}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#1b8dbb;border-color:rgba(0,0,0,0)}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#17759c;border-color:rgba(0,0,0,0)}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#29abe0;border-color:transparent}.btn-info .badge{color:#29abe0;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#f47c3c;border-color:transparent}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#ef5c0e;border-color:rgba(0,0,0,0)}.btn-warning:hover{color:#ffffff;background-color:#ef5c0e;border-color:rgba(0,0,0,0)}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#ef5c0e;border-color:rgba(0,0,0,0)}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#ce4f0c;border-color:rgba(0,0,0,0)}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f47c3c;border-color:transparent}.btn-warning .badge{color:#f47c3c;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#d9534f;border-color:transparent}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#c9302c;border-color:rgba(0,0,0,0)}.btn-danger:hover{color:#ffffff;background-color:#c9302c;border-color:rgba(0,0,0,0)}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#c9302c;border-color:rgba(0,0,0,0)}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#ac2925;border-color:rgba(0,0,0,0)}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:transparent}.btn-danger .badge{color:#d9534f;background-color:#ffffff}.btn-link{color:#93c54b;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#79a736;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#dfd7ca;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:20px 30px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#ffffff;border:1px solid #dfd7ca;border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#f8f5f0}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#98978b;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#98978b;background-color:#f8f5f0}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#98978b;text-decoration:none;outline:0;background-color:#f8f5f0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#dfd7ca}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#dfd7ca;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:66px;padding:20px 30px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:66px;line-height:66px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:12px 16px;font-size:14px;font-weight:normal;line-height:1;color:#3e3f3a;text-align:center;background-color:#f8f5f0;border:1px solid #dfd7ca;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:20px 30px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#f8f5f0}.nav>li.disabled>a{color:#dfd7ca}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#dfd7ca;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#f8f5f0;border-color:#93c54b}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #dfd7ca}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#dfd7ca #dfd7ca #dfd7ca}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#98978b;background-color:#ffffff;border:1px solid #dfd7ca;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #dfd7ca}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #dfd7ca;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#ffffff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#98978b;background-color:#f8f5f0}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #dfd7ca}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #dfd7ca;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#ffffff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:60px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:20px 15px;font-size:18px;line-height:20px;height:60px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:13px;margin-bottom:13px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:10px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:20px;padding-bottom:20px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:7px;margin-bottom:7px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:7px;margin-bottom:7px}.navbar-btn.btn-sm{margin-top:15px;margin-bottom:15px}.navbar-btn.btn-xs{margin-top:19px;margin-bottom:19px}.navbar-text{margin-top:20px;margin-bottom:20px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#3e3f3a;border-color:#3e3f3a}.navbar-default .navbar-brand{color:#ffffff}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#ffffff;background-color:transparent}.navbar-default .navbar-text{color:#8e8c84}.navbar-default .navbar-nav>li>a{color:#98978b}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#ffffff;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#ffffff;background-color:#393a35}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:transparent}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#393a35}.navbar-default .navbar-toggle .icon-bar{background-color:#98978b}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#3e3f3a}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#393a35;color:#ffffff}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#98978b}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#393a35}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-default .navbar-link{color:#98978b}.navbar-default .navbar-link:hover{color:#ffffff}.navbar-default .btn-link{color:#98978b}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#ffffff}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#cccccc}.navbar-inverse{background-color:#93c54b;border-color:#93c54b}.navbar-inverse .navbar-brand{color:#ffffff}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-text{color:#dfd7ca}.navbar-inverse .navbar-nav>li>a{color:#6b9430}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ffffff;background-color:#89be3d}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:transparent}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#89be3d}.navbar-inverse .navbar-toggle .icon-bar{background-color:#6b9430}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#81b33a}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#89be3d;color:#ffffff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#93c54b}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#93c54b}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#6b9430}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#89be3d}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444444;background-color:transparent}}.navbar-inverse .navbar-link{color:#6b9430}.navbar-inverse .navbar-link:hover{color:#ffffff}.navbar-inverse .btn-link{color:#6b9430}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#ffffff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f8f5f0;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#dfd7ca}.breadcrumb>.active{color:#98978b}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:12px 16px;line-height:1.42857143;text-decoration:none;color:#98978b;background-color:#f8f5f0;border:1px solid #dfd7ca;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:3;color:#8e8c84;background-color:#dfd7ca;border-color:#dfd7ca}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#8e8c84;background-color:#dfd7ca;border-color:#dfd7ca;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#dfd7ca;background-color:#f8f5f0;border-color:#dfd7ca;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:20px 30px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#f8f5f0;border:1px solid #dfd7ca;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#dfd7ca}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#dfd7ca;background-color:#f8f5f0;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#3e3f3a}.label-default[href]:hover,.label-default[href]:focus{background-color:#242422}.label-primary{background-color:#325d88}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#244363}.label-success{background-color:#93c54b}.label-success[href]:hover,.label-success[href]:focus{background-color:#79a736}.label-info{background-color:#29abe0}.label-info[href]:hover,.label-info[href]:focus{background-color:#1b8dbb}.label-warning{background-color:#f47c3c}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ef5c0e}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:normal;color:#ffffff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#93c54b;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#ffffff;background-color:#93c54b}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#f8f5f0}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#e8decd}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#f8f5f0;border:1px solid #dfd7ca;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#93c54b}.thumbnail .caption{padding:9px;color:#3e3f3a}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#93c54b;border-color:transparent;color:#ffffff}.alert-success hr{border-top-color:rgba(0,0,0,0)}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#29abe0;border-color:transparent;color:#ffffff}.alert-info hr{border-top-color:rgba(0,0,0,0)}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#f47c3c;border-color:transparent;color:#ffffff}.alert-warning hr{border-top-color:rgba(0,0,0,0)}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#d9534f;border-color:transparent;color:#ffffff}.alert-danger hr{border-top-color:rgba(0,0,0,0)}.alert-danger .alert-link{color:#e6e6e6}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#ffffff;text-align:center;background-color:#325d88;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#93c54b}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#29abe0}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f47c3c}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#ffffff;border:1px solid #dfd7ca}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#3e3f3a}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:inherit}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#3e3f3a;background-color:#f8f5f0}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#f8f5f0;color:#dfd7ca;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#dfd7ca}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#3e3f3a;background-color:#f8f5f0;border-color:#dfd7ca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#3e3f3a}.list-group-item-success{color:#93c54b;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#93c54b}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#93c54b;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#93c54b;border-color:#93c54b}.list-group-item-info{color:#29abe0;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#29abe0}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#29abe0;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#29abe0;border-color:#29abe0}.list-group-item-warning{color:#f47c3c;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#f47c3c}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#f47c3c;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#f47c3c;border-color:#f47c3c}.list-group-item-danger{color:#d9534f;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#d9534f}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#d9534f;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#d9534f;border-color:#d9534f}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#ffffff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f8f5f0;border-top:1px solid #dfd7ca;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #dfd7ca}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #dfd7ca}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #dfd7ca}.panel-default{border-color:#dfd7ca}.panel-default>.panel-heading{color:#3e3f3a;background-color:#f8f5f0;border-color:#dfd7ca}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dfd7ca}.panel-default>.panel-heading .badge{color:#f8f5f0;background-color:#3e3f3a}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dfd7ca}.panel-primary{border-color:#325d88}.panel-primary>.panel-heading{color:#ffffff;background-color:#325d88;border-color:#325d88}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#325d88}.panel-primary>.panel-heading .badge{color:#325d88;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#325d88}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#93c54b;background-color:#93c54b;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#93c54b;background-color:#93c54b}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#29abe0;background-color:#29abe0;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#29abe0;background-color:#29abe0}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#f47c3c;background-color:#f47c3c;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#f47c3c;background-color:#f47c3c}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#d9534f;background-color:#d9534f;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#d9534f;background-color:#d9534f}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f8f5f0;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000000;text-shadow:0 0 0 transparent;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#ffffff;border:1px solid #f8f5f0;border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #f8f5f0;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #f8f5f0}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:1;filter:alpha(opacity=100)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#3e3f3a;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#3e3f3a}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#3e3f3a}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#3e3f3a}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#3e3f3a}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#3e3f3a}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#3e3f3a}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#3e3f3a}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#3e3f3a}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#ffffff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #dfd7ca;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f8f5f0;border-bottom:1px solid #f0e9df;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#b9a78a;border-top-color:#dfd7ca;bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#b9a78a;border-right-color:#dfd7ca}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#b9a78a;border-bottom-color:#dfd7ca;top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#b9a78a;border-left-color:#dfd7ca}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.sandstone{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase}.navbar .nav>li>a{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase}.navbar-form input,.navbar-form .form-control{border:none}.btn{border:none;font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase}.btn:hover{border-color:transparent}.btn-lg{line-height:26px}.btn-default:hover{background-color:#393a35}input,.form-control{-webkit-box-shadow:none;box-shadow:none}input:focus,.form-control:focus{border-color:#dfd7ca;-webkit-box-shadow:none;box-shadow:none}.nav{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{border-color:#dfd7ca}.nav-tabs>li>a{background-color:#f8f5f0;border-color:#dfd7ca;color:#98978b}.nav-tabs>li.disabled>a:hover{background-color:#f8f5f0}.nav-pills a{color:#98978b}.nav-pills li>a{border:1px solid transparent}.nav-pills li.active>a,.nav-pills li>a:hover{border-color:#dfd7ca}.nav-pills li.disabled>a{border-color:transparent}.breadcrumb{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase;border:1px solid #dfd7ca}.breadcrumb a{color:#98978b}.pagination{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase}.pager{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase}.pager li>a{color:#98978b}.dropdown-menu>li>a{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase}.alert a,.alert .alert-link{color:#fff}.tooltip{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase}.progress{border-radius:10px;background-color:#dfd7ca;-webkit-box-shadow:none;box-shadow:none}.progress-bar{-webkit-box-shadow:none;box-shadow:none}.list-group-item{padding:16px 24px}.well{-webkit-box-shadow:none;box-shadow:none}.panel{-webkit-box-shadow:none;box-shadow:none}.panel .panel-heading,.panel .panel-title{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase;color:#fff}.panel .panel-footer{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase}.panel-default .panel-heading,.panel-default .panel-title,.panel-default .panel-footer{color:#98978b} \ No newline at end of file diff --git a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/simplex/bootstrap.min.css b/mayan/apps/appearance/static/appearance/packages/bootswatch.com/simplex/bootstrap.min.css deleted file mode 100644 index 4439b67524..0000000000 --- a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/simplex/bootstrap.min.css +++ /dev/null @@ -1,11 +0,0 @@ -@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,700");/*! - * bootswatch v3.3.5 - * Homepage: http://bootswatch.com - * Copyright 2012-2015 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*//*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:1.42857143;color:#777777;background-color:#fcfcfc}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#d9230f;text-decoration:none}a:hover,a:focus{color:#91170a;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fcfcfc;border:1px solid #dddddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:18px;margin-bottom:18px;border:0;border-top:1px solid #dddddd}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;line-height:1.1;color:#444444}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#808080}h1,.h1,h2,.h2,h3,.h3{margin-top:18px;margin-bottom:9px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:9px;margin-bottom:9px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:33px}h2,.h2{font-size:27px}h3,.h3{font-size:23px}h4,.h4{font-size:17px}h5,.h5{font-size:13px}h6,.h6{font-size:12px}p{margin:0 0 9px}.lead{margin-bottom:18px;font-size:14px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:19.5px}}small,.small{font-size:92%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#808080}.text-primary{color:#d9230f}a.text-primary:hover,a.text-primary:focus{color:#a91b0c}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-warning{color:#c09853}a.text-warning:hover,a.text-warning:focus{color:#a47e3c}.text-danger{color:#b94a48}a.text-danger:hover,a.text-danger:focus{color:#953b39}.bg-primary{color:#fff;background-color:#d9230f}a.bg-primary:hover,a.bg-primary:focus{background-color:#a91b0c}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:8px;margin:36px 0 18px;border-bottom:1px solid #dddddd}ul,ol{margin-top:0;margin-bottom:9px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:18px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #808080}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:9px 18px;margin:0 0 18px;font-size:16.25px;border-left:5px solid #dddddd}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#808080}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #dddddd;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:18px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#444444;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#808080;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:18px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #dddddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #dddddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #dddddd}.table .table{background-color:#fcfcfc}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:13.5px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #dddddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:18px;font-size:19.5px;line-height:inherit;color:#777777;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:9px;font-size:13px;line-height:1.42857143;color:#777777}.form-control{display:block;width:100%;height:36px;padding:8px 12px;font-size:13px;line-height:1.42857143;color:#777777;background-color:#ffffff;background-image:none;border:1px solid #dddddd;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#dddddd;opacity:1}.form-control:-ms-input-placeholder{color:#dddddd}.form-control::-webkit-input-placeholder{color:#dddddd}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#dddddd;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:36px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:53px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:18px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:9px;padding-bottom:9px;margin-bottom:0;min-height:31px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:30px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:53px;padding:14px 16px;font-size:17px;line-height:1.3333333;border-radius:6px}select.input-lg{height:53px;line-height:53px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:53px;padding:14px 16px;font-size:17px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:53px;line-height:53px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:53px;min-height:35px;padding:15px 16px;font-size:17px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:45px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:36px;height:36px;line-height:36px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:53px;height:53px;line-height:53px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#468847}.has-success .form-control{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.has-success .input-group-addon{color:#468847;border-color:#468847;background-color:#dff0d8}.has-success .form-control-feedback{color:#468847}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#c09853}.has-warning .form-control{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.has-warning .input-group-addon{color:#c09853;border-color:#c09853;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#c09853}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#b94a48}.has-error .form-control{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.has-error .input-group-addon{color:#b94a48;border-color:#b94a48;background-color:#f2dede}.has-error .form-control-feedback{color:#b94a48}.has-feedback label~.form-control-feedback{top:23px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#b7b7b7}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:9px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:9px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:19.6666662px;font-size:17px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:8px 12px;font-size:13px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#ffffff;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#ffffff;background-color:#474949;border-color:#474949}.btn-default:focus,.btn-default.focus{color:#ffffff;background-color:#2e2f2f;border-color:#080808}.btn-default:hover{color:#ffffff;background-color:#2e2f2f;border-color:#292a2a}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#ffffff;background-color:#2e2f2f;border-color:#292a2a}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#ffffff;background-color:#1c1d1d;border-color:#080808}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#474949;border-color:#474949}.btn-default .badge{color:#474949;background-color:#ffffff}.btn-primary{color:#ffffff;background-color:#d9230f;border-color:#d9230f}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#a91b0c;border-color:#621007}.btn-primary:hover{color:#ffffff;background-color:#a91b0c;border-color:#a01a0b}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#a91b0c;border-color:#a01a0b}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#881609;border-color:#621007}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#d9230f;border-color:#d9230f}.btn-primary .badge{color:#d9230f;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#469408;border-color:#469408}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#2f6405;border-color:#0d1b01}.btn-success:hover{color:#ffffff;background-color:#2f6405;border-color:#2b5a05}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#2f6405;border-color:#2b5a05}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#1f4204;border-color:#0d1b01}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#469408;border-color:#469408}.btn-success .badge{color:#469408;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#029acf;border-color:#029acf}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#02749c;border-color:#013c51}.btn-info:hover{color:#ffffff;background-color:#02749c;border-color:#016d92}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#02749c;border-color:#016d92}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#015a79;border-color:#013c51}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#029acf;border-color:#029acf}.btn-info .badge{color:#029acf;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#9b479f;border-color:#9b479f}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#79377c;border-color:#452047}.btn-warning:hover{color:#ffffff;background-color:#79377c;border-color:#723475}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#79377c;border-color:#723475}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#612c63;border-color:#452047}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#9b479f;border-color:#9b479f}.btn-warning .badge{color:#9b479f;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#d9831f;border-color:#d9831f}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#ac6819;border-color:#69400f}.btn-danger:hover{color:#ffffff;background-color:#ac6819;border-color:#a36317}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#ac6819;border-color:#a36317}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#8d5514;border-color:#69400f}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9831f;border-color:#d9831f}.btn-danger .badge{color:#d9831f;background-color:#ffffff}.btn-link{color:#d9230f;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#91170a;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#808080;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:14px 16px;font-size:17px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:13px;text-align:left;background-color:#ffffff;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:8px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#444444;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#ffffff;background-color:#d9230f}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#d9230f}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#808080}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#808080;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:53px;padding:14px 16px;font-size:17px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:53px;line-height:53px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:8px 12px;font-size:13px;font-weight:normal;line-height:1;color:#777777;text-align:center;background-color:#dddddd;border:1px solid #dddddd;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:14px 16px;font-size:17px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#dddddd}.nav>li.disabled>a{color:#808080}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#808080;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#dddddd;border-color:#d9230f}.nav .nav-divider{height:1px;margin:8px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #dddddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#dddddd #dddddd #dddddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#777777;background-color:#fcfcfc;border:1px solid #dddddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fcfcfc}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#d9230f}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fcfcfc}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:40px;margin-bottom:18px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:11px 15px;font-size:17px;line-height:18px;height:40px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:3px;margin-bottom:3px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:5.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:18px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:18px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:11px;padding-bottom:11px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:2px;margin-bottom:2px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:2px;margin-bottom:2px}.navbar-btn.btn-sm{margin-top:5px;margin-bottom:5px}.navbar-btn.btn-xs{margin-top:9px;margin-bottom:9px}.navbar-text{margin-top:11px;margin-bottom:11px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#ffffff;border-color:#eeeeee}.navbar-default .navbar-brand{color:#777777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#d9230f;background-color:transparent}.navbar-default .navbar-text{color:#777777}.navbar-default .navbar-nav>li>a{color:#777777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#d9230f;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#d9230f;background-color:transparent}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#444444;background-color:transparent}.navbar-default .navbar-toggle{border-color:#dddddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#dddddd}.navbar-default .navbar-toggle .icon-bar{background-color:#cccccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#eeeeee}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:transparent;color:#d9230f}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#d9230f;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#d9230f;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444444;background-color:transparent}}.navbar-default .navbar-link{color:#777777}.navbar-default .navbar-link:hover{color:#d9230f}.navbar-default .btn-link{color:#777777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#d9230f}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#444444}.navbar-inverse{background-color:#d9230f;border-color:#a91b0c}.navbar-inverse .navbar-brand{color:#fac0ba}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-text{color:#fac0ba}.navbar-inverse .navbar-nav>li>a{color:#fac0ba}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#a91b0c}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#a91b0c}.navbar-inverse .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#b81e0d}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:transparent;color:#ffffff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#a91b0c}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#a91b0c}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#fac0ba}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-inverse .navbar-link{color:#fac0ba}.navbar-inverse .navbar-link:hover{color:#ffffff}.navbar-inverse .btn-link{color:#fac0ba}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#ffffff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#cccccc}.breadcrumb{padding:8px 15px;margin-bottom:18px;list-style:none;background-color:transparent;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#cccccc}.breadcrumb>.active{color:#808080}.pagination{display:inline-block;padding-left:0;margin:18px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:8px 12px;line-height:1.42857143;text-decoration:none;color:#444444;background-color:#ffffff;border:1px solid #dddddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:3;color:#ffffff;background-color:#d9230f;border-color:#d9230f}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#ffffff;background-color:#d9230f;border-color:#d9230f;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#dddddd;background-color:#ffffff;border-color:#dddddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:14px 16px;font-size:17px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:18px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#ffffff;border:1px solid #dddddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#d9230f}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#dddddd;background-color:#ffffff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#474949}.label-default[href]:hover,.label-default[href]:focus{background-color:#2e2f2f}.label-primary{background-color:#d9230f}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#a91b0c}.label-success{background-color:#469408}.label-success[href]:hover,.label-success[href]:focus{background-color:#2f6405}.label-info{background-color:#029acf}.label-info[href]:hover,.label-info[href]:focus{background-color:#02749c}.label-warning{background-color:#9b479f}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#79377c}.label-danger{background-color:#d9831f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#ac6819}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#ffffff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#d9230f;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#d9230f;background-color:#ffffff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#f4f4f4}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:20px;font-weight:200}.jumbotron>hr{border-top-color:#dbdbdb}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:59px}}.thumbnail{display:block;padding:4px;margin-bottom:18px;line-height:1.42857143;background-color:#fcfcfc;border:1px solid #dddddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#d9230f}.thumbnail .caption{padding:9px;color:#777777}.alert{padding:15px;margin-bottom:18px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#356635}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#2d6987}.alert-warning{background-color:#fcf8e3;border-color:#fbeed5;color:#c09853}.alert-warning hr{border-top-color:#f8e5be}.alert-warning .alert-link{color:#a47e3c}.alert-danger{background-color:#f2dede;border-color:#eed3d7;color:#b94a48}.alert-danger hr{border-top-color:#e6c1c7}.alert-danger .alert-link{color:#953b39}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:18px;margin-bottom:18px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:18px;color:#ffffff;text-align:center;background-color:#d9230f;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#469408}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#029acf}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#9b479f}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9831f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#ffffff;border:1px solid #dddddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#555555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#dddddd;color:#808080;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#808080}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#d9230f;border-color:#d9230f}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#fac0ba}.list-group-item-success{color:#468847;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#468847}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#468847;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#468847;border-color:#468847}.list-group-item-info{color:#3a87ad;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#3a87ad}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#3a87ad;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#3a87ad;border-color:#3a87ad}.list-group-item-warning{color:#c09853;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#c09853}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#c09853;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#c09853;border-color:#c09853}.list-group-item-danger{color:#b94a48;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#b94a48}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#b94a48;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#b94a48;border-color:#b94a48}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:18px;background-color:#ffffff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:15px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#fcfcfc;border-top:1px solid #dddddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #dddddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:18px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #dddddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #dddddd}.panel-default{border-color:#dddddd}.panel-default>.panel-heading{color:#444444;background-color:#fcfcfc;border-color:#dddddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dddddd}.panel-default>.panel-heading .badge{color:#fcfcfc;background-color:#444444}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dddddd}.panel-primary{border-color:#d9230f}.panel-primary>.panel-heading{color:#ffffff;background-color:#d9230f;border-color:#d9230f}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d9230f}.panel-primary>.panel-heading .badge{color:#d9230f;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d9230f}.panel-success{border-color:#469408}.panel-success>.panel-heading{color:#ffffff;background-color:#469408;border-color:#469408}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#469408}.panel-success>.panel-heading .badge{color:#469408;background-color:#ffffff}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#469408}.panel-info{border-color:#029acf}.panel-info>.panel-heading{color:#ffffff;background-color:#029acf;border-color:#029acf}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#029acf}.panel-info>.panel-heading .badge{color:#029acf;background-color:#ffffff}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#029acf}.panel-warning{border-color:#9b479f}.panel-warning>.panel-heading{color:#ffffff;background-color:#9b479f;border-color:#9b479f}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#9b479f}.panel-warning>.panel-heading .badge{color:#9b479f;background-color:#ffffff}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#9b479f}.panel-danger{border-color:#d9831f}.panel-danger>.panel-heading{color:#ffffff;background-color:#d9831f;border-color:#d9831f}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d9831f}.panel-danger>.panel-heading .badge{color:#d9831f;background-color:#ffffff}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d9831f}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f4f4f4;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:19.5px;font-weight:bold;line-height:1;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#ffffff;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#000000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:13px;background-color:#ffffff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:13px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.navbar-inverse .badge{background-color:#fff;color:#d9230f}.btn{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif}.btn-default,.btn-default:hover{background-image:-webkit-linear-gradient(#4f5151, #474949 6%, #3f4141);background-image:-o-linear-gradient(#4f5151, #474949 6%, #3f4141);background-image:-webkit-gradient(linear, left top, left bottom, from(#4f5151), color-stop(6%, #474949), to(#3f4141));background-image:linear-gradient(#4f5151, #474949 6%, #3f4141);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff4f5151', endColorstr='#ff3f4141', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #2e2f2f}.btn-primary,.btn-primary:hover{background-image:-webkit-linear-gradient(#e72510, #d9230f 6%, #cb210e);background-image:-o-linear-gradient(#e72510, #d9230f 6%, #cb210e);background-image:-webkit-gradient(linear, left top, left bottom, from(#e72510), color-stop(6%, #d9230f), to(#cb210e));background-image:linear-gradient(#e72510, #d9230f 6%, #cb210e);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe72510', endColorstr='#ffcb210e', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #a91b0c}.btn-success,.btn-success:hover{background-image:-webkit-linear-gradient(#4da309, #469408 6%, #3f8507);background-image:-o-linear-gradient(#4da309, #469408 6%, #3f8507);background-image:-webkit-gradient(linear, left top, left bottom, from(#4da309), color-stop(6%, #469408), to(#3f8507));background-image:linear-gradient(#4da309, #469408 6%, #3f8507);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff4da309', endColorstr='#ff3f8507', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #2f6405}.btn-info,.btn-info:hover{background-image:-webkit-linear-gradient(#02a5de, #029acf 6%, #028fc0);background-image:-o-linear-gradient(#02a5de, #029acf 6%, #028fc0);background-image:-webkit-gradient(linear, left top, left bottom, from(#02a5de), color-stop(6%, #029acf), to(#028fc0));background-image:linear-gradient(#02a5de, #029acf 6%, #028fc0);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff02a5de', endColorstr='#ff028fc0', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #02749c}.btn-warning,.btn-warning:hover{background-image:-webkit-linear-gradient(#a54caa, #9b479f 6%, #914294);background-image:-o-linear-gradient(#a54caa, #9b479f 6%, #914294);background-image:-webkit-gradient(linear, left top, left bottom, from(#a54caa), color-stop(6%, #9b479f), to(#914294));background-image:linear-gradient(#a54caa, #9b479f 6%, #914294);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa54caa', endColorstr='#ff914294', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #79377c}.btn-danger,.btn-danger:hover{background-image:-webkit-linear-gradient(#e08b27, #d9831f 6%, #cc7b1d);background-image:-o-linear-gradient(#e08b27, #d9831f 6%, #cc7b1d);background-image:-webkit-gradient(linear, left top, left bottom, from(#e08b27), color-stop(6%, #d9831f), to(#cc7b1d));background-image:linear-gradient(#e08b27, #d9831f 6%, #cc7b1d);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe08b27', endColorstr='#ffcc7b1d', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #ac6819}body{font-weight:200}th{color:#444444}legend{color:#444444}label{font-weight:normal}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label,.has-warning .form-control-feedback{color:#d9831f}.has-warning .form-control,.has-warning .form-control:focus{border-color:#d9831f}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label,.has-error .form-control-feedback{color:#d9230f}.has-error .form-control,.has-error .form-control:focus{border-color:#d9230f}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label,.has-success .form-control-feedback{color:#469408}.has-success .form-control,.has-success .form-control:focus{border-color:#469408}.pager a{color:#444444}.pager a:hover,.pager .active>a{border-color:#d9230f;color:#fff}.pager .disabled>a{border-color:#dddddd} \ No newline at end of file diff --git a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/slate/bootstrap.min.css b/mayan/apps/appearance/static/appearance/packages/bootswatch.com/slate/bootstrap.min.css deleted file mode 100644 index a333aac28f..0000000000 --- a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/slate/bootstrap.min.css +++ /dev/null @@ -1,11 +0,0 @@ -/*! - * bootswatch v3.3.5 - * Homepage: http://bootswatch.com - * Copyright 2012-2015 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*//*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#c8c8c8;background-color:#272b30}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#ffffff;text-decoration:none}a:hover,a:focus{color:#ffffff;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#1c1e22;border:1px solid #0c0d0e;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #1c1e22}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#7a8288}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#f89406;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#7a8288}.text-primary{color:#7a8288}a.text-primary:hover,a.text-primary:focus{color:#62686d}.text-success{color:#ffffff}a.text-success:hover,a.text-success:focus{color:#e6e6e6}.text-info{color:#ffffff}a.text-info:hover,a.text-info:focus{color:#e6e6e6}.text-warning{color:#ffffff}a.text-warning:hover,a.text-warning:focus{color:#e6e6e6}.text-danger{color:#ffffff}a.text-danger:hover,a.text-danger:focus{color:#e6e6e6}.bg-primary{color:#fff;background-color:#7a8288}a.bg-primary:hover,a.bg-primary:focus{background-color:#62686d}.bg-success{background-color:#62c462}a.bg-success:hover,a.bg-success:focus{background-color:#42b142}.bg-info{background-color:#5bc0de}a.bg-info:hover,a.bg-info:focus{background-color:#31b0d5}.bg-warning{background-color:#f89406}a.bg-warning:hover,a.bg-warning:focus{background-color:#c67605}.bg-danger{background-color:#ee5f5b}a.bg-danger:hover,a.bg-danger:focus{background-color:#e9322d}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #1c1e22}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #7a8288}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #7a8288}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#7a8288}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #7a8288;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#3a3f44;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:#2e3338}caption{padding-top:8px;padding-bottom:8px;color:#7a8288;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #1c1e22}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #1c1e22}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #1c1e22}.table .table{background-color:#272b30}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #1c1e22}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #1c1e22}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#353a41}.table-hover>tbody>tr:hover{background-color:#49515a}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#49515a}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#3e444c}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#62c462}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#4fbd4f}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#5bc0de}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#46b8da}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#f89406}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#df8505}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#ee5f5b}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ec4844}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #1c1e22}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#c8c8c8;border:0;border-bottom:1px solid #1c1e22}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:9px;font-size:14px;line-height:1.42857143;color:#272b30}.form-control{display:block;width:100%;height:38px;padding:8px 12px;font-size:14px;line-height:1.42857143;color:#272b30;background-color:#ffffff;background-image:none;border:1px solid #cccccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#7a8288;opacity:1}.form-control:-ms-input-placeholder{color:#7a8288}.form-control::-webkit-input-placeholder{color:#7a8288}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#999999;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:38px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:54px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:9px;padding-bottom:9px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:54px;padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:54px;line-height:54px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:54px;padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:54px;line-height:54px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:54px;min-height:38px;padding:15px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:47.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:38px;height:38px;line-height:38px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:54px;height:54px;line-height:54px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#ffffff}.has-success .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-success .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#62c462}.has-success .form-control-feedback{color:#ffffff}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#ffffff}.has-warning .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-warning .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#f89406}.has-warning .form-control-feedback{color:#ffffff}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#ffffff}.has-error .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-error .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#ee5f5b}.has-error .form-control-feedback{color:#ffffff}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#ffffff}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:9px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:29px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:9px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:19.6666662px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:8px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#ffffff;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#ffffff;background-color:#3a3f44;border-color:#3a3f44}.btn-default:focus,.btn-default.focus{color:#ffffff;background-color:#232628;border-color:#000000}.btn-default:hover{color:#ffffff;background-color:#232628;border-color:#1e2023}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#ffffff;background-color:#232628;border-color:#1e2023}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#ffffff;background-color:#121415;border-color:#000000}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#3a3f44;border-color:#3a3f44}.btn-default .badge{color:#3a3f44;background-color:#ffffff}.btn-primary{color:#ffffff;background-color:#7a8288;border-color:#7a8288}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#62686d;border-color:#3e4245}.btn-primary:hover{color:#ffffff;background-color:#62686d;border-color:#5d6368}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#62686d;border-color:#5d6368}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#51565a;border-color:#3e4245}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#7a8288;border-color:#7a8288}.btn-primary .badge{color:#7a8288;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#62c462;border-color:#62c462}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#42b142;border-color:#2d792d}.btn-success:hover{color:#ffffff;background-color:#42b142;border-color:#40a940}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#42b142;border-color:#40a940}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#399739;border-color:#2d792d}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#62c462;border-color:#62c462}.btn-success .badge{color:#62c462;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#31b0d5;border-color:#1f7e9a}.btn-info:hover{color:#ffffff;background-color:#31b0d5;border-color:#2aabd2}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#31b0d5;border-color:#2aabd2}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#269abc;border-color:#1f7e9a}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#5bc0de}.btn-info .badge{color:#5bc0de;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#f89406;border-color:#f89406}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#c67605;border-color:#7c4a03}.btn-warning:hover{color:#ffffff;background-color:#c67605;border-color:#bc7005}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#c67605;border-color:#bc7005}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#a36104;border-color:#7c4a03}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f89406;border-color:#f89406}.btn-warning .badge{color:#f89406;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#ee5f5b;border-color:#ee5f5b}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#e9322d;border-color:#b71713}.btn-danger:hover{color:#ffffff;background-color:#e9322d;border-color:#e82924}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#e9322d;border-color:#e82924}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#dc1c17;border-color:#b71713}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#ee5f5b;border-color:#ee5f5b}.btn-danger .badge{color:#ee5f5b;background-color:#ffffff}.btn-link{color:#ffffff;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#ffffff;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#7a8288;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#3a3f44;border:1px solid #272b30;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#272b30}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#c8c8c8;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#ffffff;background-color:#272b30}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#272b30}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#7a8288}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#7a8288;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:54px;padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:54px;line-height:54px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:8px 12px;font-size:14px;font-weight:normal;line-height:1;color:#272b30;text-align:center;background-color:#999999;border:1px solid #cccccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:14px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#3e444c}.nav>li.disabled>a{color:#7a8288}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#7a8288;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#3e444c;border-color:#ffffff}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #1c1e22}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#1c1e22 #1c1e22 #1c1e22}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#ffffff;background-color:#3e444c;border:1px solid #1c1e22;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #1c1e22}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #1c1e22;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#272b30}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:transparent}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #1c1e22}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #1c1e22;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#272b30}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:6px;margin-bottom:6px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:6px;margin-bottom:6px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#3a3f44;border-color:#2b2e32}.navbar-default .navbar-brand{color:#c8c8c8}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#ffffff;background-color:none}.navbar-default .navbar-text{color:#c8c8c8}.navbar-default .navbar-nav>li>a{color:#c8c8c8}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#ffffff;background-color:#272b2e}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#ffffff;background-color:#272b2e}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#272b2e}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#272b2e}.navbar-default .navbar-toggle .icon-bar{background-color:#c8c8c8}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#2b2e32}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#272b2e;color:#ffffff}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#c8c8c8}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:#272b2e}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#272b2e}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-default .navbar-link{color:#c8c8c8}.navbar-default .navbar-link:hover{color:#ffffff}.navbar-default .btn-link{color:#c8c8c8}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#ffffff}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#cccccc}.navbar-inverse{background-color:#7a8288;border-color:#62686d}.navbar-inverse .navbar-brand{color:#cccccc}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#ffffff;background-color:none}.navbar-inverse .navbar-text{color:#cccccc}.navbar-inverse .navbar-nav>li>a{color:#cccccc}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#ffffff;background-color:#5d6368}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ffffff;background-color:#5d6368}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#5d6368}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#5d6368}.navbar-inverse .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#697075}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#5d6368;color:#ffffff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#62686d}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#62686d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#cccccc}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:#5d6368}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#5d6368}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-inverse .navbar-link{color:#cccccc}.navbar-inverse .navbar-link:hover{color:#ffffff}.navbar-inverse .btn-link{color:#cccccc}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#ffffff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#cccccc}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:transparent;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#cccccc}.breadcrumb>.active{color:#7a8288}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:8px 12px;line-height:1.42857143;text-decoration:none;color:#ffffff;background-color:#3a3f44;border:1px solid rgba(0,0,0,0.6);margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:3;color:#ffffff;background-color:transparent;border-color:rgba(0,0,0,0.6)}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#ffffff;background-color:#232628;border-color:rgba(0,0,0,0.6);cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#7a8288;background-color:#ffffff;border-color:rgba(0,0,0,0.6);cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:14px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#3a3f44;border:1px solid rgba(0,0,0,0.6);border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:transparent}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#7a8288;background-color:#3a3f44;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#3a3f44}.label-default[href]:hover,.label-default[href]:focus{background-color:#232628}.label-primary{background-color:#7a8288}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#62686d}.label-success{background-color:#62c462}.label-success[href]:hover,.label-success[href]:focus{background-color:#42b142}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f89406}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#c67605}.label-danger{background-color:#ee5f5b}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#e9322d}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#ffffff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#7a8288;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#ffffff;background-color:#7a8288}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#1c1e22}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#050506}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#1c1e22;border:1px solid #0c0d0e;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#ffffff}.thumbnail .caption{padding:9px;color:#c8c8c8}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#62c462;border-color:#62bd4f;color:#ffffff}.alert-success hr{border-top-color:#55b142}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#5bc0de;border-color:#3dced8;color:#ffffff}.alert-info hr{border-top-color:#2ac7d2}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#f89406;border-color:#e96506;color:#ffffff}.alert-warning hr{border-top-color:#d05a05}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#ee5f5b;border-color:#ed4d63;color:#ffffff}.alert-danger hr{border-top-color:#ea364f}.alert-danger .alert-link{color:#e6e6e6}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#1c1e22;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#ffffff;text-align:center;background-color:#7a8288;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#62c462}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f89406}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#ee5f5b}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#32383e;border:1px solid rgba(0,0,0,0.6)}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#c8c8c8}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#ffffff}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#c8c8c8;background-color:#3e444c}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#999999;color:#7a8288;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#7a8288}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#3e444c;border-color:rgba(0,0,0,0.6)}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#a2aab4}.list-group-item-success{color:#ffffff;background-color:#62c462}a.list-group-item-success,button.list-group-item-success{color:#ffffff}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#ffffff;background-color:#4fbd4f}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-info{color:#ffffff;background-color:#5bc0de}a.list-group-item-info,button.list-group-item-info{color:#ffffff}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#ffffff;background-color:#46b8da}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-warning{color:#ffffff;background-color:#f89406}a.list-group-item-warning,button.list-group-item-warning{color:#ffffff}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#ffffff;background-color:#df8505}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-danger{color:#ffffff;background-color:#ee5f5b}a.list-group-item-danger,button.list-group-item-danger{color:#ffffff}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#ffffff;background-color:#ec4844}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#2e3338;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#3e444c;border-top:1px solid rgba(0,0,0,0.6);border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #1c1e22}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid rgba(0,0,0,0.6)}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid rgba(0,0,0,0.6)}.panel-default{border-color:rgba(0,0,0,0.6)}.panel-default>.panel-heading{color:#c8c8c8;background-color:#3e444c;border-color:rgba(0,0,0,0.6)}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:rgba(0,0,0,0.6)}.panel-default>.panel-heading .badge{color:#3e444c;background-color:#c8c8c8}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:rgba(0,0,0,0.6)}.panel-primary{border-color:rgba(0,0,0,0.6)}.panel-primary>.panel-heading{color:#ffffff;background-color:#7a8288;border-color:rgba(0,0,0,0.6)}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:rgba(0,0,0,0.6)}.panel-primary>.panel-heading .badge{color:#7a8288;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:rgba(0,0,0,0.6)}.panel-success{border-color:rgba(0,0,0,0.6)}.panel-success>.panel-heading{color:#ffffff;background-color:#62c462;border-color:rgba(0,0,0,0.6)}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:rgba(0,0,0,0.6)}.panel-success>.panel-heading .badge{color:#62c462;background-color:#ffffff}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:rgba(0,0,0,0.6)}.panel-info{border-color:rgba(0,0,0,0.6)}.panel-info>.panel-heading{color:#ffffff;background-color:#5bc0de;border-color:rgba(0,0,0,0.6)}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:rgba(0,0,0,0.6)}.panel-info>.panel-heading .badge{color:#5bc0de;background-color:#ffffff}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:rgba(0,0,0,0.6)}.panel-warning{border-color:rgba(0,0,0,0.6)}.panel-warning>.panel-heading{color:#ffffff;background-color:#f89406;border-color:rgba(0,0,0,0.6)}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:rgba(0,0,0,0.6)}.panel-warning>.panel-heading .badge{color:#f89406;background-color:#ffffff}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:rgba(0,0,0,0.6)}.panel-danger{border-color:rgba(0,0,0,0.6)}.panel-danger>.panel-heading{color:#ffffff;background-color:#ee5f5b;border-color:rgba(0,0,0,0.6)}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:rgba(0,0,0,0.6)}.panel-danger>.panel-heading .badge{color:#ee5f5b;background-color:#ffffff}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:rgba(0,0,0,0.6)}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#1c1e22;border:1px solid #0c0d0e;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#2e3338;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #1c1e22;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;text-align:right;border-top:1px solid #1c1e22}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#000000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#2e3338;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#2e3338;border-bottom:1px solid #22262a;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#666666;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#2e3338}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#666666;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#2e3338}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#666666;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#2e3338}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#666666;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#2e3338;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.navbar{background-image:-webkit-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-o-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-webkit-gradient(linear, left top, left bottom, from(#484e55), color-stop(60%, #3a3f44), to(#313539));background-image:linear-gradient(#484e55, #3a3f44 60%, #313539);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff484e55', endColorstr='#ff313539', GradientType=0);-webkit-filter:none;filter:none;border:1px solid rgba(0,0,0,0.6);text-shadow:1px 1px 1px rgba(0,0,0,0.3)}.navbar-inverse{background-image:-webkit-linear-gradient(#8a9196, #7a8288 60%, #70787d);background-image:-o-linear-gradient(#8a9196, #7a8288 60%, #70787d);background-image:-webkit-gradient(linear, left top, left bottom, from(#8a9196), color-stop(60%, #7a8288), to(#70787d));background-image:linear-gradient(#8a9196, #7a8288 60%, #70787d);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff8a9196', endColorstr='#ff70787d', GradientType=0);-webkit-filter:none;filter:none}.navbar-inverse .badge{background-color:#5d6368}.navbar-nav>li>a{border-right:1px solid rgba(0,0,0,0.2);border-left:1px solid rgba(255,255,255,0.1)}.navbar-nav>li>a:hover{background-image:-webkit-linear-gradient(#020202, #101112 40%, #191b1d);background-image:-o-linear-gradient(#020202, #101112 40%, #191b1d);background-image:-webkit-gradient(linear, left top, left bottom, from(#020202), color-stop(40%, #101112), to(#191b1d));background-image:linear-gradient(#020202, #101112 40%, #191b1d);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff020202', endColorstr='#ff191b1d', GradientType=0);-webkit-filter:none;filter:none;border-left-color:transparent}.navbar .nav .open>a{border-color:transparent}.navbar-nav>li.active>a{border-left-color:transparent}.navbar-form{margin-left:5px;margin-right:5px}.btn,.btn:hover{border-color:rgba(0,0,0,0.6);text-shadow:1px 1px 1px rgba(0,0,0,0.3)}.btn-default{background-image:-webkit-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-o-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-webkit-gradient(linear, left top, left bottom, from(#484e55), color-stop(60%, #3a3f44), to(#313539));background-image:linear-gradient(#484e55, #3a3f44 60%, #313539);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff484e55', endColorstr='#ff313539', GradientType=0);-webkit-filter:none;filter:none}.btn-default:hover{background-image:-webkit-linear-gradient(#020202, #101112 40%, #191b1d);background-image:-o-linear-gradient(#020202, #101112 40%, #191b1d);background-image:-webkit-gradient(linear, left top, left bottom, from(#020202), color-stop(40%, #101112), to(#191b1d));background-image:linear-gradient(#020202, #101112 40%, #191b1d);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff020202', endColorstr='#ff191b1d', GradientType=0);-webkit-filter:none;filter:none}.btn-primary{background-image:-webkit-linear-gradient(#8a9196, #7a8288 60%, #70787d);background-image:-o-linear-gradient(#8a9196, #7a8288 60%, #70787d);background-image:-webkit-gradient(linear, left top, left bottom, from(#8a9196), color-stop(60%, #7a8288), to(#70787d));background-image:linear-gradient(#8a9196, #7a8288 60%, #70787d);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff8a9196', endColorstr='#ff70787d', GradientType=0);-webkit-filter:none;filter:none}.btn-primary:hover{background-image:-webkit-linear-gradient(#404448, #4e5458 40%, #585e62);background-image:-o-linear-gradient(#404448, #4e5458 40%, #585e62);background-image:-webkit-gradient(linear, left top, left bottom, from(#404448), color-stop(40%, #4e5458), to(#585e62));background-image:linear-gradient(#404448, #4e5458 40%, #585e62);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff404448', endColorstr='#ff585e62', GradientType=0);-webkit-filter:none;filter:none}.btn-success{background-image:-webkit-linear-gradient(#78cc78, #62c462 60%, #53be53);background-image:-o-linear-gradient(#78cc78, #62c462 60%, #53be53);background-image:-webkit-gradient(linear, left top, left bottom, from(#78cc78), color-stop(60%, #62c462), to(#53be53));background-image:linear-gradient(#78cc78, #62c462 60%, #53be53);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff78cc78', endColorstr='#ff53be53', GradientType=0);-webkit-filter:none;filter:none}.btn-success:hover{background-image:-webkit-linear-gradient(#2f7d2f, #379337 40%, #3da23d);background-image:-o-linear-gradient(#2f7d2f, #379337 40%, #3da23d);background-image:-webkit-gradient(linear, left top, left bottom, from(#2f7d2f), color-stop(40%, #379337), to(#3da23d));background-image:linear-gradient(#2f7d2f, #379337 40%, #3da23d);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff2f7d2f', endColorstr='#ff3da23d', GradientType=0);-webkit-filter:none;filter:none}.btn-info{background-image:-webkit-linear-gradient(#74cae3, #5bc0de 60%, #4ab9db);background-image:-o-linear-gradient(#74cae3, #5bc0de 60%, #4ab9db);background-image:-webkit-gradient(linear, left top, left bottom, from(#74cae3), color-stop(60%, #5bc0de), to(#4ab9db));background-image:linear-gradient(#74cae3, #5bc0de 60%, #4ab9db);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff74cae3', endColorstr='#ff4ab9db', GradientType=0);-webkit-filter:none;filter:none}.btn-info:hover{background-image:-webkit-linear-gradient(#20829f, #2596b8 40%, #28a4c9);background-image:-o-linear-gradient(#20829f, #2596b8 40%, #28a4c9);background-image:-webkit-gradient(linear, left top, left bottom, from(#20829f), color-stop(40%, #2596b8), to(#28a4c9));background-image:linear-gradient(#20829f, #2596b8 40%, #28a4c9);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff20829f', endColorstr='#ff28a4c9', GradientType=0);-webkit-filter:none;filter:none}.btn-warning{background-image:-webkit-linear-gradient(#faa123, #f89406 60%, #e48806);background-image:-o-linear-gradient(#faa123, #f89406 60%, #e48806);background-image:-webkit-gradient(linear, left top, left bottom, from(#faa123), color-stop(60%, #f89406), to(#e48806));background-image:linear-gradient(#faa123, #f89406 60%, #e48806);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffaa123', endColorstr='#ffe48806', GradientType=0);-webkit-filter:none;filter:none}.btn-warning:hover{background-image:-webkit-linear-gradient(#804d03, #9e5f04 40%, #b26a04);background-image:-o-linear-gradient(#804d03, #9e5f04 40%, #b26a04);background-image:-webkit-gradient(linear, left top, left bottom, from(#804d03), color-stop(40%, #9e5f04), to(#b26a04));background-image:linear-gradient(#804d03, #9e5f04 40%, #b26a04);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff804d03', endColorstr='#ffb26a04', GradientType=0);-webkit-filter:none;filter:none}.btn-danger{background-image:-webkit-linear-gradient(#f17a77, #ee5f5b 60%, #ec4d49);background-image:-o-linear-gradient(#f17a77, #ee5f5b 60%, #ec4d49);background-image:-webkit-gradient(linear, left top, left bottom, from(#f17a77), color-stop(60%, #ee5f5b), to(#ec4d49));background-image:linear-gradient(#f17a77, #ee5f5b 60%, #ec4d49);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff17a77', endColorstr='#ffec4d49', GradientType=0);-webkit-filter:none;filter:none}.btn-danger:hover{background-image:-webkit-linear-gradient(#bb1813, #d71c16 40%, #e7201a);background-image:-o-linear-gradient(#bb1813, #d71c16 40%, #e7201a);background-image:-webkit-gradient(linear, left top, left bottom, from(#bb1813), color-stop(40%, #d71c16), to(#e7201a));background-image:linear-gradient(#bb1813, #d71c16 40%, #e7201a);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffbb1813', endColorstr='#ffe7201a', GradientType=0);-webkit-filter:none;filter:none}.btn-link,.btn-link:hover{border-color:transparent}h1,h2,h3,h4,h5,h6{text-shadow:-1px -1px 0 rgba(0,0,0,0.3)}.text-primary,.text-primary:hover{color:#7a8288}.text-success,.text-success:hover{color:#62c462}.text-danger,.text-danger:hover{color:#ee5f5b}.text-warning,.text-warning:hover{color:#f89406}.text-info,.text-info:hover{color:#5bc0de}.table .success,.table .warning,.table .danger,.table .info{color:#fff}.table-bordered tbody tr.success td,.table-bordered tbody tr.warning td,.table-bordered tbody tr.danger td,.table-bordered tbody tr.success:hover td,.table-bordered tbody tr.warning:hover td,.table-bordered tbody tr.danger:hover td{border-color:#1c1e22}.table-responsive>.table{background-color:#2e3338}input,textarea{color:#272b30}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label,.has-warning .form-control-feedback{color:#f89406}.has-warning .form-control,.has-warning .form-control:focus{border-color:#f89406}.has-warning .input-group-addon{background-color:#272b30;border:none}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label,.has-error .form-control-feedback{color:#ee5f5b}.has-error .form-control,.has-error .form-control:focus{border-color:#ee5f5b}.has-error .input-group-addon{background-color:#272b30;border:none}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label,.has-success .form-control-feedback{color:#62c462}.has-success .form-control,.has-success .form-control:focus{border-color:#62c462}.has-success .input-group-addon{background-color:#272b30;border:none}legend{color:#fff}.input-group-addon{border-color:rgba(0,0,0,0.6);text-shadow:1px 1px 1px rgba(0,0,0,0.3);background-image:-webkit-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-o-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-webkit-gradient(linear, left top, left bottom, from(#484e55), color-stop(60%, #3a3f44), to(#313539));background-image:linear-gradient(#484e55, #3a3f44 60%, #313539);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff484e55', endColorstr='#ff313539', GradientType=0);-webkit-filter:none;filter:none;color:#ffffff}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{border-color:rgba(0,0,0,0.6)}.nav-pills>li>a{background-image:-webkit-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-o-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-webkit-gradient(linear, left top, left bottom, from(#484e55), color-stop(60%, #3a3f44), to(#313539));background-image:linear-gradient(#484e55, #3a3f44 60%, #313539);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff484e55', endColorstr='#ff313539', GradientType=0);-webkit-filter:none;filter:none;border:1px solid rgba(0,0,0,0.6);text-shadow:1px 1px 1px rgba(0,0,0,0.3)}.nav-pills>li>a:hover{background-image:-webkit-linear-gradient(#020202, #101112 40%, #191b1d);background-image:-o-linear-gradient(#020202, #101112 40%, #191b1d);background-image:-webkit-gradient(linear, left top, left bottom, from(#020202), color-stop(40%, #101112), to(#191b1d));background-image:linear-gradient(#020202, #101112 40%, #191b1d);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff020202', endColorstr='#ff191b1d', GradientType=0);-webkit-filter:none;filter:none;border:1px solid rgba(0,0,0,0.6)}.nav-pills>li.active>a,.nav-pills>li.active>a:hover{background-color:none;background-image:-webkit-linear-gradient(#020202, #101112 40%, #191b1d);background-image:-o-linear-gradient(#020202, #101112 40%, #191b1d);background-image:-webkit-gradient(linear, left top, left bottom, from(#020202), color-stop(40%, #101112), to(#191b1d));background-image:linear-gradient(#020202, #101112 40%, #191b1d);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff020202', endColorstr='#ff191b1d', GradientType=0);-webkit-filter:none;filter:none;border:1px solid rgba(0,0,0,0.6)}.nav-pills>li.disabled>a,.nav-pills>li.disabled>a:hover{background-image:-webkit-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-o-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-webkit-gradient(linear, left top, left bottom, from(#484e55), color-stop(60%, #3a3f44), to(#313539));background-image:linear-gradient(#484e55, #3a3f44 60%, #313539);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff484e55', endColorstr='#ff313539', GradientType=0);-webkit-filter:none;filter:none}.pagination>li>a,.pagination>li>span{text-shadow:1px 1px 1px rgba(0,0,0,0.3);background-image:-webkit-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-o-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-webkit-gradient(linear, left top, left bottom, from(#484e55), color-stop(60%, #3a3f44), to(#313539));background-image:linear-gradient(#484e55, #3a3f44 60%, #313539);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff484e55', endColorstr='#ff313539', GradientType=0);-webkit-filter:none;filter:none}.pagination>li>a:hover,.pagination>li>span:hover{background-image:-webkit-linear-gradient(#020202, #101112 40%, #191b1d);background-image:-o-linear-gradient(#020202, #101112 40%, #191b1d);background-image:-webkit-gradient(linear, left top, left bottom, from(#020202), color-stop(40%, #101112), to(#191b1d));background-image:linear-gradient(#020202, #101112 40%, #191b1d);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff020202', endColorstr='#ff191b1d', GradientType=0);-webkit-filter:none;filter:none}.pagination>li.active>a,.pagination>li.active>span{background-image:-webkit-linear-gradient(#020202, #101112 40%, #191b1d);background-image:-o-linear-gradient(#020202, #101112 40%, #191b1d);background-image:-webkit-gradient(linear, left top, left bottom, from(#020202), color-stop(40%, #101112), to(#191b1d));background-image:linear-gradient(#020202, #101112 40%, #191b1d);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff020202', endColorstr='#ff191b1d', GradientType=0);-webkit-filter:none;filter:none}.pagination>li.disabled>a,.pagination>li.disabled>a:hover,.pagination>li.disabled>span,.pagination>li.disabled>span:hover{background-color:transparent;background-image:-webkit-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-o-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-webkit-gradient(linear, left top, left bottom, from(#484e55), color-stop(60%, #3a3f44), to(#313539));background-image:linear-gradient(#484e55, #3a3f44 60%, #313539);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff484e55', endColorstr='#ff313539', GradientType=0);-webkit-filter:none;filter:none}.pager>li>a{background-image:-webkit-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-o-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-webkit-gradient(linear, left top, left bottom, from(#484e55), color-stop(60%, #3a3f44), to(#313539));background-image:linear-gradient(#484e55, #3a3f44 60%, #313539);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff484e55', endColorstr='#ff313539', GradientType=0);-webkit-filter:none;filter:none;text-shadow:1px 1px 1px rgba(0,0,0,0.3)}.pager>li>a:hover{background-image:-webkit-linear-gradient(#020202, #101112 40%, #191b1d);background-image:-o-linear-gradient(#020202, #101112 40%, #191b1d);background-image:-webkit-gradient(linear, left top, left bottom, from(#020202), color-stop(40%, #101112), to(#191b1d));background-image:linear-gradient(#020202, #101112 40%, #191b1d);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff020202', endColorstr='#ff191b1d', GradientType=0);-webkit-filter:none;filter:none}.pager>li.disabled>a,.pager>li.disabled>a:hover{background-color:transparent;background-image:-webkit-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-o-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-webkit-gradient(linear, left top, left bottom, from(#484e55), color-stop(60%, #3a3f44), to(#313539));background-image:linear-gradient(#484e55, #3a3f44 60%, #313539);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff484e55', endColorstr='#ff313539', GradientType=0);-webkit-filter:none;filter:none}.breadcrumb{border:1px solid rgba(0,0,0,0.6);text-shadow:1px 1px 1px rgba(0,0,0,0.3);background-image:-webkit-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-o-linear-gradient(#484e55, #3a3f44 60%, #313539);background-image:-webkit-gradient(linear, left top, left bottom, from(#484e55), color-stop(60%, #3a3f44), to(#313539));background-image:linear-gradient(#484e55, #3a3f44 60%, #313539);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff484e55', endColorstr='#ff313539', GradientType=0);-webkit-filter:none;filter:none}.alert .alert-link,.alert a{color:#fff;text-decoration:underline}.alert .close{color:#000000;text-decoration:none}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#0c0d0e}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{border-color:rgba(0,0,0,0.6)}a.list-group-item-success.active{background-color:#62c462}a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{background-color:#4fbd4f}a.list-group-item-warning.active{background-color:#f89406}a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{background-color:#df8505}a.list-group-item-danger.active{background-color:#ee5f5b}a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{background-color:#ec4844}.jumbotron{border:1px solid rgba(0,0,0,0.6)}.panel-primary .panel-heading,.panel-success .panel-heading,.panel-danger .panel-heading,.panel-warning .panel-heading,.panel-info .panel-heading{border-color:#000} \ No newline at end of file diff --git a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/spacelab/bootstrap.min.css b/mayan/apps/appearance/static/appearance/packages/bootswatch.com/spacelab/bootstrap.min.css deleted file mode 100644 index cc83b248cc..0000000000 --- a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/spacelab/bootstrap.min.css +++ /dev/null @@ -1,11 +0,0 @@ -@import url("https://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700");/*! - * bootswatch v3.3.5 - * Homepage: http://bootswatch.com - * Copyright 2012-2015 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*//*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#666666;background-color:#ffffff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#3399f3;text-decoration:none}a:hover,a:focus{color:#3399f3;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eeeeee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:#2d2d2d}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#999999}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#999999}.text-primary{color:#446e9b}a.text-primary:hover,a.text-primary:focus{color:#345578}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-warning{color:#c09853}a.text-warning:hover,a.text-warning:focus{color:#a47e3c}.text-danger{color:#b94a48}a.text-danger:hover,a.text-danger:focus{color:#953b39}.bg-primary{color:#fff;background-color:#446e9b}a.bg-primary:hover,a.bg-primary:focus{background-color:#345578}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eeeeee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eeeeee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#999999}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333333;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#999999;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #dddddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #dddddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #dddddd}.table .table{background-color:#ffffff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #dddddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#666666;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:9px;font-size:14px;line-height:1.42857143;color:#666666}.form-control{display:block;width:100%;height:38px;padding:8px 12px;font-size:14px;line-height:1.42857143;color:#666666;background-color:#ffffff;background-image:none;border:1px solid #cccccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#999999;opacity:1}.form-control:-ms-input-placeholder{color:#999999}.form-control::-webkit-input-placeholder{color:#999999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eeeeee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:38px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:54px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:9px;padding-bottom:9px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:54px;padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:54px;line-height:54px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:54px;padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:54px;line-height:54px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:54px;min-height:38px;padding:15px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:47.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:38px;height:38px;line-height:38px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:54px;height:54px;line-height:54px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#468847}.has-success .form-control{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.has-success .input-group-addon{color:#468847;border-color:#468847;background-color:#dff0d8}.has-success .form-control-feedback{color:#468847}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#c09853}.has-warning .form-control{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.has-warning .input-group-addon{color:#c09853;border-color:#c09853;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#c09853}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#b94a48}.has-error .form-control{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.has-error .input-group-addon{color:#b94a48;border-color:#b94a48;background-color:#f2dede}.has-error .form-control-feedback{color:#b94a48}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#a6a6a6}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:9px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:29px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:9px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:19.6666662px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:8px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#ffffff;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#ffffff;background-color:#474949;border-color:#474949}.btn-default:focus,.btn-default.focus{color:#ffffff;background-color:#2e2f2f;border-color:#080808}.btn-default:hover{color:#ffffff;background-color:#2e2f2f;border-color:#292a2a}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#ffffff;background-color:#2e2f2f;border-color:#292a2a}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#ffffff;background-color:#1c1d1d;border-color:#080808}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#474949;border-color:#474949}.btn-default .badge{color:#474949;background-color:#ffffff}.btn-primary{color:#ffffff;background-color:#446e9b;border-color:#446e9b}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#345578;border-color:#1d2f42}.btn-primary:hover{color:#ffffff;background-color:#345578;border-color:#315070}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#345578;border-color:#315070}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#2a435f;border-color:#1d2f42}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#446e9b;border-color:#446e9b}.btn-primary .badge{color:#446e9b;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#3cb521;border-color:#3cb521}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#2e8a19;border-color:#18490d}.btn-success:hover{color:#ffffff;background-color:#2e8a19;border-color:#2b8118}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#2e8a19;border-color:#2b8118}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#246c14;border-color:#18490d}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#3cb521;border-color:#3cb521}.btn-success .badge{color:#3cb521;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#3399f3;border-color:#3399f3}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#0e80e5;border-color:#09589d}.btn-info:hover{color:#ffffff;background-color:#0e80e5;border-color:#0d7bdc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#0e80e5;border-color:#0d7bdc}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#0c6dc4;border-color:#09589d}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#3399f3;border-color:#3399f3}.btn-info .badge{color:#3399f3;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#d47500;border-color:#d47500}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#a15900;border-color:#552f00}.btn-warning:hover{color:#ffffff;background-color:#a15900;border-color:#975300}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#a15900;border-color:#975300}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#7d4500;border-color:#552f00}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#d47500;border-color:#d47500}.btn-warning .badge{color:#d47500;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#cd0200;border-color:#cd0200}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#9a0200;border-color:#4e0100}.btn-danger:hover{color:#ffffff;background-color:#9a0200;border-color:#900100}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#9a0200;border-color:#900100}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#760100;border-color:#4e0100}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#cd0200;border-color:#cd0200}.btn-danger .badge{color:#cd0200;background-color:#ffffff}.btn-link{color:#3399f3;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#3399f3;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999999;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#ffffff;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#ffffff;background-color:#446e9b}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#446e9b}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#999999;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:54px;padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:54px;line-height:54px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:8px 12px;font-size:14px;font-weight:normal;line-height:1;color:#666666;text-align:center;background-color:#eeeeee;border:1px solid #cccccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:14px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eeeeee}.nav>li.disabled>a{color:#999999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999999;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eeeeee;border-color:#3399f3}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #dddddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#666666;background-color:#ffffff;border:1px solid #dddddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#ffffff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#446e9b}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#ffffff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:6px;margin-bottom:6px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:6px;margin-bottom:6px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#eeeeee;border-color:#dddddd}.navbar-default .navbar-brand{color:#777777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#3399f3;background-color:transparent}.navbar-default .navbar-text{color:#777777}.navbar-default .navbar-nav>li>a{color:#777777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#3399f3;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#3399f3;background-color:transparent}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#444444;background-color:transparent}.navbar-default .navbar-toggle{border-color:#dddddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#dddddd}.navbar-default .navbar-toggle .icon-bar{background-color:#cccccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#dddddd}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:transparent;color:#3399f3}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#3399f3;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#3399f3;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444444;background-color:transparent}}.navbar-default .navbar-link{color:#777777}.navbar-default .navbar-link:hover{color:#3399f3}.navbar-default .btn-link{color:#777777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#3399f3}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#444444}.navbar-inverse{background-color:#446e9b;border-color:#345578}.navbar-inverse .navbar-brand{color:#dddddd}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-text{color:#dddddd}.navbar-inverse .navbar-nav>li>a{color:#dddddd}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#345578}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#345578}.navbar-inverse .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#395c82}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:transparent;color:#ffffff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#345578}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#345578}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#dddddd}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-inverse .navbar-link{color:#dddddd}.navbar-inverse .navbar-link:hover{color:#ffffff}.navbar-inverse .btn-link{color:#dddddd}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#ffffff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#cccccc}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#cccccc}.breadcrumb>.active{color:#999999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:8px 12px;line-height:1.42857143;text-decoration:none;color:#3399f3;background-color:#ffffff;border:1px solid #dddddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:3;color:#3399f3;background-color:#eeeeee;border-color:#dddddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#999999;background-color:#f5f5f5;border-color:#dddddd;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999999;background-color:#ffffff;border-color:#dddddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:14px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#ffffff;border:1px solid #dddddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eeeeee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999999;background-color:#ffffff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#474949}.label-default[href]:hover,.label-default[href]:focus{background-color:#2e2f2f}.label-primary{background-color:#446e9b}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#345578}.label-success{background-color:#3cb521}.label-success[href]:hover,.label-success[href]:focus{background-color:#2e8a19}.label-info{background-color:#3399f3}.label-info[href]:hover,.label-info[href]:focus{background-color:#0e80e5}.label-warning{background-color:#d47500}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#a15900}.label-danger{background-color:#cd0200}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#9a0200}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#ffffff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#3399f3;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#3399f3;background-color:#ffffff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eeeeee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#3399f3}.thumbnail .caption{padding:9px;color:#666666}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#356635}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#2d6987}.alert-warning{background-color:#fcf8e3;border-color:#fbeed5;color:#c09853}.alert-warning hr{border-top-color:#f8e5be}.alert-warning .alert-link{color:#a47e3c}.alert-danger{background-color:#f2dede;border-color:#eed3d7;color:#b94a48}.alert-danger hr{border-top-color:#e6c1c7}.alert-danger .alert-link{color:#953b39}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#ffffff;text-align:center;background-color:#446e9b;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#3cb521}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#3399f3}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#d47500}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#cd0200}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#ffffff;border:1px solid #dddddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#555555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eeeeee;color:#999999;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#999999}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#446e9b;border-color:#446e9b}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c5d5e6}.list-group-item-success{color:#468847;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#468847}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#468847;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#468847;border-color:#468847}.list-group-item-info{color:#3a87ad;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#3a87ad}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#3a87ad;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#3a87ad;border-color:#3a87ad}.list-group-item-warning{color:#c09853;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#c09853}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#c09853;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#c09853;border-color:#c09853}.list-group-item-danger{color:#b94a48;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#b94a48}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#b94a48;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#b94a48;border-color:#b94a48}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#ffffff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #dddddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #dddddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #dddddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #dddddd}.panel-default{border-color:#dddddd}.panel-default>.panel-heading{color:#333333;background-color:#f5f5f5;border-color:#dddddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dddddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dddddd}.panel-primary{border-color:#446e9b}.panel-primary>.panel-heading{color:#ffffff;background-color:#446e9b;border-color:#446e9b}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#446e9b}.panel-primary>.panel-heading .badge{color:#446e9b;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#446e9b}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#468847}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#3a87ad}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#fbeed5}.panel-warning>.panel-heading{color:#c09853;background-color:#fcf8e3;border-color:#fbeed5}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#fbeed5}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#c09853}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#fbeed5}.panel-danger{border-color:#eed3d7}.panel-danger>.panel-heading{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#eed3d7}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#b94a48}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#eed3d7}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#ffffff;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#000000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#ffffff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.navbar{background-image:-webkit-linear-gradient(#fff, #eee 50%, #e4e4e4);background-image:-o-linear-gradient(#fff, #eee 50%, #e4e4e4);background-image:-webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(50%, #eee), to(#e4e4e4));background-image:linear-gradient(#fff, #eee 50%, #e4e4e4);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe4e4e4', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #d5d5d5;text-shadow:0 1px 0 rgba(255,255,255,0.3)}.navbar-inverse{background-image:-webkit-linear-gradient(#6d94bf, #446e9b 50%, #3e648d);background-image:-o-linear-gradient(#6d94bf, #446e9b 50%, #3e648d);background-image:-webkit-gradient(linear, left top, left bottom, from(#6d94bf), color-stop(50%, #446e9b), to(#3e648d));background-image:linear-gradient(#6d94bf, #446e9b 50%, #3e648d);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff6d94bf', endColorstr='#ff3e648d', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #345578;text-shadow:0 -1px 0 rgba(0,0,0,0.3)}.navbar-inverse .badge{background-color:#fff;color:#446e9b}.navbar .badge{text-shadow:none}.navbar-nav>li>a,.navbar-nav>li>a:hover{padding-top:17px;padding-bottom:13px;-webkit-transition:color ease-in-out .2s;-o-transition:color ease-in-out .2s;transition:color ease-in-out .2s}.navbar-brand,.navbar-brand:hover{-webkit-transition:color ease-in-out .2s;-o-transition:color ease-in-out .2s;transition:color ease-in-out .2s}.navbar .caret,.navbar .caret:hover{-webkit-transition:border-color ease-in-out .2s;-o-transition:border-color ease-in-out .2s;transition:border-color ease-in-out .2s}.navbar .dropdown-menu{text-shadow:none}.btn{text-shadow:0 -1px 0 rgba(0,0,0,0.3)}.btn-default{background-image:-webkit-linear-gradient(#6d7070, #474949 50%, #3d3f3f);background-image:-o-linear-gradient(#6d7070, #474949 50%, #3d3f3f);background-image:-webkit-gradient(linear, left top, left bottom, from(#6d7070), color-stop(50%, #474949), to(#3d3f3f));background-image:linear-gradient(#6d7070, #474949 50%, #3d3f3f);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff6d7070', endColorstr='#ff3d3f3f', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #2e2f2f}.btn-default:hover{background-image:-webkit-linear-gradient(#636565, #3d3f3f 50%, #333434);background-image:-o-linear-gradient(#636565, #3d3f3f 50%, #333434);background-image:-webkit-gradient(linear, left top, left bottom, from(#636565), color-stop(50%, #3d3f3f), to(#333434));background-image:linear-gradient(#636565, #3d3f3f 50%, #333434);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff636565', endColorstr='#ff333434', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #242525}.btn-primary{background-image:-webkit-linear-gradient(#6d94bf, #446e9b 50%, #3e648d);background-image:-o-linear-gradient(#6d94bf, #446e9b 50%, #3e648d);background-image:-webkit-gradient(linear, left top, left bottom, from(#6d94bf), color-stop(50%, #446e9b), to(#3e648d));background-image:linear-gradient(#6d94bf, #446e9b 50%, #3e648d);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff6d94bf', endColorstr='#ff3e648d', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #345578}.btn-primary:hover{background-image:-webkit-linear-gradient(#5f8ab9, #3e648d 50%, #385a7f);background-image:-o-linear-gradient(#5f8ab9, #3e648d 50%, #385a7f);background-image:-webkit-gradient(linear, left top, left bottom, from(#5f8ab9), color-stop(50%, #3e648d), to(#385a7f));background-image:linear-gradient(#5f8ab9, #3e648d 50%, #385a7f);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5f8ab9', endColorstr='#ff385a7f', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #2e4b69}.btn-success{background-image:-webkit-linear-gradient(#61dd45, #3cb521 50%, #36a41e);background-image:-o-linear-gradient(#61dd45, #3cb521 50%, #36a41e);background-image:-webkit-gradient(linear, left top, left bottom, from(#61dd45), color-stop(50%, #3cb521), to(#36a41e));background-image:linear-gradient(#61dd45, #3cb521 50%, #36a41e);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff61dd45', endColorstr='#ff36a41e', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #2e8a19}.btn-success:hover{background-image:-webkit-linear-gradient(#52da34, #36a41e 50%, #31921b);background-image:-o-linear-gradient(#52da34, #36a41e 50%, #31921b);background-image:-webkit-gradient(linear, left top, left bottom, from(#52da34), color-stop(50%, #36a41e), to(#31921b));background-image:linear-gradient(#52da34, #36a41e 50%, #31921b);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff52da34', endColorstr='#ff31921b', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #287916}.btn-info{background-image:-webkit-linear-gradient(#7bbdf7, #3399f3 50%, #208ff2);background-image:-o-linear-gradient(#7bbdf7, #3399f3 50%, #208ff2);background-image:-webkit-gradient(linear, left top, left bottom, from(#7bbdf7), color-stop(50%, #3399f3), to(#208ff2));background-image:linear-gradient(#7bbdf7, #3399f3 50%, #208ff2);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff7bbdf7', endColorstr='#ff208ff2', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #0e80e5}.btn-info:hover{background-image:-webkit-linear-gradient(#68b3f6, #208ff2 50%, #0e86ef);background-image:-o-linear-gradient(#68b3f6, #208ff2 50%, #0e86ef);background-image:-webkit-gradient(linear, left top, left bottom, from(#68b3f6), color-stop(50%, #208ff2), to(#0e86ef));background-image:linear-gradient(#68b3f6, #208ff2 50%, #0e86ef);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff68b3f6', endColorstr='#ff0e86ef', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #0c75d2}.btn-warning{background-image:-webkit-linear-gradient(#ff9c21, #d47500 50%, #c06a00);background-image:-o-linear-gradient(#ff9c21, #d47500 50%, #c06a00);background-image:-webkit-gradient(linear, left top, left bottom, from(#ff9c21), color-stop(50%, #d47500), to(#c06a00));background-image:linear-gradient(#ff9c21, #d47500 50%, #c06a00);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff9c21', endColorstr='#ffc06a00', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #a15900}.btn-warning:hover{background-image:-webkit-linear-gradient(#ff930d, #c06a00 50%, #ab5e00);background-image:-o-linear-gradient(#ff930d, #c06a00 50%, #ab5e00);background-image:-webkit-gradient(linear, left top, left bottom, from(#ff930d), color-stop(50%, #c06a00), to(#ab5e00));background-image:linear-gradient(#ff930d, #c06a00 50%, #ab5e00);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff930d', endColorstr='#ffab5e00', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #8d4e00}.btn-danger{background-image:-webkit-linear-gradient(#ff1d1b, #cd0200 50%, #b90200);background-image:-o-linear-gradient(#ff1d1b, #cd0200 50%, #b90200);background-image:-webkit-gradient(linear, left top, left bottom, from(#ff1d1b), color-stop(50%, #cd0200), to(#b90200));background-image:linear-gradient(#ff1d1b, #cd0200 50%, #b90200);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff1d1b', endColorstr='#ffb90200', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #9a0200}.btn-danger:hover{background-image:-webkit-linear-gradient(#ff0906, #b90200 50%, #a40200);background-image:-o-linear-gradient(#ff0906, #b90200 50%, #a40200);background-image:-webkit-gradient(linear, left top, left bottom, from(#ff0906), color-stop(50%, #b90200), to(#a40200));background-image:linear-gradient(#ff0906, #b90200 50%, #a40200);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff0906', endColorstr='#ffa40200', GradientType=0);-webkit-filter:none;filter:none;border:1px solid #860100}.btn-link{text-shadow:none}.btn:active,.btn.active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.panel-primary .panel-title{color:#fff} \ No newline at end of file diff --git a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/superhero/bootstrap.min.css b/mayan/apps/appearance/static/appearance/packages/bootswatch.com/superhero/bootstrap.min.css deleted file mode 100644 index 7bbc5e2e6e..0000000000 --- a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/superhero/bootstrap.min.css +++ /dev/null @@ -1,11 +0,0 @@ -@import url("https://fonts.googleapis.com/css?family=Lato:300,400,700");/*! - * bootswatch v3.3.5 - * Homepage: http://bootswatch.com - * Copyright 2012-2015 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*//*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Lato","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:15px;line-height:1.42857143;color:#ebebeb;background-color:#2b3e50}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#df691a;text-decoration:none}a:hover,a:focus{color:#df691a;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:0}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#2b3e50;border:1px solid #dddddd;border-radius:0;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:21px;margin-bottom:21px;border:0;border-top:1px solid #596a7b}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:300;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#ebebeb}h1,.h1,h2,.h2,h3,.h3{margin-top:21px;margin-bottom:10.5px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10.5px;margin-bottom:10.5px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:39px}h2,.h2{font-size:32px}h3,.h3{font-size:26px}h4,.h4{font-size:19px}h5,.h5{font-size:15px}h6,.h6{font-size:13px}p{margin:0 0 10.5px}.lead{margin-bottom:21px;font-size:17px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:22.5px}}small,.small{font-size:86%}mark,.mark{background-color:#f0ad4e;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#4e5d6c}.text-primary{color:#df691a}a.text-primary:hover,a.text-primary:focus{color:#b15315}.text-success{color:#ebebeb}a.text-success:hover,a.text-success:focus{color:#d2d2d2}.text-info{color:#ebebeb}a.text-info:hover,a.text-info:focus{color:#d2d2d2}.text-warning{color:#ebebeb}a.text-warning:hover,a.text-warning:focus{color:#d2d2d2}.text-danger{color:#ebebeb}a.text-danger:hover,a.text-danger:focus{color:#d2d2d2}.bg-primary{color:#fff;background-color:#df691a}a.bg-primary:hover,a.bg-primary:focus{background-color:#b15315}.bg-success{background-color:#5cb85c}a.bg-success:hover,a.bg-success:focus{background-color:#449d44}.bg-info{background-color:#5bc0de}a.bg-info:hover,a.bg-info:focus{background-color:#31b0d5}.bg-warning{background-color:#f0ad4e}a.bg-warning:hover,a.bg-warning:focus{background-color:#ec971f}.bg-danger{background-color:#d9534f}a.bg-danger:hover,a.bg-danger:focus{background-color:#c9302c}.page-header{padding-bottom:9.5px;margin:42px 0 21px;border-bottom:1px solid #ebebeb}ul,ol{margin-top:0;margin-bottom:10.5px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:21px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #4e5d6c}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10.5px 21px;margin:0 0 21px;font-size:18.75px;border-left:5px solid #4e5d6c}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#ebebeb}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #4e5d6c;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:21px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:0}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:10px;margin:0 0 10.5px;font-size:14px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333333;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:0}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}caption{padding-top:6px;padding-bottom:6px;color:#4e5d6c;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:21px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:6px;line-height:1.42857143;vertical-align:top;border-top:1px solid #4e5d6c}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #4e5d6c}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #4e5d6c}.table .table{background-color:#2b3e50}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:3px}.table-bordered{border:1px solid #4e5d6c}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #4e5d6c}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#4e5d6c}.table-hover>tbody>tr:hover{background-color:#485563}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#485563}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#3d4954}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#5cb85c}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#4cae4c}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#5bc0de}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#46b8da}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#f0ad4e}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#eea236}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#d9534f}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#d43f3a}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15.75px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #4e5d6c}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:21px;font-size:22.5px;line-height:inherit;color:#ebebeb;border:0;border-bottom:1px solid #4e5d6c}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:9px;font-size:15px;line-height:1.42857143;color:#2b3e50}.form-control{display:block;width:100%;height:39px;padding:8px 16px;font-size:15px;line-height:1.42857143;color:#2b3e50;background-color:#ffffff;background-image:none;border:1px solid transparent;border-radius:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:transparent;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(0,0,0,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(0,0,0,0.6)}.form-control::-moz-placeholder{color:#cccccc;opacity:1}.form-control:-ms-input-placeholder{color:#cccccc}.form-control::-webkit-input-placeholder{color:#cccccc}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#ebebeb;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:39px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:31px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:52px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:21px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:9px;padding-bottom:9px;margin-bottom:0;min-height:36px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:31px;padding:5px 10px;font-size:13px;line-height:1.5;border-radius:0}select.input-sm{height:31px;line-height:31px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:31px;padding:5px 10px;font-size:13px;line-height:1.5;border-radius:0}.form-group-sm select.form-control{height:31px;line-height:31px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:31px;min-height:34px;padding:6px 10px;font-size:13px;line-height:1.5}.input-lg{height:52px;padding:12px 24px;font-size:19px;line-height:1.3333333;border-radius:0}select.input-lg{height:52px;line-height:52px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:52px;padding:12px 24px;font-size:19px;line-height:1.3333333;border-radius:0}.form-group-lg select.form-control{height:52px;line-height:52px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:52px;min-height:40px;padding:13px 24px;font-size:19px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:48.75px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:39px;height:39px;line-height:39px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:52px;height:52px;line-height:52px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:31px;height:31px;line-height:31px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#ebebeb}.has-success .form-control{border-color:#ebebeb;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#d2d2d2;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-success .input-group-addon{color:#ebebeb;border-color:#ebebeb;background-color:#5cb85c}.has-success .form-control-feedback{color:#ebebeb}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#ebebeb}.has-warning .form-control{border-color:#ebebeb;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#d2d2d2;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-warning .input-group-addon{color:#ebebeb;border-color:#ebebeb;background-color:#f0ad4e}.has-warning .form-control-feedback{color:#ebebeb}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#ebebeb}.has-error .form-control{border-color:#ebebeb;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#d2d2d2;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-error .input-group-addon{color:#ebebeb;border-color:#ebebeb;background-color:#d9534f}.has-error .form-control-feedback{color:#ebebeb}.has-feedback label~.form-control-feedback{top:26px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#ffffff}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:9px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:30px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:9px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:16.9999996px;font-size:19px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:13px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:8px 16px;font-size:15px;line-height:1.42857143;border-radius:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#ffffff;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#ffffff;background-color:#4e5d6c;border-color:transparent}.btn-default:focus,.btn-default.focus{color:#ffffff;background-color:#39444e;border-color:rgba(0,0,0,0)}.btn-default:hover{color:#ffffff;background-color:#39444e;border-color:rgba(0,0,0,0)}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#ffffff;background-color:#39444e;border-color:rgba(0,0,0,0)}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#ffffff;background-color:#2a323a;border-color:rgba(0,0,0,0)}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#4e5d6c;border-color:transparent}.btn-default .badge{color:#4e5d6c;background-color:#ffffff}.btn-primary{color:#ffffff;background-color:#df691a;border-color:transparent}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#b15315;border-color:rgba(0,0,0,0)}.btn-primary:hover{color:#ffffff;background-color:#b15315;border-color:rgba(0,0,0,0)}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#b15315;border-color:rgba(0,0,0,0)}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#914411;border-color:rgba(0,0,0,0)}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#df691a;border-color:transparent}.btn-primary .badge{color:#df691a;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#5cb85c;border-color:transparent}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#449d44;border-color:rgba(0,0,0,0)}.btn-success:hover{color:#ffffff;background-color:#449d44;border-color:rgba(0,0,0,0)}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#449d44;border-color:rgba(0,0,0,0)}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#398439;border-color:rgba(0,0,0,0)}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:transparent}.btn-success .badge{color:#5cb85c;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#5bc0de;border-color:transparent}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#31b0d5;border-color:rgba(0,0,0,0)}.btn-info:hover{color:#ffffff;background-color:#31b0d5;border-color:rgba(0,0,0,0)}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#31b0d5;border-color:rgba(0,0,0,0)}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#269abc;border-color:rgba(0,0,0,0)}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:transparent}.btn-info .badge{color:#5bc0de;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#f0ad4e;border-color:transparent}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#ec971f;border-color:rgba(0,0,0,0)}.btn-warning:hover{color:#ffffff;background-color:#ec971f;border-color:rgba(0,0,0,0)}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#ec971f;border-color:rgba(0,0,0,0)}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#d58512;border-color:rgba(0,0,0,0)}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:transparent}.btn-warning .badge{color:#f0ad4e;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#d9534f;border-color:transparent}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#c9302c;border-color:rgba(0,0,0,0)}.btn-danger:hover{color:#ffffff;background-color:#c9302c;border-color:rgba(0,0,0,0)}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#c9302c;border-color:rgba(0,0,0,0)}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#ac2925;border-color:rgba(0,0,0,0)}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:transparent}.btn-danger .badge{color:#d9534f;background-color:#ffffff}.btn-link{color:#df691a;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#df691a;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#4e5d6c;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:12px 24px;font-size:19px;line-height:1.3333333;border-radius:0}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:13px;line-height:1.5;border-radius:0}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:13px;line-height:1.5;border-radius:0}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:15px;text-align:left;background-color:#4e5d6c;border:1px solid transparent;border-radius:0;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:#2b3e50}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#ebebeb;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#ebebeb;background-color:#485563}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#df691a}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#2b3e50}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:13px;line-height:1.42857143;color:#2b3e50;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:52px;padding:12px 24px;font-size:19px;line-height:1.3333333;border-radius:0}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:52px;line-height:52px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:31px;padding:5px 10px;font-size:13px;line-height:1.5;border-radius:0}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:31px;line-height:31px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:8px 16px;font-size:15px;font-weight:normal;line-height:1;color:#2b3e50;text-align:center;background-color:#4e5d6c;border:1px solid transparent;border-radius:0}.input-group-addon.input-sm{padding:5px 10px;font-size:13px;border-radius:0}.input-group-addon.input-lg{padding:12px 24px;font-size:19px;border-radius:0}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#4e5d6c}.nav>li.disabled>a{color:#4e5d6c}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#4e5d6c;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#4e5d6c;border-color:#df691a}.nav .nav-divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid transparent}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:0 0 0 0}.nav-tabs>li>a:hover{border-color:#4e5d6c #4e5d6c transparent}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#ebebeb;background-color:#2b3e50;border:1px solid #4e5d6c;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #4e5d6c}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #4e5d6c;border-radius:0 0 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#4e5d6c}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:0}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#df691a}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #4e5d6c}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #4e5d6c;border-radius:0 0 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#4e5d6c}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:40px;margin-bottom:21px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:0}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:9.5px 15px;font-size:19px;line-height:21px;height:40px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:3px;margin-bottom:3px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:0}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:4.75px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:21px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:21px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:9.5px;padding-bottom:9.5px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:0.5px;margin-bottom:0.5px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:0.5px;margin-bottom:0.5px}.navbar-btn.btn-sm{margin-top:4.5px;margin-bottom:4.5px}.navbar-btn.btn-xs{margin-top:9px;margin-bottom:9px}.navbar-text{margin-top:9.5px;margin-bottom:9.5px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#4e5d6c;border-color:transparent}.navbar-default .navbar-brand{color:#ebebeb}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#ebebeb;background-color:transparent}.navbar-default .navbar-text{color:#ebebeb}.navbar-default .navbar-nav>li>a{color:#ebebeb}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#ebebeb;background-color:#485563}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#ebebeb;background-color:#485563}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:transparent}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#485563}.navbar-default .navbar-toggle .icon-bar{background-color:#ebebeb}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#485563;color:#ebebeb}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#ebebeb}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#ebebeb;background-color:#485563}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ebebeb;background-color:#485563}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-default .navbar-link{color:#ebebeb}.navbar-default .navbar-link:hover{color:#ebebeb}.navbar-default .btn-link{color:#ebebeb}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#ebebeb}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#cccccc}.navbar-inverse{background-color:#df691a;border-color:transparent}.navbar-inverse .navbar-brand{color:#ebebeb}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#ebebeb;background-color:transparent}.navbar-inverse .navbar-text{color:#ebebeb}.navbar-inverse .navbar-nav>li>a{color:#ebebeb}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#ebebeb;background-color:#c85e17}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ebebeb;background-color:#c85e17}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:transparent}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#c85e17}.navbar-inverse .navbar-toggle .icon-bar{background-color:#ebebeb}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#bf5a16}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#c85e17;color:#ebebeb}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#ebebeb}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#ebebeb;background-color:#c85e17}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ebebeb;background-color:#c85e17}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444444;background-color:transparent}}.navbar-inverse .navbar-link{color:#ebebeb}.navbar-inverse .navbar-link:hover{color:#ebebeb}.navbar-inverse .btn-link{color:#ebebeb}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#ebebeb}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444444}.breadcrumb{padding:8px 15px;margin-bottom:21px;list-style:none;background-color:#4e5d6c;border-radius:0}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ebebeb}.breadcrumb>.active{color:#ebebeb}.pagination{display:inline-block;padding-left:0;margin:21px 0;border-radius:0}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:8px 16px;line-height:1.42857143;text-decoration:none;color:#ebebeb;background-color:#4e5d6c;border:1px solid transparent;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:0;border-top-left-radius:0}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:0;border-top-right-radius:0}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:3;color:#ebebeb;background-color:#485563;border-color:transparent}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#ebebeb;background-color:#df691a;border-color:transparent;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#323c46;background-color:#4e5d6c;border-color:transparent;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:12px 24px;font-size:19px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:0;border-top-left-radius:0}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:0;border-top-right-radius:0}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:13px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:0;border-top-left-radius:0}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:0;border-top-right-radius:0}.pager{padding-left:0;margin:21px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#4e5d6c;border:1px solid transparent;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#485563}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#323c46;background-color:#4e5d6c;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#4e5d6c}.label-default[href]:hover,.label-default[href]:focus{background-color:#39444e}.label-primary{background-color:#df691a}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#b15315}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:13px;font-weight:300;color:#ebebeb;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#4e5d6c;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#df691a;background-color:#ffffff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#4e5d6c}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:23px;font-weight:200}.jumbotron>hr{border-top-color:#39444e}.container .jumbotron,.container-fluid .jumbotron{border-radius:0}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:68px}}.thumbnail{display:block;padding:4px;margin-bottom:21px;line-height:1.42857143;background-color:#2b3e50;border:1px solid #dddddd;border-radius:0;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#df691a}.thumbnail .caption{padding:9px;color:#ebebeb}.alert{padding:15px;margin-bottom:21px;border:1px solid transparent;border-radius:0}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#5cb85c;border-color:transparent;color:#ebebeb}.alert-success hr{border-top-color:rgba(0,0,0,0)}.alert-success .alert-link{color:#d2d2d2}.alert-info{background-color:#5bc0de;border-color:transparent;color:#ebebeb}.alert-info hr{border-top-color:rgba(0,0,0,0)}.alert-info .alert-link{color:#d2d2d2}.alert-warning{background-color:#f0ad4e;border-color:transparent;color:#ebebeb}.alert-warning hr{border-top-color:rgba(0,0,0,0)}.alert-warning .alert-link{color:#d2d2d2}.alert-danger{background-color:#d9534f;border-color:transparent;color:#ebebeb}.alert-danger hr{border-top-color:rgba(0,0,0,0)}.alert-danger .alert-link{color:#d2d2d2}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:21px;margin-bottom:21px;background-color:#4e5d6c;border-radius:0;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:13px;line-height:21px;color:#ffffff;text-align:center;background-color:#df691a;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#4e5d6c;border:1px solid transparent}.list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}a.list-group-item,button.list-group-item{color:#ebebeb}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#ebebeb}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#ebebeb;background-color:#485563}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#ebebeb;color:#4e5d6c;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#4e5d6c}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#df691a;border-color:#df691a}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#f9decc}.list-group-item-success{color:#ebebeb;background-color:#5cb85c}a.list-group-item-success,button.list-group-item-success{color:#ebebeb}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#ebebeb;background-color:#4cae4c}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#ebebeb;border-color:#ebebeb}.list-group-item-info{color:#ebebeb;background-color:#5bc0de}a.list-group-item-info,button.list-group-item-info{color:#ebebeb}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#ebebeb;background-color:#46b8da}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#ebebeb;border-color:#ebebeb}.list-group-item-warning{color:#ebebeb;background-color:#f0ad4e}a.list-group-item-warning,button.list-group-item-warning{color:#ebebeb}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#ebebeb;background-color:#eea236}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#ebebeb;border-color:#ebebeb}.list-group-item-danger{color:#ebebeb;background-color:#d9534f}a.list-group-item-danger,button.list-group-item-danger{color:#ebebeb}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#ebebeb;background-color:#d43f3a}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#ebebeb;border-color:#ebebeb}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:21px;background-color:#4e5d6c;border:1px solid transparent;border-radius:0;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:-1;border-top-left-radius:-1}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:17px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#485563;border-top:1px solid transparent;border-bottom-right-radius:-1;border-bottom-left-radius:-1}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:-1;border-top-left-radius:-1}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:-1;border-bottom-left-radius:-1}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:-1;border-top-left-radius:-1}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:-1;border-top-right-radius:-1}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:-1}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:-1}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:-1;border-bottom-left-radius:-1}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:-1;border-bottom-right-radius:-1}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:-1}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:-1}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #4e5d6c}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:21px}.panel-group .panel{margin-bottom:0;border-radius:0}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid transparent}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid transparent}.panel-default{border-color:transparent}.panel-default>.panel-heading{color:#333333;background-color:#f5f5f5;border-color:transparent}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-primary{border-color:transparent}.panel-primary>.panel-heading{color:#ffffff;background-color:#df691a;border-color:transparent}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-primary>.panel-heading .badge{color:#df691a;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-success{border-color:transparent}.panel-success>.panel-heading{color:#ebebeb;background-color:#5cb85c;border-color:transparent}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-success>.panel-heading .badge{color:#5cb85c;background-color:#ebebeb}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-info{border-color:transparent}.panel-info>.panel-heading{color:#ebebeb;background-color:#5bc0de;border-color:transparent}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-info>.panel-heading .badge{color:#5bc0de;background-color:#ebebeb}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-warning{border-color:transparent}.panel-warning>.panel-heading{color:#ebebeb;background-color:#f0ad4e;border-color:transparent}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-warning>.panel-heading .badge{color:#f0ad4e;background-color:#ebebeb}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-danger{border-color:transparent}.panel-danger>.panel-heading{color:#ebebeb;background-color:#d9534f;border-color:transparent}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-danger>.panel-heading .badge{color:#d9534f;background-color:#ebebeb}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#4e5d6c;border:1px solid transparent;border-radius:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:0}.well-sm{padding:9px;border-radius:0}.close{float:right;font-size:22.5px;font-weight:bold;line-height:1;color:#ebebeb;text-shadow:none;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#ebebeb;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#4e5d6c;border:1px solid transparent;border-radius:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #2b3e50;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;text-align:right;border-top:1px solid #2b3e50}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Lato","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:13px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#000000;border-radius:0}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Lato","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:15px;background-color:#4e5d6c;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid transparent;border-radius:0;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:15px;background-color:#485563;border-bottom:1px solid #3d4954;border-radius:-1 -1 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:transparent;bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#4e5d6c}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:transparent}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#4e5d6c}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:transparent;top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#4e5d6c}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:transparent}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#4e5d6c;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.navbar{-webkit-box-shadow:none;box-shadow:none;border:none;font-size:12px}.navbar-default .badge{background-color:#fff;color:#4e5d6c}.navbar-inverse .badge{background-color:#fff;color:#df691a}.btn{font-weight:300}.btn-default:hover{background-color:#485563}.btn-sm,.btn-xs{font-size:12px}body{font-weight:300}.text-primary,.text-primary:hover{color:#df691a}.text-success,.text-success:hover{color:#5cb85c}.text-danger,.text-danger:hover{color:#d9534f}.text-warning,.text-warning:hover{color:#f0ad4e}.text-info,.text-info:hover{color:#5bc0de}.page-header{border-bottom-color:#4e5d6c}.dropdown-menu{border:none;margin:0;-webkit-box-shadow:none;box-shadow:none}.dropdown-menu>li>a{font-size:12px;font-weight:300}.btn-group.open .dropdown-toggle{-webkit-box-shadow:none;box-shadow:none}.dropdown-header{font-size:12px}table,.table{font-size:12px}table a:not(.btn),.table a:not(.btn){color:#fff;text-decoration:underline}table .dropdown-menu a,.table .dropdown-menu a{text-decoration:none}table .text-muted,.table .text-muted{color:#4e5d6c}table>thead>tr>th,.table>thead>tr>th,table>tbody>tr>th,.table>tbody>tr>th,table>tfoot>tr>th,.table>tfoot>tr>th,table>thead>tr>td,.table>thead>tr>td,table>tbody>tr>td,.table>tbody>tr>td,table>tfoot>tr>td,.table>tfoot>tr>td{border-color:transparent}input,textarea{color:#2b3e50}label,.radio label,.checkbox label,.help-block{font-size:12px;font-weight:300}.input-addon,.input-group-addon{color:#ebebeb}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label,.has-warning .form-control-feedback{color:#f0ad4e}.has-warning .input-group-addon{border:none}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label,.has-error .form-control-feedback{color:#d9534f}.has-error .input-group-addon{border:none}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label,.has-success .form-control-feedback{color:#5cb85c}.has-success .input-group-addon{border:none}.form-control:focus{-webkit-box-shadow:none;box-shadow:none}.has-warning .form-control:focus,.has-error .form-control:focus,.has-success .form-control:focus{-webkit-box-shadow:none;box-shadow:none}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{border-color:transparent}.nav-tabs>li>a{color:#ebebeb}.nav-pills>li>a{color:#ebebeb}.pager a{color:#ebebeb}.label{font-weight:300}.alert{color:#fff}.alert a,.alert .alert-link{color:#fff}.close{opacity:0.4}.close:hover,.close:focus{opacity:1}.well{-webkit-box-shadow:none;box-shadow:none}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{border:none}a.list-group-item-success.active{background-color:#5cb85c}a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{background-color:#4cae4c}a.list-group-item-warning.active{background-color:#f0ad4e}a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{background-color:#eea236}a.list-group-item-danger.active{background-color:#d9534f}a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{background-color:#d43f3a}.panel{border:none}.panel-default>.panel-heading{background-color:#485563;color:#ebebeb}.thumbnail{background-color:#4e5d6c;border:none}.modal{padding:0}.modal-header,.modal-footer{background-color:#485563;border:none;border-radius:0}.popover-title{border:none} \ No newline at end of file diff --git a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/united/bootstrap.min.css b/mayan/apps/appearance/static/appearance/packages/bootswatch.com/united/bootstrap.min.css deleted file mode 100644 index 7791912a3b..0000000000 --- a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/united/bootstrap.min.css +++ /dev/null @@ -1,11 +0,0 @@ -@import url("https://fonts.googleapis.com/css?family=Ubuntu:400,700");/*! - * bootswatch v3.3.5 - * Homepage: http://bootswatch.com - * Copyright 2012-2015 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*//*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Ubuntu",Tahoma,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333333;background-color:#ffffff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#dd4814;text-decoration:none}a:hover,a:focus{color:#97310e;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eeeeee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Ubuntu",Tahoma,"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#aea79f}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#aea79f}.text-primary{color:#dd4814}a.text-primary:hover,a.text-primary:focus{color:#ae3910}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-warning{color:#c09853}a.text-warning:hover,a.text-warning:focus{color:#a47e3c}.text-danger{color:#b94a48}a.text-danger:hover,a.text-danger:focus{color:#953b39}.bg-primary{color:#fff;background-color:#dd4814}a.bg-primary:hover,a.bg-primary:focus{background-color:#ae3910}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eeeeee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #aea79f}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eeeeee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#aea79f}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333333;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#aea79f;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #dddddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #dddddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #dddddd}.table .table{background-color:#ffffff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #dddddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:9px;font-size:14px;line-height:1.42857143;color:#333333}.form-control{display:block;width:100%;height:38px;padding:8px 12px;font-size:14px;line-height:1.42857143;color:#333333;background-color:#ffffff;background-image:none;border:1px solid #cccccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#aea79f;opacity:1}.form-control:-ms-input-placeholder{color:#aea79f}.form-control::-webkit-input-placeholder{color:#aea79f}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eeeeee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:38px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:54px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:9px;padding-bottom:9px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:54px;padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:54px;line-height:54px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:54px;padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:54px;line-height:54px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:54px;min-height:38px;padding:15px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:47.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:38px;height:38px;line-height:38px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:54px;height:54px;line-height:54px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#468847}.has-success .form-control{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.has-success .input-group-addon{color:#468847;border-color:#468847;background-color:#dff0d8}.has-success .form-control-feedback{color:#468847}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#c09853}.has-warning .form-control{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.has-warning .input-group-addon{color:#c09853;border-color:#c09853;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#c09853}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#b94a48}.has-error .form-control{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.has-error .input-group-addon{color:#b94a48;border-color:#b94a48;background-color:#f2dede}.has-error .form-control-feedback{color:#b94a48}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:9px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:29px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:9px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:19.6666662px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:8px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#ffffff;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#ffffff;background-color:#aea79f;border-color:#aea79f}.btn-default:focus,.btn-default.focus{color:#ffffff;background-color:#978e83;border-color:#6f675e}.btn-default:hover{color:#ffffff;background-color:#978e83;border-color:#92897e}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#ffffff;background-color:#978e83;border-color:#92897e}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#ffffff;background-color:#867c71;border-color:#6f675e}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#aea79f;border-color:#aea79f}.btn-default .badge{color:#aea79f;background-color:#ffffff}.btn-primary{color:#ffffff;background-color:#dd4814;border-color:#dd4814}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#ae3910;border-color:#682209}.btn-primary:hover{color:#ffffff;background-color:#ae3910;border-color:#a5360f}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#ae3910;border-color:#a5360f}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#8d2e0d;border-color:#682209}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#dd4814;border-color:#dd4814}.btn-primary .badge{color:#dd4814;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#38b44a;border-color:#38b44a}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#2c8d3a;border-color:#1a5322}.btn-success:hover{color:#ffffff;background-color:#2c8d3a;border-color:#298537}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#2c8d3a;border-color:#298537}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#23722f;border-color:#1a5322}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#38b44a;border-color:#38b44a}.btn-success .badge{color:#38b44a;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#772953;border-color:#772953}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#511c39;border-color:#180811}.btn-info:hover{color:#ffffff;background-color:#511c39;border-color:#491933}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#511c39;border-color:#491933}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#371326;border-color:#180811}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#772953;border-color:#772953}.btn-info .badge{color:#772953;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#efb73e;border-color:#efb73e}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#e7a413;border-color:#a0720d}.btn-warning:hover{color:#ffffff;background-color:#e7a413;border-color:#dd9d12}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#e7a413;border-color:#dd9d12}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#c68c10;border-color:#a0720d}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#efb73e;border-color:#efb73e}.btn-warning .badge{color:#efb73e;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#df382c;border-color:#df382c}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#bc271c;border-color:#791912}.btn-danger:hover{color:#ffffff;background-color:#bc271c;border-color:#b3251b}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#bc271c;border-color:#b3251b}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#9d2118;border-color:#791912}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#df382c;border-color:#df382c}.btn-danger .badge{color:#df382c;background-color:#ffffff}.btn-link{color:#dd4814;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#97310e;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#aea79f;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#ffffff;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#ffffff;background-color:#dd4814}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#dd4814}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#aea79f}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#aea79f;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:54px;padding:14px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:54px;line-height:54px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:8px 12px;font-size:14px;font-weight:normal;line-height:1;color:#333333;text-align:center;background-color:#eeeeee;border:1px solid #cccccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:14px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eeeeee}.nav>li.disabled>a{color:#aea79f}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#aea79f;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eeeeee;border-color:#dd4814}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #dddddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#777777;background-color:#ffffff;border:1px solid #dddddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#ffffff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#dd4814}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#ffffff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:6px;margin-bottom:6px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:6px;margin-bottom:6px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#dd4814;border-color:#bf3e11}.navbar-default .navbar-brand{color:#ffffff}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#ffffff;background-color:none}.navbar-default .navbar-text{color:#ffffff}.navbar-default .navbar-nav>li>a{color:#ffffff}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#ffffff;background-color:#97310e}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#ffffff;background-color:#ae3910}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#97310e}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#97310e}.navbar-default .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#bf3e11}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#ae3910;color:#ffffff}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#ffffff}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:#97310e}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#ae3910}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-default .navbar-link{color:#ffffff}.navbar-default .navbar-link:hover{color:#ffffff}.navbar-default .btn-link{color:#ffffff}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#ffffff}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#cccccc}.navbar-inverse{background-color:#772953;border-color:#511c39}.navbar-inverse .navbar-brand{color:#ffffff}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#ffffff;background-color:none}.navbar-inverse .navbar-text{color:#ffffff}.navbar-inverse .navbar-nav>li>a{color:#ffffff}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#ffffff;background-color:#3e152b}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ffffff;background-color:#511c39}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#3e152b}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#3e152b}.navbar-inverse .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#5c2040}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#511c39;color:#ffffff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#511c39}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#511c39}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#ffffff}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:#3e152b}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#511c39}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-inverse .navbar-link{color:#ffffff}.navbar-inverse .navbar-link:hover{color:#ffffff}.navbar-inverse .btn-link{color:#ffffff}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#ffffff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#cccccc}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#cccccc}.breadcrumb>.active{color:#aea79f}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:8px 12px;line-height:1.42857143;text-decoration:none;color:#dd4814;background-color:#ffffff;border:1px solid #dddddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:3;color:#97310e;background-color:#eeeeee;border-color:#dddddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#aea79f;background-color:#f5f5f5;border-color:#dddddd;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#aea79f;background-color:#ffffff;border-color:#dddddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:14px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#ffffff;border:1px solid #dddddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eeeeee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#aea79f;background-color:#ffffff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#aea79f}.label-default[href]:hover,.label-default[href]:focus{background-color:#978e83}.label-primary{background-color:#dd4814}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#ae3910}.label-success{background-color:#38b44a}.label-success[href]:hover,.label-success[href]:focus{background-color:#2c8d3a}.label-info{background-color:#772953}.label-info[href]:hover,.label-info[href]:focus{background-color:#511c39}.label-warning{background-color:#efb73e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#e7a413}.label-danger{background-color:#df382c}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#bc271c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#ffffff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#aea79f;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#dd4814;background-color:#ffffff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eeeeee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#dd4814}.thumbnail .caption{padding:9px;color:#333333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#356635}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#2d6987}.alert-warning{background-color:#fcf8e3;border-color:#fbeed5;color:#c09853}.alert-warning hr{border-top-color:#f8e5be}.alert-warning .alert-link{color:#a47e3c}.alert-danger{background-color:#f2dede;border-color:#eed3d7;color:#b94a48}.alert-danger hr{border-top-color:#e6c1c7}.alert-danger .alert-link{color:#953b39}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#ffffff;text-align:center;background-color:#dd4814;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#38b44a}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#772953}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#efb73e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#df382c}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#ffffff;border:1px solid #dddddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#555555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eeeeee;color:#aea79f;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#aea79f}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#dd4814;border-color:#dd4814}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#fad1c3}.list-group-item-success{color:#468847;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#468847}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#468847;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#468847;border-color:#468847}.list-group-item-info{color:#3a87ad;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#3a87ad}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#3a87ad;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#3a87ad;border-color:#3a87ad}.list-group-item-warning{color:#c09853;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#c09853}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#c09853;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#c09853;border-color:#c09853}.list-group-item-danger{color:#b94a48;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#b94a48}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#b94a48;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#b94a48;border-color:#b94a48}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#ffffff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #dddddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #dddddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #dddddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #dddddd}.panel-default{border-color:#dddddd}.panel-default>.panel-heading{color:#333333;background-color:#f5f5f5;border-color:#dddddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dddddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dddddd}.panel-primary{border-color:#dd4814}.panel-primary>.panel-heading{color:#ffffff;background-color:#dd4814;border-color:#dd4814}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dd4814}.panel-primary>.panel-heading .badge{color:#dd4814;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dd4814}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#468847}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#3a87ad}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#fbeed5}.panel-warning>.panel-heading{color:#c09853;background-color:#fcf8e3;border-color:#fbeed5}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#fbeed5}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#c09853}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#fbeed5}.panel-danger{border-color:#eed3d7}.panel-danger>.panel-heading{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#eed3d7}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#b94a48}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#eed3d7}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#ffffff;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Ubuntu",Tahoma,"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#000000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Ubuntu",Tahoma,"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#ffffff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.navbar-default .badge{background-color:#fff;color:#dd4814}.navbar-inverse .badge{background-color:#fff;color:#772953}@media (max-width:767px){.navbar .dropdown-menu a{color:#fff}} \ No newline at end of file diff --git a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/yeti/bootstrap.min.css b/mayan/apps/appearance/static/appearance/packages/bootswatch.com/yeti/bootstrap.min.css deleted file mode 100644 index 1bb3af7e9c..0000000000 --- a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/yeti/bootstrap.min.css +++ /dev/null @@ -1,11 +0,0 @@ -@import url("https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,700italic,400,300,700");/*! - * bootswatch v3.3.5 - * Homepage: http://bootswatch.com - * Copyright 2012-2015 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*//*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#222222;background-color:#ffffff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#008cba;text-decoration:none}a:hover,a:focus{color:#008cba;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:0}.img-thumbnail{padding:4px;line-height:1.4;background-color:#ffffff;border:1px solid #dddddd;border-radius:0;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:21px;margin-bottom:21px;border:0;border-top:1px solid #dddddd}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#999999}h1,.h1,h2,.h2,h3,.h3{margin-top:21px;margin-bottom:10.5px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10.5px;margin-bottom:10.5px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:39px}h2,.h2{font-size:32px}h3,.h3{font-size:26px}h4,.h4{font-size:19px}h5,.h5{font-size:15px}h6,.h6{font-size:13px}p{margin:0 0 10.5px}.lead{margin-bottom:21px;font-size:17px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:22.5px}}small,.small{font-size:80%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#999999}.text-primary{color:#008cba}a.text-primary:hover,a.text-primary:focus{color:#006687}.text-success{color:#43ac6a}a.text-success:hover,a.text-success:focus{color:#358753}.text-info{color:#5bc0de}a.text-info:hover,a.text-info:focus{color:#31b0d5}.text-warning{color:#e99002}a.text-warning:hover,a.text-warning:focus{color:#b67102}.text-danger{color:#f04124}a.text-danger:hover,a.text-danger:focus{color:#d32a0e}.bg-primary{color:#fff;background-color:#008cba}a.bg-primary:hover,a.bg-primary:focus{background-color:#006687}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9.5px;margin:42px 0 21px;border-bottom:1px solid #dddddd}ul,ol{margin-top:0;margin-bottom:10.5px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:21px}dt,dd{line-height:1.4}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10.5px 21px;margin:0 0 21px;font-size:18.75px;border-left:5px solid #dddddd}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.4;color:#6f6f6f}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #dddddd;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:21px;font-style:normal;line-height:1.4}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:0}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:10px;margin:0 0 10.5px;font-size:14px;line-height:1.4;word-break:break-all;word-wrap:break-word;color:#333333;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:0}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#999999;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:21px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.4;vertical-align:top;border-top:1px solid #dddddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #dddddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #dddddd}.table .table{background-color:#ffffff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15.75px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #dddddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:21px;font-size:22.5px;line-height:inherit;color:#333333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:9px;font-size:15px;line-height:1.4;color:#6f6f6f}.form-control{display:block;width:100%;height:39px;padding:8px 12px;font-size:15px;line-height:1.4;color:#6f6f6f;background-color:#ffffff;background-image:none;border:1px solid #cccccc;border-radius:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#999999;opacity:1}.form-control:-ms-input-placeholder{color:#999999}.form-control::-webkit-input-placeholder{color:#999999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eeeeee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:39px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:36px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:60px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:21px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:9px;padding-bottom:9px;margin-bottom:0;min-height:36px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:36px;padding:8px 12px;font-size:12px;line-height:1.5;border-radius:0}select.input-sm{height:36px;line-height:36px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:36px;padding:8px 12px;font-size:12px;line-height:1.5;border-radius:0}.form-group-sm select.form-control{height:36px;line-height:36px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:36px;min-height:33px;padding:9px 12px;font-size:12px;line-height:1.5}.input-lg{height:60px;padding:16px 20px;font-size:19px;line-height:1.3333333;border-radius:0}select.input-lg{height:60px;line-height:60px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:60px;padding:16px 20px;font-size:19px;line-height:1.3333333;border-radius:0}.form-group-lg select.form-control{height:60px;line-height:60px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:60px;min-height:40px;padding:17px 20px;font-size:19px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:48.75px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:39px;height:39px;line-height:39px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:60px;height:60px;line-height:60px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:36px;height:36px;line-height:36px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#43ac6a}.has-success .form-control{border-color:#43ac6a;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#358753;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #85d0a1;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #85d0a1}.has-success .input-group-addon{color:#43ac6a;border-color:#43ac6a;background-color:#dff0d8}.has-success .form-control-feedback{color:#43ac6a}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#e99002}.has-warning .form-control{border-color:#e99002;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#b67102;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #febc53;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #febc53}.has-warning .input-group-addon{color:#e99002;border-color:#e99002;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#e99002}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#f04124}.has-error .form-control{border-color:#f04124;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#d32a0e;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f79483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f79483}.has-error .input-group-addon{color:#f04124;border-color:#f04124;background-color:#f2dede}.has-error .form-control-feedback{color:#f04124}.has-feedback label~.form-control-feedback{top:26px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#626262}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:9px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:30px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:9px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:22.3333328px;font-size:19px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:9px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:8px 12px;font-size:15px;line-height:1.4;border-radius:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333333;background-color:#e7e7e7;border-color:#cccccc}.btn-default:focus,.btn-default.focus{color:#333333;background-color:#cecece;border-color:#8c8c8c}.btn-default:hover{color:#333333;background-color:#cecece;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333333;background-color:#cecece;border-color:#adadad}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#333333;background-color:#bcbcbc;border-color:#8c8c8c}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#e7e7e7;border-color:#cccccc}.btn-default .badge{color:#e7e7e7;background-color:#333333}.btn-primary{color:#ffffff;background-color:#008cba;border-color:#0079a1}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#006687;border-color:#001921}.btn-primary:hover{color:#ffffff;background-color:#006687;border-color:#004b63}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#006687;border-color:#004b63}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#004b63;border-color:#001921}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#008cba;border-color:#0079a1}.btn-primary .badge{color:#008cba;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#43ac6a;border-color:#3c9a5f}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#358753;border-color:#183e26}.btn-success:hover{color:#ffffff;background-color:#358753;border-color:#2b6e44}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#358753;border-color:#2b6e44}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#2b6e44;border-color:#183e26}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#43ac6a;border-color:#3c9a5f}.btn-success .badge{color:#43ac6a;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#5bc0de;border-color:#46b8da}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#ffffff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#31b0d5;border-color:#269abc}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#269abc;border-color:#1b6d85}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#e99002;border-color:#d08002}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#b67102;border-color:#513201}.btn-warning:hover{color:#ffffff;background-color:#b67102;border-color:#935b01}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#b67102;border-color:#935b01}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#935b01;border-color:#513201}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#e99002;border-color:#d08002}.btn-warning .badge{color:#e99002;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#f04124;border-color:#ea2f10}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#d32a0e;border-color:#731708}.btn-danger:hover{color:#ffffff;background-color:#d32a0e;border-color:#b1240c}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#d32a0e;border-color:#b1240c}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#b1240c;border-color:#731708}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#f04124;border-color:#ea2f10}.btn-danger .badge{color:#f04124;background-color:#ffffff}.btn-link{color:#008cba;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#008cba;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999999;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:16px 20px;font-size:19px;line-height:1.3333333;border-radius:0}.btn-sm,.btn-group-sm>.btn{padding:8px 12px;font-size:12px;line-height:1.5;border-radius:0}.btn-xs,.btn-group-xs>.btn{padding:4px 6px;font-size:12px;line-height:1.5;border-radius:0}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:15px;text-align:left;background-color:#ffffff;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.15);border-radius:0;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:rgba(0,0,0,0.2)}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.4;color:#555555;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#eeeeee}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#008cba}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.4;color:#999999;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:60px;padding:16px 20px;font-size:19px;line-height:1.3333333;border-radius:0}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:60px;line-height:60px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:36px;padding:8px 12px;font-size:12px;line-height:1.5;border-radius:0}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:36px;line-height:36px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:8px 12px;font-size:15px;font-weight:normal;line-height:1;color:#6f6f6f;text-align:center;background-color:#eeeeee;border:1px solid #cccccc;border-radius:0}.input-group-addon.input-sm{padding:8px 12px;font-size:12px;border-radius:0}.input-group-addon.input-lg{padding:16px 20px;font-size:19px;border-radius:0}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eeeeee}.nav>li.disabled>a{color:#999999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999999;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eeeeee;border-color:#008cba}.nav .nav-divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #dddddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.4;border:1px solid transparent;border-radius:0 0 0 0}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#6f6f6f;background-color:#ffffff;border:1px solid #dddddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #dddddd;border-radius:0 0 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#ffffff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:0}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#008cba}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #dddddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #dddddd;border-radius:0 0 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#ffffff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:45px;margin-bottom:21px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:0}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:12px 15px;font-size:19px;line-height:21px;height:45px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:5.5px;margin-bottom:5.5px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:0}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:6px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:21px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:21px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:12px;padding-bottom:12px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:3px;margin-bottom:3px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:3px;margin-bottom:3px}.navbar-btn.btn-sm{margin-top:4.5px;margin-bottom:4.5px}.navbar-btn.btn-xs{margin-top:11.5px;margin-bottom:11.5px}.navbar-text{margin-top:12px;margin-bottom:12px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#333333;border-color:#222222}.navbar-default .navbar-brand{color:#ffffff}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#ffffff;background-color:transparent}.navbar-default .navbar-text{color:#ffffff}.navbar-default .navbar-nav>li>a{color:#ffffff}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#ffffff;background-color:#272727}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#ffffff;background-color:#272727}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:transparent}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:transparent}.navbar-default .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#222222}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#272727;color:#ffffff}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#ffffff}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:#272727}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#272727}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-default .navbar-link{color:#ffffff}.navbar-default .navbar-link:hover{color:#ffffff}.navbar-default .btn-link{color:#ffffff}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#ffffff}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#cccccc}.navbar-inverse{background-color:#008cba;border-color:#006687}.navbar-inverse .navbar-brand{color:#ffffff}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-text{color:#ffffff}.navbar-inverse .navbar-nav>li>a{color:#ffffff}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#ffffff;background-color:#006687}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ffffff;background-color:#006687}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:transparent}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:transparent}.navbar-inverse .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#007196}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#006687;color:#ffffff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#006687}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#006687}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#ffffff}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:#006687}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#006687}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444444;background-color:transparent}}.navbar-inverse .navbar-link{color:#ffffff}.navbar-inverse .navbar-link:hover{color:#ffffff}.navbar-inverse .btn-link{color:#ffffff}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#ffffff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444444}.breadcrumb{padding:8px 15px;margin-bottom:21px;list-style:none;background-color:#f5f5f5;border-radius:0}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#999999}.breadcrumb>.active{color:#333333}.pagination{display:inline-block;padding-left:0;margin:21px 0;border-radius:0}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:8px 12px;line-height:1.4;text-decoration:none;color:#008cba;background-color:transparent;border:1px solid transparent;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:0;border-top-left-radius:0}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:0;border-top-right-radius:0}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:3;color:#008cba;background-color:#eeeeee;border-color:transparent}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#ffffff;background-color:#008cba;border-color:transparent;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999999;background-color:#ffffff;border-color:transparent;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:16px 20px;font-size:19px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:0;border-top-left-radius:0}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:0;border-top-right-radius:0}.pagination-sm>li>a,.pagination-sm>li>span{padding:8px 12px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:0;border-top-left-radius:0}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:0;border-top-right-radius:0}.pager{padding-left:0;margin:21px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:transparent;border:1px solid transparent;border-radius:3px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eeeeee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999999;background-color:transparent;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#999999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}.label-primary{background-color:#008cba}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#006687}.label-success{background-color:#43ac6a}.label-success[href]:hover,.label-success[href]:focus{background-color:#358753}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#e99002}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#b67102}.label-danger{background-color:#f04124}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#d32a0e}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#ffffff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#008cba;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#008cba;background-color:#ffffff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#fafafa}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:23px;font-weight:200}.jumbotron>hr{border-top-color:#e1e1e1}.container .jumbotron,.container-fluid .jumbotron{border-radius:0}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:68px}}.thumbnail{display:block;padding:4px;margin-bottom:21px;line-height:1.4;background-color:#ffffff;border:1px solid #dddddd;border-radius:0;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#008cba}.thumbnail .caption{padding:9px;color:#222222}.alert{padding:15px;margin-bottom:21px;border:1px solid transparent;border-radius:0}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#43ac6a;border-color:#3c9a5f;color:#ffffff}.alert-success hr{border-top-color:#358753}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#5bc0de;border-color:#3db5d8;color:#ffffff}.alert-info hr{border-top-color:#2aabd2}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#e99002;border-color:#d08002;color:#ffffff}.alert-warning hr{border-top-color:#b67102}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#f04124;border-color:#ea2f10;color:#ffffff}.alert-danger hr{border-top-color:#d32a0e}.alert-danger .alert-link{color:#e6e6e6}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:21px;margin-bottom:21px;background-color:#f5f5f5;border-radius:0;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:21px;color:#ffffff;text-align:center;background-color:#008cba;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#43ac6a}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#e99002}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#f04124}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#ffffff;border:1px solid #dddddd}.list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}a.list-group-item,button.list-group-item{color:#555555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#555555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eeeeee;color:#999999;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#999999}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#008cba;border-color:#008cba}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#87e1ff}.list-group-item-success{color:#43ac6a;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#43ac6a}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#43ac6a;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#43ac6a;border-color:#43ac6a}.list-group-item-info{color:#5bc0de;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#5bc0de}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#5bc0de;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.list-group-item-warning{color:#e99002;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#e99002}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#e99002;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#e99002;border-color:#e99002}.list-group-item-danger{color:#f04124;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#f04124}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#f04124;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#f04124;border-color:#f04124}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:21px;background-color:#ffffff;border:1px solid transparent;border-radius:0;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:-1;border-top-left-radius:-1}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:17px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #dddddd;border-bottom-right-radius:-1;border-bottom-left-radius:-1}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:-1;border-top-left-radius:-1}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:-1;border-bottom-left-radius:-1}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:-1;border-top-left-radius:-1}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:-1;border-top-right-radius:-1}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:-1}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:-1}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:-1;border-bottom-left-radius:-1}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:-1;border-bottom-right-radius:-1}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:-1}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:-1}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #dddddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:21px}.panel-group .panel{margin-bottom:0;border-radius:0}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #dddddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #dddddd}.panel-default{border-color:#dddddd}.panel-default>.panel-heading{color:#333333;background-color:#f5f5f5;border-color:#dddddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dddddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dddddd}.panel-primary{border-color:#008cba}.panel-primary>.panel-heading{color:#ffffff;background-color:#008cba;border-color:#008cba}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#008cba}.panel-primary>.panel-heading .badge{color:#008cba;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#008cba}.panel-success{border-color:#3c9a5f}.panel-success>.panel-heading{color:#ffffff;background-color:#43ac6a;border-color:#3c9a5f}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#3c9a5f}.panel-success>.panel-heading .badge{color:#43ac6a;background-color:#ffffff}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#3c9a5f}.panel-info{border-color:#3db5d8}.panel-info>.panel-heading{color:#ffffff;background-color:#5bc0de;border-color:#3db5d8}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#3db5d8}.panel-info>.panel-heading .badge{color:#5bc0de;background-color:#ffffff}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#3db5d8}.panel-warning{border-color:#d08002}.panel-warning>.panel-heading{color:#ffffff;background-color:#e99002;border-color:#d08002}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d08002}.panel-warning>.panel-heading .badge{color:#e99002;background-color:#ffffff}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d08002}.panel-danger{border-color:#ea2f10}.panel-danger>.panel-heading{color:#ffffff;background-color:#f04124;border-color:#ea2f10}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ea2f10}.panel-danger>.panel-heading .badge{color:#f04124;background-color:#ffffff}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ea2f10}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#fafafa;border:1px solid #e8e8e8;border-radius:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:0}.well-sm{padding:9px;border-radius:0}.close{float:right;font-size:22.5px;font-weight:bold;line-height:1;color:#ffffff;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#ffffff;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#ffffff;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.4px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.4}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.4;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#333333;border-radius:0}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#333333}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#333333}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#333333}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#333333}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#333333}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#333333}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#333333}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#333333}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.4;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:15px;background-color:#333333;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #333333;border:1px solid transparent;border-radius:0;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:15px;background-color:#333333;border-bottom:1px solid #262626;border-radius:-1 -1 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#000000;border-top-color:rgba(0,0,0,0.05);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#333333}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#000000;border-right-color:rgba(0,0,0,0.05)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#333333}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#000000;border-bottom-color:rgba(0,0,0,0.05);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#333333}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#000000;border-left-color:rgba(0,0,0,0.05)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#333333;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.navbar{border:none;font-size:13px;font-weight:300}.navbar .navbar-toggle:hover .icon-bar{background-color:#b3b3b3}.navbar-collapse{border-top-color:rgba(0,0,0,0.2);-webkit-box-shadow:none;box-shadow:none}.navbar .btn{padding-top:6px;padding-bottom:6px}.navbar-form{margin-top:7px;margin-bottom:5px}.navbar-form .form-control{height:auto;padding:4px 6px}.navbar .dropdown-menu{border:none}.navbar .dropdown-menu>li>a,.navbar .dropdown-menu>li>a:focus{background-color:transparent;font-size:13px;font-weight:300}.navbar .dropdown-header{color:rgba(255,255,255,0.5)}.navbar-default .dropdown-menu{background-color:#333333}.navbar-default .dropdown-menu>li>a,.navbar-default .dropdown-menu>li>a:focus{color:#ffffff}.navbar-default .dropdown-menu>li>a:hover,.navbar-default .dropdown-menu>.active>a,.navbar-default .dropdown-menu>.active>a:hover{background-color:#272727}.navbar-inverse .dropdown-menu{background-color:#008cba}.navbar-inverse .dropdown-menu>li>a,.navbar-inverse .dropdown-menu>li>a:focus{color:#ffffff}.navbar-inverse .dropdown-menu>li>a:hover,.navbar-inverse .dropdown-menu>.active>a,.navbar-inverse .dropdown-menu>.active>a:hover{background-color:#006687}.btn{padding:8px 12px}.btn-lg{padding:16px 20px}.btn-sm{padding:8px 12px}.btn-xs{padding:4px 6px}.btn-group .btn~.dropdown-toggle{padding-left:16px;padding-right:16px}.btn-group .dropdown-menu{border-top-width:0}.btn-group.dropup .dropdown-menu{border-top-width:1px;border-bottom-width:0;margin-bottom:0}.btn-group .dropdown-toggle.btn-default~.dropdown-menu{background-color:#e7e7e7;border-color:#cccccc}.btn-group .dropdown-toggle.btn-default~.dropdown-menu>li>a{color:#333333}.btn-group .dropdown-toggle.btn-default~.dropdown-menu>li>a:hover{background-color:#d3d3d3}.btn-group .dropdown-toggle.btn-primary~.dropdown-menu{background-color:#008cba;border-color:#0079a1}.btn-group .dropdown-toggle.btn-primary~.dropdown-menu>li>a{color:#ffffff}.btn-group .dropdown-toggle.btn-primary~.dropdown-menu>li>a:hover{background-color:#006d91}.btn-group .dropdown-toggle.btn-success~.dropdown-menu{background-color:#43ac6a;border-color:#3c9a5f}.btn-group .dropdown-toggle.btn-success~.dropdown-menu>li>a{color:#ffffff}.btn-group .dropdown-toggle.btn-success~.dropdown-menu>li>a:hover{background-color:#388f58}.btn-group .dropdown-toggle.btn-info~.dropdown-menu{background-color:#5bc0de;border-color:#46b8da}.btn-group .dropdown-toggle.btn-info~.dropdown-menu>li>a{color:#ffffff}.btn-group .dropdown-toggle.btn-info~.dropdown-menu>li>a:hover{background-color:#39b3d7}.btn-group .dropdown-toggle.btn-warning~.dropdown-menu{background-color:#e99002;border-color:#d08002}.btn-group .dropdown-toggle.btn-warning~.dropdown-menu>li>a{color:#ffffff}.btn-group .dropdown-toggle.btn-warning~.dropdown-menu>li>a:hover{background-color:#c17702}.btn-group .dropdown-toggle.btn-danger~.dropdown-menu{background-color:#f04124;border-color:#ea2f10}.btn-group .dropdown-toggle.btn-danger~.dropdown-menu>li>a{color:#ffffff}.btn-group .dropdown-toggle.btn-danger~.dropdown-menu>li>a:hover{background-color:#dc2c0f}.lead{color:#6f6f6f}cite{font-style:italic}blockquote{border-left-width:1px;color:#6f6f6f}blockquote.pull-right{border-right-width:1px}blockquote small{font-size:12px;font-weight:300}table{font-size:12px}label,.control-label,.help-block,.checkbox,.radio{font-size:12px;font-weight:normal}input[type="radio"],input[type="checkbox"]{margin-top:1px}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{border-color:transparent}.nav-tabs>li>a{background-color:#e7e7e7;color:#222222}.nav-tabs .caret{border-top-color:#222222;border-bottom-color:#222222}.nav-pills{font-weight:300}.breadcrumb{border:1px solid #dddddd;border-radius:3px;font-size:10px;font-weight:300;text-transform:uppercase}.pagination{font-size:12px;font-weight:300;color:#999999}.pagination>li>a,.pagination>li>span{margin-left:4px;color:#999999}.pagination>.active>a,.pagination>.active>span{color:#fff}.pagination>li>a,.pagination>li:first-child>a,.pagination>li:last-child>a,.pagination>li>span,.pagination>li:first-child>span,.pagination>li:last-child>span{border-radius:3px}.pagination-lg>li>a,.pagination-lg>li>span{padding-left:22px;padding-right:22px}.pagination-sm>li>a,.pagination-sm>li>span{padding:0 5px}.pager{font-size:12px;font-weight:300;color:#999999}.list-group{font-size:12px;font-weight:300}.close{opacity:0.4;text-decoration:none;text-shadow:none}.close:hover,.close:focus{opacity:1}.alert{font-size:12px;font-weight:300}.alert .alert-link{font-weight:normal;color:#fff;text-decoration:underline}.label{padding-left:1em;padding-right:1em;border-radius:0;font-weight:300}.label-default{background-color:#e7e7e7;color:#333333}.badge{font-weight:300}.progress{height:22px;padding:2px;background-color:#f6f6f6;border:1px solid #ccc;-webkit-box-shadow:none;box-shadow:none}.dropdown-menu{padding:0;margin-top:0;font-size:12px}.dropdown-menu>li>a{padding:12px 15px}.dropdown-header{padding-left:15px;padding-right:15px;font-size:9px;text-transform:uppercase}.popover{color:#fff;font-size:12px;font-weight:300}.panel-heading,.panel-footer{border-top-right-radius:0;border-top-left-radius:0}.panel-default .close{color:#222222}.modal .close{color:#222222} \ No newline at end of file From ef6c98660b6e9125d0a88ea0bdeb2fa4bfb5fbe6 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 7 Mar 2017 00:36:54 -0400 Subject: [PATCH 083/144] Disable loading the base Bootstrap CSS, Flatly seems to include it already. Signed-off-by: Roberto Rosario --- mayan/apps/appearance/templates/appearance/base.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mayan/apps/appearance/templates/appearance/base.html b/mayan/apps/appearance/templates/appearance/base.html index ccf53112b1..3f191cb7cb 100644 --- a/mayan/apps/appearance/templates/appearance/base.html +++ b/mayan/apps/appearance/templates/appearance/base.html @@ -23,7 +23,8 @@ {% compress css %} - + {# Disable base Bootstrap CSS, Flatly seems to include it already #} + {##} From 85cb1a0f71fe9f0e71f748509b7dd9235224aded Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 7 Mar 2017 00:37:17 -0400 Subject: [PATCH 084/144] Point Flatly's Glyphicons references to the include bootstrap distribution files. Signed-off-by: Roberto Rosario --- .../appearance/packages/bootswatch.com/flatly/bootstrap.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/flatly/bootstrap.css b/mayan/apps/appearance/static/appearance/packages/bootswatch.com/flatly/bootstrap.css index e24ad33222..acc88cc2d3 100644 --- a/mayan/apps/appearance/static/appearance/packages/bootswatch.com/flatly/bootstrap.css +++ b/mayan/apps/appearance/static/appearance/packages/bootswatch.com/flatly/bootstrap.css @@ -268,8 +268,8 @@ th { } @font-face { font-family: 'Glyphicons Halflings'; - src: url('../fonts/glyphicons-halflings-regular.eot'); - src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); + src: url('../../bootstrap-3.3.4-dist/fonts/glyphicons-halflings-regular.eot'); + src: url('../../bootstrap-3.3.4-dist/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../../bootstrap-3.3.4-dist/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../../bootstrap-3.3.4-dist/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../../bootstrap-3.3.4-dist/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../../bootstrap-3.3.4-dist/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); } .glyphicon { position: relative; From 7a4a78c2caf295299bd088e78122121c165cd62b Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 7 Mar 2017 00:43:32 -0400 Subject: [PATCH 085/144] Move favicon redirect code from common.urls to common.views as FaviconRedirectView. This removed the django.contrib.staticfiles.templatetags.staticfiles.static URL runtime computation from common.urls. GitLab issue #340. Signed-off-by: Roberto Rosario --- mayan/apps/common/urls.py | 12 ++++-------- mayan/apps/common/views.py | 8 +++++++- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/mayan/apps/common/urls.py b/mayan/apps/common/urls.py index 70141c1ceb..94be8df7ce 100644 --- a/mayan/apps/common/urls.py +++ b/mayan/apps/common/urls.py @@ -1,16 +1,14 @@ from __future__ import unicode_literals from django.conf.urls import url -from django.contrib.staticfiles.templatetags.staticfiles import static -from django.views.generic import RedirectView from django.views.i18n import javascript_catalog, set_language -from api_views import APIContentTypeList +from .api_views import APIContentTypeList from .views import ( AboutView, CurrentUserDetailsView, CurrentUserEditView, CurrentUserLocaleProfileDetailsView, CurrentUserLocaleProfileEditView, - FilterResultListView, FilterSelectView, HomeView, LicenseView, - PackagesLicensesView, SetupListView, ToolsListView, + FaviconRedirectView, FilterResultListView, FilterSelectView, HomeView, + LicenseView, PackagesLicensesView, SetupListView, ToolsListView, multi_object_action_view ) @@ -56,9 +54,7 @@ urlpatterns = [ urlpatterns += [ url( - r'^favicon\.ico$', RedirectView.as_view( - permanent=True, url=static('appearance/images/favicon.ico') - ) + r'^favicon\.ico$', FaviconRedirectView.as_view() ), url( r'^jsi18n/(?P\S+?)/$', javascript_catalog, diff --git a/mayan/apps/common/views.py b/mayan/apps/common/views.py index 48b54e05be..3c3b83aa13 100644 --- a/mayan/apps/common/views.py +++ b/mayan/apps/common/views.py @@ -4,13 +4,14 @@ from json import dumps from django.conf import settings from django.contrib import messages +from django.contrib.staticfiles.templatetags.staticfiles import static from django.core.urlresolvers import reverse, reverse_lazy from django.http import Http404, HttpResponseRedirect from django.template import RequestContext from django.utils import timezone, translation from django.utils.http import urlencode from django.utils.translation import ugettext_lazy as _, ugettext -from django.views.generic import TemplateView +from django.views.generic import RedirectView, TemplateView from .classes import Filter from .forms import ( @@ -106,6 +107,11 @@ class CurrentUserLocaleProfileEditView(SingleObjectEditView): return self.request.user.locale_profile +class FaviconRedirectView(RedirectView): + permanent=True + url=static('appearance/images/favicon.ico') + + class FilterSelectView(SimpleView): form_class = FilterForm template_name = 'appearance/generic_form.html' From f64ec81a1a5b1fc2d836e8aa9f7683807ce9faea Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 9 Mar 2017 00:43:10 -0400 Subject: [PATCH 086/144] Update required version of django-celery for Django 1.10 compatibility. Signed-off-by: Roberto Rosario --- requirements/base.txt | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 01bc116113..cc642bf082 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -6,7 +6,7 @@ cssmin==0.2.0 django-activity-stream==0.6.3 django-autoadmin==1.1.1 -django-celery==3.1.17 +django-celery==3.2.1 django-colorful==1.2 django-compressor==2.1 django-cors-headers==1.2.2 diff --git a/setup.py b/setup.py index c099af48d6..c402deda08 100644 --- a/setup.py +++ b/setup.py @@ -63,7 +63,7 @@ cssmin==0.2.0 Django==1.10.6 django-activity-stream==0.6.3 django-autoadmin==1.1.1 -django-celery==3.1.17 +django-celery==3.2.1 django-colorful==1.2 django-compressor==2.1 django-cors-headers==1.2.2 From 9c4410c0fdc2dffe9dedb1cf5ce1b661acaf18ff Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 9 Mar 2017 00:45:50 -0400 Subject: [PATCH 087/144] Fix HISTORY formatting typos. Signed-off-by: Roberto Rosario --- HISTORY.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/HISTORY.rst b/HISTORY.rst index a135d1c47d..c207a878fa 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -17,7 +17,7 @@ the user links - Add support for attaching multiple tags (GitLab #307). 2.1.10 (2017-02-13) -================== +=================== - Update Makefile to use twine for releases. - Add Makefile target to make test releases. @@ -48,7 +48,7 @@ the user links - Enable the parser and validation fields of the metadata serializer. 2.1.6 (2016-11-23) -================= +================== - Fix variable name typo in the rotation transformation class. - Update translations From 38f5ce86d813e7202604fea65a0fe10d16bfcae9 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 9 Mar 2017 00:46:21 -0400 Subject: [PATCH 088/144] Move the document section on unused Python package removal to the git section. Signed-off-by: Roberto Rosario --- docs/releases/2.2.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/releases/2.2.rst b/docs/releases/2.2.rst index 37c5cb98b5..a7bf029f29 100644 --- a/docs/releases/2.2.rst +++ b/docs/releases/2.2.rst @@ -157,13 +157,13 @@ Manually upgrade/add the new requirements:: $ pip install --upgrade -r requirements.txt -Common steps -~~~~~~~~~~~~ - Remove deprecated requirements:: $ pip uninstall -y -r removals.txt +Common steps +~~~~~~~~~~~~ + Migrate existing database schema with:: $ mayan-edms.py performupgrade From 5abb6784333ee01c1808f51c4165dd0a2ae652b2 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 9 Mar 2017 01:02:45 -0400 Subject: [PATCH 089/144] Fix formatting of the production template engine overrides Signed-off-by: Roberto Rosario --- mayan/settings/production.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mayan/settings/production.py b/mayan/settings/production.py index fa8a4c4ae6..908b6704e3 100644 --- a/mayan/settings/production.py +++ b/mayan/settings/production.py @@ -7,10 +7,12 @@ from . import * # NOQA ALLOWED_HOSTS = ['*'] TEMPLATES[0]['OPTIONS']['loaders'] = ( - 'django.template.loaders.cached.Loader', ( - 'django.template.loaders.filesystem.Loader', - 'django.template.loaders.app_directories.Loader', - ) + ( + 'django.template.loaders.cached.Loader', ( + 'django.template.loaders.filesystem.Loader', + 'django.template.loaders.app_directories.Loader', + ) + ), ) CELERY_ALWAYS_EAGER = False From 286e9517c335fa5885e30221df2923807d114a2e Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 9 Mar 2017 01:03:44 -0400 Subject: [PATCH 090/144] Add Makefile targets to run testing instance against local Docker REDIS and Postgres services Signed-off-by: Roberto Rosario --- Makefile | 17 +++++++++++++++++ mayan/settings/testing/docker.py | 16 ++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 mayan/settings/testing/docker.py diff --git a/Makefile b/Makefile index 55063ab5f1..64d6ea1e8a 100644 --- a/Makefile +++ b/Makefile @@ -115,6 +115,23 @@ runserver_plus: shell_plus: ./manage.py shell_plus --settings=mayan.settings.development +docker_services_on: + docker run -d --name redis -p 6379:6379 redis + docker run -d --name postgres -p 5432:5432 postgres + while ! nc -z 127.0.0.1 6379; do sleep 1; done + while ! nc -z 127.0.0.1 5432; do sleep 1; done + sleep 1 + ./manage.py initialsetup --settings=mayan.settings.testing.docker + +docker_services_off: + docker stop postgres redis + docker rm postgres redis + +docker_services_frontend: + ./manage.py runserver --settings=mayan.settings.testing.docker + +docker_services_worker: + ./manage.py celery worker --settings=mayan.settings.testing.docker -B -l INFO # Security diff --git a/mayan/settings/testing/docker.py b/mayan/settings/testing/docker.py new file mode 100644 index 0000000000..7bfeca8048 --- /dev/null +++ b/mayan/settings/testing/docker.py @@ -0,0 +1,16 @@ +from __future__ import absolute_import + +from ..production import * # NOQA + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.postgresql_psycopg2', + 'NAME': 'postgres', + 'USER': 'postgres', + 'HOST': 'localhost', + 'PORT': '5432', + } +} + +BROKER_URL = 'redis://127.0.0.1:6379/0' +CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/0' From ff703b32a27af3f43627d7b742b758755c36398e Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 9 Mar 2017 01:58:58 -0400 Subject: [PATCH 091/144] Integrate the Cabinets app into the core. Signed-off-by: Roberto Rosario --- HISTORY.rst | 1 + docs/releases/2.2.rst | 1 + mayan/apps/cabinets/__init__.py | 3 + mayan/apps/cabinets/admin.py | 13 + mayan/apps/cabinets/api_views.py | 220 + mayan/apps/cabinets/apps.py | 106 + mayan/apps/cabinets/forms.py | 33 + mayan/apps/cabinets/links.py | 76 + mayan/apps/cabinets/menus.py | 9 + .../apps/cabinets/migrations/0001_initial.py | 88 + mayan/apps/cabinets/migrations/__init__.py | 0 mayan/apps/cabinets/models.py | 87 + mayan/apps/cabinets/permissions.py | 28 + mayan/apps/cabinets/serializers.py | 194 + .../cabinets/packages/jstree/.gitignore | 13 + .../cabinets/packages/jstree/LICENSE-MIT | 22 + .../static/cabinets/packages/jstree/README.md | 658 ++ .../cabinets/packages/jstree/bower.json | 32 + .../cabinets/packages/jstree/component.json | 28 + .../cabinets/packages/jstree/composer.json | 46 + .../packages/jstree/demo/basic/index.html | 146 + .../packages/jstree/demo/basic/root.json | 1 + .../jstree/demo/filebrowser/data/.htaccess | 1 + .../jstree/demo/filebrowser/file_sprite.png | Bin 0 -> 19360 bytes .../jstree/demo/filebrowser/index.php | 450 + .../jstree/demo/sitebrowser/class.db.php | 1082 +++ .../jstree/demo/sitebrowser/class.tree.php | 986 ++ .../packages/jstree/demo/sitebrowser/data.sql | 91 + .../jstree/demo/sitebrowser/index.php | 172 + .../cabinets/packages/jstree/dist/jstree.js | 8305 +++++++++++++++++ .../packages/jstree/dist/jstree.min.js | 6 + .../jstree/dist/themes/default-dark/32px.png | Bin 0 -> 1562 bytes .../jstree/dist/themes/default-dark/40px.png | Bin 0 -> 5717 bytes .../jstree/dist/themes/default-dark/style.css | 1146 +++ .../dist/themes/default-dark/style.min.css | 1 + .../dist/themes/default-dark/throbber.gif | Bin 0 -> 1720 bytes .../jstree/dist/themes/default/32px.png | Bin 0 -> 3121 bytes .../jstree/dist/themes/default/40px.png | Bin 0 -> 1880 bytes .../jstree/dist/themes/default/style.css | 1102 +++ .../jstree/dist/themes/default/style.min.css | 1 + .../jstree/dist/themes/default/throbber.gif | Bin 0 -> 1720 bytes .../cabinets/packages/jstree/gruntfile.js | 241 + .../packages/jstree/jstree.jquery.json | 28 + .../cabinets/packages/jstree/package.json | 58 + .../cabinets/packages/jstree/src/intro.js | 14 + .../packages/jstree/src/jstree.changed.js | 69 + .../packages/jstree/src/jstree.checkbox.js | 871 ++ .../jstree/src/jstree.conditionalselect.js | 38 + .../packages/jstree/src/jstree.contextmenu.js | 653 ++ .../packages/jstree/src/jstree.dnd.js | 653 ++ .../cabinets/packages/jstree/src/jstree.js | 4810 ++++++++++ .../packages/jstree/src/jstree.massload.js | 137 + .../packages/jstree/src/jstree.search.js | 421 + .../packages/jstree/src/jstree.sort.js | 74 + .../packages/jstree/src/jstree.state.js | 125 + .../packages/jstree/src/jstree.types.js | 372 + .../packages/jstree/src/jstree.unique.js | 121 + .../packages/jstree/src/jstree.wholerow.js | 122 + .../cabinets/packages/jstree/src/misc.js | 601 ++ .../cabinets/packages/jstree/src/outro.js | 1 + .../cabinets/packages/jstree/src/sample.js | 93 + .../packages/jstree/src/themes/base.less | 88 + .../jstree/src/themes/default-dark/32px.png | Bin 0 -> 1525 bytes .../jstree/src/themes/default-dark/40px.png | Bin 0 -> 11488 bytes .../jstree/src/themes/default-dark/style.css | 1146 +++ .../jstree/src/themes/default-dark/style.less | 50 + .../src/themes/default-dark/throbber.gif | Bin 0 -> 1849 bytes .../jstree/src/themes/default/32px.png | Bin 0 -> 8740 bytes .../jstree/src/themes/default/40px.png | Bin 0 -> 6055 bytes .../jstree/src/themes/default/style.css | 1102 +++ .../jstree/src/themes/default/style.less | 22 + .../jstree/src/themes/default/throbber.gif | Bin 0 -> 1849 bytes .../packages/jstree/src/themes/main.less | 77 + .../packages/jstree/src/themes/mixins.less | 105 + .../jstree/src/themes/responsive.less | 67 + .../packages/jstree/src/vakata-jstree.js | 38 + .../packages/jstree/test/unit/index.html | 16 + .../packages/jstree/test/unit/libs/qunit.css | 244 + .../packages/jstree/test/unit/libs/qunit.js | 2212 +++++ .../packages/jstree/test/unit/test.js | 11 + .../jstree/test/visual/desktop/index.html | 44 + .../jstree/test/visual/mobile/index.html | 42 + .../test/visual/screenshots/desktop/.png | Bin 0 -> 10643 bytes .../visual/screenshots/desktop/desktop.png | Bin 0 -> 19310 bytes .../test/visual/screenshots/desktop/home.png | Bin 0 -> 10643 bytes .../test/visual/screenshots/mobile/.png | Bin 0 -> 6373 bytes .../test/visual/screenshots/mobile/home.png | Bin 0 -> 6373 bytes .../test/visual/screenshots/mobile/mobile.png | Bin 0 -> 16220 bytes .../templates/cabinets/cabinet_details.html | 57 + mayan/apps/cabinets/tests/__init__.py | 0 mayan/apps/cabinets/tests/literals.py | 5 + mayan/apps/cabinets/tests/test_api.py | 241 + mayan/apps/cabinets/tests/test_models.py | 82 + mayan/apps/cabinets/tests/test_views.py | 207 + mayan/apps/cabinets/urls.py | 73 + mayan/apps/cabinets/views.py | 348 + mayan/apps/cabinets/widgets.py | 28 + mayan/settings/base.py | 1 + 98 files changed, 30956 insertions(+) create mode 100644 mayan/apps/cabinets/__init__.py create mode 100644 mayan/apps/cabinets/admin.py create mode 100644 mayan/apps/cabinets/api_views.py create mode 100644 mayan/apps/cabinets/apps.py create mode 100644 mayan/apps/cabinets/forms.py create mode 100644 mayan/apps/cabinets/links.py create mode 100644 mayan/apps/cabinets/menus.py create mode 100644 mayan/apps/cabinets/migrations/0001_initial.py create mode 100644 mayan/apps/cabinets/migrations/__init__.py create mode 100644 mayan/apps/cabinets/models.py create mode 100644 mayan/apps/cabinets/permissions.py create mode 100644 mayan/apps/cabinets/serializers.py create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/.gitignore create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/LICENSE-MIT create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/README.md create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/bower.json create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/component.json create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/composer.json create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/demo/basic/index.html create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/demo/basic/root.json create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/demo/filebrowser/data/.htaccess create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/demo/filebrowser/file_sprite.png create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/demo/filebrowser/index.php create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/demo/sitebrowser/class.db.php create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/demo/sitebrowser/class.tree.php create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/demo/sitebrowser/data.sql create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/demo/sitebrowser/index.php create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/dist/jstree.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/dist/jstree.min.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default-dark/32px.png create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default-dark/40px.png create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default-dark/style.css create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default-dark/style.min.css create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default-dark/throbber.gif create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default/32px.png create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default/40px.png create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default/style.css create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default/style.min.css create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default/throbber.gif create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/gruntfile.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/jstree.jquery.json create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/package.json create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/intro.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.changed.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.checkbox.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.conditionalselect.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.contextmenu.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.dnd.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.massload.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.search.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.sort.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.state.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.types.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.unique.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.wholerow.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/misc.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/outro.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/sample.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/base.less create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default-dark/32px.png create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default-dark/40px.png create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default-dark/style.css create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default-dark/style.less create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default-dark/throbber.gif create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default/32px.png create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default/40px.png create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default/style.css create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default/style.less create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default/throbber.gif create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/main.less create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/mixins.less create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/responsive.less create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/src/vakata-jstree.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/test/unit/index.html create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/test/unit/libs/qunit.css create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/test/unit/libs/qunit.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/test/unit/test.js create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/desktop/index.html create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/mobile/index.html create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/screenshots/desktop/.png create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/screenshots/desktop/desktop.png create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/screenshots/desktop/home.png create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/screenshots/mobile/.png create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/screenshots/mobile/home.png create mode 100644 mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/screenshots/mobile/mobile.png create mode 100644 mayan/apps/cabinets/templates/cabinets/cabinet_details.html create mode 100644 mayan/apps/cabinets/tests/__init__.py create mode 100644 mayan/apps/cabinets/tests/literals.py create mode 100644 mayan/apps/cabinets/tests/test_api.py create mode 100644 mayan/apps/cabinets/tests/test_models.py create mode 100644 mayan/apps/cabinets/tests/test_views.py create mode 100644 mayan/apps/cabinets/urls.py create mode 100644 mayan/apps/cabinets/views.py create mode 100644 mayan/apps/cabinets/widgets.py diff --git a/HISTORY.rst b/HISTORY.rst index c207a878fa..7a8c9ae169 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -15,6 +15,7 @@ the user links - Tags are alphabetically ordered by label (GitLab #342). - Stop loading theme fonts from the web (GitLab #343). - Add support for attaching multiple tags (GitLab #307). +- Integrate the Cabinets app. 2.1.10 (2017-02-13) =================== diff --git a/docs/releases/2.2.rst b/docs/releases/2.2.rst index a7bf029f29..d7d990dfcd 100644 --- a/docs/releases/2.2.rst +++ b/docs/releases/2.2.rst @@ -61,6 +61,7 @@ resolved to '/api/documents//pages//pages'. Other changes ------------- +- The Cabinets app integration. - Add "Check now" button to interval sources. - Remove the installation app - Add support for page search diff --git a/mayan/apps/cabinets/__init__.py b/mayan/apps/cabinets/__init__.py new file mode 100644 index 0000000000..14589dadfe --- /dev/null +++ b/mayan/apps/cabinets/__init__.py @@ -0,0 +1,3 @@ +from __future__ import unicode_literals + +default_app_config = 'cabinets.apps.CabinetsApp' diff --git a/mayan/apps/cabinets/admin.py b/mayan/apps/cabinets/admin.py new file mode 100644 index 0000000000..be3da6c442 --- /dev/null +++ b/mayan/apps/cabinets/admin.py @@ -0,0 +1,13 @@ +from __future__ import unicode_literals + +from django.contrib import admin + +from .models import Cabinet + +from mptt.admin import MPTTModelAdmin + + +@admin.register(Cabinet) +class CabinetAdmin(MPTTModelAdmin): + filter_horizontal = ('documents',) + list_display = ('label',) diff --git a/mayan/apps/cabinets/api_views.py b/mayan/apps/cabinets/api_views.py new file mode 100644 index 0000000000..dfb1c108b4 --- /dev/null +++ b/mayan/apps/cabinets/api_views.py @@ -0,0 +1,220 @@ +from __future__ import absolute_import, unicode_literals + +from django.shortcuts import get_object_or_404 + +from rest_framework import generics +from rest_framework.response import Response + +from acls.models import AccessControlList +from documents.models import Document +from documents.permissions import permission_document_view +from rest_api.filters import MayanObjectPermissionsFilter +from rest_api.permissions import MayanPermission + +from .models import Cabinet +from .permissions import ( + permission_cabinet_add_document, permission_cabinet_create, + permission_cabinet_delete, permission_cabinet_edit, + permission_cabinet_remove_document, permission_cabinet_view +) +from .serializers import ( + CabinetDocumentSerializer, CabinetSerializer, NewCabinetDocumentSerializer, + WritableCabinetSerializer +) + + +class APIDocumentCabinetListView(generics.ListAPIView): + """ + Returns a list of all the cabinets to which a document belongs. + """ + + serializer_class = CabinetSerializer + + filter_backends = (MayanObjectPermissionsFilter,) + mayan_object_permissions = {'GET': (permission_cabinet_view,)} + + def get_queryset(self): + document = get_object_or_404(Document, pk=self.kwargs['pk']) + AccessControlList.objects.check_access( + permissions=permission_document_view, user=self.request.user, + obj=document + ) + + queryset = document.document_cabinets().all() + return queryset + + +class APICabinetListView(generics.ListCreateAPIView): + filter_backends = (MayanObjectPermissionsFilter,) + mayan_object_permissions = {'GET': (permission_cabinet_view,)} + mayan_view_permissions = {'POST': (permission_cabinet_create,)} + permission_classes = (MayanPermission,) + queryset = Cabinet.objects.all() + + def get_serializer_class(self): + if self.request.method == 'GET': + return CabinetSerializer + elif self.request.method == 'POST': + return WritableCabinetSerializer + + def get(self, *args, **kwargs): + """ + Returns a list of all the cabinets. + """ + return super(APICabinetListView, self).get(*args, **kwargs) + + def post(self, *args, **kwargs): + """ + Create a new cabinet. + """ + return super(APICabinetListView, self).post(*args, **kwargs) + + +class APICabinetView(generics.RetrieveUpdateDestroyAPIView): + filter_backends = (MayanObjectPermissionsFilter,) + mayan_object_permissions = { + 'GET': (permission_cabinet_view,), + 'PUT': (permission_cabinet_edit,), + 'PATCH': (permission_cabinet_edit,), + 'DELETE': (permission_cabinet_delete,) + } + permission_classes = (MayanPermission,) + queryset = Cabinet.objects.all() + + def delete(self, *args, **kwargs): + """ + Delete the selected cabinet. + """ + return super(APICabinetView, self).delete(*args, **kwargs) + + def get(self, *args, **kwargs): + """ + Returns the details of the selected cabinet. + """ + return super(APICabinetView, self).get(*args, **kwargs) + + def get_serializer_class(self): + if self.request.method == 'GET': + return CabinetSerializer + else: + return WritableCabinetSerializer + + def patch(self, *args, **kwargs): + """ + Edit the selected cabinet. + """ + return super(APICabinetView, self).patch(*args, **kwargs) + + def put(self, *args, **kwargs): + """ + Edit the selected cabinet. + """ + return super(APICabinetView, self).put(*args, **kwargs) + + +class APICabinetDocumentListView(generics.ListCreateAPIView): + """ + Returns a list of all the documents contained in a particular cabinet. + """ + + filter_backends = (MayanObjectPermissionsFilter,) + mayan_object_permissions = { + 'GET': (permission_cabinet_view,), + 'POST': (permission_cabinet_add_document,) + } + + def get_serializer_class(self): + if self.request.method == 'GET': + return CabinetDocumentSerializer + elif self.request.method == 'POST': + return NewCabinetDocumentSerializer + + def get_serializer_context(self): + """ + Extra context provided to the serializer class. + """ + return { + 'cabinet': self.get_cabinet(), + 'format': self.format_kwarg, + 'request': self.request, + 'view': self + } + + def get_cabinet(self): + return get_object_or_404(Cabinet, pk=self.kwargs['pk']) + + def get_queryset(self): + cabinet = self.get_cabinet() + + return AccessControlList.objects.filter_by_access( + permission_document_view, self.request.user, + queryset=cabinet.documents.all() + ) + + def perform_create(self, serializer): + serializer.save(cabinet=self.get_cabinet()) + + def post(self, request, *args, **kwargs): + """ + Add a document to the selected cabinet. + """ + return super(APICabinetDocumentListView, self).post( + request, *args, **kwargs + ) + + +class APICabinetDocumentView(generics.RetrieveDestroyAPIView): + filter_backends = (MayanObjectPermissionsFilter,) + lookup_url_kwarg = 'document_pk' + mayan_object_permissions = { + 'GET': (permission_cabinet_view,), + 'DELETE': (permission_cabinet_remove_document,) + } + serializer_class = CabinetDocumentSerializer + + def delete(self, request, *args, **kwargs): + """ + Remove a document from the selected cabinet. + """ + + return super(APICabinetDocumentView, self).delete( + request, *args, **kwargs + ) + + def get(self, *args, **kwargs): + """ + Returns the details of the selected cabinet document. + """ + + return super(APICabinetDocumentView, self).get(*args, **kwargs) + + def get_cabinet(self): + return get_object_or_404(Cabinet, pk=self.kwargs['pk']) + + def get_queryset(self): + return self.get_cabinet().documents.all() + + def get_serializer_context(self): + """ + Extra context provided to the serializer class. + """ + return { + 'cabinet': self.get_cabinet(), + 'format': self.format_kwarg, + 'request': self.request, + 'view': self + } + + def perform_destroy(self, instance): + self.get_cabinet().documents.remove(instance) + + def retrieve(self, request, *args, **kwargs): + instance = self.get_object() + + AccessControlList.objects.check_access( + permissions=permission_document_view, user=self.request.user, + obj=instance + ) + + serializer = self.get_serializer(instance) + return Response(serializer.data) diff --git a/mayan/apps/cabinets/apps.py b/mayan/apps/cabinets/apps.py new file mode 100644 index 0000000000..e981e72998 --- /dev/null +++ b/mayan/apps/cabinets/apps.py @@ -0,0 +1,106 @@ +from __future__ import unicode_literals + +from django.apps import apps +from django.utils.translation import ugettext_lazy as _ + +from acls import ModelPermission +from acls.permissions import permission_acl_edit, permission_acl_view +from common import ( + MayanAppConfig, menu_facet, menu_main, menu_multi_item, menu_object, + menu_sidebar, menu_secondary +) +from rest_api.classes import APIEndPoint + +from .links import ( + link_cabinet_list, link_document_cabinet_list, + link_document_cabinet_remove, link_cabinet_add_document, + link_cabinet_add_multiple_documents, link_cabinet_child_add, + link_cabinet_create, link_cabinet_delete, link_cabinet_edit, + link_cabinet_view, link_custom_acl_list, + link_multiple_document_cabinet_remove +) +from .menus import menu_cabinets +from .permissions import ( + permission_cabinet_add_document, permission_cabinet_delete, + permission_cabinet_edit, permission_cabinet_remove_document, + permission_cabinet_view +) + + +class CabinetsApp(MayanAppConfig): + name = 'cabinets' + test = True + verbose_name = _('Cabinets') + + def ready(self): + super(CabinetsApp, self).ready() + + Document = apps.get_model( + app_label='documents', model_name='Document' + ) + + DocumentCabinet = self.get_model('DocumentCabinet') + Cabinet = self.get_model('Cabinet') + + APIEndPoint(app=self, version_string='1') + + Document.add_to_class( + 'document_cabinets', + lambda document: DocumentCabinet.objects.filter(documents=document) + ) + + ModelPermission.register( + model=Document, permissions=( + permission_cabinet_add_document, + permission_cabinet_remove_document + ) + ) + + ModelPermission.register( + model=Cabinet, permissions=( + permission_acl_edit, permission_acl_view, + permission_cabinet_delete, permission_cabinet_edit, + permission_cabinet_view + ) + ) + + menu_facet.bind_links( + links=(link_document_cabinet_list,), sources=(Document,) + ) + + menu_cabinets.bind_links( + links=( + link_cabinet_list, link_cabinet_create + ) + ) + + menu_main.bind_links(links=(menu_cabinets,), position=98) + + menu_multi_item.bind_links( + links=( + link_cabinet_add_multiple_documents, + link_multiple_document_cabinet_remove + ), sources=(Document,) + ) + menu_object.bind_links( + links=( + link_cabinet_view, + ), sources=(DocumentCabinet, ) + ) + menu_object.bind_links( + links=( + link_cabinet_view, link_cabinet_edit, + link_custom_acl_list, link_cabinet_delete + ), sources=(Cabinet,) + ) + menu_sidebar.bind_links( + links=(link_cabinet_child_add,), sources=(Cabinet,) + ) + menu_sidebar.bind_links( + links=(link_cabinet_add_document, link_document_cabinet_remove), + sources=( + 'cabinets:document_cabinet_list', + 'cabinets:cabinet_add_document', + 'cabinets:document_cabinet_remove' + ) + ) diff --git a/mayan/apps/cabinets/forms.py b/mayan/apps/cabinets/forms.py new file mode 100644 index 0000000000..4a37ab7d07 --- /dev/null +++ b/mayan/apps/cabinets/forms.py @@ -0,0 +1,33 @@ +from __future__ import absolute_import, unicode_literals + +import logging + +from django import forms +from django.utils.translation import ugettext_lazy as _ + +from acls.models import AccessControlList + +from .models import Cabinet + +logger = logging.getLogger(__name__) + + +class CabinetListForm(forms.Form): + def __init__(self, *args, **kwargs): + help_text = kwargs.pop('help_text', None) + permission = kwargs.pop('permission', None) + queryset = kwargs.pop('queryset', Cabinet.objects.all()) + user = kwargs.pop('user', None) + + logger.debug('user: %s', user) + super(CabinetListForm, self).__init__(*args, **kwargs) + + queryset = AccessControlList.objects.filter_by_access( + permission=permission, user=user, queryset=queryset + ) + + self.fields['cabinets'] = forms.ModelMultipleChoiceField( + label=_('Cabinets'), help_text=help_text, + queryset=queryset, required=False, + widget=forms.SelectMultiple(attrs={'class': 'select2'}) + ) diff --git a/mayan/apps/cabinets/links.py b/mayan/apps/cabinets/links.py new file mode 100644 index 0000000000..ad489ec9bf --- /dev/null +++ b/mayan/apps/cabinets/links.py @@ -0,0 +1,76 @@ +from __future__ import absolute_import, unicode_literals + +import copy + +from django.utils.translation import ugettext_lazy as _ + +from acls.links import link_acl_list +from documents.permissions import permission_document_view +from navigation import Link + +from .permissions import ( + permission_cabinet_add_document, permission_cabinet_create, + permission_cabinet_delete, permission_cabinet_edit, + permission_cabinet_view, permission_cabinet_remove_document +) + +# Document links + +link_document_cabinet_list = Link( + icon='fa fa-columns', permissions=(permission_document_view,), + text=_('Cabinets'), view='cabinets:document_cabinet_list', + args='resolved_object.pk' +) +link_document_cabinet_remove = Link( + args='resolved_object.pk', + permissions=(permission_cabinet_remove_document,), + text=_('Remove from cabinets'), view='cabinets:document_cabinet_remove' +) +link_cabinet_add_document = Link( + permissions=(permission_cabinet_add_document,), + text=_('Add to a cabinets'), view='cabinets:cabinet_add_document', + args='object.pk' +) +link_cabinet_add_multiple_documents = Link( + text=_('Add to cabinets'), view='cabinets:cabinet_add_multiple_documents' +) +link_multiple_document_cabinet_remove = Link( + text=_('Remove from cabinets'), + view='cabinets:multiple_document_cabinet_remove' +) + +# Cabinet links + + +def cabinet_is_root(context): + return context[ + 'resolved_object' + ].is_root_node() + + +link_custom_acl_list = copy.copy(link_acl_list) +link_custom_acl_list.condition = cabinet_is_root + +link_cabinet_child_add = Link( + permissions=(permission_cabinet_create,), text=_('Add new level'), + view='cabinets:cabinet_child_add', args='object.pk' +) +link_cabinet_create = Link( + icon='fa fa-plus', permissions=(permission_cabinet_create,), + text=_('Create cabinet'), view='cabinets:cabinet_create' +) +link_cabinet_delete = Link( + permissions=(permission_cabinet_delete,), tags='dangerous', + text=_('Delete'), view='cabinets:cabinet_delete', args='object.pk' +) +link_cabinet_edit = Link( + permissions=(permission_cabinet_edit,), text=_('Edit'), + view='cabinets:cabinet_edit', args='object.pk' +) +link_cabinet_list = Link( + icon='fa fa-columns', text=_('All'), view='cabinets:cabinet_list' +) +link_cabinet_view = Link( + permissions=(permission_cabinet_view,), text=_('Details'), + view='cabinets:cabinet_view', args='object.pk' +) diff --git a/mayan/apps/cabinets/menus.py b/mayan/apps/cabinets/menus.py new file mode 100644 index 0000000000..a68970615d --- /dev/null +++ b/mayan/apps/cabinets/menus.py @@ -0,0 +1,9 @@ +from __future__ import unicode_literals + +from django.utils.translation import ugettext_lazy as _ + +from navigation import Menu + +menu_cabinets = Menu( + icon='fa fa-columns', label=_('Cabinets'), name='cabinets menu' +) diff --git a/mayan/apps/cabinets/migrations/0001_initial.py b/mayan/apps/cabinets/migrations/0001_initial.py new file mode 100644 index 0000000000..6b6a3bf6e0 --- /dev/null +++ b/mayan/apps/cabinets/migrations/0001_initial.py @@ -0,0 +1,88 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.5 on 2017-01-24 07:37 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion +import mptt.fields + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('documents', '0034_auto_20160509_2321'), + ] + + operations = [ + migrations.CreateModel( + name='Cabinet', + fields=[ + ( + 'id', models.AutoField( + auto_created=True, primary_key=True, serialize=False, + verbose_name='ID' + ) + ), + ( + 'label', models.CharField( + max_length=128, verbose_name='Label' + ) + ), + ( + 'lft', models.PositiveIntegerField( + db_index=True, editable=False + ) + ), + ( + 'rght', models.PositiveIntegerField( + db_index=True, editable=False + ) + ), + ( + 'tree_id', models.PositiveIntegerField( + db_index=True, editable=False + ) + ), + ( + 'level', models.PositiveIntegerField( + db_index=True, editable=False + ) + ), + ( + 'documents', models.ManyToManyField( + blank=True, related_name='cabinets', + to='documents.Document', verbose_name='Documents' + ) + ), + ( + 'parent', mptt.fields.TreeForeignKey( + blank=True, null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name='children', to='cabinets.Cabinet' + ) + ), + ], + options={ + 'ordering': ('parent__label', 'label'), + 'verbose_name': 'Cabinet', + 'verbose_name_plural': 'Cabinets', + }, + ), + migrations.CreateModel( + name='DocumentCabinet', + fields=[ + ], + options={ + 'verbose_name': 'Document cabinet', + 'proxy': True, + 'verbose_name_plural': 'Document cabinets', + }, + bases=('cabinets.cabinet',), + ), + migrations.AlterUniqueTogether( + name='cabinet', + unique_together=set([('parent', 'label')]), + ), + ] diff --git a/mayan/apps/cabinets/migrations/__init__.py b/mayan/apps/cabinets/migrations/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/mayan/apps/cabinets/models.py b/mayan/apps/cabinets/models.py new file mode 100644 index 0000000000..ddb5add7f7 --- /dev/null +++ b/mayan/apps/cabinets/models.py @@ -0,0 +1,87 @@ +from __future__ import absolute_import, unicode_literals + +from django.core.exceptions import NON_FIELD_ERRORS, ValidationError +from django.core.urlresolvers import reverse +from django.db import models, transaction +from django.utils.encoding import python_2_unicode_compatible +from django.utils.translation import ugettext_lazy as _ + +from mptt.fields import TreeForeignKey +from mptt.models import MPTTModel + +from acls.models import AccessControlList +from documents.models import Document +from documents.permissions import permission_document_view + + +@python_2_unicode_compatible +class Cabinet(MPTTModel): + parent = TreeForeignKey( + 'self', blank=True, db_index=True, null=True, related_name='children' + ) + label = models.CharField(max_length=128, verbose_name=_('Label')) + documents = models.ManyToManyField( + Document, blank=True, related_name='cabinets', + verbose_name=_('Documents') + ) + + class Meta: + ordering = ('parent__label', 'label') + # unique_together doesn't work if there is a FK + # https://code.djangoproject.com/ticket/1751 + unique_together = ('parent', 'label') + verbose_name = _('Cabinet') + verbose_name_plural = _('Cabinets') + + def __str__(self): + return self.get_full_path() + + def get_absolute_url(self): + return reverse('cabinets:cabinet_view', args=(self.pk,)) + + def get_document_count(self, user): + return self.get_documents_queryset(user=user).count() + + def get_documents_queryset(self, user): + return AccessControlList.objects.filter_by_access( + permission_document_view, user, queryset=self.documents + ) + + def get_full_path(self): + result = [] + for node in self.get_ancestors(include_self=True): + result.append(node.label) + + return ' / '.join(result) + + def validate_unique(self, exclude=None): + # Explicit validation of uniqueness of parent+label as the provided + # unique_together check in Meta is not working for all 100% cases + # when there is a FK in the unique_together tuple + # https://code.djangoproject.com/ticket/1751 + + with transaction.atomic(): + if Cabinet.objects.select_for_update().filter(parent=self.parent, label=self.label).exists(): + params = { + 'model_name': _('Cabinet'), + 'field_labels': _('Parent and Label') + } + raise ValidationError( + { + NON_FIELD_ERRORS: [ + ValidationError( + message=_( + '%(model_name)s with this %(field_labels)s already ' + 'exists.' + ), code='unique_together', params=params, + ) + ], + }, + ) + + +class DocumentCabinet(Cabinet): + class Meta: + proxy = True + verbose_name = _('Document cabinet') + verbose_name_plural = _('Document cabinets') diff --git a/mayan/apps/cabinets/permissions.py b/mayan/apps/cabinets/permissions.py new file mode 100644 index 0000000000..effed2cffe --- /dev/null +++ b/mayan/apps/cabinets/permissions.py @@ -0,0 +1,28 @@ +from __future__ import absolute_import, unicode_literals + +from django.utils.translation import ugettext_lazy as _ + +from permissions import PermissionNamespace + +namespace = PermissionNamespace('cabinets', _('Cabinets')) + +# Translators: this refers to the permission that will allow users to add +# documents to cabinets. +permission_cabinet_add_document = namespace.add_permission( + name='cabinet_add_document', label=_('Add documents to cabinets') +) +permission_cabinet_create = namespace.add_permission( + name='cabinet_create', label=_('Create cabinets') +) +permission_cabinet_delete = namespace.add_permission( + name='cabinet_delete', label=_('Delete cabinets') +) +permission_cabinet_edit = namespace.add_permission( + name='cabinet_edit', label=_('Edit cabinets') +) +permission_cabinet_remove_document = namespace.add_permission( + name='cabinet_remove_document', label=_('Remove documents from cabinets') +) +permission_cabinet_view = namespace.add_permission( + name='cabinet_view', label=_('View cabinets') +) diff --git a/mayan/apps/cabinets/serializers.py b/mayan/apps/cabinets/serializers.py new file mode 100644 index 0000000000..c90365509a --- /dev/null +++ b/mayan/apps/cabinets/serializers.py @@ -0,0 +1,194 @@ +from __future__ import unicode_literals + +from django.db import transaction +from django.utils.translation import ugettext_lazy as _ + +from rest_framework import serializers +from rest_framework.reverse import reverse +from rest_framework.settings import api_settings + +from rest_framework_recursive.fields import RecursiveField + +from documents.models import Document +from documents.serializers import DocumentSerializer + +from .models import Cabinet + + +class CabinetSerializer(serializers.ModelSerializer): + children = RecursiveField( + help_text=_('List of children cabinets.'), many=True, read_only=True + ) + documents_count = serializers.SerializerMethodField( + help_text=_('Number of documents on this cabinet level.') + ) + full_path = serializers.SerializerMethodField( + help_text=_( + 'The name of this cabinet level appended to the names of its ' + 'ancestors.' + ) + ) + documents_url = serializers.HyperlinkedIdentityField( + help_text=_( + 'URL of the API endpoint showing the list documents inside this ' + 'cabinet.' + ), view_name='rest_api:cabinet-document-list' + ) + parent_url = serializers.SerializerMethodField() + + class Meta: + extra_kwargs = { + 'url': {'view_name': 'rest_api:cabinet-detail'}, + } + fields = ( + 'children', 'documents_count', 'documents_url', 'full_path', 'id', + 'label', 'parent', 'parent_url', 'url' + ) + model = Cabinet + + def get_documents_count(self, obj): + return obj.get_document_count(user=self.context['request'].user) + + def get_full_path(self, obj): + return obj.get_full_path() + + def get_parent_url(self, obj): + if obj.parent: + return reverse( + 'rest_api:cabinet-detail', args=(obj.parent.pk,), + format=self.context['format'], + request=self.context.get('request') + ) + else: + return '' + + +class WritableCabinetSerializer(serializers.ModelSerializer): + documents_pk_list = serializers.CharField( + help_text=_( + 'Comma separated list of document primary keys to add to this ' + 'cabinet.' + ), required=False + ) + + # This is here because parent is optional in the model but the serializer + # sets it as required. + parent = serializers.PrimaryKeyRelatedField( + allow_null=True, queryset=Cabinet.objects.all(), required=False + ) + + class Meta: + fields = ('documents_pk_list', 'label', 'id', 'parent') + model = Cabinet + + def _add_documents(self, documents_pk_list, instance): + instance.documents.add( + *Document.objects.filter(pk__in=documents_pk_list.split(',')) + ) + + def create(self, validated_data): + documents_pk_list = validated_data.pop('documents_pk_list', '') + + instance = super(WritableCabinetSerializer, self).create(validated_data) + + if documents_pk_list: + self._add_documents( + documents_pk_list=documents_pk_list, instance=instance + ) + + return instance + + def update(self, instance, validated_data): + documents_pk_list = validated_data.pop('documents_pk_list', '') + + instance = super(WritableCabinetSerializer, self).update( + instance, validated_data + ) + + if documents_pk_list: + instance.documents.clear() + self._add_documents( + documents_pk_list=documents_pk_list, instance=instance + ) + + return instance + + def run_validation(self, data=None): + # Copy data into a new dictionary since data is an immutable type + result = data.copy() + + # Add None parent to keep validation from failing. + # This is here because parent is optional in the model but the serializer + # sets it as required. + result.setdefault('parent') + + data = super(WritableCabinetSerializer, self).run_validation(result) + + # Explicit validation of uniqueness of parent+label as the provided + # unique_together check in Meta is not working for all 100% cases + # when there is a FK in the unique_together tuple + # https://code.djangoproject.com/ticket/1751 + with transaction.atomic(): + if Cabinet.objects.select_for_update().filter(parent=data['parent'], label=data['label']).exists(): + params = { + 'model_name': _('Cabinet'), + 'field_labels': _('Parent and Label') + } + raise serializers.ValidationError( + { + api_settings.NON_FIELD_ERRORS_KEY: [ + _( + '%(model_name)s with this %(field_labels)s ' + 'already exists.' + ) % params + ], + }, + ) + + return data + + +class CabinetDocumentSerializer(DocumentSerializer): + cabinet_document_url = serializers.SerializerMethodField( + help_text=_( + 'API URL pointing to a document in relation to the cabinet ' + 'storing it. This URL is different than the canonical document ' + 'URL.' + ) + ) + + class Meta(DocumentSerializer.Meta): + fields = DocumentSerializer.Meta.fields + ('cabinet_document_url',) + read_only_fields = DocumentSerializer.Meta.fields + + def get_cabinet_document_url(self, instance): + return reverse( + 'rest_api:cabinet-document', args=( + self.context['cabinet'].pk, instance.pk + ), request=self.context['request'], format=self.context['format'] + ) + + +class NewCabinetDocumentSerializer(serializers.Serializer): + documents_pk_list = serializers.CharField( + help_text=_( + 'Comma separated list of document primary keys to add to this ' + 'cabinet.' + ) + ) + + def _add_documents(self, documents_pk_list, instance): + instance.documents.add( + *Document.objects.filter(pk__in=documents_pk_list.split(',')) + ) + + def create(self, validated_data): + documents_pk_list = validated_data['documents_pk_list'] + + if documents_pk_list: + self._add_documents( + documents_pk_list=documents_pk_list, + instance=validated_data['cabinet'] + ) + + return {'documents_pk_list': documents_pk_list} diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/.gitignore b/mayan/apps/cabinets/static/cabinets/packages/jstree/.gitignore new file mode 100644 index 0000000000..8b9a6f2678 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/.gitignore @@ -0,0 +1,13 @@ +/debug +/jstree.sublime-project +/jstree.sublime-workspace +/bower_components +/node_modules +/site +/nuget +/demo/filebrowser/data/root +/npm.txt +/libs +/docs +/dist/libs +/.vscode \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/LICENSE-MIT b/mayan/apps/cabinets/static/cabinets/packages/jstree/LICENSE-MIT new file mode 100644 index 0000000000..470dd6181a --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/LICENSE-MIT @@ -0,0 +1,22 @@ +Copyright (c) 2014 Ivan Bozhanov + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/README.md b/mayan/apps/cabinets/static/cabinets/packages/jstree/README.md new file mode 100644 index 0000000000..e1e6db769f --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/README.md @@ -0,0 +1,658 @@ +# jstree + +[jsTree](http://www.jstree.com/) is jquery plugin, that provides interactive trees. It is absolutely free, [open source](https://github.com/vakata/jstree) and distributed under the MIT license. + +jsTree is easily extendable, themable and configurable, it supports HTML & JSON data sources, AJAX & async callback loading. + +jsTree functions properly in either box-model (content-box or border-box), can be loaded as an AMD module, and has a built in mobile theme for responsive design, that can easily be customized. It uses jQuery's event system, so binding callbacks on various events in the tree is familiar and easy. + +You also get: + * drag & drop support + * keyboard navigation + * inline edit, create and delete + * tri-state checkboxes + * fuzzy searching + * customizable node types + +_Aside from this readme you can find a lot more info on [jstree.com](http://www.jstree.com) & [the discussion group](https://groups.google.com/forum/#!forum/jstree)_. + +--- + + + +- [Getting Started](#getting-started) + - [Include all neccessary files](#include-all-neccessary-files) + - [Populating a tree using HTML](#populating-a-tree-using-html) + - [Populating a tree using an array \(or JSON\)](#populating-a-tree-using-an-array-or-json) + - [The required JSON format](#the-required-json-format) + - [Populating the tree using AJAX](#populating-the-tree-using-ajax) + - [Populating the tree using AJAX and lazy loading nodes](#populating-the-tree-using-ajax-and-lazy-loading-nodes) + - [Populating the tree using a callback function](#populating-the-tree-using-a-callback-function) +- [Working with events](#working-with-events) +- [Interacting with the tree using the API](#interacting-with-the-tree-using-the-api) +- [More on configuration](#more-on-configuration) +- [Plugins](#plugins) + - [checkbox](#checkbox) + - [contextmenu](#contextmenu) + - [dnd](#dnd) + - [massload](#massload) + - [search](#search) + - [sort](#sort) + - [state](#state) + - [types](#types) + - [unique](#unique) + - [wholerow](#wholerow) + - [More plugins](#more-plugins) +- [License & Contributing](#license--contributing) + + + + +--- + +## Getting Started + +### Include all neccessary files +To get started you need 3 things in your page: + 1. jQuery (anything above 1.9.1 will work) + 2. A jstree theme (there is only one theme supplied by default) + 3. The jstree source file + +```html + + + + +``` + +_If you decide to host jstree yourself - the files are located in the `dist` folder. You can safely ignore the `dist/libs` folder._ + +--- + +### Populating a tree using HTML + +Now we are all set to create a tree, inline HTML is the easiest option (suitable for menus). All you need to do is select a node (using a jQuery selector) and invoke the `.jstree()` function to let jstree know you want to render a tree inside the selected node. `$.jstree.create(element)` can be used too. + +```html +
+
    +
  • Root node +
      +
    • Child node 1
    • +
    • Child node 2
    • +
    +
  • +
+
+ +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/) + +_You can add a few options when rendering a node using a data-attribute (note the quotes):_ +```html +
  • Root node ... +``` + +--- + +### Populating a tree using an array (or JSON) + +Building trees from HTML is easy, but it is not very flexible, inline JS data is a better option: + +```html +
    + +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4478/) + +Unlike the previous simple HTML example, this time the `.jstree()` function accepts a config object. + +For now it is important to note that jstree will try to parse any data you specify in the `core.data` key and use it to create a tree. As seen in the previous example, if this key is missing jstree will try to parse the inline HTML of the container. + +#### The required JSON format + +The data you use must be in a specific format, each branch of the tree is represented by an object, which must at least have a `text` key. The `children` key can be used to add children to the branch, it should be an array of objects. + +_Keep in mind, you can use a simple string instead of an object if all you need is node with the given text, the above data can be written as:_ + +```js +[ { "text" : "Root node", "children" : [ "Child node 1", "Child node 2" ] } ] +``` + +There are other available options for each node, only set them if you need them like: + + * `id` - makes if possible to identify a node later (will also be used as a DOM ID of the `LI` node). _Make sure you do not repeat the same ID in a tree instance (that would defeat its purpose of being a unique identifier and may cause problems for jstree)_. + * `icon` - a string which will be used for the node's icon - this can either be a path to a file, or a className (or list of classNames), which you can style in your CSS (font icons also work). + * `data` - this can be anything you want - it is metadata you want attached to the node - you will be able to access and modify it any time later - it has no effect on the visuals of the node. + * `state` - an object specifyng a few options about the node: + - `selected` - if the node should be initially selected + - `opened` - if the node should be initially opened + - `disabled` - if the node should be disabled + - `checked` - __checkbox plugin specific__ - if the node should be checked (only used when `tie_selection` is `false`, which you should only do if you really know what you are doing) + - `undetermined` - __checkbox plugin specific__ - if the node should be rendered in undetermined state (only used with lazy loading and when the node is not yet loaded, otherwise this state is automatically calculated). + * `type` - __types plugin specific__ - the type of the nodes (should be defined in the types config), if not set `"default"` is assumed. + * `li_attr` - object of values which will be used to add HTML attributes on the resulting `LI` DOM node. + * `a_attr` - object of values which will be used to add HTML attributes on the resulting `A` node. + +Here is a new demo with some of those properties set: + +```html +
    + +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4479/) + +--- + +### Populating the tree using AJAX + +Building off of the previous example, let's see how to have jstree make AJAX requests for you. + +```html +
    + +``` + +The server response is: +```json +[{ + "id":1,"text":"Root node","children":[ + {"id":2,"text":"Child node 1"}, + {"id":3,"text":"Child node 2"} + ] +}] +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4480/) + +Instead of a JS array, you can set `core.data` to a [jQuery AJAX config](http://api.jquery.com/jQuery.ajax/). +jsTree will hit that URL, and provided you return properly formatted JSON it will be displayed. + +_If you cannot provide proper JSON headers, set `core.data.dataType` to `"json"`._ + +The ids in the server response make it possible to identify nodes later (which we will see in the next few demos), but they are not required. + +__WHEN USING IDS MAKE SURE THEY ARE UNIQUE INSIDE A PARTICULAR TREE__ + +--- + +### Populating the tree using AJAX and lazy loading nodes + +Lazy loading means nodes will be loaded when they are needed. Imagine you have a huge amount of nodes you want to show, but loading them with a single request is way too much traffic. Lazy loading makes it possible to load nodes on the fly - jstree will perform AJAX requests as the user browses the tree. + +Here we take our previous example, and lazy load the "Child node 1" node. + +```html +
    + +``` + +The initial server response is: +```json +[{ + "id":1,"text":"Root node","children":[ + {"id":2,"text":"Child node 1","children":true}, + {"id":3,"text":"Child node 2"} + ] +}] +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4481/) + +Now to focus on what is different. First off the `"data"` config option of the data object. If you check with jQuery, it is supposed to be a string or an object. But jstree makes it possible to set a function. + +Each time jstree needs to make an AJAX call this function will be called and will receive a single parameter - the node that is being loaded. The return value of this function will be used as the actual `"data"` of the AJAX call. To understand better open up the demo and see the requests go off in the console. + +You will notice that the first request goes off to: +`http://www.jstree.com/fiddle?lazy&id=#` +`#` is the special ID that the function receives when jstree needs to load the root nodes. + +Now go ahead and open the root node - two children will be shown, but no request will be made - that is because we loaded those children along with the first request. + +Onto the next difference - "Child node 1" appears closed - that is because in the data we supplied `true` as the `"children"` property of this node (you can see it in the server response). This special value indicated to jstree, that it has to lazy load the "Child node 1" node. + +Proceed and open this node - you will see a next request fire off to: +`http://www.jstree.com/fiddle?lazy&id=2` +ID is set to `2` because the node being loaded has an ID of `2`, and we have configured jstree to send the node ID along with the AJAX request (the `data` function). + +The server response is: +```json +["Child node 3","Child node 4"] +``` + +_You can also set `"url"` to a function and it works exactly as with `"data"` - each time a request has to be made, jstree will invoke your function and the request will go off to whatever you return in this function. This is useful when dealing with URLs like: `http://example.com/get_children/1`._ + +### Populating the tree using a callback function + +Sometimes you may not want jsTree to make AJAX calls for you - you might want to make them yourself, or use some other method of puplating the tree. In that case you can use a callback function. + +```html +
    + +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4482/) + +As you can see your function will receive two arguments - the node whose children need to be loaded and a callback function to call with the data once you have it. The data follows the same familiar JSON format and lazy loading works just as with AJAX (as you can see in the above example). + +--- + +## Working with events + +jstree provides a lot of events to let you know something happened with the tree. The events are the same regardless of how you populate the tree. +Let's use the most basic event `changed` - it fires when selection on the tree changes: + +```html +
    + +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4483/) + +All jstree events fire in a special `".jstree"` namespace - this is why we listen for `"changed.jstree"`. The handler itself receives one additional parameter - it will be populated with all you need to know about the event that happened. In this case `data.selected` is an array of selected node IDs (please note, that if you have not specified IDs they will be autogenerated). + +Let's extend this a bit and log out the text of the node instead of the ID. + +```js +$('#container').on("changed.jstree", function (e, data) { + console.log(data.instance.get_selected(true)[0].text); + console.log(data.instance.get_node(data.selected[0]).text); +}); +``` + +The two rows above achieve exactly the same thing - get the text of the first selected node. + +In the `data` argument object you will always get an `instance` key - that is a reference to the tree instance, so that you can easily invoke methods. + +__All available functions and events are documented in the API docs__ + +--- + +## Interacting with the tree using the API + +We scratched the surface on interacting with the tree in the previous example. Let's move on to obtaining an instance and calling a method on this instance: + +```html + +
    + +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4484/) + +The above example shows how to obtain a reference to a jstree instance (again with a selector, but this time instead of a config, we pass a boolean `true`), and call a couple of methods - the latter one is selecting a node by its ID. + +Methods can also be invoked like this: + +```js +$('#container').jstree("select_node", "1"); +``` + +__All available functions and events are documented in the API docs__ + +## More on configuration + +We already covered the config object in general (when we specified inline & AJAX data sources). + +```js +$("#tree").jstree({ /* config object goes here */ }); +``` + +Each key in the config object corresponds to a plugin, and the value of that key is the configuration for that plugin. There are also two special keys `"core"` and `"plugins"`: + * `"core"` stores the core configuration options + * `"plugins"` is an array of plugin names (strings) you want active on the instance + +When configuring you only need to set values that you want to be different from the defaults. + +__All config options and defaults are documented in the API docs__ + +```js +$("#tree").jstree({ + "core" : { // core options go here + "multiple" : false, // no multiselection + "themes" : { + "dots" : false // no connecting dots between dots + } + }, + "plugins" : ["state"] // activate the state plugin on this instance +}); +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4485/) + +We will cover all plugins further down. + +__Keep in mind by default all modifications to the structure are prevented - that means drag'n'drop, create, rename, delete will not work unless you enable them.__ + +```js +$("#tree").jstree({ + "core" : { + "check_callback" : true, // enable all modifications + }, + "plugins" : ["dnd","contextmenu"] +}); +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4486/) + +`"core.check_callback"` can also be set to a function, that will be invoked every time a modification is about to happen (or when jstree needs to check if a modification is possible). If you return `true` the operation will be allowed, a value of `false` means it will not be allowed. The possible operation you can expect are `create_node`, `rename_node`, `delete_node`, `move_node` and `copy_node`. The `more` parameter will contain various information provided by the plugin that is invoking the check. For example the DND plugin will provide an object containing information about the move or copy operation that is being checked - is it a multi tree operation, which node is currently hovered, where the insert arrow is pointing - before, after or inside, etc. + +```js +$("#tree").jstree({ + "core" : { + "check_callback" : function (operation, node, parent, position, more) { + if(operation === "copy_node" || operation === "move_node") { + if(parent.id === "#") { + return false; // prevent moving a child above or below the root + } + }, + return true; // allow everything else + } + }, + "plugins" : ["dnd","contextmenu"] +}); +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4487/) + +The `more` parameter you receive contains other information related to the check being performed. + +__For example__: `move_node` & `copy_node` checks will fire repeatedly while the user drags a node, if the check was triggered by the `dnd` plugin `more` will contain a `dnd` key, which will be set to `true`. +You can check for `more.dnd` and only perform a certain action if `dnd` triggered the check. +If you only want to perform an operation when a node is really about to be dropped check for `more.core`. + +## Plugins + +jsTree comes with a few plugin bundled, but they will only modify your tree if you activate them using the `"plugins"` config option. Here is a brief description of each plugin. You can read more on the available config options for each plugin in the API docs. + +### checkbox +Renders a checkbox icon in front of each node, making multiselection easy. It also has a "tri-state" option, meaning a node with some of its children checked will get a "square" icon. + +_Keep in mind that if any sort of cascade is enabled, disabled nodes may be checked too (not by themselves, but for example when a parent of a disabled node is checked and selection is configured to cascade down)._ + +```js +$("#tree").jstree({ + "plugins" : ["checkbox"] +}); +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4488/) + +### contextmenu +Makes it possible to right click nodes and shows a list of configurable actions in a menu. + +```js +$("#tree").jstree({ + "core" : { "check_callback" : true }, // so that modifying operations work + "plugins" : ["contextmenu"] +}); +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4489/) + +### dnd +Makes it possible to drag and drop tree nodes and rearrange the tree. + +```js +$("#tree").jstree({ + "core" : { "check_callback" : true }, // so that operations work + "plugins" : ["dnd"] +}); +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4490/) + +### massload +Makes it possible to load multiple nodes in a single go (for a lazy loaded tree). + +```js +$("#tree").jstree({ + "core" : { + "data" : { .. AJAX config .. } + }, + "massload" : { + "url" : "/some/path", + "data" : function (nodes) { + return { "ids" : nodes.join(",") }; + } + }, + "plugins" : [ "massload", "state" ] +}); +``` + +### search +Adds the possibility to search for items in the tree and show only matching nodes. It also has AJAX / callback hooks, so that search will work on lazy loaded trees too. + +```html +
    + + +
    + +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4491/) + +### sort +Automatically arranges all sibling nodes according to a comparison config option function, which defaults to alphabetical order. + +```js +$("#tree").jstree({ + "plugins" : ["sort"] +}); +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4492/) + +### state +Saves all opened and selected nodes in the user's browser, so when returning to the same tree the previous state will be restored. + +```js +$("#tree").jstree({ + // the key is important if you have multiple trees in the same domain + "state" : { "key" : "state_demo" }, + "plugins" : ["state"] +}); +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4493/) + +### types +Makes it possible to add a "type" for a node, which means to easily control nesting rules and icon for groups of nodes instead of individually. To set a node type add a type property to the node structure. + +```js +$("#tree").jstree({ + "types" : { + "default" : { + "icon" : "glyphicon glyphicon-flash" + }, + "demo" : { + "icon" : "glyphicon glyphicon-ok" + } + }, + "plugins" : ["types"] +}); +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4494/) + +### unique +Enforces that no nodes with the same name can coexist as siblings - prevents renaming and moving nodes to a parent, which already contains a node with the same name. + +```js +$("#tree").jstree({ + "plugins" : ["unique"] +}); +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4495/) + +### wholerow +Makes each node appear block level which makes selection easier. May cause slow down for large trees in old browsers. + +```js +$("#tree").jstree({ + "plugins" : ["wholerow"] +}); +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4496/) + +### More plugins +If you create your own plugin (or download a 3rd party one) you must include its source on the page and list its name in the `"plugins"` config array. + +```js +// conditional select +(function ($, undefined) { + "use strict"; + $.jstree.defaults.conditionalselect = function () { return true; }; + $.jstree.plugins.conditionalselect = function (options, parent) { + this.activate_node = function (obj, e) { + if(this.settings.conditionalselect.call(this, this.get_node(obj))) { + parent.activate_node.call(this, obj, e); + } + }; + }; +})(jQuery); +$("#tree").jstree({ + "conditionalselect" : function (node) { + return node.text === "Root node" ? false : true; + }, + "plugins" : ["conditionalselect"] +}); +``` + +[view result](http://jsfiddle.net/vakata/2kwkh2uL/4497/) + +As seen here when creating a plugin you can define a default config, add your own functions to jstree, or override existing ones while maintaining the ability to call the overridden function. + +## License & Contributing + +_Please do NOT edit files in the "dist" subdirectory as they are generated via grunt. You'll find source code in the "src" subdirectory!_ + +If you want to you can always [donate a small amount][paypal] to help the development of jstree. +[paypal]: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=paypal@vakata.com¤cy_code=USD&amount=&return=http://jstree.com/donation&item_name=Buy+me+a+coffee+for+jsTree + +Copyright (c) 2014 Ivan Bozhanov (http://vakata.com) + +Licensed under the [MIT license](http://www.opensource.org/licenses/mit-license.php). diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/bower.json b/mayan/apps/cabinets/static/cabinets/packages/jstree/bower.json new file mode 100644 index 0000000000..535b66c151 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/bower.json @@ -0,0 +1,32 @@ +{ + "name": "jstree", + "version": "3.3.3", + "main" : [ + "./dist/jstree.js", + "./dist/themes/default/style.css" + ], + "ignore": [ + "**/.*", + "docs", + "demo", + "libs", + "node_modules", + "test", + "libs", + "jstree.jquery.json", + "gruntfile.js", + "package.json", + "bower.json", + "component.json", + "LICENCE-MIT", + "README.md" + ], + "dependencies": { + "jquery": ">=1.9.1" + }, + "keywords": [ + "ui", + "tree", + "jstree" + ] +} diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/component.json b/mayan/apps/cabinets/static/cabinets/packages/jstree/component.json new file mode 100644 index 0000000000..2b9183e8d4 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/component.json @@ -0,0 +1,28 @@ +{ + "name": "jstree", + "repo": "vakata/jstree", + "description": "jsTree is jquery plugin, that provides interactive trees.", + "version": "3.3.3", + "license": "MIT", + "keywords": [ + "ui", + "tree", + "jstree" + ], + "scripts": [ + "dist/jstree.js", + "dist/jstree.min.js" + ], + "images": [ + "dist/themes/default/32px.png", + "dist/themes/default/40px.png", + "dist/themes/default/throbber.gif" + ], + "styles": [ + "dist/themes/default/style.css", + "dist/themes/default/style.min.css" + ], + "dependencies": { + "components/jquery": ">=1.9.1" + } +} diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/composer.json b/mayan/apps/cabinets/static/cabinets/packages/jstree/composer.json new file mode 100644 index 0000000000..282b768a68 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/composer.json @@ -0,0 +1,46 @@ +{ + "name": "vakata/jstree", + "description": "jsTree is jquery plugin, that provides interactive trees.", + "type": "component", + "homepage": "http://jstree.com", + "license": "MIT", + "support": { + "issues": "https://github.com/vakata/jstree/issues", + "forum": "https://groups.google.com/forum/#!forum/jstree", + "source": "https://github.com/vakata/jstree" + }, + "authors": [ + { + "name": "Ivan Bozhanov", + "email": "jstree@jstree.com" + } + ], + "require": { + "components/jquery": ">=1.9.1" + }, + "suggest": { + "robloach/component-installer": "Allows installation of Components via Composer" + }, + "extra": { + "component": { + "scripts": [ + "dist/jstree.js" + ], + "styles": [ + "dist/themes/default/style.css" + ], + "images": [ + "dist/themes/default/32px.png", + "dist/themes/default/40px.png", + "dist/themes/default/throbber.gif" + ], + "files": [ + "dist/jstree.min.js", + "dist/themes/default/style.min.css", + "dist/themes/default/32px.png", + "dist/themes/default/40px.png", + "dist/themes/default/throbber.gif" + ] + } + } +} \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/basic/index.html b/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/basic/index.html new file mode 100644 index 0000000000..9c1a85597a --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/basic/index.html @@ -0,0 +1,146 @@ + + + + + jstree basic demos + + + + +

    HTML demo

    +
    +
      +
    • Root node +
        +
      • Child node 1
      • +
      • Child node 2
      • +
      +
    • +
    +
    + +

    Inline data demo

    +
    + +

    Data format demo

    +
    + +

    AJAX demo

    +
    + +

    Lazy loading demo

    +
    + +

    Callback function data demo

    +
    + +

    Interaction and events demo

    + either click the button or a node in the tree +
    + + + + + + + \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/basic/root.json b/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/basic/root.json new file mode 100644 index 0000000000..8560404e85 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/basic/root.json @@ -0,0 +1 @@ +[{"id":1,"text":"Root node","children":[{"id":2,"text":"Child node 1"},{"id":3,"text":"Child node 2"}]}] \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/filebrowser/data/.htaccess b/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/filebrowser/data/.htaccess new file mode 100644 index 0000000000..3418e55a68 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/filebrowser/data/.htaccess @@ -0,0 +1 @@ +deny from all \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/filebrowser/file_sprite.png b/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/filebrowser/file_sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..5d68245cb819c6776a1d7b012bb9f7690fb3505d GIT binary patch literal 19360 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 && strlen($this->base)) { + if(strpos($temp, $this->base) !== 0) { throw new Exception('Path is not inside base ('.$this->base.'): ' . $temp); } + } + return $temp; + } + protected function path($id) { + $id = str_replace('/', DIRECTORY_SEPARATOR, $id); + $id = trim($id, DIRECTORY_SEPARATOR); + $id = $this->real($this->base . DIRECTORY_SEPARATOR . $id); + return $id; + } + protected function id($path) { + $path = $this->real($path); + $path = substr($path, strlen($this->base)); + $path = str_replace(DIRECTORY_SEPARATOR, '/', $path); + $path = trim($path, '/'); + return strlen($path) ? $path : '/'; + } + + public function __construct($base) { + $this->base = $this->real($base); + if(!$this->base) { throw new Exception('Base directory does not exist'); } + } + public function lst($id, $with_root = false) { + $dir = $this->path($id); + $lst = @scandir($dir); + if(!$lst) { throw new Exception('Could not list path: ' . $dir); } + $res = array(); + foreach($lst as $item) { + if($item == '.' || $item == '..' || $item === null) { continue; } + $tmp = preg_match('([^ a-zа-я-_0-9.]+)ui', $item); + if($tmp === false || $tmp === 1) { continue; } + if(is_dir($dir . DIRECTORY_SEPARATOR . $item)) { + $res[] = array('text' => $item, 'children' => true, 'id' => $this->id($dir . DIRECTORY_SEPARATOR . $item), 'icon' => 'folder'); + } + else { + $res[] = array('text' => $item, 'children' => false, 'id' => $this->id($dir . DIRECTORY_SEPARATOR . $item), 'type' => 'file', 'icon' => 'file file-'.substr($item, strrpos($item,'.') + 1)); + } + } + if($with_root && $this->id($dir) === '/') { + $res = array(array('text' => basename($this->base), 'children' => $res, 'id' => '/', 'icon'=>'folder', 'state' => array('opened' => true, 'disabled' => true))); + } + return $res; + } + public function data($id) { + if(strpos($id, ":")) { + $id = array_map(array($this, 'id'), explode(':', $id)); + return array('type'=>'multiple', 'content'=> 'Multiple selected: ' . implode(' ', $id)); + } + $dir = $this->path($id); + if(is_dir($dir)) { + return array('type'=>'folder', 'content'=> $id); + } + if(is_file($dir)) { + $ext = strpos($dir, '.') !== FALSE ? substr($dir, strrpos($dir, '.') + 1) : ''; + $dat = array('type' => $ext, 'content' => ''); + switch($ext) { + case 'txt': + case 'text': + case 'md': + case 'js': + case 'json': + case 'css': + case 'html': + case 'htm': + case 'xml': + case 'c': + case 'cpp': + case 'h': + case 'sql': + case 'log': + case 'py': + case 'rb': + case 'htaccess': + case 'php': + $dat['content'] = file_get_contents($dir); + break; + case 'jpg': + case 'jpeg': + case 'gif': + case 'png': + case 'bmp': + $dat['content'] = 'data:'.finfo_file(finfo_open(FILEINFO_MIME_TYPE), $dir).';base64,'.base64_encode(file_get_contents($dir)); + break; + default: + $dat['content'] = 'File not recognized: '.$this->id($dir); + break; + } + return $dat; + } + throw new Exception('Not a valid selection: ' . $dir); + } + public function create($id, $name, $mkdir = false) { + $dir = $this->path($id); + if(preg_match('([^ a-zа-я-_0-9.]+)ui', $name) || !strlen($name)) { + throw new Exception('Invalid name: ' . $name); + } + if($mkdir) { + mkdir($dir . DIRECTORY_SEPARATOR . $name); + } + else { + file_put_contents($dir . DIRECTORY_SEPARATOR . $name, ''); + } + return array('id' => $this->id($dir . DIRECTORY_SEPARATOR . $name)); + } + public function rename($id, $name) { + $dir = $this->path($id); + if($dir === $this->base) { + throw new Exception('Cannot rename root'); + } + if(preg_match('([^ a-zа-я-_0-9.]+)ui', $name) || !strlen($name)) { + throw new Exception('Invalid name: ' . $name); + } + $new = explode(DIRECTORY_SEPARATOR, $dir); + array_pop($new); + array_push($new, $name); + $new = implode(DIRECTORY_SEPARATOR, $new); + if($dir !== $new) { + if(is_file($new) || is_dir($new)) { throw new Exception('Path already exists: ' . $new); } + rename($dir, $new); + } + return array('id' => $this->id($new)); + } + public function remove($id) { + $dir = $this->path($id); + if($dir === $this->base) { + throw new Exception('Cannot remove root'); + } + if(is_dir($dir)) { + foreach(array_diff(scandir($dir), array(".", "..")) as $f) { + $this->remove($this->id($dir . DIRECTORY_SEPARATOR . $f)); + } + rmdir($dir); + } + if(is_file($dir)) { + unlink($dir); + } + return array('status' => 'OK'); + } + public function move($id, $par) { + $dir = $this->path($id); + $par = $this->path($par); + $new = explode(DIRECTORY_SEPARATOR, $dir); + $new = array_pop($new); + $new = $par . DIRECTORY_SEPARATOR . $new; + rename($dir, $new); + return array('id' => $this->id($new)); + } + public function copy($id, $par) { + $dir = $this->path($id); + $par = $this->path($par); + $new = explode(DIRECTORY_SEPARATOR, $dir); + $new = array_pop($new); + $new = $par . DIRECTORY_SEPARATOR . $new; + if(is_file($new) || is_dir($new)) { throw new Exception('Path already exists: ' . $new); } + + if(is_dir($dir)) { + mkdir($new); + foreach(array_diff(scandir($dir), array(".", "..")) as $f) { + $this->copy($this->id($dir . DIRECTORY_SEPARATOR . $f), $this->id($new)); + } + } + if(is_file($dir)) { + copy($dir, $new); + } + return array('id' => $this->id($new)); + } +} + +if(isset($_GET['operation'])) { + $fs = new fs(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'root' . DIRECTORY_SEPARATOR); + try { + $rslt = null; + switch($_GET['operation']) { + case 'get_node': + $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/'; + $rslt = $fs->lst($node, (isset($_GET['id']) && $_GET['id'] === '#')); + break; + case "get_content": + $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/'; + $rslt = $fs->data($node); + break; + case 'create_node': + $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/'; + $rslt = $fs->create($node, isset($_GET['text']) ? $_GET['text'] : '', (!isset($_GET['type']) || $_GET['type'] !== 'file')); + break; + case 'rename_node': + $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/'; + $rslt = $fs->rename($node, isset($_GET['text']) ? $_GET['text'] : ''); + break; + case 'delete_node': + $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/'; + $rslt = $fs->remove($node); + break; + case 'move_node': + $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/'; + $parn = isset($_GET['parent']) && $_GET['parent'] !== '#' ? $_GET['parent'] : '/'; + $rslt = $fs->move($node, $parn); + break; + case 'copy_node': + $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : '/'; + $parn = isset($_GET['parent']) && $_GET['parent'] !== '#' ? $_GET['parent'] : '/'; + $rslt = $fs->copy($node, $parn); + break; + default: + throw new Exception('Unsupported operation: ' . $_GET['operation']); + break; + } + header('Content-Type: application/json; charset=utf-8'); + echo json_encode($rslt); + } + catch (Exception $e) { + header($_SERVER["SERVER_PROTOCOL"] . ' 500 Server Error'); + header('Status: 500 Server Error'); + echo $e->getMessage(); + } + die(); +} +?> + + + + + + Title + + + + + +
    +
    +
    + + + +
    Select a file from the tree.
    +
    +
    + + + + + + \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/sitebrowser/class.db.php b/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/sitebrowser/class.db.php new file mode 100644 index 0000000000..bf06935f22 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/sitebrowser/class.db.php @@ -0,0 +1,1082 @@ +query('UPDATE table SET value = 1 WHERE id = ?', array(1)); +// get all results as array +$db->all('SELECT * FROM table WHERE id = ?', array(1), "array_key", bool_skip_key, "assoc"/"num"); +// get one result +$db->one('SELECT * FROM table WHERE id = ?', array(1), "assoc"/"num"); +// get a traversable object to pass to foreach, or use count(), or use direct access: [INDEX] +$db->get('SELECT * FROM table WHERE id = ?', array(1), "assoc"/"num")[1]; +*/ + +namespace +{ + class db + { + private function __construct() { + } + public function __clone() { + throw new \vakata\database\Exception('Cannot clone static DB'); + } + public static function get($settings = null) { + return new \vakata\database\DBC($settings); + } + public static function getc($settings = null, \vakata\cache\ICache $c = null) { + if($c === null) { $c = \vakata\cache\cache::inst(); } + return new \vakata\database\DBCCached($settings, $c); + } + } +} + +namespace vakata\database +{ + class Exception extends \Exception + { + } + + class Settings + { + public $type = null; + public $username = 'root'; + public $password = null; + public $database = null; + public $servername = 'localhost'; + public $serverport = null; + public $persist = false; + public $timezone = null; + public $charset = 'UTF8'; + + public function __construct($settings) { + $str = parse_url($settings); + if(!$str) { + throw new Exception('Malformed DB settings string: ' . $settings); + } + if(array_key_exists('scheme',$str)) { + $this->type = rawurldecode($str['scheme']); + } + if(array_key_exists('user',$str)) { + $this->username = rawurldecode($str['user']); + } + if(array_key_exists('pass',$str)) { + $this->password = rawurldecode($str['pass']); + } + if(array_key_exists('path',$str)) { + $this->database = trim(rawurldecode($str['path']),'/'); + } + if(array_key_exists('host',$str)) { + $this->servername = rawurldecode($str['host']); + } + if(array_key_exists('port',$str)) { + $this->serverport = rawurldecode($str['port']); + } + if(array_key_exists('query',$str)) { + parse_str($str['query'], $str); + $this->persist = (array_key_exists('persist', $str) && $str['persist'] === 'TRUE'); + if(array_key_exists('charset', $str)) { + $this->charset = $str['charset']; + } + if(array_key_exists('timezone', $str)) { + $this->timezone = $str['timezone']; + } + } + } + } + + interface IDB + { + public function connect(); + public function query($sql, $vars); + public function get($sql, $data, $key, $skip_key, $mode); + public function all($sql, $data, $key, $skip_key, $mode); + public function one($sql, $data, $mode); + public function raw($sql); + public function prepare($sql); + public function execute($data); + public function disconnect(); + } + + interface IDriver + { + public function prepare($sql); + public function execute($data); + public function query($sql, $data); + public function nextr($result); + public function seek($result, $row); + public function nf($result); + public function af(); + public function insert_id(); + public function real_query($sql); + public function get_settings(); + } + + abstract class ADriver implements IDriver + { + protected $lnk = null; + protected $settings = null; + + public function __construct(Settings $settings) { + $this->settings = $settings; + } + public function __destruct() { + if($this->is_connected()) { + $this->disconnect(); + } + } + public function get_settings() { + return $this->settings; + } + + public function connect() { + } + public function is_connected() { + return $this->lnk !== null; + } + public function disconnect() { + } + public function query($sql, $data = array()) { + return $this->execute($this->prepare($sql), $data); + } + public function prepare($sql) { + if(!$this->is_connected()) { $this->connect(); } + return $sql; + } + public function execute($sql, $data = array()) { + if(!$this->is_connected()) { $this->connect(); } + if(!is_array($data)) { $data = array(); } + $binder = '?'; + if(strpos($sql, $binder) !== false && is_array($data) && count($data)) { + $tmp = explode($binder, $sql); + if(!is_array($data)) { $data = array($data); } + $data = array_values($data); + if(count($data) >= count($tmp)) { $data = array_slice($data, 0, count($tmp)-1); } + $sql = $tmp[0]; + foreach($data as $i => $v) { + $sql .= $this->escape($v) . $tmp[($i + 1)]; + } + } + return $this->real_query($sql); + } + + public function real_query($sql) { + if(!$this->is_connected()) { $this->connect(); } + } + protected function escape($input) { + if(is_array($input)) { + foreach($input as $k => $v) { + $input[$k] = $this->escape($v); + } + return implode(',',$input); + } + if(is_string($input)) { + $input = addslashes($input); + return "'".$input."'"; + } + if(is_bool($input)) { + return $input === false ? 0 : 1; + } + if(is_null($input)) { + return 'NULL'; + } + return $input; + } + + public function nextr($result) {} + public function nf($result) {} + public function af() {} + public function insert_id() {} + public function seek($result, $row) {} + } + + class Result implements \Iterator, \ArrayAccess, \Countable + { + protected $all = null; + protected $rdy = false; + protected $rslt = null; + protected $mode = null; + protected $fake = null; + protected $skip = false; + + protected $fake_key = 0; + protected $real_key = 0; + public function __construct(Query $rslt, $key = null, $skip_key = false, $mode = 'assoc') { + $this->rslt = $rslt; + $this->mode = $mode; + $this->fake = $key; + $this->skip = $skip_key; + } + public function count() { + return $this->rdy ? count($this->all) : $this->rslt->nf(); + } + public function current() { + if(!$this->count()) { + return null; + } + if($this->rdy) { + return current($this->all); + } + $tmp = $this->rslt->row(); + $row = array(); + switch($this->mode) { + case 'num': + foreach($tmp as $k => $v) { + if(is_int($k)) { + $row[$k] = $v; + } + } + break; + case 'both': + $row = $tmp; + break; + case 'assoc': + default: + foreach($tmp as $k => $v) { + if(!is_int($k)) { + $row[$k] = $v; + } + } + break; + } + if($this->fake) { + $this->fake_key = $row[$this->fake]; + } + if($this->skip) { + unset($row[$this->fake]); + } + if(is_array($row) && count($row) === 1) { + $row = current($row); + } + return $row; + } + public function key() { + if($this->rdy) { + return key($this->all); + } + return $this->fake ? $this->fake_key : $this->real_key; + } + public function next() { + if($this->rdy) { + return next($this->all); + } + $this->rslt->nextr(); + $this->real_key++; + } + public function rewind() { + if($this->rdy) { + return reset($this->all); + } + if($this->real_key !== null) { + $this->rslt->seek(($this->real_key = 0)); + } + $this->rslt->nextr(); + } + public function valid() { + if($this->rdy) { + return current($this->all) !== false; + } + return $this->rslt->row() !== false && $this->rslt->row() !== null; + } + + public function one() { + $this->rewind(); + return $this->current(); + } + public function get() { + if(!$this->rdy) { + $this->all = array(); + foreach($this as $k => $v) { + $this->all[$k] = $v; + } + $this->rdy = true; + } + return $this->all; + } + public function offsetExists($offset) { + if($this->rdy) { + return isset($this->all[$offset]); + } + if($this->fake === null) { + return $this->rslt->seek(($this->real_key = $offset)); + } + $this->get(); + return isset($this->all[$offset]); + } + public function offsetGet($offset) { + if($this->rdy) { + return $this->all[$offset]; + } + if($this->fake === null) { + $this->rslt->seek(($this->real_key = $offset)); + $this->rslt->nextr(); + return $this->current(); + } + $this->get(); + return $this->all[$offset]; + } + public function offsetSet ($offset, $value ) { + throw new Exception('Cannot set result'); + } + public function offsetUnset ($offset) { + throw new Exception('Cannot unset result'); + } + public function __sleep() { + $this->get(); + return array('all', 'rdy', 'mode', 'fake', 'skip'); + } + public function __toString() { + return print_r($this->get(), true); + } + } + + class Query + { + protected $drv = null; + protected $sql = null; + protected $prp = null; + protected $rsl = null; + protected $row = null; + protected $num = null; + protected $aff = null; + protected $iid = null; + + public function __construct(IDriver $drv, $sql) { + $this->drv = $drv; + $this->sql = $sql; + $this->prp = $this->drv->prepare($sql); + } + public function execute($vars = array()) { + $this->rsl = $this->drv->execute($this->prp, $vars); + $this->num = (is_object($this->rsl) || is_resource($this->rsl)) && is_callable(array($this->drv, 'nf')) ? (int)@$this->drv->nf($this->rsl) : 0; + $this->aff = $this->drv->af(); + $this->iid = $this->drv->insert_id(); + return $this; + } + public function result($key = null, $skip_key = false, $mode = 'assoc') { + return new Result($this, $key, $skip_key, $mode); + } + public function row() { + return $this->row; + } + public function f($field) { + return $this->row[$field]; + } + public function nextr() { + $this->row = $this->drv->nextr($this->rsl); + return $this->row !== false && $this->row !== null; + } + public function seek($offset) { + return @$this->drv->seek($this->rsl, $offset) ? true : false; + } + public function nf() { + return $this->num; + } + public function af() { + return $this->aff; + } + public function insert_id() { + return $this->iid; + } + } + + class DBC implements IDB + { + protected $drv = null; + protected $que = null; + + public function __construct($drv = null) { + if(!$drv && defined('DATABASE')) { + $drv = DATABASE; + } + if(!$drv) { + $this->error('Could not create database (no settings)'); + } + if(is_string($drv)) { + $drv = new \vakata\database\Settings($drv); + } + if($drv instanceof Settings) { + $tmp = '\\vakata\\database\\' . $drv->type . '_driver'; + if(!class_exists($tmp)) { + $this->error('Could not create database (no driver: '.$drv->type.')'); + } + $drv = new $tmp($drv); + } + if(!($drv instanceof IDriver)) { + $this->error('Could not create database - wrong driver'); + } + $this->drv = $drv; + } + + public function connect() { + if(!$this->drv->is_connected()) { + try { + $this->drv->connect(); + } + catch (Exception $e) { + $this->error($e->getMessage(), 1); + } + } + return true; + } + public function disconnect() { + if($this->drv->is_connected()) { + $this->drv->disconnect(); + } + } + + public function prepare($sql) { + try { + $this->que = new Query($this->drv, $sql); + return $this->que; + } catch (Exception $e) { + $this->error($e->getMessage(), 2); + } + } + public function execute($data = array()) { + try { + return $this->que->execute($data); + } catch (Exception $e) { + $this->error($e->getMessage(), 3); + } + } + public function query($sql, $data = array()) { + try { + $this->que = new Query($this->drv, $sql); + return $this->que->execute($data); + } + catch (Exception $e) { + $this->error($e->getMessage(), 4); + } + } + public function get($sql, $data = array(), $key = null, $skip_key = false, $mode = 'assoc') { + return $this->query($sql, $data)->result($key, $skip_key, $mode); + } + public function all($sql, $data = array(), $key = null, $skip_key = false, $mode = 'assoc') { + return $this->get($sql, $data, $key, $skip_key, $mode)->get(); + } + public function one($sql, $data = array(), $mode = 'assoc') { + return $this->query($sql, $data)->result(null, false, $mode)->one(); + } + public function raw($sql) { + return $this->drv->real_query($sql); + } + public function get_driver() { + return $this->drv->get_settings()->type; + } + + public function __call($method, $args) { + if($this->que && is_callable(array($this->que, $method))) { + try { + return call_user_func_array(array($this->que, $method), $args); + } catch (Exception $e) { + $this->error($e->getMessage(), 5); + } + } + } + + protected final function error($error = '') { + $dirnm = defined('LOGROOT') ? LOGROOT : realpath(dirname(__FILE__)); + @file_put_contents( + $dirnm . DIRECTORY_SEPARATOR . '_errors_sql.log', + '[' . date('d-M-Y H:i:s') . '] ' . $this->settings->type . ' > ' . preg_replace("@[\s\r\n\t]+@", ' ', $error) . "\n", + FILE_APPEND + ); + throw new Exception($error); + } + } + + class DBCCached extends DBC + { + protected $cache_inst = null; + protected $cache_nmsp = null; + public function __construct($settings = null, \vakata\cache\ICache $c = null) { + parent::__construct($settings); + $this->cache_inst = $c; + $this->cache_nmsp = 'DBCCached_' . md5(serialize($this->drv->get_settings())); + } + public function cache($expires, $sql, $data = array(), $key = null, $skip_key = false, $mode = 'assoc') { + $arg = func_get_args(); + array_shift($arg); + $key = md5(serialize($arg)); + if(!$this->cache_inst) { + return call_user_func_array(array($this, 'all'), $arg); + } + + $tmp = $this->cache_inst->get($key, $this->cache_nmsp); + if(!$tmp) { + $this->cache_inst->prep($key, $this->cache_nmsp); + $tmp = call_user_func_array(array($this, 'all'), $arg); + $this->cache_inst->set($key, $tmp, $this->cache_nmsp, $expires); + } + return $tmp; + } + public function clear() { + if($this->cache_inst) { + $this->cache_inst->clear($this->cache_nmsp); + } + } + } + + class mysqli_driver extends ADriver + { + protected $iid = 0; + protected $aff = 0; + protected $mnd = false; + + public function __construct($settings) { + parent::__construct($settings); + if(!$this->settings->serverport) { $this->settings->serverport = 3306; } + $this->mnd = function_exists('mysqli_fetch_all'); + } + + public function connect() { + $this->lnk = new \mysqli( + ($this->settings->persist ? 'p:' : '') . $this->settings->servername, + $this->settings->username, + $this->settings->password, + $this->settings->database, + $this->settings->serverport + ); + if($this->lnk->connect_errno) { + throw new Exception('Connect error: ' . $this->lnk->connect_errno); + } + if(!$this->lnk->set_charset($this->settings->charset)) { + throw new Exception('Charset error: ' . $this->lnk->connect_errno); + } + if($this->settings->timezone) { + @$this->lnk->query("SET time_zone = '" . addslashes($this->settings->timezone) . "'"); + } + return true; + } + public function disconnect() { + if($this->is_connected()) { + @$this->lnk->close(); + } + } + public function real_query($sql) { + if(!$this->is_connected()) { $this->connect(); } + $temp = $this->lnk->query($sql); + if(!$temp) { + throw new Exception('Could not execute query : ' . $this->lnk->error . ' <'.$sql.'>'); + } + $this->iid = $this->lnk->insert_id; + $this->aff = $this->lnk->affected_rows; + return $temp; + } + public function nextr($result) { + if($this->mnd) { + return $result->fetch_array(MYSQLI_BOTH); + } + else { + $ref = $result->result_metadata(); + if(!$ref) { return false; } + $tmp = mysqli_fetch_fields($ref); + if(!$tmp) { return false; } + $ref = array(); + foreach($tmp as $col) { $ref[$col->name] = null; } + $tmp = array(); + foreach($ref as $k => $v) { $tmp[] =& $ref[$k]; } + if(!call_user_func_array(array($result, 'bind_result'), $tmp)) { return false; } + if(!$result->fetch()) { return false; } + $tmp = array(); + $i = 0; + foreach($ref as $k => $v) { $tmp[$i++] = $v; $tmp[$k] = $v; } + return $tmp; + } + } + public function seek($result, $row) { + $temp = $result->data_seek($row); + return $temp; + } + public function nf($result) { + return $result->num_rows; + } + public function af() { + return $this->aff; + } + public function insert_id() { + return $this->iid; + } + public function prepare($sql) { + if(!$this->is_connected()) { $this->connect(); } + $temp = $this->lnk->prepare($sql); + if(!$temp) { + throw new Exception('Could not prepare : ' . $this->lnk->error . ' <'.$sql.'>'); + } + return $temp; + } + public function execute($sql, $data = array()) { + if(!$this->is_connected()) { $this->connect(); } + if(!is_array($data)) { $data = array(); } + if(is_string($sql)) { + return parent::execute($sql, $data); + } + + $data = array_values($data); + if($sql->param_count) { + if(count($data) < $sql->param_count) { + throw new Exception('Prepared execute - not enough parameters.'); + } + $ref = array(''); + foreach($data as $i => $v) { + switch(gettype($v)) { + case "boolean": + case "integer": + $data[$i] = (int)$v; + $ref[0] .= 'i'; + $ref[$i+1] =& $data[$i]; + break; + case "double": + $ref[0] .= 'd'; + $ref[$i+1] =& $data[$i]; + break; + case "array": + $data[$i] = implode(',',$v); + $ref[0] .= 's'; + $ref[$i+1] =& $data[$i]; + break; + case "object": + case "resource": + $data[$i] = serialize($data[$i]); + $ref[0] .= 's'; + $ref[$i+1] =& $data[$i]; + break; + default: + $ref[0] .= 's'; + $ref[$i+1] =& $data[$i]; + break; + } + } + call_user_func_array(array($sql, 'bind_param'), $ref); + } + $rtrn = $sql->execute(); + if(!$this->mnd) { + $sql->store_result(); + } + if(!$rtrn) { + throw new Exception('Prepared execute error : ' . $this->lnk->error); + } + $this->iid = $this->lnk->insert_id; + $this->aff = $this->lnk->affected_rows; + if(!$this->mnd) { + return $sql->field_count ? $sql : $rtrn; + } + else { + return $sql->field_count ? $sql->get_result() : $rtrn; + } + } + + protected function escape($input) { + if(is_array($input)) { + foreach($input as $k => $v) { + $input[$k] = $this->escape($v); + } + return implode(',',$input); + } + if(is_string($input)) { + $input = $this->lnk->real_escape_string($input); + return "'".$input."'"; + } + if(is_bool($input)) { + return $input === false ? 0 : 1; + } + if(is_null($input)) { + return 'NULL'; + } + return $input; + } + } + + class mysql_driver extends ADriver + { + protected $iid = 0; + protected $aff = 0; + public function __construct($settings) { + parent::__construct($settings); + if(!$this->settings->serverport) { $this->settings->serverport = 3306; } + } + public function connect() { + $this->lnk = ($this->settings->persist) ? + @mysql_pconnect( + $this->settings->servername.':'.$this->settings->serverport, + $this->settings->username, + $this->settings->password + ) : + @mysql_connect( + $this->settings->servername.':'.$this->settings->serverport, + $this->settings->username, + $this->settings->password + ); + + if($this->lnk === false || !mysql_select_db($this->settings->database, $this->lnk) || !mysql_query("SET NAMES '".$this->settings->charset."'", $this->lnk)) { + throw new Exception('Connect error: ' . mysql_error()); + } + if($this->settings->timezone) { + @mysql_query("SET time_zone = '" . addslashes($this->settings->timezone) . "'", $this->lnk); + } + return true; + } + public function disconnect() { + if(is_resource($this->lnk)) { + mysql_close($this->lnk); + } + } + + public function real_query($sql) { + if(!$this->is_connected()) { $this->connect(); } + $temp = mysql_query($sql, $this->lnk); + if(!$temp) { + throw new Exception('Could not execute query : ' . mysql_error($this->lnk) . ' <'.$sql.'>'); + } + $this->iid = mysql_insert_id($this->lnk); + $this->aff = mysql_affected_rows($this->lnk); + return $temp; + } + public function nextr($result) { + return mysql_fetch_array($result, MYSQL_BOTH); + } + public function seek($result, $row) { + $temp = @mysql_data_seek($result, $row); + if(!$temp) { + //throw new Exception('Could not seek : ' . mysql_error($this->lnk)); + } + return $temp; + } + public function nf($result) { + return mysql_num_rows($result); + } + public function af() { + return $this->aff; + } + public function insert_id() { + return $this->iid; + } + + protected function escape($input) { + if(is_array($input)) { + foreach($input as $k => $v) { + $input[$k] = $this->escape($v); + } + return implode(',',$input); + } + if(is_string($input)) { + $input = mysql_real_escape_string($input, $this->lnk); + return "'".$input."'"; + } + if(is_bool($input)) { + return $input === false ? 0 : 1; + } + if(is_null($input)) { + return 'NULL'; + } + return $input; + } + } + + class postgre_driver extends ADriver + { + protected $iid = 0; + protected $aff = 0; + public function __construct($settings) { + parent::__construct($settings); + if(!$this->settings->serverport) { $this->settings->serverport = 5432; } + } + public function connect() { + $this->lnk = ($this->settings->persist) ? + @pg_pconnect( + "host=" . $this->settings->servername . " " . + "port=" . $this->settings->serverport . " " . + "user=" . $this->settings->username . " " . + "password=" . $this->settings->password . " " . + "dbname=" . $this->settings->database . " " . + "options='--client_encoding=".strtoupper($this->settings->charset)."' " + ) : + @pg_connect( + "host=" . $this->settings->servername . " " . + "port=" . $this->settings->serverport . " " . + "user=" . $this->settings->username . " " . + "password=" . $this->settings->password . " " . + "dbname=" . $this->settings->database . " " . + "options='--client_encoding=".strtoupper($this->settings->charset)."' " + ); + if($this->lnk === false) { + throw new Exception('Connect error'); + } + if($this->settings->timezone) { + @pg_query($this->lnk, "SET TIME ZONE '".addslashes($this->settings->timezone)."'"); + } + return true; + } + public function disconnect() { + if(is_resource($this->lnk)) { + pg_close($this->lnk); + } + } + public function real_query($sql) { + return $this->query($sql); + } + public function prepare($sql) { + if(!$this->is_connected()) { $this->connect(); } + $binder = '?'; + if(strpos($sql, $binder) !== false) { + $tmp = explode($binder, $sql); + $sql = $tmp[0]; + foreach($tmp as $i => $v) { + $sql .= '$' . ($i + 1); + if(isset($tmp[($i + 1)])) { + $sql .= $tmp[($i + 1)]; + } + } + } + return $sql; + } + public function execute($sql, $data = array()) { + if(!$this->is_connected()) { $this->connect(); } + if(!is_array($data)) { $data = array(); } + $temp = (is_array($data) && count($data)) ? pg_query_params($this->lnk, $sql, $data) : pg_query_params($this->lnk, $sql, array()); + if(!$temp) { + throw new Exception('Could not execute query : ' . pg_last_error($this->lnk) . ' <'.$sql.'>'); + } + if(preg_match('@^\s*(INSERT|REPLACE)\s+INTO@i', $sql)) { + $this->iid = pg_query($this->lnk, 'SELECT lastval()'); + $this->aff = pg_affected_rows($temp); + } + return $temp; + } + + public function nextr($result) { + return pg_fetch_array($result, NULL, PGSQL_BOTH); + } + public function seek($result, $row) { + $temp = @pg_result_seek($result, $row); + if(!$temp) { + //throw new Exception('Could not seek : ' . pg_last_error($this->lnk)); + } + return $temp; + } + public function nf($result) { + return pg_num_rows($result); + } + public function af() { + return $this->aff; + } + public function insert_id() { + return $this->iid; + } + + // Функция mysql_query? + // - http://okbob.blogspot.com/2009/08/mysql-functions-for-postgresql.html + // - http://www.xach.com/aolserver/mysql-to-postgresql.html + // - REPLACE unixtimestamp / limit / curdate + } + + class oracle_driver extends ADriver + { + protected $iid = 0; + protected $aff = 0; + + public function connect() { + $this->lnk = ($this->settings->persist) ? + @oci_pconnect($this->settings->username, $this->settings->password, $this->settings->servername, $this->settings->charset) : + @oci_connect ($this->settings->username, $this->settings->password, $this->settings->servername, $this->settings->charset); + if($this->lnk === false) { + throw new Exception('Connect error : ' . oci_error()); + } + if($this->settings->timezone) { + $this->real_query("ALTER session SET time_zone = '" . addslashes($this->settings->timezone) . "'"); + } + return true; + } + public function disconnect() { + if(is_resource($this->lnk)) { + oci_close($this->lnk); + } + } + public function real_query($sql) { + if(!$this->is_connected()) { $this->connect(); } + $temp = oci_parse($this->lnk, $sql); + if(!$temp || !oci_execute($temp)) { + throw new Exception('Could not execute real query : ' . oci_error($temp)); + } + $this->aff = oci_num_rows($temp); + return $temp; + } + + public function prepare($sql) { + if(!$this->is_connected()) { $this->connect(); } + $binder = '?'; + if(strpos($sql, $binder) !== false && $vars !== false) { + $tmp = explode($this->binder, $sql); + $sql = $tmp[0]; + foreach($tmp as $i => $v) { + $sql .= ':f' . $i; + if(isset($tmp[($i + 1)])) { + $sql .= $tmp[($i + 1)]; + } + } + } + return oci_parse($this->lnk, $sql); + } + public function execute($sql, $data = array()) { + if(!$this->is_connected()) { $this->connect(); } + if(!is_array($data)) { $data = array(); } + $data = array_values($data); + foreach($data as $i => $v) { + switch(gettype($v)) { + case "boolean": + case "integer": + $data[$i] = (int)$v; + oci_bind_by_name($sql, 'f'.$i, $data[$i], SQLT_INT); + break; + case "array": + $data[$i] = implode(',',$v); + oci_bind_by_name($sql, 'f'.$i, $data[$i]); + break; + case "object": + case "resource": + $data[$i] = serialize($data[$i]); + oci_bind_by_name($sql, 'f'.$i, $data[$i]); + break; + default: + oci_bind_by_name($sql, 'f'.$i, $data[$i]); + break; + } + } + $temp = oci_execute($sql); + if(!$temp) { + throw new Exception('Could not execute query : ' . oci_error($sql)); + } + $this->aff = oci_num_rows($sql); + + /* TO DO: get iid + if(!$seqname) { return $this->error('INSERT_ID not supported with no sequence.'); } + $stm = oci_parse($this->link, 'SELECT '.strtoupper(str_replace("'",'',$seqname)).'.CURRVAL FROM DUAL'); + oci_execute($stm, $sql); + $tmp = oci_fetch_array($stm); + $tmp = $tmp[0]; + oci_free_statement($stm); + */ + return $sql; + } + public function nextr($result) { + return oci_fetch_array($result, OCI_BOTH); + } + public function seek($result, $row) { + $cnt = 0; + while($cnt < $row) { + if(oci_fetch_array($result, OCI_BOTH) === false) { + return false; + } + $cnt++; + } + return true; + } + public function nf($result) { + return oci_num_rows($result); + } + public function af() { + return $this->aff; + } + public function insert_id() { + return $this->iid; + } + } + + class ibase_driver extends ADriver + { + protected $iid = 0; + protected $aff = 0; + public function __construct($settings) { + parent::__construct($settings); + if(!is_file($this->settings->database) && is_file('/'.$this->settings->database)) { + $this->settings->database = '/'.$this->settings->database; + } + $this->settings->servername = ($this->settings->servername === 'localhost' || $this->settings->servername === '127.0.0.1' || $this->settings->servername === '') ? + '' : + $this->settings->servername . ':'; + } + public function connect() { + $this->lnk = ($this->settings->persist) ? + @ibase_pconnect( + $this->settings->servername . $this->settings->database, + $this->settings->username, + $this->settings->password, + strtoupper($this->settings->charset) + ) : + @ibase_connect( + $this->settings->servername . $this->settings->database, + $this->settings->username, + $this->settings->password, + strtoupper($this->settings->charset) + ); + if($this->lnk === false) { + throw new Exception('Connect error: ' . ibase_errmsg()); + } + return true; + } + public function disconnect() { + if(is_resource($this->lnk)) { + ibase_close($this->lnk); + } + } + + public function real_query($sql) { + if(!$this->is_connected()) { $this->connect(); } + $temp = ibase_query($sql, $this->lnk); + if(!$temp) { + throw new Exception('Could not execute query : ' . ibase_errmsg() . ' <'.$sql.'>'); + } + //$this->iid = mysql_insert_id($this->lnk); + $this->aff = ibase_affected_rows($this->lnk); + return $temp; + } + public function prepare($sql) { + if(!$this->is_connected()) { $this->connect(); } + return ibase_prepare($this->lnk, $sql); + } + public function execute($sql, $data = array()) { + if(!$this->is_connected()) { $this->connect(); } + if(!is_array($data)) { $data = array(); } + $data = array_values($data); + foreach($data as $i => $v) { + switch(gettype($v)) { + case "boolean": + case "integer": + $data[$i] = (int)$v; + break; + case "array": + $data[$i] = implode(',',$v); + break; + case "object": + case "resource": + $data[$i] = serialize($data[$i]); + break; + } + } + array_unshift($data, $sql); + $temp = call_user_func_array("ibase_execute", $data); + if(!$temp) { + throw new Exception('Could not execute query : ' . ibase_errmsg() . ' <'.$sql.'>'); + } + $this->aff = ibase_affected_rows($this->lnk); + return $temp; + } + public function nextr($result) { + return ibase_fetch_assoc($result, IBASE_TEXT); + } + public function seek($result, $row) { + return false; + } + public function nf($result) { + return false; + } + public function af() { + return $this->aff; + } + public function insert_id() { + return $this->iid; + } + } +} diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/sitebrowser/class.tree.php b/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/sitebrowser/class.tree.php new file mode 100644 index 0000000000..94731d4b2a --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/sitebrowser/class.tree.php @@ -0,0 +1,986 @@ + 'structure', // the structure table (containing the id, left, right, level, parent_id and position fields) + 'data_table' => 'structure', // table for additional fields (apart from structure ones, can be the same as structure_table) + 'data2structure' => 'id', // which field from the data table maps to the structure table + 'structure' => array( // which field (value) maps to what in the structure (key) + 'id' => 'id', + 'left' => 'lft', + 'right' => 'rgt', + 'level' => 'lvl', + 'parent_id' => 'pid', + 'position' => 'pos' + ), + 'data' => array() // array of additional fields from the data table + ); + + public function __construct(\vakata\database\IDB $db, array $options = array()) { + $this->db = $db; + $this->options = array_merge($this->default, $options); + } + + public function get_node($id, $options = array()) { + $node = $this->db->one(" + SELECT + s.".implode(", s.", $this->options['structure']).", + d.".implode(", d.", $this->options['data'])." + FROM + ".$this->options['structure_table']." s, + ".$this->options['data_table']." d + WHERE + s.".$this->options['structure']['id']." = d.".$this->options['data2structure']." AND + s.".$this->options['structure']['id']." = ".(int)$id + ); + if(!$node) { + throw new Exception('Node does not exist'); + } + if(isset($options['with_children'])) { + $node['children'] = $this->get_children($id, isset($options['deep_children'])); + } + if(isset($options['with_path'])) { + $node['path'] = $this->get_path($id); + } + return $node; + } + + public function get_children($id, $recursive = false) { + $sql = false; + if($recursive) { + $node = $this->get_node($id); + $sql = " + SELECT + s.".implode(", s.", $this->options['structure']).", + d.".implode(", d.", $this->options['data'])." + FROM + ".$this->options['structure_table']." s, + ".$this->options['data_table']." d + WHERE + s.".$this->options['structure']['id']." = d.".$this->options['data2structure']." AND + s.".$this->options['structure']['left']." > ".(int)$node[$this->options['structure']['left']]." AND + s.".$this->options['structure']['right']." < ".(int)$node[$this->options['structure']['right']]." + ORDER BY + s.".$this->options['structure']['left']." + "; + } + else { + $sql = " + SELECT + s.".implode(", s.", $this->options['structure']).", + d.".implode(", d.", $this->options['data'])." + FROM + ".$this->options['structure_table']." s, + ".$this->options['data_table']." d + WHERE + s.".$this->options['structure']['id']." = d.".$this->options['data2structure']." AND + s.".$this->options['structure']['parent_id']." = ".(int)$id." + ORDER BY + s.".$this->options['structure']['position']." + "; + } + return $this->db->all($sql); + } + + public function get_path($id) { + $node = $this->get_node($id); + $sql = false; + if($node) { + $sql = " + SELECT + s.".implode(", s.", $this->options['structure']).", + d.".implode(", d.", $this->options['data'])." + FROM + ".$this->options['structure_table']." s, + ".$this->options['data_table']." d + WHERE + s.".$this->options['structure']['id']." = d.".$this->options['data2structure']." AND + s.".$this->options['structure']['left']." < ".(int)$node[$this->options['structure']['left']]." AND + s.".$this->options['structure']['right']." > ".(int)$node[$this->options['structure']['right']]." + ORDER BY + s.".$this->options['structure']['left']." + "; + } + return $sql ? $this->db->all($sql) : false; + } + + public function mk($parent, $position = 0, $data = array()) { + $parent = (int)$parent; + if($parent == 0) { throw new Exception('Parent is 0'); } + $parent = $this->get_node($parent, array('with_children'=> true)); + if(!$parent['children']) { $position = 0; } + if($parent['children'] && $position >= count($parent['children'])) { $position = count($parent['children']); } + + $sql = array(); + $par = array(); + + // PREPARE NEW PARENT + // update positions of all next elements + $sql[] = " + UPDATE ".$this->options['structure_table']." + SET ".$this->options['structure']["position"]." = ".$this->options['structure']["position"]." + 1 + WHERE + ".$this->options['structure']["parent_id"]." = ".(int)$parent[$this->options['structure']['id']]." AND + ".$this->options['structure']["position"]." >= ".$position." + "; + $par[] = false; + + // update left indexes + $ref_lft = false; + if(!$parent['children']) { + $ref_lft = $parent[$this->options['structure']["right"]]; + } + else if(!isset($parent['children'][$position])) { + $ref_lft = $parent[$this->options['structure']["right"]]; + } + else { + $ref_lft = $parent['children'][(int)$position][$this->options['structure']["left"]]; + } + $sql[] = " + UPDATE ".$this->options['structure_table']." + SET ".$this->options['structure']["left"]." = ".$this->options['structure']["left"]." + 2 + WHERE + ".$this->options['structure']["left"]." >= ".(int)$ref_lft." + "; + $par[] = false; + + // update right indexes + $ref_rgt = false; + if(!$parent['children']) { + $ref_rgt = $parent[$this->options['structure']["right"]]; + } + else if(!isset($parent['children'][$position])) { + $ref_rgt = $parent[$this->options['structure']["right"]]; + } + else { + $ref_rgt = $parent['children'][(int)$position][$this->options['structure']["left"]] + 1; + } + $sql[] = " + UPDATE ".$this->options['structure_table']." + SET ".$this->options['structure']["right"]." = ".$this->options['structure']["right"]." + 2 + WHERE + ".$this->options['structure']["right"]." >= ".(int)$ref_rgt." + "; + $par[] = false; + + // INSERT NEW NODE IN STRUCTURE + $sql[] = "INSERT INTO ".$this->options['structure_table']." (".implode(",", $this->options['structure']).") VALUES (?".str_repeat(',?', count($this->options['structure']) - 1).")"; + $tmp = array(); + foreach($this->options['structure'] as $k => $v) { + switch($k) { + case 'id': + $tmp[] = null; + break; + case 'left': + $tmp[] = (int)$ref_lft; + break; + case 'right': + $tmp[] = (int)$ref_lft + 1; + break; + case 'level': + $tmp[] = (int)$parent[$v] + 1; + break; + case 'parent_id': + $tmp[] = $parent[$this->options['structure']['id']]; + break; + case 'position': + $tmp[] = $position; + break; + default: + $tmp[] = null; + } + } + $par[] = $tmp; + + foreach($sql as $k => $v) { + try { + $this->db->query($v, $par[$k]); + } catch(Exception $e) { + $this->reconstruct(); + throw new Exception('Could not create'); + } + } + if($data && count($data)) { + $node = $this->db->insert_id(); + if(!$this->rn($node,$data)) { + $this->rm($node); + throw new Exception('Could not rename after create'); + } + } + return $node; + } + + public function mv($id, $parent, $position = 0) { + $id = (int)$id; + $parent = (int)$parent; + if($parent == 0 || $id == 0 || $id == 1) { + throw new Exception('Cannot move inside 0, or move root node'); + } + + $parent = $this->get_node($parent, array('with_children'=> true, 'with_path' => true)); + $id = $this->get_node($id, array('with_children'=> true, 'deep_children' => true, 'with_path' => true)); + if(!$parent['children']) { + $position = 0; + } + if($id[$this->options['structure']['parent_id']] == $parent[$this->options['structure']['id']] && $position > $id[$this->options['structure']['position']]) { + $position ++; + } + if($parent['children'] && $position >= count($parent['children'])) { + $position = count($parent['children']); + } + if($id[$this->options['structure']['left']] < $parent[$this->options['structure']['left']] && $id[$this->options['structure']['right']] > $parent[$this->options['structure']['right']]) { + throw new Exception('Could not move parent inside child'); + } + + $tmp = array(); + $tmp[] = (int)$id[$this->options['structure']["id"]]; + if($id['children'] && is_array($id['children'])) { + foreach($id['children'] as $c) { + $tmp[] = (int)$c[$this->options['structure']["id"]]; + } + } + $width = (int)$id[$this->options['structure']["right"]] - (int)$id[$this->options['structure']["left"]] + 1; + + $sql = array(); + + // PREPARE NEW PARENT + // update positions of all next elements + $sql[] = " + UPDATE ".$this->options['structure_table']." + SET ".$this->options['structure']["position"]." = ".$this->options['structure']["position"]." + 1 + WHERE + ".$this->options['structure']["id"]." != ".(int)$id[$this->options['structure']['id']]." AND + ".$this->options['structure']["parent_id"]." = ".(int)$parent[$this->options['structure']['id']]." AND + ".$this->options['structure']["position"]." >= ".$position." + "; + + // update left indexes + $ref_lft = false; + if(!$parent['children']) { + $ref_lft = $parent[$this->options['structure']["right"]]; + } + else if(!isset($parent['children'][$position])) { + $ref_lft = $parent[$this->options['structure']["right"]]; + } + else { + $ref_lft = $parent['children'][(int)$position][$this->options['structure']["left"]]; + } + $sql[] = " + UPDATE ".$this->options['structure_table']." + SET ".$this->options['structure']["left"]." = ".$this->options['structure']["left"]." + ".$width." + WHERE + ".$this->options['structure']["left"]." >= ".(int)$ref_lft." AND + ".$this->options['structure']["id"]." NOT IN(".implode(',',$tmp).") + "; + // update right indexes + $ref_rgt = false; + if(!$parent['children']) { + $ref_rgt = $parent[$this->options['structure']["right"]]; + } + else if(!isset($parent['children'][$position])) { + $ref_rgt = $parent[$this->options['structure']["right"]]; + } + else { + $ref_rgt = $parent['children'][(int)$position][$this->options['structure']["left"]] + 1; + } + $sql[] = " + UPDATE ".$this->options['structure_table']." + SET ".$this->options['structure']["right"]." = ".$this->options['structure']["right"]." + ".$width." + WHERE + ".$this->options['structure']["right"]." >= ".(int)$ref_rgt." AND + ".$this->options['structure']["id"]." NOT IN(".implode(',',$tmp).") + "; + + // MOVE THE ELEMENT AND CHILDREN + // left, right and level + $diff = $ref_lft - (int)$id[$this->options['structure']["left"]]; + + if($diff > 0) { $diff = $diff - $width; } + $ldiff = ((int)$parent[$this->options['structure']['level']] + 1) - (int)$id[$this->options['structure']['level']]; + $sql[] = " + UPDATE ".$this->options['structure_table']." + SET ".$this->options['structure']["right"]." = ".$this->options['structure']["right"]." + ".$diff.", + ".$this->options['structure']["left"]." = ".$this->options['structure']["left"]." + ".$diff.", + ".$this->options['structure']["level"]." = ".$this->options['structure']["level"]." + ".$ldiff." + WHERE ".$this->options['structure']["id"]." IN(".implode(',',$tmp).") + "; + // position and parent_id + $sql[] = " + UPDATE ".$this->options['structure_table']." + SET ".$this->options['structure']["position"]." = ".$position.", + ".$this->options['structure']["parent_id"]." = ".(int)$parent[$this->options['structure']["id"]]." + WHERE ".$this->options['structure']["id"]." = ".(int)$id[$this->options['structure']['id']]." + "; + + // CLEAN OLD PARENT + // position of all next elements + $sql[] = " + UPDATE ".$this->options['structure_table']." + SET ".$this->options['structure']["position"]." = ".$this->options['structure']["position"]." - 1 + WHERE + ".$this->options['structure']["parent_id"]." = ".(int)$id[$this->options['structure']["parent_id"]]." AND + ".$this->options['structure']["position"]." > ".(int)$id[$this->options['structure']["position"]]; + // left indexes + $sql[] = " + UPDATE ".$this->options['structure_table']." + SET ".$this->options['structure']["left"]." = ".$this->options['structure']["left"]." - ".$width." + WHERE + ".$this->options['structure']["left"]." > ".(int)$id[$this->options['structure']["right"]]." AND + ".$this->options['structure']["id"]." NOT IN(".implode(',',$tmp).") + "; + // right indexes + $sql[] = " + UPDATE ".$this->options['structure_table']." + SET ".$this->options['structure']["right"]." = ".$this->options['structure']["right"]." - ".$width." + WHERE + ".$this->options['structure']["right"]." > ".(int)$id[$this->options['structure']["right"]]." AND + ".$this->options['structure']["id"]." NOT IN(".implode(',',$tmp).") + "; + + foreach($sql as $k => $v) { + //echo preg_replace('@[\s\t]+@',' ',$v) ."\n"; + try { + $this->db->query($v); + } catch(Exception $e) { + $this->reconstruct(); + throw new Exception('Error moving'); + } + } + return true; + } + + public function cp($id, $parent, $position = 0) { + $id = (int)$id; + $parent = (int)$parent; + if($parent == 0 || $id == 0 || $id == 1) { + throw new Exception('Could not copy inside parent 0, or copy root nodes'); + } + + $parent = $this->get_node($parent, array('with_children'=> true, 'with_path' => true)); + $id = $this->get_node($id, array('with_children'=> true, 'deep_children' => true, 'with_path' => true)); + $old_nodes = $this->db->get(" + SELECT * FROM ".$this->options['structure_table']." + WHERE ".$this->options['structure']["left"]." > ".$id[$this->options['structure']["left"]]." AND ".$this->options['structure']["right"]." < ".$id[$this->options['structure']["right"]]." + ORDER BY ".$this->options['structure']["left"]." + "); + if(!$parent['children']) { + $position = 0; + } + if($id[$this->options['structure']['parent_id']] == $parent[$this->options['structure']['id']] && $position > $id[$this->options['structure']['position']]) { + //$position ++; + } + if($parent['children'] && $position >= count($parent['children'])) { + $position = count($parent['children']); + } + + $tmp = array(); + $tmp[] = (int)$id[$this->options['structure']["id"]]; + if($id['children'] && is_array($id['children'])) { + foreach($id['children'] as $c) { + $tmp[] = (int)$c[$this->options['structure']["id"]]; + } + } + $width = (int)$id[$this->options['structure']["right"]] - (int)$id[$this->options['structure']["left"]] + 1; + + $sql = array(); + + // PREPARE NEW PARENT + // update positions of all next elements + $sql[] = " + UPDATE ".$this->options['structure_table']." + SET ".$this->options['structure']["position"]." = ".$this->options['structure']["position"]." + 1 + WHERE + ".$this->options['structure']["parent_id"]." = ".(int)$parent[$this->options['structure']['id']]." AND + ".$this->options['structure']["position"]." >= ".$position." + "; + + // update left indexes + $ref_lft = false; + if(!$parent['children']) { + $ref_lft = $parent[$this->options['structure']["right"]]; + } + else if(!isset($parent['children'][$position])) { + $ref_lft = $parent[$this->options['structure']["right"]]; + } + else { + $ref_lft = $parent['children'][(int)$position][$this->options['structure']["left"]]; + } + $sql[] = " + UPDATE ".$this->options['structure_table']." + SET ".$this->options['structure']["left"]." = ".$this->options['structure']["left"]." + ".$width." + WHERE + ".$this->options['structure']["left"]." >= ".(int)$ref_lft." + "; + // update right indexes + $ref_rgt = false; + if(!$parent['children']) { + $ref_rgt = $parent[$this->options['structure']["right"]]; + } + else if(!isset($parent['children'][$position])) { + $ref_rgt = $parent[$this->options['structure']["right"]]; + } + else { + $ref_rgt = $parent['children'][(int)$position][$this->options['structure']["left"]] + 1; + } + $sql[] = " + UPDATE ".$this->options['structure_table']." + SET ".$this->options['structure']["right"]." = ".$this->options['structure']["right"]." + ".$width." + WHERE + ".$this->options['structure']["right"]." >= ".(int)$ref_rgt." + "; + + // MOVE THE ELEMENT AND CHILDREN + // left, right and level + $diff = $ref_lft - (int)$id[$this->options['structure']["left"]]; + + if($diff <= 0) { $diff = $diff - $width; } + $ldiff = ((int)$parent[$this->options['structure']['level']] + 1) - (int)$id[$this->options['structure']['level']]; + + // build all fields + data table + $fields = array_combine($this->options['structure'], $this->options['structure']); + unset($fields['id']); + $fields[$this->options['structure']["left"]] = $this->options['structure']["left"]." + ".$diff; + $fields[$this->options['structure']["right"]] = $this->options['structure']["right"]." + ".$diff; + $fields[$this->options['structure']["level"]] = $this->options['structure']["level"]." + ".$ldiff; + $sql[] = " + INSERT INTO ".$this->options['structure_table']." ( ".implode(',',array_keys($fields))." ) + SELECT ".implode(',',array_values($fields))." FROM ".$this->options['structure_table']." WHERE ".$this->options['structure']["id"]." IN (".implode(",", $tmp).") + ORDER BY ".$this->options['structure']["level"]." ASC"; + + foreach($sql as $k => $v) { + try { + $this->db->query($v); + } catch(Exception $e) { + $this->reconstruct(); + throw new Exception('Error copying'); + } + } + $iid = (int)$this->db->insert_id(); + + try { + $this->db->query(" + UPDATE ".$this->options['structure_table']." + SET ".$this->options['structure']["position"]." = ".$position.", + ".$this->options['structure']["parent_id"]." = ".(int)$parent[$this->options['structure']["id"]]." + WHERE ".$this->options['structure']["id"]." = ".$iid." + "); + } catch(Exception $e) { + $this->rm($iid); + $this->reconstruct(); + throw new Exception('Could not update adjacency after copy'); + } + $fields = $this->options['data']; + unset($fields['id']); + $update_fields = array(); + foreach($fields as $f) { + $update_fields[] = $f.'=VALUES('.$f.')'; + } + $update_fields = implode(',', $update_fields); + if(count($fields)) { + try { + $this->db->query(" + INSERT INTO ".$this->options['data_table']." (".$this->options['data2structure'].",".implode(",",$fields).") + SELECT ".$iid.",".implode(",",$fields)." FROM ".$this->options['data_table']." WHERE ".$this->options['data2structure']." = ".$id[$this->options['data2structure']]." + ON DUPLICATE KEY UPDATE ".$update_fields." + "); + } + catch(Exception $e) { + $this->rm($iid); + $this->reconstruct(); + throw new Exception('Could not update data after copy'); + } + } + + // manually fix all parent_ids and copy all data + $new_nodes = $this->db->get(" + SELECT * FROM ".$this->options['structure_table']." + WHERE ".$this->options['structure']["left"]." > ".$ref_lft." AND ".$this->options['structure']["right"]." < ".($ref_lft + $width - 1)." AND ".$this->options['structure']["id"]." != ".$iid." + ORDER BY ".$this->options['structure']["left"]." + "); + $parents = array(); + foreach($new_nodes as $node) { + if(!isset($parents[$node[$this->options['structure']["left"]]])) { $parents[$node[$this->options['structure']["left"]]] = $iid; } + for($i = $node[$this->options['structure']["left"]] + 1; $i < $node[$this->options['structure']["right"]]; $i++) { + $parents[$i] = $node[$this->options['structure']["id"]]; + } + } + $sql = array(); + foreach($new_nodes as $k => $node) { + $sql[] = " + UPDATE ".$this->options['structure_table']." + SET ".$this->options['structure']["parent_id"]." = ".$parents[$node[$this->options['structure']["left"]]]." + WHERE ".$this->options['structure']["id"]." = ".(int)$node[$this->options['structure']["id"]]." + "; + if(count($fields)) { + $up = ""; + foreach($fields as $f) + $sql[] = " + INSERT INTO ".$this->options['data_table']." (".$this->options['data2structure'].",".implode(",",$fields).") + SELECT ".(int)$node[$this->options['structure']["id"]].",".implode(",",$fields)." FROM ".$this->options['data_table']." + WHERE ".$this->options['data2structure']." = ".$old_nodes[$k][$this->options['structure']['id']]." + ON DUPLICATE KEY UPDATE ".$update_fields." + "; + } + } + //var_dump($sql); + foreach($sql as $k => $v) { + try { + $this->db->query($v); + } catch(Exception $e) { + $this->rm($iid); + $this->reconstruct(); + throw new Exception('Error copying'); + } + } + return $iid; + } + + public function rm($id) { + $id = (int)$id; + if(!$id || $id === 1) { throw new Exception('Could not create inside roots'); } + $data = $this->get_node($id, array('with_children' => true, 'deep_children' => true)); + $lft = (int)$data[$this->options['structure']["left"]]; + $rgt = (int)$data[$this->options['structure']["right"]]; + $pid = (int)$data[$this->options['structure']["parent_id"]]; + $pos = (int)$data[$this->options['structure']["position"]]; + $dif = $rgt - $lft + 1; + + $sql = array(); + // deleting node and its children from structure + $sql[] = " + DELETE FROM ".$this->options['structure_table']." + WHERE ".$this->options['structure']["left"]." >= ".(int)$lft." AND ".$this->options['structure']["right"]." <= ".(int)$rgt." + "; + // shift left indexes of nodes right of the node + $sql[] = " + UPDATE ".$this->options['structure_table']." + SET ".$this->options['structure']["left"]." = ".$this->options['structure']["left"]." - ".(int)$dif." + WHERE ".$this->options['structure']["left"]." > ".(int)$rgt." + "; + // shift right indexes of nodes right of the node and the node's parents + $sql[] = " + UPDATE ".$this->options['structure_table']." + SET ".$this->options['structure']["right"]." = ".$this->options['structure']["right"]." - ".(int)$dif." + WHERE ".$this->options['structure']["right"]." > ".(int)$lft." + "; + // Update position of siblings below the deleted node + $sql[] = " + UPDATE ".$this->options['structure_table']." + SET ".$this->options['structure']["position"]." = ".$this->options['structure']["position"]." - 1 + WHERE ".$this->options['structure']["parent_id"]." = ".$pid." AND ".$this->options['structure']["position"]." > ".(int)$pos." + "; + // delete from data table + if($this->options['data_table']) { + $tmp = array(); + $tmp[] = (int)$data['id']; + if($data['children'] && is_array($data['children'])) { + foreach($data['children'] as $v) { + $tmp[] = (int)$v['id']; + } + } + $sql[] = "DELETE FROM ".$this->options['data_table']." WHERE ".$this->options['data2structure']." IN (".implode(',',$tmp).")"; + } + + foreach($sql as $v) { + try { + $this->db->query($v); + } catch(Exception $e) { + $this->reconstruct(); + throw new Exception('Could not remove'); + } + } + return true; + } + + public function rn($id, $data) { + if(!(int)$this->db->one('SELECT 1 AS res FROM '.$this->options['structure_table'].' WHERE '.$this->options['structure']['id'].' = '.(int)$id)) { + throw new Exception('Could not rename non-existing node'); + } + $tmp = array(); + foreach($this->options['data'] as $v) { + if(isset($data[$v])) { + $tmp[$v] = $data[$v]; + } + } + if(count($tmp)) { + $tmp[$this->options['data2structure']] = $id; + $sql = " + INSERT INTO + ".$this->options['data_table']." (".implode(',', array_keys($tmp)).") + VALUES(?".str_repeat(',?', count($tmp) - 1).") + ON DUPLICATE KEY UPDATE + ".implode(' = ?, ', array_keys($tmp))." = ?"; + $par = array_merge(array_values($tmp), array_values($tmp)); + try { + $this->db->query($sql, $par); + } + catch(Exception $e) { + throw new Exception('Could not rename'); + } + } + return true; + } + + public function analyze($get_errors = false) { + $report = array(); + if((int)$this->db->one("SELECT COUNT(".$this->options['structure']["id"].") AS res FROM ".$this->options['structure_table']." WHERE ".$this->options['structure']["parent_id"]." = 0") !== 1) { + $report[] = "No or more than one root node."; + } + if((int)$this->db->one("SELECT ".$this->options['structure']["left"]." AS res FROM ".$this->options['structure_table']." WHERE ".$this->options['structure']["parent_id"]." = 0") !== 1) { + $report[] = "Root node's left index is not 1."; + } + if((int)$this->db->one(" + SELECT + COUNT(".$this->options['structure']['id'].") AS res + FROM ".$this->options['structure_table']." s + WHERE + ".$this->options['structure']["parent_id"]." != 0 AND + (SELECT COUNT(".$this->options['structure']['id'].") FROM ".$this->options['structure_table']." WHERE ".$this->options['structure']["id"]." = s.".$this->options['structure']["parent_id"].") = 0") > 0 + ) { + $report[] = "Missing parents."; + } + if( + (int)$this->db->one("SELECT MAX(".$this->options['structure']["right"].") AS res FROM ".$this->options['structure_table']) / 2 != + (int)$this->db->one("SELECT COUNT(".$this->options['structure']["id"].") AS res FROM ".$this->options['structure_table']) + ) { + $report[] = "Right index does not match node count."; + } + if( + (int)$this->db->one("SELECT COUNT(DISTINCT ".$this->options['structure']["right"].") AS res FROM ".$this->options['structure_table']) != + (int)$this->db->one("SELECT COUNT(DISTINCT ".$this->options['structure']["left"].") AS res FROM ".$this->options['structure_table']) + ) { + $report[] = "Duplicates in nested set."; + } + if( + (int)$this->db->one("SELECT COUNT(DISTINCT ".$this->options['structure']["id"].") AS res FROM ".$this->options['structure_table']) != + (int)$this->db->one("SELECT COUNT(DISTINCT ".$this->options['structure']["left"].") AS res FROM ".$this->options['structure_table']) + ) { + $report[] = "Left indexes not unique."; + } + if( + (int)$this->db->one("SELECT COUNT(DISTINCT ".$this->options['structure']["id"].") AS res FROM ".$this->options['structure_table']) != + (int)$this->db->one("SELECT COUNT(DISTINCT ".$this->options['structure']["right"].") AS res FROM ".$this->options['structure_table']) + ) { + $report[] = "Right indexes not unique."; + } + if( + (int)$this->db->one(" + SELECT + s1.".$this->options['structure']["id"]." AS res + FROM ".$this->options['structure_table']." s1, ".$this->options['structure_table']." s2 + WHERE + s1.".$this->options['structure']['id']." != s2.".$this->options['structure']['id']." AND + s1.".$this->options['structure']['left']." = s2.".$this->options['structure']['right']." + LIMIT 1") + ) { + $report[] = "Nested set - matching left and right indexes."; + } + if( + (int)$this->db->one(" + SELECT + ".$this->options['structure']["id"]." AS res + FROM ".$this->options['structure_table']." s + WHERE + ".$this->options['structure']['position']." >= ( + SELECT + COUNT(".$this->options['structure']["id"].") + FROM ".$this->options['structure_table']." + WHERE ".$this->options['structure']['parent_id']." = s.".$this->options['structure']['parent_id']." + ) + LIMIT 1") || + (int)$this->db->one(" + SELECT + s1.".$this->options['structure']["id"]." AS res + FROM ".$this->options['structure_table']." s1, ".$this->options['structure_table']." s2 + WHERE + s1.".$this->options['structure']['id']." != s2.".$this->options['structure']['id']." AND + s1.".$this->options['structure']['parent_id']." = s2.".$this->options['structure']['parent_id']." AND + s1.".$this->options['structure']['position']." = s2.".$this->options['structure']['position']." + LIMIT 1") + ) { + $report[] = "Positions not correct."; + } + if((int)$this->db->one(" + SELECT + COUNT(".$this->options['structure']["id"].") FROM ".$this->options['structure_table']." s + WHERE + ( + SELECT + COUNT(".$this->options['structure']["id"].") + FROM ".$this->options['structure_table']." + WHERE + ".$this->options['structure']["right"]." < s.".$this->options['structure']["right"]." AND + ".$this->options['structure']["left"]." > s.".$this->options['structure']["left"]." AND + ".$this->options['structure']["level"]." = s.".$this->options['structure']["level"]." + 1 + ) != + ( + SELECT + COUNT(*) + FROM ".$this->options['structure_table']." + WHERE + ".$this->options['structure']["parent_id"]." = s.".$this->options['structure']["id"]." + )") + ) { + $report[] = "Adjacency and nested set do not match."; + } + if( + $this->options['data_table'] && + (int)$this->db->one(" + SELECT + COUNT(".$this->options['structure']["id"].") AS res + FROM ".$this->options['structure_table']." s + WHERE + (SELECT COUNT(".$this->options['data2structure'].") FROM ".$this->options['data_table']." WHERE ".$this->options['data2structure']." = s.".$this->options['structure']["id"].") = 0 + ") + ) { + $report[] = "Missing records in data table."; + } + if( + $this->options['data_table'] && + (int)$this->db->one(" + SELECT + COUNT(".$this->options['data2structure'].") AS res + FROM ".$this->options['data_table']." s + WHERE + (SELECT COUNT(".$this->options['structure']["id"].") FROM ".$this->options['structure_table']." WHERE ".$this->options['structure']["id"]." = s.".$this->options['data2structure'].") = 0 + ") + ) { + $report[] = "Dangling records in data table."; + } + return $get_errors ? $report : count($report) == 0; + } + + public function reconstruct($analyze = true) { + if($analyze && $this->analyze()) { return true; } + + if(!$this->db->query("" . + "CREATE TEMPORARY TABLE temp_tree (" . + "".$this->options['structure']["id"]." INTEGER NOT NULL, " . + "".$this->options['structure']["parent_id"]." INTEGER NOT NULL, " . + "". $this->options['structure']["position"]." INTEGER NOT NULL" . + ") " + )) { return false; } + if(!$this->db->query("" . + "INSERT INTO temp_tree " . + "SELECT " . + "".$this->options['structure']["id"].", " . + "".$this->options['structure']["parent_id"].", " . + "".$this->options['structure']["position"]." " . + "FROM ".$this->options['structure_table']."" + )) { return false; } + + if(!$this->db->query("" . + "CREATE TEMPORARY TABLE temp_stack (" . + "".$this->options['structure']["id"]." INTEGER NOT NULL, " . + "".$this->options['structure']["left"]." INTEGER, " . + "".$this->options['structure']["right"]." INTEGER, " . + "".$this->options['structure']["level"]." INTEGER, " . + "stack_top INTEGER NOT NULL, " . + "".$this->options['structure']["parent_id"]." INTEGER, " . + "".$this->options['structure']["position"]." INTEGER " . + ") " + )) { return false; } + + $counter = 2; + if(!$this->db->query("SELECT COUNT(*) FROM temp_tree")) { + return false; + } + $this->db->nextr(); + $maxcounter = (int) $this->db->f(0) * 2; + $currenttop = 1; + if(!$this->db->query("" . + "INSERT INTO temp_stack " . + "SELECT " . + "".$this->options['structure']["id"].", " . + "1, " . + "NULL, " . + "0, " . + "1, " . + "".$this->options['structure']["parent_id"].", " . + "".$this->options['structure']["position"]." " . + "FROM temp_tree " . + "WHERE ".$this->options['structure']["parent_id"]." = 0" + )) { return false; } + if(!$this->db->query("DELETE FROM temp_tree WHERE ".$this->options['structure']["parent_id"]." = 0")) { + return false; + } + + while ($counter <= $maxcounter) { + if(!$this->db->query("" . + "SELECT " . + "temp_tree.".$this->options['structure']["id"]." AS tempmin, " . + "temp_tree.".$this->options['structure']["parent_id"]." AS pid, " . + "temp_tree.".$this->options['structure']["position"]." AS lid " . + "FROM temp_stack, temp_tree " . + "WHERE " . + "temp_stack.".$this->options['structure']["id"]." = temp_tree.".$this->options['structure']["parent_id"]." AND " . + "temp_stack.stack_top = ".$currenttop." " . + "ORDER BY temp_tree.".$this->options['structure']["position"]." ASC LIMIT 1" + )) { return false; } + + if($this->db->nextr()) { + $tmp = $this->db->f("tempmin"); + + $q = "INSERT INTO temp_stack (stack_top, ".$this->options['structure']["id"].", ".$this->options['structure']["left"].", ".$this->options['structure']["right"].", ".$this->options['structure']["level"].", ".$this->options['structure']["parent_id"].", ".$this->options['structure']["position"].") VALUES(".($currenttop + 1).", ".$tmp.", ".$counter.", NULL, ".$currenttop.", ".$this->db->f("pid").", ".$this->db->f("lid").")"; + if(!$this->db->query($q)) { + return false; + } + if(!$this->db->query("DELETE FROM temp_tree WHERE ".$this->options['structure']["id"]." = ".$tmp)) { + return false; + } + $counter++; + $currenttop++; + } + else { + if(!$this->db->query("" . + "UPDATE temp_stack SET " . + "".$this->options['structure']["right"]." = ".$counter.", " . + "stack_top = -stack_top " . + "WHERE stack_top = ".$currenttop + )) { return false; } + $counter++; + $currenttop--; + } + } + + $temp_fields = $this->options['structure']; + unset($temp_fields["parent_id"]); + unset($temp_fields["position"]); + unset($temp_fields["left"]); + unset($temp_fields["right"]); + unset($temp_fields["level"]); + if(count($temp_fields) > 1) { + if(!$this->db->query("" . + "CREATE TEMPORARY TABLE temp_tree2 " . + "SELECT ".implode(", ", $temp_fields)." FROM ".$this->options['structure_table']." " + )) { return false; } + } + if(!$this->db->query("TRUNCATE TABLE ".$this->options['structure_table']."")) { + return false; + } + if(!$this->db->query("" . + "INSERT INTO ".$this->options['structure_table']." (" . + "".$this->options['structure']["id"].", " . + "".$this->options['structure']["parent_id"].", " . + "".$this->options['structure']["position"].", " . + "".$this->options['structure']["left"].", " . + "".$this->options['structure']["right"].", " . + "".$this->options['structure']["level"]." " . + ") " . + "SELECT " . + "".$this->options['structure']["id"].", " . + "".$this->options['structure']["parent_id"].", " . + "".$this->options['structure']["position"].", " . + "".$this->options['structure']["left"].", " . + "".$this->options['structure']["right"].", " . + "".$this->options['structure']["level"]." " . + "FROM temp_stack " . + "ORDER BY ".$this->options['structure']["id"]."" + )) { + return false; + } + if(count($temp_fields) > 1) { + $sql = "" . + "UPDATE ".$this->options['structure_table']." v, temp_tree2 SET v.".$this->options['structure']["id"]." = v.".$this->options['structure']["id"]." "; + foreach($temp_fields as $k => $v) { + if($k == "id") continue; + $sql .= ", v.".$v." = temp_tree2.".$v." "; + } + $sql .= " WHERE v.".$this->options['structure']["id"]." = temp_tree2.".$this->options['structure']["id"]." "; + if(!$this->db->query($sql)) { + return false; + } + } + // fix positions + $nodes = $this->db->get("SELECT ".$this->options['structure']['id'].", ".$this->options['structure']['parent_id']." FROM ".$this->options['structure_table']." ORDER BY ".$this->options['structure']['parent_id'].", ".$this->options['structure']['position']); + $last_parent = false; + $last_position = false; + foreach($nodes as $node) { + if((int)$node[$this->options['structure']['parent_id']] !== $last_parent) { + $last_position = 0; + $last_parent = (int)$node[$this->options['structure']['parent_id']]; + } + $this->db->query("UPDATE ".$this->options['structure_table']." SET ".$this->options['structure']['position']." = ".$last_position." WHERE ".$this->options['structure']['id']." = ".(int)$node[$this->options['structure']['id']]); + $last_position++; + } + if($this->options['data_table'] != $this->options['structure_table']) { + // fix missing data records + $this->db->query(" + INSERT INTO + ".$this->options['data_table']." (".implode(',',$this->options['data']).") + SELECT ".$this->options['structure']['id']." ".str_repeat(", ".$this->options['structure']['id'], count($this->options['data']) - 1)." + FROM ".$this->options['structure_table']." s + WHERE (SELECT COUNT(".$this->options['data2structure'].") FROM ".$this->options['data_table']." WHERE ".$this->options['data2structure']." = s.".$this->options['structure']['id'].") = 0 " + ); + // remove dangling data records + $this->db->query(" + DELETE FROM + ".$this->options['data_table']." + WHERE + (SELECT COUNT(".$this->options['structure']['id'].") FROM ".$this->options['structure_table']." WHERE ".$this->options['structure']['id']." = ".$this->options['data_table'].".".$this->options['data2structure'].") = 0 + "); + } + return true; + } + + public function res($data = array()) { + if(!$this->db->query("TRUNCATE TABLE ".$this->options['structure_table'])) { return false; } + if(!$this->db->query("TRUNCATE TABLE ".$this->options['data_table'])) { return false; } + $sql = "INSERT INTO ".$this->options['structure_table']." (".implode(",", $this->options['structure']).") VALUES (?".str_repeat(',?', count($this->options['structure']) - 1).")"; + $par = array(); + foreach($this->options['structure'] as $k => $v) { + switch($k) { + case 'id': + $par[] = null; + break; + case 'left': + $par[] = 1; + break; + case 'right': + $par[] = 2; + break; + case 'level': + $par[] = 0; + break; + case 'parent_id': + $par[] = 0; + break; + case 'position': + $par[] = 0; + break; + default: + $par[] = null; + } + } + if(!$this->db->query($sql, $par)) { return false; } + $id = $this->db->insert_id(); + foreach($this->options['structure'] as $k => $v) { + if(!isset($data[$k])) { $data[$k] = null; } + } + return $this->rn($id, $data); + } + + public function dump() { + $nodes = $this->db->get(" + SELECT + s.".implode(", s.", $this->options['structure']).", + d.".implode(", d.", $this->options['data'])." + FROM + ".$this->options['structure_table']." s, + ".$this->options['data_table']." d + WHERE + s.".$this->options['structure']['id']." = d.".$this->options['data2structure']." + ORDER BY ".$this->options['structure']["left"] + ); + echo "\n\n"; + foreach($nodes as $node) { + echo str_repeat(" ",(int)$node[$this->options['structure']["level"]] * 2); + echo $node[$this->options['structure']["id"]]." ".$node["nm"]." (".$node[$this->options['structure']["left"]].",".$node[$this->options['structure']["right"]].",".$node[$this->options['structure']["level"]].",".$node[$this->options['structure']["parent_id"]].",".$node[$this->options['structure']["position"]].")" . "\n"; + } + echo str_repeat("-",40); + echo "\n\n"; + } +} \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/sitebrowser/data.sql b/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/sitebrowser/data.sql new file mode 100644 index 0000000000..d906ffa880 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/sitebrowser/data.sql @@ -0,0 +1,91 @@ +-- phpMyAdmin SQL Dump +-- version 4.0.1 +-- http://www.phpmyadmin.net +-- +-- Host: 127.0.0.1 +-- Generation Time: Apr 15, 2014 at 05:14 PM +-- Server version: 5.5.27 +-- PHP Version: 5.4.7 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +SET time_zone = "+00:00"; + +-- +-- Database: `test` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `tree_data` +-- + +CREATE TABLE IF NOT EXISTS `tree_data` ( + `id` int(10) unsigned NOT NULL, + `nm` varchar(255) CHARACTER SET utf8 NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `tree_data` +-- + +INSERT INTO `tree_data` (`id`, `nm`) VALUES +(1, 'root'), +(1063, 'Node 12'), +(1064, 'Node 2'), +(1065, 'Node 3'), +(1066, 'Node 4'), +(1067, 'Node 5'), +(1068, 'Node 6'), +(1069, 'Node 7'), +(1070, 'Node 8'), +(1071, 'Node 9'), +(1072, 'Node 9'), +(1073, 'Node 9'), +(1074, 'Node 9'), +(1075, 'Node 7'), +(1076, 'Node 8'), +(1077, 'Node 9'), +(1078, 'Node 9'), +(1079, 'Node 9'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `tree_struct` +-- + +CREATE TABLE IF NOT EXISTS `tree_struct` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `lft` int(10) unsigned NOT NULL, + `rgt` int(10) unsigned NOT NULL, + `lvl` int(10) unsigned NOT NULL, + `pid` int(10) unsigned NOT NULL, + `pos` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1083 ; + +-- +-- Dumping data for table `tree_struct` +-- + +INSERT INTO `tree_struct` (`id`, `lft`, `rgt`, `lvl`, `pid`, `pos`) VALUES +(1, 1, 36, 0, 0, 0), +(1063, 2, 31, 1, 1, 0), +(1064, 3, 30, 2, 1063, 0), +(1065, 4, 29, 3, 1064, 0), +(1066, 5, 28, 4, 1065, 0), +(1067, 6, 19, 5, 1066, 0), +(1068, 7, 18, 6, 1067, 0), +(1069, 8, 17, 7, 1068, 0), +(1070, 9, 16, 8, 1069, 0), +(1071, 12, 13, 9, 1070, 1), +(1072, 14, 15, 9, 1070, 2), +(1073, 10, 11, 9, 1070, 0), +(1074, 32, 35, 1, 1, 1), +(1075, 20, 27, 5, 1066, 1), +(1076, 21, 26, 6, 1075, 0), +(1077, 24, 25, 7, 1076, 1), +(1078, 33, 34, 2, 1074, 0), +(1079, 22, 23, 7, 1076, 0); diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/sitebrowser/index.php b/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/sitebrowser/index.php new file mode 100644 index 0000000000..89657e2bb0 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/demo/sitebrowser/index.php @@ -0,0 +1,172 @@ + 'tree_struct', 'data_table' => 'tree_data', 'data' => array('nm'))); + try { + $rslt = null; + switch($_GET['operation']) { + case 'analyze': + var_dump($fs->analyze(true)); + die(); + break; + case 'get_node': + $node = isset($_GET['id']) && $_GET['id'] !== '#' ? (int)$_GET['id'] : 0; + $temp = $fs->get_children($node); + $rslt = array(); + foreach($temp as $v) { + $rslt[] = array('id' => $v['id'], 'text' => $v['nm'], 'children' => ($v['rgt'] - $v['lft'] > 1)); + } + break; + case "get_content": + $node = isset($_GET['id']) && $_GET['id'] !== '#' ? $_GET['id'] : 0; + $node = explode(':', $node); + if(count($node) > 1) { + $rslt = array('content' => 'Multiple selected'); + } + else { + $temp = $fs->get_node((int)$node[0], array('with_path' => true)); + $rslt = array('content' => 'Selected: /' . implode('/',array_map(function ($v) { return $v['nm']; }, $temp['path'])). '/'.$temp['nm']); + } + break; + case 'create_node': + $node = isset($_GET['id']) && $_GET['id'] !== '#' ? (int)$_GET['id'] : 0; + $temp = $fs->mk($node, isset($_GET['position']) ? (int)$_GET['position'] : 0, array('nm' => isset($_GET['text']) ? $_GET['text'] : 'New node')); + $rslt = array('id' => $temp); + break; + case 'rename_node': + $node = isset($_GET['id']) && $_GET['id'] !== '#' ? (int)$_GET['id'] : 0; + $rslt = $fs->rn($node, array('nm' => isset($_GET['text']) ? $_GET['text'] : 'Renamed node')); + break; + case 'delete_node': + $node = isset($_GET['id']) && $_GET['id'] !== '#' ? (int)$_GET['id'] : 0; + $rslt = $fs->rm($node); + break; + case 'move_node': + $node = isset($_GET['id']) && $_GET['id'] !== '#' ? (int)$_GET['id'] : 0; + $parn = isset($_GET['parent']) && $_GET['parent'] !== '#' ? (int)$_GET['parent'] : 0; + $rslt = $fs->mv($node, $parn, isset($_GET['position']) ? (int)$_GET['position'] : 0); + break; + case 'copy_node': + $node = isset($_GET['id']) && $_GET['id'] !== '#' ? (int)$_GET['id'] : 0; + $parn = isset($_GET['parent']) && $_GET['parent'] !== '#' ? (int)$_GET['parent'] : 0; + $rslt = $fs->cp($node, $parn, isset($_GET['position']) ? (int)$_GET['position'] : 0); + break; + default: + throw new Exception('Unsupported operation: ' . $_GET['operation']); + break; + } + header('Content-Type: application/json; charset=utf-8'); + echo json_encode($rslt); + } + catch (Exception $e) { + header($_SERVER["SERVER_PROTOCOL"] . ' 500 Server Error'); + header('Status: 500 Server Error'); + echo $e->getMessage(); + } + die(); +} +?> + + + + + + Title + + + + + +
    +
    +
    + + + +
    Select a node from the tree.
    +
    +
    + + + + + + diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/jstree.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/jstree.js new file mode 100644 index 0000000000..b6509d4671 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/jstree.js @@ -0,0 +1,8305 @@ +/*globals jQuery, define, module, exports, require, window, document, postMessage */ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define(['jquery'], factory); + } + else if(typeof module !== 'undefined' && module.exports) { + module.exports = factory(require('jquery')); + } + else { + factory(jQuery); + } +}(function ($, undefined) { + "use strict"; +/*! + * jsTree 3.3.3 + * http://jstree.com/ + * + * Copyright (c) 2014 Ivan Bozhanov (http://vakata.com) + * + * Licensed same as jquery - under the terms of the MIT License + * http://www.opensource.org/licenses/mit-license.php + */ +/*! + * if using jslint please allow for the jQuery global and use following options: + * jslint: loopfunc: true, browser: true, ass: true, bitwise: true, continue: true, nomen: true, plusplus: true, regexp: true, unparam: true, todo: true, white: true + */ +/*jshint -W083 */ + + // prevent another load? maybe there is a better way? + if($.jstree) { + return; + } + + /** + * ### jsTree core functionality + */ + + // internal variables + var instance_counter = 0, + ccp_node = false, + ccp_mode = false, + ccp_inst = false, + themes_loaded = [], + src = $('script:last').attr('src'), + document = window.document; // local variable is always faster to access then a global + + /** + * holds all jstree related functions and variables, including the actual class and methods to create, access and manipulate instances. + * @name $.jstree + */ + $.jstree = { + /** + * specifies the jstree version in use + * @name $.jstree.version + */ + version : '3.3.3', + /** + * holds all the default options used when creating new instances + * @name $.jstree.defaults + */ + defaults : { + /** + * configure which plugins will be active on an instance. Should be an array of strings, where each element is a plugin name. The default is `[]` + * @name $.jstree.defaults.plugins + */ + plugins : [] + }, + /** + * stores all loaded jstree plugins (used internally) + * @name $.jstree.plugins + */ + plugins : {}, + path : src && src.indexOf('/') !== -1 ? src.replace(/\/[^\/]+$/,'') : '', + idregex : /[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%?`]/g, + root : '#' + }; + + /** + * creates a jstree instance + * @name $.jstree.create(el [, options]) + * @param {DOMElement|jQuery|String} el the element to create the instance on, can be jQuery extended or a selector + * @param {Object} options options for this instance (extends `$.jstree.defaults`) + * @return {jsTree} the new instance + */ + $.jstree.create = function (el, options) { + var tmp = new $.jstree.core(++instance_counter), + opt = options; + options = $.extend(true, {}, $.jstree.defaults, options); + if(opt && opt.plugins) { + options.plugins = opt.plugins; + } + $.each(options.plugins, function (i, k) { + if(i !== 'core') { + tmp = tmp.plugin(k, options[k]); + } + }); + $(el).data('jstree', tmp); + tmp.init(el, options); + return tmp; + }; + /** + * remove all traces of jstree from the DOM and destroy all instances + * @name $.jstree.destroy() + */ + $.jstree.destroy = function () { + $('.jstree:jstree').jstree('destroy'); + $(document).off('.jstree'); + }; + /** + * the jstree class constructor, used only internally + * @private + * @name $.jstree.core(id) + * @param {Number} id this instance's index + */ + $.jstree.core = function (id) { + this._id = id; + this._cnt = 0; + this._wrk = null; + this._data = { + core : { + themes : { + name : false, + dots : false, + icons : false, + ellipsis : false + }, + selected : [], + last_error : {}, + working : false, + worker_queue : [], + focused : null + } + }; + }; + /** + * get a reference to an existing instance + * + * __Examples__ + * + * // provided a container with an ID of "tree", and a nested node with an ID of "branch" + * // all of there will return the same instance + * $.jstree.reference('tree'); + * $.jstree.reference('#tree'); + * $.jstree.reference($('#tree')); + * $.jstree.reference(document.getElementByID('tree')); + * $.jstree.reference('branch'); + * $.jstree.reference('#branch'); + * $.jstree.reference($('#branch')); + * $.jstree.reference(document.getElementByID('branch')); + * + * @name $.jstree.reference(needle) + * @param {DOMElement|jQuery|String} needle + * @return {jsTree|null} the instance or `null` if not found + */ + $.jstree.reference = function (needle) { + var tmp = null, + obj = null; + if(needle && needle.id && (!needle.tagName || !needle.nodeType)) { needle = needle.id; } + + if(!obj || !obj.length) { + try { obj = $(needle); } catch (ignore) { } + } + if(!obj || !obj.length) { + try { obj = $('#' + needle.replace($.jstree.idregex,'\\$&')); } catch (ignore) { } + } + if(obj && obj.length && (obj = obj.closest('.jstree')).length && (obj = obj.data('jstree'))) { + tmp = obj; + } + else { + $('.jstree').each(function () { + var inst = $(this).data('jstree'); + if(inst && inst._model.data[needle]) { + tmp = inst; + return false; + } + }); + } + return tmp; + }; + /** + * Create an instance, get an instance or invoke a command on a instance. + * + * If there is no instance associated with the current node a new one is created and `arg` is used to extend `$.jstree.defaults` for this new instance. There would be no return value (chaining is not broken). + * + * If there is an existing instance and `arg` is a string the command specified by `arg` is executed on the instance, with any additional arguments passed to the function. If the function returns a value it will be returned (chaining could break depending on function). + * + * If there is an existing instance and `arg` is not a string the instance itself is returned (similar to `$.jstree.reference`). + * + * In any other case - nothing is returned and chaining is not broken. + * + * __Examples__ + * + * $('#tree1').jstree(); // creates an instance + * $('#tree2').jstree({ plugins : [] }); // create an instance with some options + * $('#tree1').jstree('open_node', '#branch_1'); // call a method on an existing instance, passing additional arguments + * $('#tree2').jstree(); // get an existing instance (or create an instance) + * $('#tree2').jstree(true); // get an existing instance (will not create new instance) + * $('#branch_1').jstree().select_node('#branch_1'); // get an instance (using a nested element and call a method) + * + * @name $().jstree([arg]) + * @param {String|Object} arg + * @return {Mixed} + */ + $.fn.jstree = function (arg) { + // check for string argument + var is_method = (typeof arg === 'string'), + args = Array.prototype.slice.call(arguments, 1), + result = null; + if(arg === true && !this.length) { return false; } + this.each(function () { + // get the instance (if there is one) and method (if it exists) + var instance = $.jstree.reference(this), + method = is_method && instance ? instance[arg] : null; + // if calling a method, and method is available - execute on the instance + result = is_method && method ? + method.apply(instance, args) : + null; + // if there is no instance and no method is being called - create one + if(!instance && !is_method && (arg === undefined || $.isPlainObject(arg))) { + $.jstree.create(this, arg); + } + // if there is an instance and no method is called - return the instance + if( (instance && !is_method) || arg === true ) { + result = instance || false; + } + // if there was a method call which returned a result - break and return the value + if(result !== null && result !== undefined) { + return false; + } + }); + // if there was a method call with a valid return value - return that, otherwise continue the chain + return result !== null && result !== undefined ? + result : this; + }; + /** + * used to find elements containing an instance + * + * __Examples__ + * + * $('div:jstree').each(function () { + * $(this).jstree('destroy'); + * }); + * + * @name $(':jstree') + * @return {jQuery} + */ + $.expr.pseudos.jstree = $.expr.createPseudo(function(search) { + return function(a) { + return $(a).hasClass('jstree') && + $(a).data('jstree') !== undefined; + }; + }); + + /** + * stores all defaults for the core + * @name $.jstree.defaults.core + */ + $.jstree.defaults.core = { + /** + * data configuration + * + * If left as `false` the HTML inside the jstree container element is used to populate the tree (that should be an unordered list with list items). + * + * You can also pass in a HTML string or a JSON array here. + * + * It is possible to pass in a standard jQuery-like AJAX config and jstree will automatically determine if the response is JSON or HTML and use that to populate the tree. + * In addition to the standard jQuery ajax options here you can suppy functions for `data` and `url`, the functions will be run in the current instance's scope and a param will be passed indicating which node is being loaded, the return value of those functions will be used. + * + * The last option is to specify a function, that function will receive the node being loaded as argument and a second param which is a function which should be called with the result. + * + * __Examples__ + * + * // AJAX + * $('#tree').jstree({ + * 'core' : { + * 'data' : { + * 'url' : '/get/children/', + * 'data' : function (node) { + * return { 'id' : node.id }; + * } + * } + * }); + * + * // direct data + * $('#tree').jstree({ + * 'core' : { + * 'data' : [ + * 'Simple root node', + * { + * 'id' : 'node_2', + * 'text' : 'Root node with options', + * 'state' : { 'opened' : true, 'selected' : true }, + * 'children' : [ { 'text' : 'Child 1' }, 'Child 2'] + * } + * ] + * } + * }); + * + * // function + * $('#tree').jstree({ + * 'core' : { + * 'data' : function (obj, callback) { + * callback.call(this, ['Root 1', 'Root 2']); + * } + * }); + * + * @name $.jstree.defaults.core.data + */ + data : false, + /** + * configure the various strings used throughout the tree + * + * You can use an object where the key is the string you need to replace and the value is your replacement. + * Another option is to specify a function which will be called with an argument of the needed string and should return the replacement. + * If left as `false` no replacement is made. + * + * __Examples__ + * + * $('#tree').jstree({ + * 'core' : { + * 'strings' : { + * 'Loading ...' : 'Please wait ...' + * } + * } + * }); + * + * @name $.jstree.defaults.core.strings + */ + strings : false, + /** + * determines what happens when a user tries to modify the structure of the tree + * If left as `false` all operations like create, rename, delete, move or copy are prevented. + * You can set this to `true` to allow all interactions or use a function to have better control. + * + * __Examples__ + * + * $('#tree').jstree({ + * 'core' : { + * 'check_callback' : function (operation, node, node_parent, node_position, more) { + * // operation can be 'create_node', 'rename_node', 'delete_node', 'move_node' or 'copy_node' + * // in case of 'rename_node' node_position is filled with the new node name + * return operation === 'rename_node' ? true : false; + * } + * } + * }); + * + * @name $.jstree.defaults.core.check_callback + */ + check_callback : false, + /** + * a callback called with a single object parameter in the instance's scope when something goes wrong (operation prevented, ajax failed, etc) + * @name $.jstree.defaults.core.error + */ + error : $.noop, + /** + * the open / close animation duration in milliseconds - set this to `false` to disable the animation (default is `200`) + * @name $.jstree.defaults.core.animation + */ + animation : 200, + /** + * a boolean indicating if multiple nodes can be selected + * @name $.jstree.defaults.core.multiple + */ + multiple : true, + /** + * theme configuration object + * @name $.jstree.defaults.core.themes + */ + themes : { + /** + * the name of the theme to use (if left as `false` the default theme is used) + * @name $.jstree.defaults.core.themes.name + */ + name : false, + /** + * the URL of the theme's CSS file, leave this as `false` if you have manually included the theme CSS (recommended). You can set this to `true` too which will try to autoload the theme. + * @name $.jstree.defaults.core.themes.url + */ + url : false, + /** + * the location of all jstree themes - only used if `url` is set to `true` + * @name $.jstree.defaults.core.themes.dir + */ + dir : false, + /** + * a boolean indicating if connecting dots are shown + * @name $.jstree.defaults.core.themes.dots + */ + dots : true, + /** + * a boolean indicating if node icons are shown + * @name $.jstree.defaults.core.themes.icons + */ + icons : true, + /** + * a boolean indicating if node ellipsis should be shown - this only works with a fixed with on the container + * @name $.jstree.defaults.core.themes.ellipsis + */ + ellipsis : false, + /** + * a boolean indicating if the tree background is striped + * @name $.jstree.defaults.core.themes.stripes + */ + stripes : false, + /** + * a string (or boolean `false`) specifying the theme variant to use (if the theme supports variants) + * @name $.jstree.defaults.core.themes.variant + */ + variant : false, + /** + * a boolean specifying if a reponsive version of the theme should kick in on smaller screens (if the theme supports it). Defaults to `false`. + * @name $.jstree.defaults.core.themes.responsive + */ + responsive : false + }, + /** + * if left as `true` all parents of all selected nodes will be opened once the tree loads (so that all selected nodes are visible to the user) + * @name $.jstree.defaults.core.expand_selected_onload + */ + expand_selected_onload : true, + /** + * if left as `true` web workers will be used to parse incoming JSON data where possible, so that the UI will not be blocked by large requests. Workers are however about 30% slower. Defaults to `true` + * @name $.jstree.defaults.core.worker + */ + worker : true, + /** + * Force node text to plain text (and escape HTML). Defaults to `false` + * @name $.jstree.defaults.core.force_text + */ + force_text : false, + /** + * Should the node should be toggled if the text is double clicked . Defaults to `true` + * @name $.jstree.defaults.core.dblclick_toggle + */ + dblclick_toggle : true + }; + $.jstree.core.prototype = { + /** + * used to decorate an instance with a plugin. Used internally. + * @private + * @name plugin(deco [, opts]) + * @param {String} deco the plugin to decorate with + * @param {Object} opts options for the plugin + * @return {jsTree} + */ + plugin : function (deco, opts) { + var Child = $.jstree.plugins[deco]; + if(Child) { + this._data[deco] = {}; + Child.prototype = this; + return new Child(opts, this); + } + return this; + }, + /** + * initialize the instance. Used internally. + * @private + * @name init(el, optons) + * @param {DOMElement|jQuery|String} el the element we are transforming + * @param {Object} options options for this instance + * @trigger init.jstree, loading.jstree, loaded.jstree, ready.jstree, changed.jstree + */ + init : function (el, options) { + this._model = { + data : {}, + changed : [], + force_full_redraw : false, + redraw_timeout : false, + default_state : { + loaded : true, + opened : false, + selected : false, + disabled : false + } + }; + this._model.data[$.jstree.root] = { + id : $.jstree.root, + parent : null, + parents : [], + children : [], + children_d : [], + state : { loaded : false } + }; + + this.element = $(el).addClass('jstree jstree-' + this._id); + this.settings = options; + + this._data.core.ready = false; + this._data.core.loaded = false; + this._data.core.rtl = (this.element.css("direction") === "rtl"); + this.element[this._data.core.rtl ? 'addClass' : 'removeClass']("jstree-rtl"); + this.element.attr('role','tree'); + if(this.settings.core.multiple) { + this.element.attr('aria-multiselectable', true); + } + if(!this.element.attr('tabindex')) { + this.element.attr('tabindex','0'); + } + + this.bind(); + /** + * triggered after all events are bound + * @event + * @name init.jstree + */ + this.trigger("init"); + + this._data.core.original_container_html = this.element.find(" > ul > li").clone(true); + this._data.core.original_container_html + .find("li").addBack() + .contents().filter(function() { + return this.nodeType === 3 && (!this.nodeValue || /^\s+$/.test(this.nodeValue)); + }) + .remove(); + this.element.html("<"+"ul class='jstree-container-ul jstree-children' role='group'><"+"li id='j"+this._id+"_loading' class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='tree-item'><"+"a class='jstree-anchor' href='#'>" + this.get_string("Loading ...") + "
  • "); + this.element.attr('aria-activedescendant','j' + this._id + '_loading'); + this._data.core.li_height = this.get_container_ul().children("li").first().height() || 24; + this._data.core.node = this._create_prototype_node(); + /** + * triggered after the loading text is shown and before loading starts + * @event + * @name loading.jstree + */ + this.trigger("loading"); + this.load_node($.jstree.root); + }, + /** + * destroy an instance + * @name destroy() + * @param {Boolean} keep_html if not set to `true` the container will be emptied, otherwise the current DOM elements will be kept intact + */ + destroy : function (keep_html) { + if(this._wrk) { + try { + window.URL.revokeObjectURL(this._wrk); + this._wrk = null; + } + catch (ignore) { } + } + if(!keep_html) { this.element.empty(); } + this.teardown(); + }, + /** + * Create prototype node + */ + _create_prototype_node : function () { + var _node = document.createElement('LI'), _temp1, _temp2; + _node.setAttribute('role', 'treeitem'); + _temp1 = document.createElement('I'); + _temp1.className = 'jstree-icon jstree-ocl'; + _temp1.setAttribute('role', 'presentation'); + _node.appendChild(_temp1); + _temp1 = document.createElement('A'); + _temp1.className = 'jstree-anchor'; + _temp1.setAttribute('href','#'); + _temp1.setAttribute('tabindex','-1'); + _temp2 = document.createElement('I'); + _temp2.className = 'jstree-icon jstree-themeicon'; + _temp2.setAttribute('role', 'presentation'); + _temp1.appendChild(_temp2); + _node.appendChild(_temp1); + _temp1 = _temp2 = null; + + return _node; + }, + /** + * part of the destroying of an instance. Used internally. + * @private + * @name teardown() + */ + teardown : function () { + this.unbind(); + this.element + .removeClass('jstree') + .removeData('jstree') + .find("[class^='jstree']") + .addBack() + .attr("class", function () { return this.className.replace(/jstree[^ ]*|$/ig,''); }); + this.element = null; + }, + /** + * bind all events. Used internally. + * @private + * @name bind() + */ + bind : function () { + var word = '', + tout = null, + was_click = 0; + this.element + .on("dblclick.jstree", function (e) { + if(e.target.tagName && e.target.tagName.toLowerCase() === "input") { return true; } + if(document.selection && document.selection.empty) { + document.selection.empty(); + } + else { + if(window.getSelection) { + var sel = window.getSelection(); + try { + sel.removeAllRanges(); + sel.collapse(); + } catch (ignore) { } + } + } + }) + .on("mousedown.jstree", $.proxy(function (e) { + if(e.target === this.element[0]) { + e.preventDefault(); // prevent losing focus when clicking scroll arrows (FF, Chrome) + was_click = +(new Date()); // ie does not allow to prevent losing focus + } + }, this)) + .on("mousedown.jstree", ".jstree-ocl", function (e) { + e.preventDefault(); // prevent any node inside from losing focus when clicking the open/close icon + }) + .on("click.jstree", ".jstree-ocl", $.proxy(function (e) { + this.toggle_node(e.target); + }, this)) + .on("dblclick.jstree", ".jstree-anchor", $.proxy(function (e) { + if(e.target.tagName && e.target.tagName.toLowerCase() === "input") { return true; } + if(this.settings.core.dblclick_toggle) { + this.toggle_node(e.target); + } + }, this)) + .on("click.jstree", ".jstree-anchor", $.proxy(function (e) { + e.preventDefault(); + if(e.currentTarget !== document.activeElement) { $(e.currentTarget).focus(); } + this.activate_node(e.currentTarget, e); + }, this)) + .on('keydown.jstree', '.jstree-anchor', $.proxy(function (e) { + if(e.target.tagName && e.target.tagName.toLowerCase() === "input") { return true; } + if(e.which !== 32 && e.which !== 13 && (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey)) { return true; } + var o = null; + if(this._data.core.rtl) { + if(e.which === 37) { e.which = 39; } + else if(e.which === 39) { e.which = 37; } + } + switch(e.which) { + case 32: // aria defines space only with Ctrl + if(e.ctrlKey) { + e.type = "click"; + $(e.currentTarget).trigger(e); + } + break; + case 13: // enter + e.type = "click"; + $(e.currentTarget).trigger(e); + break; + case 37: // left + e.preventDefault(); + if(this.is_open(e.currentTarget)) { + this.close_node(e.currentTarget); + } + else { + o = this.get_parent(e.currentTarget); + if(o && o.id !== $.jstree.root) { this.get_node(o, true).children('.jstree-anchor').focus(); } + } + break; + case 38: // up + e.preventDefault(); + o = this.get_prev_dom(e.currentTarget); + if(o && o.length) { o.children('.jstree-anchor').focus(); } + break; + case 39: // right + e.preventDefault(); + if(this.is_closed(e.currentTarget)) { + this.open_node(e.currentTarget, function (o) { this.get_node(o, true).children('.jstree-anchor').focus(); }); + } + else if (this.is_open(e.currentTarget)) { + o = this.get_node(e.currentTarget, true).children('.jstree-children')[0]; + if(o) { $(this._firstChild(o)).children('.jstree-anchor').focus(); } + } + break; + case 40: // down + e.preventDefault(); + o = this.get_next_dom(e.currentTarget); + if(o && o.length) { o.children('.jstree-anchor').focus(); } + break; + case 106: // aria defines * on numpad as open_all - not very common + this.open_all(); + break; + case 36: // home + e.preventDefault(); + o = this._firstChild(this.get_container_ul()[0]); + if(o) { $(o).children('.jstree-anchor').filter(':visible').focus(); } + break; + case 35: // end + e.preventDefault(); + this.element.find('.jstree-anchor').filter(':visible').last().focus(); + break; + case 113: // f2 - safe to include - if check_callback is false it will fail + e.preventDefault(); + this.edit(e.currentTarget); + break; + default: + break; + /*! + // delete + case 46: + e.preventDefault(); + o = this.get_node(e.currentTarget); + if(o && o.id && o.id !== $.jstree.root) { + o = this.is_selected(o) ? this.get_selected() : o; + this.delete_node(o); + } + break; + + */ + } + }, this)) + .on("load_node.jstree", $.proxy(function (e, data) { + if(data.status) { + if(data.node.id === $.jstree.root && !this._data.core.loaded) { + this._data.core.loaded = true; + if(this._firstChild(this.get_container_ul()[0])) { + this.element.attr('aria-activedescendant',this._firstChild(this.get_container_ul()[0]).id); + } + /** + * triggered after the root node is loaded for the first time + * @event + * @name loaded.jstree + */ + this.trigger("loaded"); + } + if(!this._data.core.ready) { + setTimeout($.proxy(function() { + if(this.element && !this.get_container_ul().find('.jstree-loading').length) { + this._data.core.ready = true; + if(this._data.core.selected.length) { + if(this.settings.core.expand_selected_onload) { + var tmp = [], i, j; + for(i = 0, j = this._data.core.selected.length; i < j; i++) { + tmp = tmp.concat(this._model.data[this._data.core.selected[i]].parents); + } + tmp = $.vakata.array_unique(tmp); + for(i = 0, j = tmp.length; i < j; i++) { + this.open_node(tmp[i], false, 0); + } + } + this.trigger('changed', { 'action' : 'ready', 'selected' : this._data.core.selected }); + } + /** + * triggered after all nodes are finished loading + * @event + * @name ready.jstree + */ + this.trigger("ready"); + } + }, this), 0); + } + } + }, this)) + // quick searching when the tree is focused + .on('keypress.jstree', $.proxy(function (e) { + if(e.target.tagName && e.target.tagName.toLowerCase() === "input") { return true; } + if(tout) { clearTimeout(tout); } + tout = setTimeout(function () { + word = ''; + }, 500); + + var chr = String.fromCharCode(e.which).toLowerCase(), + col = this.element.find('.jstree-anchor').filter(':visible'), + ind = col.index(document.activeElement) || 0, + end = false; + word += chr; + + // match for whole word from current node down (including the current node) + if(word.length > 1) { + col.slice(ind).each($.proxy(function (i, v) { + if($(v).text().toLowerCase().indexOf(word) === 0) { + $(v).focus(); + end = true; + return false; + } + }, this)); + if(end) { return; } + + // match for whole word from the beginning of the tree + col.slice(0, ind).each($.proxy(function (i, v) { + if($(v).text().toLowerCase().indexOf(word) === 0) { + $(v).focus(); + end = true; + return false; + } + }, this)); + if(end) { return; } + } + // list nodes that start with that letter (only if word consists of a single char) + if(new RegExp('^' + chr.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&') + '+$').test(word)) { + // search for the next node starting with that letter + col.slice(ind + 1).each($.proxy(function (i, v) { + if($(v).text().toLowerCase().charAt(0) === chr) { + $(v).focus(); + end = true; + return false; + } + }, this)); + if(end) { return; } + + // search from the beginning + col.slice(0, ind + 1).each($.proxy(function (i, v) { + if($(v).text().toLowerCase().charAt(0) === chr) { + $(v).focus(); + end = true; + return false; + } + }, this)); + if(end) { return; } + } + }, this)) + // THEME RELATED + .on("init.jstree", $.proxy(function () { + var s = this.settings.core.themes; + this._data.core.themes.dots = s.dots; + this._data.core.themes.stripes = s.stripes; + this._data.core.themes.icons = s.icons; + this._data.core.themes.ellipsis = s.ellipsis; + this.set_theme(s.name || "default", s.url); + this.set_theme_variant(s.variant); + }, this)) + .on("loading.jstree", $.proxy(function () { + this[ this._data.core.themes.dots ? "show_dots" : "hide_dots" ](); + this[ this._data.core.themes.icons ? "show_icons" : "hide_icons" ](); + this[ this._data.core.themes.stripes ? "show_stripes" : "hide_stripes" ](); + this[ this._data.core.themes.ellipsis ? "show_ellipsis" : "hide_ellipsis" ](); + }, this)) + .on('blur.jstree', '.jstree-anchor', $.proxy(function (e) { + this._data.core.focused = null; + $(e.currentTarget).filter('.jstree-hovered').mouseleave(); + this.element.attr('tabindex', '0'); + }, this)) + .on('focus.jstree', '.jstree-anchor', $.proxy(function (e) { + var tmp = this.get_node(e.currentTarget); + if(tmp && tmp.id) { + this._data.core.focused = tmp.id; + } + this.element.find('.jstree-hovered').not(e.currentTarget).mouseleave(); + $(e.currentTarget).mouseenter(); + this.element.attr('tabindex', '-1'); + }, this)) + .on('focus.jstree', $.proxy(function () { + if(+(new Date()) - was_click > 500 && !this._data.core.focused) { + was_click = 0; + var act = this.get_node(this.element.attr('aria-activedescendant'), true); + if(act) { + act.find('> .jstree-anchor').focus(); + } + } + }, this)) + .on('mouseenter.jstree', '.jstree-anchor', $.proxy(function (e) { + this.hover_node(e.currentTarget); + }, this)) + .on('mouseleave.jstree', '.jstree-anchor', $.proxy(function (e) { + this.dehover_node(e.currentTarget); + }, this)); + }, + /** + * part of the destroying of an instance. Used internally. + * @private + * @name unbind() + */ + unbind : function () { + this.element.off('.jstree'); + $(document).off('.jstree-' + this._id); + }, + /** + * trigger an event. Used internally. + * @private + * @name trigger(ev [, data]) + * @param {String} ev the name of the event to trigger + * @param {Object} data additional data to pass with the event + */ + trigger : function (ev, data) { + if(!data) { + data = {}; + } + data.instance = this; + this.element.triggerHandler(ev.replace('.jstree','') + '.jstree', data); + }, + /** + * returns the jQuery extended instance container + * @name get_container() + * @return {jQuery} + */ + get_container : function () { + return this.element; + }, + /** + * returns the jQuery extended main UL node inside the instance container. Used internally. + * @private + * @name get_container_ul() + * @return {jQuery} + */ + get_container_ul : function () { + return this.element.children(".jstree-children").first(); + }, + /** + * gets string replacements (localization). Used internally. + * @private + * @name get_string(key) + * @param {String} key + * @return {String} + */ + get_string : function (key) { + var a = this.settings.core.strings; + if($.isFunction(a)) { return a.call(this, key); } + if(a && a[key]) { return a[key]; } + return key; + }, + /** + * gets the first child of a DOM node. Used internally. + * @private + * @name _firstChild(dom) + * @param {DOMElement} dom + * @return {DOMElement} + */ + _firstChild : function (dom) { + dom = dom ? dom.firstChild : null; + while(dom !== null && dom.nodeType !== 1) { + dom = dom.nextSibling; + } + return dom; + }, + /** + * gets the next sibling of a DOM node. Used internally. + * @private + * @name _nextSibling(dom) + * @param {DOMElement} dom + * @return {DOMElement} + */ + _nextSibling : function (dom) { + dom = dom ? dom.nextSibling : null; + while(dom !== null && dom.nodeType !== 1) { + dom = dom.nextSibling; + } + return dom; + }, + /** + * gets the previous sibling of a DOM node. Used internally. + * @private + * @name _previousSibling(dom) + * @param {DOMElement} dom + * @return {DOMElement} + */ + _previousSibling : function (dom) { + dom = dom ? dom.previousSibling : null; + while(dom !== null && dom.nodeType !== 1) { + dom = dom.previousSibling; + } + return dom; + }, + /** + * get the JSON representation of a node (or the actual jQuery extended DOM node) by using any input (child DOM element, ID string, selector, etc) + * @name get_node(obj [, as_dom]) + * @param {mixed} obj + * @param {Boolean} as_dom + * @return {Object|jQuery} + */ + get_node : function (obj, as_dom) { + if(obj && obj.id) { + obj = obj.id; + } + var dom; + try { + if(this._model.data[obj]) { + obj = this._model.data[obj]; + } + else if(typeof obj === "string" && this._model.data[obj.replace(/^#/, '')]) { + obj = this._model.data[obj.replace(/^#/, '')]; + } + else if(typeof obj === "string" && (dom = $('#' + obj.replace($.jstree.idregex,'\\$&'), this.element)).length && this._model.data[dom.closest('.jstree-node').attr('id')]) { + obj = this._model.data[dom.closest('.jstree-node').attr('id')]; + } + else if((dom = $(obj, this.element)).length && this._model.data[dom.closest('.jstree-node').attr('id')]) { + obj = this._model.data[dom.closest('.jstree-node').attr('id')]; + } + else if((dom = $(obj, this.element)).length && dom.hasClass('jstree')) { + obj = this._model.data[$.jstree.root]; + } + else { + return false; + } + + if(as_dom) { + obj = obj.id === $.jstree.root ? this.element : $('#' + obj.id.replace($.jstree.idregex,'\\$&'), this.element); + } + return obj; + } catch (ex) { return false; } + }, + /** + * get the path to a node, either consisting of node texts, or of node IDs, optionally glued together (otherwise an array) + * @name get_path(obj [, glue, ids]) + * @param {mixed} obj the node + * @param {String} glue if you want the path as a string - pass the glue here (for example '/'), if a falsy value is supplied here, an array is returned + * @param {Boolean} ids if set to true build the path using ID, otherwise node text is used + * @return {mixed} + */ + get_path : function (obj, glue, ids) { + obj = obj.parents ? obj : this.get_node(obj); + if(!obj || obj.id === $.jstree.root || !obj.parents) { + return false; + } + var i, j, p = []; + p.push(ids ? obj.id : obj.text); + for(i = 0, j = obj.parents.length; i < j; i++) { + p.push(ids ? obj.parents[i] : this.get_text(obj.parents[i])); + } + p = p.reverse().slice(1); + return glue ? p.join(glue) : p; + }, + /** + * get the next visible node that is below the `obj` node. If `strict` is set to `true` only sibling nodes are returned. + * @name get_next_dom(obj [, strict]) + * @param {mixed} obj + * @param {Boolean} strict + * @return {jQuery} + */ + get_next_dom : function (obj, strict) { + var tmp; + obj = this.get_node(obj, true); + if(obj[0] === this.element[0]) { + tmp = this._firstChild(this.get_container_ul()[0]); + while (tmp && tmp.offsetHeight === 0) { + tmp = this._nextSibling(tmp); + } + return tmp ? $(tmp) : false; + } + if(!obj || !obj.length) { + return false; + } + if(strict) { + tmp = obj[0]; + do { + tmp = this._nextSibling(tmp); + } while (tmp && tmp.offsetHeight === 0); + return tmp ? $(tmp) : false; + } + if(obj.hasClass("jstree-open")) { + tmp = this._firstChild(obj.children('.jstree-children')[0]); + while (tmp && tmp.offsetHeight === 0) { + tmp = this._nextSibling(tmp); + } + if(tmp !== null) { + return $(tmp); + } + } + tmp = obj[0]; + do { + tmp = this._nextSibling(tmp); + } while (tmp && tmp.offsetHeight === 0); + if(tmp !== null) { + return $(tmp); + } + return obj.parentsUntil(".jstree",".jstree-node").nextAll(".jstree-node:visible").first(); + }, + /** + * get the previous visible node that is above the `obj` node. If `strict` is set to `true` only sibling nodes are returned. + * @name get_prev_dom(obj [, strict]) + * @param {mixed} obj + * @param {Boolean} strict + * @return {jQuery} + */ + get_prev_dom : function (obj, strict) { + var tmp; + obj = this.get_node(obj, true); + if(obj[0] === this.element[0]) { + tmp = this.get_container_ul()[0].lastChild; + while (tmp && tmp.offsetHeight === 0) { + tmp = this._previousSibling(tmp); + } + return tmp ? $(tmp) : false; + } + if(!obj || !obj.length) { + return false; + } + if(strict) { + tmp = obj[0]; + do { + tmp = this._previousSibling(tmp); + } while (tmp && tmp.offsetHeight === 0); + return tmp ? $(tmp) : false; + } + tmp = obj[0]; + do { + tmp = this._previousSibling(tmp); + } while (tmp && tmp.offsetHeight === 0); + if(tmp !== null) { + obj = $(tmp); + while(obj.hasClass("jstree-open")) { + obj = obj.children(".jstree-children").first().children(".jstree-node:visible:last"); + } + return obj; + } + tmp = obj[0].parentNode.parentNode; + return tmp && tmp.className && tmp.className.indexOf('jstree-node') !== -1 ? $(tmp) : false; + }, + /** + * get the parent ID of a node + * @name get_parent(obj) + * @param {mixed} obj + * @return {String} + */ + get_parent : function (obj) { + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + return obj.parent; + }, + /** + * get a jQuery collection of all the children of a node (node must be rendered) + * @name get_children_dom(obj) + * @param {mixed} obj + * @return {jQuery} + */ + get_children_dom : function (obj) { + obj = this.get_node(obj, true); + if(obj[0] === this.element[0]) { + return this.get_container_ul().children(".jstree-node"); + } + if(!obj || !obj.length) { + return false; + } + return obj.children(".jstree-children").children(".jstree-node"); + }, + /** + * checks if a node has children + * @name is_parent(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_parent : function (obj) { + obj = this.get_node(obj); + return obj && (obj.state.loaded === false || obj.children.length > 0); + }, + /** + * checks if a node is loaded (its children are available) + * @name is_loaded(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_loaded : function (obj) { + obj = this.get_node(obj); + return obj && obj.state.loaded; + }, + /** + * check if a node is currently loading (fetching children) + * @name is_loading(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_loading : function (obj) { + obj = this.get_node(obj); + return obj && obj.state && obj.state.loading; + }, + /** + * check if a node is opened + * @name is_open(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_open : function (obj) { + obj = this.get_node(obj); + return obj && obj.state.opened; + }, + /** + * check if a node is in a closed state + * @name is_closed(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_closed : function (obj) { + obj = this.get_node(obj); + return obj && this.is_parent(obj) && !obj.state.opened; + }, + /** + * check if a node has no children + * @name is_leaf(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_leaf : function (obj) { + return !this.is_parent(obj); + }, + /** + * loads a node (fetches its children using the `core.data` setting). Multiple nodes can be passed to by using an array. + * @name load_node(obj [, callback]) + * @param {mixed} obj + * @param {function} callback a function to be executed once loading is complete, the function is executed in the instance's scope and receives two arguments - the node and a boolean status + * @return {Boolean} + * @trigger load_node.jstree + */ + load_node : function (obj, callback) { + var k, l, i, j, c; + if($.isArray(obj)) { + this._load_nodes(obj.slice(), callback); + return true; + } + obj = this.get_node(obj); + if(!obj) { + if(callback) { callback.call(this, obj, false); } + return false; + } + // if(obj.state.loading) { } // the node is already loading - just wait for it to load and invoke callback? but if called implicitly it should be loaded again? + if(obj.state.loaded) { + obj.state.loaded = false; + for(i = 0, j = obj.parents.length; i < j; i++) { + this._model.data[obj.parents[i]].children_d = $.vakata.array_filter(this._model.data[obj.parents[i]].children_d, function (v) { + return $.inArray(v, obj.children_d) === -1; + }); + } + for(k = 0, l = obj.children_d.length; k < l; k++) { + if(this._model.data[obj.children_d[k]].state.selected) { + c = true; + } + delete this._model.data[obj.children_d[k]]; + } + if (c) { + this._data.core.selected = $.vakata.array_filter(this._data.core.selected, function (v) { + return $.inArray(v, obj.children_d) === -1; + }); + } + obj.children = []; + obj.children_d = []; + if(c) { + this.trigger('changed', { 'action' : 'load_node', 'node' : obj, 'selected' : this._data.core.selected }); + } + } + obj.state.failed = false; + obj.state.loading = true; + this.get_node(obj, true).addClass("jstree-loading").attr('aria-busy',true); + this._load_node(obj, $.proxy(function (status) { + obj = this._model.data[obj.id]; + obj.state.loading = false; + obj.state.loaded = status; + obj.state.failed = !obj.state.loaded; + var dom = this.get_node(obj, true), i = 0, j = 0, m = this._model.data, has_children = false; + for(i = 0, j = obj.children.length; i < j; i++) { + if(m[obj.children[i]] && !m[obj.children[i]].state.hidden) { + has_children = true; + break; + } + } + if(obj.state.loaded && dom && dom.length) { + dom.removeClass('jstree-closed jstree-open jstree-leaf'); + if (!has_children) { + dom.addClass('jstree-leaf'); + } + else { + if (obj.id !== '#') { + dom.addClass(obj.state.opened ? 'jstree-open' : 'jstree-closed'); + } + } + } + dom.removeClass("jstree-loading").attr('aria-busy',false); + /** + * triggered after a node is loaded + * @event + * @name load_node.jstree + * @param {Object} node the node that was loading + * @param {Boolean} status was the node loaded successfully + */ + this.trigger('load_node', { "node" : obj, "status" : status }); + if(callback) { + callback.call(this, obj, status); + } + }, this)); + return true; + }, + /** + * load an array of nodes (will also load unavailable nodes as soon as the appear in the structure). Used internally. + * @private + * @name _load_nodes(nodes [, callback]) + * @param {array} nodes + * @param {function} callback a function to be executed once loading is complete, the function is executed in the instance's scope and receives one argument - the array passed to _load_nodes + */ + _load_nodes : function (nodes, callback, is_callback, force_reload) { + var r = true, + c = function () { this._load_nodes(nodes, callback, true); }, + m = this._model.data, i, j, tmp = []; + for(i = 0, j = nodes.length; i < j; i++) { + if(m[nodes[i]] && ( (!m[nodes[i]].state.loaded && !m[nodes[i]].state.failed) || (!is_callback && force_reload) )) { + if(!this.is_loading(nodes[i])) { + this.load_node(nodes[i], c); + } + r = false; + } + } + if(r) { + for(i = 0, j = nodes.length; i < j; i++) { + if(m[nodes[i]] && m[nodes[i]].state.loaded) { + tmp.push(nodes[i]); + } + } + if(callback && !callback.done) { + callback.call(this, tmp); + callback.done = true; + } + } + }, + /** + * loads all unloaded nodes + * @name load_all([obj, callback]) + * @param {mixed} obj the node to load recursively, omit to load all nodes in the tree + * @param {function} callback a function to be executed once loading all the nodes is complete, + * @trigger load_all.jstree + */ + load_all : function (obj, callback) { + if(!obj) { obj = $.jstree.root; } + obj = this.get_node(obj); + if(!obj) { return false; } + var to_load = [], + m = this._model.data, + c = m[obj.id].children_d, + i, j; + if(obj.state && !obj.state.loaded) { + to_load.push(obj.id); + } + for(i = 0, j = c.length; i < j; i++) { + if(m[c[i]] && m[c[i]].state && !m[c[i]].state.loaded) { + to_load.push(c[i]); + } + } + if(to_load.length) { + this._load_nodes(to_load, function () { + this.load_all(obj, callback); + }); + } + else { + /** + * triggered after a load_all call completes + * @event + * @name load_all.jstree + * @param {Object} node the recursively loaded node + */ + if(callback) { callback.call(this, obj); } + this.trigger('load_all', { "node" : obj }); + } + }, + /** + * handles the actual loading of a node. Used only internally. + * @private + * @name _load_node(obj [, callback]) + * @param {mixed} obj + * @param {function} callback a function to be executed once loading is complete, the function is executed in the instance's scope and receives one argument - a boolean status + * @return {Boolean} + */ + _load_node : function (obj, callback) { + var s = this.settings.core.data, t; + var notTextOrCommentNode = function notTextOrCommentNode () { + return this.nodeType !== 3 && this.nodeType !== 8; + }; + // use original HTML + if(!s) { + if(obj.id === $.jstree.root) { + return this._append_html_data(obj, this._data.core.original_container_html.clone(true), function (status) { + callback.call(this, status); + }); + } + else { + return callback.call(this, false); + } + // return callback.call(this, obj.id === $.jstree.root ? this._append_html_data(obj, this._data.core.original_container_html.clone(true)) : false); + } + if($.isFunction(s)) { + return s.call(this, obj, $.proxy(function (d) { + if(d === false) { + callback.call(this, false); + } + else { + this[typeof d === 'string' ? '_append_html_data' : '_append_json_data'](obj, typeof d === 'string' ? $($.parseHTML(d)).filter(notTextOrCommentNode) : d, function (status) { + callback.call(this, status); + }); + } + // return d === false ? callback.call(this, false) : callback.call(this, this[typeof d === 'string' ? '_append_html_data' : '_append_json_data'](obj, typeof d === 'string' ? $(d) : d)); + }, this)); + } + if(typeof s === 'object') { + if(s.url) { + s = $.extend(true, {}, s); + if($.isFunction(s.url)) { + s.url = s.url.call(this, obj); + } + if($.isFunction(s.data)) { + s.data = s.data.call(this, obj); + } + return $.ajax(s) + .done($.proxy(function (d,t,x) { + var type = x.getResponseHeader('Content-Type'); + if((type && type.indexOf('json') !== -1) || typeof d === "object") { + return this._append_json_data(obj, d, function (status) { callback.call(this, status); }); + //return callback.call(this, this._append_json_data(obj, d)); + } + if((type && type.indexOf('html') !== -1) || typeof d === "string") { + return this._append_html_data(obj, $($.parseHTML(d)).filter(notTextOrCommentNode), function (status) { callback.call(this, status); }); + // return callback.call(this, this._append_html_data(obj, $(d))); + } + this._data.core.last_error = { 'error' : 'ajax', 'plugin' : 'core', 'id' : 'core_04', 'reason' : 'Could not load node', 'data' : JSON.stringify({ 'id' : obj.id, 'xhr' : x }) }; + this.settings.core.error.call(this, this._data.core.last_error); + return callback.call(this, false); + }, this)) + .fail($.proxy(function (f) { + callback.call(this, false); + this._data.core.last_error = { 'error' : 'ajax', 'plugin' : 'core', 'id' : 'core_04', 'reason' : 'Could not load node', 'data' : JSON.stringify({ 'id' : obj.id, 'xhr' : f }) }; + this.settings.core.error.call(this, this._data.core.last_error); + }, this)); + } + t = ($.isArray(s) || $.isPlainObject(s)) ? JSON.parse(JSON.stringify(s)) : s; + if(obj.id === $.jstree.root) { + return this._append_json_data(obj, t, function (status) { + callback.call(this, status); + }); + } + else { + this._data.core.last_error = { 'error' : 'nodata', 'plugin' : 'core', 'id' : 'core_05', 'reason' : 'Could not load node', 'data' : JSON.stringify({ 'id' : obj.id }) }; + this.settings.core.error.call(this, this._data.core.last_error); + return callback.call(this, false); + } + //return callback.call(this, (obj.id === $.jstree.root ? this._append_json_data(obj, t) : false) ); + } + if(typeof s === 'string') { + if(obj.id === $.jstree.root) { + return this._append_html_data(obj, $($.parseHTML(s)).filter(notTextOrCommentNode), function (status) { + callback.call(this, status); + }); + } + else { + this._data.core.last_error = { 'error' : 'nodata', 'plugin' : 'core', 'id' : 'core_06', 'reason' : 'Could not load node', 'data' : JSON.stringify({ 'id' : obj.id }) }; + this.settings.core.error.call(this, this._data.core.last_error); + return callback.call(this, false); + } + //return callback.call(this, (obj.id === $.jstree.root ? this._append_html_data(obj, $(s)) : false) ); + } + return callback.call(this, false); + }, + /** + * adds a node to the list of nodes to redraw. Used only internally. + * @private + * @name _node_changed(obj [, callback]) + * @param {mixed} obj + */ + _node_changed : function (obj) { + obj = this.get_node(obj); + if(obj) { + this._model.changed.push(obj.id); + } + }, + /** + * appends HTML content to the tree. Used internally. + * @private + * @name _append_html_data(obj, data) + * @param {mixed} obj the node to append to + * @param {String} data the HTML string to parse and append + * @trigger model.jstree, changed.jstree + */ + _append_html_data : function (dom, data, cb) { + dom = this.get_node(dom); + dom.children = []; + dom.children_d = []; + var dat = data.is('ul') ? data.children() : data, + par = dom.id, + chd = [], + dpc = [], + m = this._model.data, + p = m[par], + s = this._data.core.selected.length, + tmp, i, j; + dat.each($.proxy(function (i, v) { + tmp = this._parse_model_from_html($(v), par, p.parents.concat()); + if(tmp) { + chd.push(tmp); + dpc.push(tmp); + if(m[tmp].children_d.length) { + dpc = dpc.concat(m[tmp].children_d); + } + } + }, this)); + p.children = chd; + p.children_d = dpc; + for(i = 0, j = p.parents.length; i < j; i++) { + m[p.parents[i]].children_d = m[p.parents[i]].children_d.concat(dpc); + } + /** + * triggered when new data is inserted to the tree model + * @event + * @name model.jstree + * @param {Array} nodes an array of node IDs + * @param {String} parent the parent ID of the nodes + */ + this.trigger('model', { "nodes" : dpc, 'parent' : par }); + if(par !== $.jstree.root) { + this._node_changed(par); + this.redraw(); + } + else { + this.get_container_ul().children('.jstree-initial-node').remove(); + this.redraw(true); + } + if(this._data.core.selected.length !== s) { + this.trigger('changed', { 'action' : 'model', 'selected' : this._data.core.selected }); + } + cb.call(this, true); + }, + /** + * appends JSON content to the tree. Used internally. + * @private + * @name _append_json_data(obj, data) + * @param {mixed} obj the node to append to + * @param {String} data the JSON object to parse and append + * @param {Boolean} force_processing internal param - do not set + * @trigger model.jstree, changed.jstree + */ + _append_json_data : function (dom, data, cb, force_processing) { + if(this.element === null) { return; } + dom = this.get_node(dom); + dom.children = []; + dom.children_d = []; + // *%$@!!! + if(data.d) { + data = data.d; + if(typeof data === "string") { + data = JSON.parse(data); + } + } + if(!$.isArray(data)) { data = [data]; } + var w = null, + args = { + 'df' : this._model.default_state, + 'dat' : data, + 'par' : dom.id, + 'm' : this._model.data, + 't_id' : this._id, + 't_cnt' : this._cnt, + 'sel' : this._data.core.selected + }, + func = function (data, undefined) { + if(data.data) { data = data.data; } + var dat = data.dat, + par = data.par, + chd = [], + dpc = [], + add = [], + df = data.df, + t_id = data.t_id, + t_cnt = data.t_cnt, + m = data.m, + p = m[par], + sel = data.sel, + tmp, i, j, rslt, + parse_flat = function (d, p, ps) { + if(!ps) { ps = []; } + else { ps = ps.concat(); } + if(p) { ps.unshift(p); } + var tid = d.id.toString(), + i, j, c, e, + tmp = { + id : tid, + text : d.text || '', + icon : d.icon !== undefined ? d.icon : true, + parent : p, + parents : ps, + children : d.children || [], + children_d : d.children_d || [], + data : d.data, + state : { }, + li_attr : { id : false }, + a_attr : { href : '#' }, + original : false + }; + for(i in df) { + if(df.hasOwnProperty(i)) { + tmp.state[i] = df[i]; + } + } + if(d && d.data && d.data.jstree && d.data.jstree.icon) { + tmp.icon = d.data.jstree.icon; + } + if(tmp.icon === undefined || tmp.icon === null || tmp.icon === "") { + tmp.icon = true; + } + if(d && d.data) { + tmp.data = d.data; + if(d.data.jstree) { + for(i in d.data.jstree) { + if(d.data.jstree.hasOwnProperty(i)) { + tmp.state[i] = d.data.jstree[i]; + } + } + } + } + if(d && typeof d.state === 'object') { + for (i in d.state) { + if(d.state.hasOwnProperty(i)) { + tmp.state[i] = d.state[i]; + } + } + } + if(d && typeof d.li_attr === 'object') { + for (i in d.li_attr) { + if(d.li_attr.hasOwnProperty(i)) { + tmp.li_attr[i] = d.li_attr[i]; + } + } + } + if(!tmp.li_attr.id) { + tmp.li_attr.id = tid; + } + if(d && typeof d.a_attr === 'object') { + for (i in d.a_attr) { + if(d.a_attr.hasOwnProperty(i)) { + tmp.a_attr[i] = d.a_attr[i]; + } + } + } + if(d && d.children && d.children === true) { + tmp.state.loaded = false; + tmp.children = []; + tmp.children_d = []; + } + m[tmp.id] = tmp; + for(i = 0, j = tmp.children.length; i < j; i++) { + c = parse_flat(m[tmp.children[i]], tmp.id, ps); + e = m[c]; + tmp.children_d.push(c); + if(e.children_d.length) { + tmp.children_d = tmp.children_d.concat(e.children_d); + } + } + delete d.data; + delete d.children; + m[tmp.id].original = d; + if(tmp.state.selected) { + add.push(tmp.id); + } + return tmp.id; + }, + parse_nest = function (d, p, ps) { + if(!ps) { ps = []; } + else { ps = ps.concat(); } + if(p) { ps.unshift(p); } + var tid = false, i, j, c, e, tmp; + do { + tid = 'j' + t_id + '_' + (++t_cnt); + } while(m[tid]); + + tmp = { + id : false, + text : typeof d === 'string' ? d : '', + icon : typeof d === 'object' && d.icon !== undefined ? d.icon : true, + parent : p, + parents : ps, + children : [], + children_d : [], + data : null, + state : { }, + li_attr : { id : false }, + a_attr : { href : '#' }, + original : false + }; + for(i in df) { + if(df.hasOwnProperty(i)) { + tmp.state[i] = df[i]; + } + } + if(d && d.id) { tmp.id = d.id.toString(); } + if(d && d.text) { tmp.text = d.text; } + if(d && d.data && d.data.jstree && d.data.jstree.icon) { + tmp.icon = d.data.jstree.icon; + } + if(tmp.icon === undefined || tmp.icon === null || tmp.icon === "") { + tmp.icon = true; + } + if(d && d.data) { + tmp.data = d.data; + if(d.data.jstree) { + for(i in d.data.jstree) { + if(d.data.jstree.hasOwnProperty(i)) { + tmp.state[i] = d.data.jstree[i]; + } + } + } + } + if(d && typeof d.state === 'object') { + for (i in d.state) { + if(d.state.hasOwnProperty(i)) { + tmp.state[i] = d.state[i]; + } + } + } + if(d && typeof d.li_attr === 'object') { + for (i in d.li_attr) { + if(d.li_attr.hasOwnProperty(i)) { + tmp.li_attr[i] = d.li_attr[i]; + } + } + } + if(tmp.li_attr.id && !tmp.id) { + tmp.id = tmp.li_attr.id.toString(); + } + if(!tmp.id) { + tmp.id = tid; + } + if(!tmp.li_attr.id) { + tmp.li_attr.id = tmp.id; + } + if(d && typeof d.a_attr === 'object') { + for (i in d.a_attr) { + if(d.a_attr.hasOwnProperty(i)) { + tmp.a_attr[i] = d.a_attr[i]; + } + } + } + if(d && d.children && d.children.length) { + for(i = 0, j = d.children.length; i < j; i++) { + c = parse_nest(d.children[i], tmp.id, ps); + e = m[c]; + tmp.children.push(c); + if(e.children_d.length) { + tmp.children_d = tmp.children_d.concat(e.children_d); + } + } + tmp.children_d = tmp.children_d.concat(tmp.children); + } + if(d && d.children && d.children === true) { + tmp.state.loaded = false; + tmp.children = []; + tmp.children_d = []; + } + delete d.data; + delete d.children; + tmp.original = d; + m[tmp.id] = tmp; + if(tmp.state.selected) { + add.push(tmp.id); + } + return tmp.id; + }; + + if(dat.length && dat[0].id !== undefined && dat[0].parent !== undefined) { + // Flat JSON support (for easy import from DB): + // 1) convert to object (foreach) + for(i = 0, j = dat.length; i < j; i++) { + if(!dat[i].children) { + dat[i].children = []; + } + m[dat[i].id.toString()] = dat[i]; + } + // 2) populate children (foreach) + for(i = 0, j = dat.length; i < j; i++) { + m[dat[i].parent.toString()].children.push(dat[i].id.toString()); + // populate parent.children_d + p.children_d.push(dat[i].id.toString()); + } + // 3) normalize && populate parents and children_d with recursion + for(i = 0, j = p.children.length; i < j; i++) { + tmp = parse_flat(m[p.children[i]], par, p.parents.concat()); + dpc.push(tmp); + if(m[tmp].children_d.length) { + dpc = dpc.concat(m[tmp].children_d); + } + } + for(i = 0, j = p.parents.length; i < j; i++) { + m[p.parents[i]].children_d = m[p.parents[i]].children_d.concat(dpc); + } + // ?) three_state selection - p.state.selected && t - (if three_state foreach(dat => ch) -> foreach(parents) if(parent.selected) child.selected = true; + rslt = { + 'cnt' : t_cnt, + 'mod' : m, + 'sel' : sel, + 'par' : par, + 'dpc' : dpc, + 'add' : add + }; + } + else { + for(i = 0, j = dat.length; i < j; i++) { + tmp = parse_nest(dat[i], par, p.parents.concat()); + if(tmp) { + chd.push(tmp); + dpc.push(tmp); + if(m[tmp].children_d.length) { + dpc = dpc.concat(m[tmp].children_d); + } + } + } + p.children = chd; + p.children_d = dpc; + for(i = 0, j = p.parents.length; i < j; i++) { + m[p.parents[i]].children_d = m[p.parents[i]].children_d.concat(dpc); + } + rslt = { + 'cnt' : t_cnt, + 'mod' : m, + 'sel' : sel, + 'par' : par, + 'dpc' : dpc, + 'add' : add + }; + } + if(typeof window === 'undefined' || typeof window.document === 'undefined') { + postMessage(rslt); + } + else { + return rslt; + } + }, + rslt = function (rslt, worker) { + if(this.element === null) { return; } + this._cnt = rslt.cnt; + var i, m = this._model.data; + for (i in m) { + if (m.hasOwnProperty(i) && m[i].state && m[i].state.loading && rslt.mod[i]) { + rslt.mod[i].state.loading = true; + } + } + this._model.data = rslt.mod; // breaks the reference in load_node - careful + + if(worker) { + var j, a = rslt.add, r = rslt.sel, s = this._data.core.selected.slice(); + m = this._model.data; + // if selection was changed while calculating in worker + if(r.length !== s.length || $.vakata.array_unique(r.concat(s)).length !== r.length) { + // deselect nodes that are no longer selected + for(i = 0, j = r.length; i < j; i++) { + if($.inArray(r[i], a) === -1 && $.inArray(r[i], s) === -1) { + m[r[i]].state.selected = false; + } + } + // select nodes that were selected in the mean time + for(i = 0, j = s.length; i < j; i++) { + if($.inArray(s[i], r) === -1) { + m[s[i]].state.selected = true; + } + } + } + } + if(rslt.add.length) { + this._data.core.selected = this._data.core.selected.concat(rslt.add); + } + + this.trigger('model', { "nodes" : rslt.dpc, 'parent' : rslt.par }); + + if(rslt.par !== $.jstree.root) { + this._node_changed(rslt.par); + this.redraw(); + } + else { + // this.get_container_ul().children('.jstree-initial-node').remove(); + this.redraw(true); + } + if(rslt.add.length) { + this.trigger('changed', { 'action' : 'model', 'selected' : this._data.core.selected }); + } + cb.call(this, true); + }; + if(this.settings.core.worker && window.Blob && window.URL && window.Worker) { + try { + if(this._wrk === null) { + this._wrk = window.URL.createObjectURL( + new window.Blob( + ['self.onmessage = ' + func.toString()], + {type:"text/javascript"} + ) + ); + } + if(!this._data.core.working || force_processing) { + this._data.core.working = true; + w = new window.Worker(this._wrk); + w.onmessage = $.proxy(function (e) { + rslt.call(this, e.data, true); + try { w.terminate(); w = null; } catch(ignore) { } + if(this._data.core.worker_queue.length) { + this._append_json_data.apply(this, this._data.core.worker_queue.shift()); + } + else { + this._data.core.working = false; + } + }, this); + if(!args.par) { + if(this._data.core.worker_queue.length) { + this._append_json_data.apply(this, this._data.core.worker_queue.shift()); + } + else { + this._data.core.working = false; + } + } + else { + w.postMessage(args); + } + } + else { + this._data.core.worker_queue.push([dom, data, cb, true]); + } + } + catch(e) { + rslt.call(this, func(args), false); + if(this._data.core.worker_queue.length) { + this._append_json_data.apply(this, this._data.core.worker_queue.shift()); + } + else { + this._data.core.working = false; + } + } + } + else { + rslt.call(this, func(args), false); + } + }, + /** + * parses a node from a jQuery object and appends them to the in memory tree model. Used internally. + * @private + * @name _parse_model_from_html(d [, p, ps]) + * @param {jQuery} d the jQuery object to parse + * @param {String} p the parent ID + * @param {Array} ps list of all parents + * @return {String} the ID of the object added to the model + */ + _parse_model_from_html : function (d, p, ps) { + if(!ps) { ps = []; } + else { ps = [].concat(ps); } + if(p) { ps.unshift(p); } + var c, e, m = this._model.data, + data = { + id : false, + text : false, + icon : true, + parent : p, + parents : ps, + children : [], + children_d : [], + data : null, + state : { }, + li_attr : { id : false }, + a_attr : { href : '#' }, + original : false + }, i, tmp, tid; + for(i in this._model.default_state) { + if(this._model.default_state.hasOwnProperty(i)) { + data.state[i] = this._model.default_state[i]; + } + } + tmp = $.vakata.attributes(d, true); + $.each(tmp, function (i, v) { + v = $.trim(v); + if(!v.length) { return true; } + data.li_attr[i] = v; + if(i === 'id') { + data.id = v.toString(); + } + }); + tmp = d.children('a').first(); + if(tmp.length) { + tmp = $.vakata.attributes(tmp, true); + $.each(tmp, function (i, v) { + v = $.trim(v); + if(v.length) { + data.a_attr[i] = v; + } + }); + } + tmp = d.children("a").first().length ? d.children("a").first().clone() : d.clone(); + tmp.children("ins, i, ul").remove(); + tmp = tmp.html(); + tmp = $('
    ').html(tmp); + data.text = this.settings.core.force_text ? tmp.text() : tmp.html(); + tmp = d.data(); + data.data = tmp ? $.extend(true, {}, tmp) : null; + data.state.opened = d.hasClass('jstree-open'); + data.state.selected = d.children('a').hasClass('jstree-clicked'); + data.state.disabled = d.children('a').hasClass('jstree-disabled'); + if(data.data && data.data.jstree) { + for(i in data.data.jstree) { + if(data.data.jstree.hasOwnProperty(i)) { + data.state[i] = data.data.jstree[i]; + } + } + } + tmp = d.children("a").children(".jstree-themeicon"); + if(tmp.length) { + data.icon = tmp.hasClass('jstree-themeicon-hidden') ? false : tmp.attr('rel'); + } + if(data.state.icon !== undefined) { + data.icon = data.state.icon; + } + if(data.icon === undefined || data.icon === null || data.icon === "") { + data.icon = true; + } + tmp = d.children("ul").children("li"); + do { + tid = 'j' + this._id + '_' + (++this._cnt); + } while(m[tid]); + data.id = data.li_attr.id ? data.li_attr.id.toString() : tid; + if(tmp.length) { + tmp.each($.proxy(function (i, v) { + c = this._parse_model_from_html($(v), data.id, ps); + e = this._model.data[c]; + data.children.push(c); + if(e.children_d.length) { + data.children_d = data.children_d.concat(e.children_d); + } + }, this)); + data.children_d = data.children_d.concat(data.children); + } + else { + if(d.hasClass('jstree-closed')) { + data.state.loaded = false; + } + } + if(data.li_attr['class']) { + data.li_attr['class'] = data.li_attr['class'].replace('jstree-closed','').replace('jstree-open',''); + } + if(data.a_attr['class']) { + data.a_attr['class'] = data.a_attr['class'].replace('jstree-clicked','').replace('jstree-disabled',''); + } + m[data.id] = data; + if(data.state.selected) { + this._data.core.selected.push(data.id); + } + return data.id; + }, + /** + * parses a node from a JSON object (used when dealing with flat data, which has no nesting of children, but has id and parent properties) and appends it to the in memory tree model. Used internally. + * @private + * @name _parse_model_from_flat_json(d [, p, ps]) + * @param {Object} d the JSON object to parse + * @param {String} p the parent ID + * @param {Array} ps list of all parents + * @return {String} the ID of the object added to the model + */ + _parse_model_from_flat_json : function (d, p, ps) { + if(!ps) { ps = []; } + else { ps = ps.concat(); } + if(p) { ps.unshift(p); } + var tid = d.id.toString(), + m = this._model.data, + df = this._model.default_state, + i, j, c, e, + tmp = { + id : tid, + text : d.text || '', + icon : d.icon !== undefined ? d.icon : true, + parent : p, + parents : ps, + children : d.children || [], + children_d : d.children_d || [], + data : d.data, + state : { }, + li_attr : { id : false }, + a_attr : { href : '#' }, + original : false + }; + for(i in df) { + if(df.hasOwnProperty(i)) { + tmp.state[i] = df[i]; + } + } + if(d && d.data && d.data.jstree && d.data.jstree.icon) { + tmp.icon = d.data.jstree.icon; + } + if(tmp.icon === undefined || tmp.icon === null || tmp.icon === "") { + tmp.icon = true; + } + if(d && d.data) { + tmp.data = d.data; + if(d.data.jstree) { + for(i in d.data.jstree) { + if(d.data.jstree.hasOwnProperty(i)) { + tmp.state[i] = d.data.jstree[i]; + } + } + } + } + if(d && typeof d.state === 'object') { + for (i in d.state) { + if(d.state.hasOwnProperty(i)) { + tmp.state[i] = d.state[i]; + } + } + } + if(d && typeof d.li_attr === 'object') { + for (i in d.li_attr) { + if(d.li_attr.hasOwnProperty(i)) { + tmp.li_attr[i] = d.li_attr[i]; + } + } + } + if(!tmp.li_attr.id) { + tmp.li_attr.id = tid; + } + if(d && typeof d.a_attr === 'object') { + for (i in d.a_attr) { + if(d.a_attr.hasOwnProperty(i)) { + tmp.a_attr[i] = d.a_attr[i]; + } + } + } + if(d && d.children && d.children === true) { + tmp.state.loaded = false; + tmp.children = []; + tmp.children_d = []; + } + m[tmp.id] = tmp; + for(i = 0, j = tmp.children.length; i < j; i++) { + c = this._parse_model_from_flat_json(m[tmp.children[i]], tmp.id, ps); + e = m[c]; + tmp.children_d.push(c); + if(e.children_d.length) { + tmp.children_d = tmp.children_d.concat(e.children_d); + } + } + delete d.data; + delete d.children; + m[tmp.id].original = d; + if(tmp.state.selected) { + this._data.core.selected.push(tmp.id); + } + return tmp.id; + }, + /** + * parses a node from a JSON object and appends it to the in memory tree model. Used internally. + * @private + * @name _parse_model_from_json(d [, p, ps]) + * @param {Object} d the JSON object to parse + * @param {String} p the parent ID + * @param {Array} ps list of all parents + * @return {String} the ID of the object added to the model + */ + _parse_model_from_json : function (d, p, ps) { + if(!ps) { ps = []; } + else { ps = ps.concat(); } + if(p) { ps.unshift(p); } + var tid = false, i, j, c, e, m = this._model.data, df = this._model.default_state, tmp; + do { + tid = 'j' + this._id + '_' + (++this._cnt); + } while(m[tid]); + + tmp = { + id : false, + text : typeof d === 'string' ? d : '', + icon : typeof d === 'object' && d.icon !== undefined ? d.icon : true, + parent : p, + parents : ps, + children : [], + children_d : [], + data : null, + state : { }, + li_attr : { id : false }, + a_attr : { href : '#' }, + original : false + }; + for(i in df) { + if(df.hasOwnProperty(i)) { + tmp.state[i] = df[i]; + } + } + if(d && d.id) { tmp.id = d.id.toString(); } + if(d && d.text) { tmp.text = d.text; } + if(d && d.data && d.data.jstree && d.data.jstree.icon) { + tmp.icon = d.data.jstree.icon; + } + if(tmp.icon === undefined || tmp.icon === null || tmp.icon === "") { + tmp.icon = true; + } + if(d && d.data) { + tmp.data = d.data; + if(d.data.jstree) { + for(i in d.data.jstree) { + if(d.data.jstree.hasOwnProperty(i)) { + tmp.state[i] = d.data.jstree[i]; + } + } + } + } + if(d && typeof d.state === 'object') { + for (i in d.state) { + if(d.state.hasOwnProperty(i)) { + tmp.state[i] = d.state[i]; + } + } + } + if(d && typeof d.li_attr === 'object') { + for (i in d.li_attr) { + if(d.li_attr.hasOwnProperty(i)) { + tmp.li_attr[i] = d.li_attr[i]; + } + } + } + if(tmp.li_attr.id && !tmp.id) { + tmp.id = tmp.li_attr.id.toString(); + } + if(!tmp.id) { + tmp.id = tid; + } + if(!tmp.li_attr.id) { + tmp.li_attr.id = tmp.id; + } + if(d && typeof d.a_attr === 'object') { + for (i in d.a_attr) { + if(d.a_attr.hasOwnProperty(i)) { + tmp.a_attr[i] = d.a_attr[i]; + } + } + } + if(d && d.children && d.children.length) { + for(i = 0, j = d.children.length; i < j; i++) { + c = this._parse_model_from_json(d.children[i], tmp.id, ps); + e = m[c]; + tmp.children.push(c); + if(e.children_d.length) { + tmp.children_d = tmp.children_d.concat(e.children_d); + } + } + tmp.children_d = tmp.children_d.concat(tmp.children); + } + if(d && d.children && d.children === true) { + tmp.state.loaded = false; + tmp.children = []; + tmp.children_d = []; + } + delete d.data; + delete d.children; + tmp.original = d; + m[tmp.id] = tmp; + if(tmp.state.selected) { + this._data.core.selected.push(tmp.id); + } + return tmp.id; + }, + /** + * redraws all nodes that need to be redrawn. Used internally. + * @private + * @name _redraw() + * @trigger redraw.jstree + */ + _redraw : function () { + var nodes = this._model.force_full_redraw ? this._model.data[$.jstree.root].children.concat([]) : this._model.changed.concat([]), + f = document.createElement('UL'), tmp, i, j, fe = this._data.core.focused; + for(i = 0, j = nodes.length; i < j; i++) { + tmp = this.redraw_node(nodes[i], true, this._model.force_full_redraw); + if(tmp && this._model.force_full_redraw) { + f.appendChild(tmp); + } + } + if(this._model.force_full_redraw) { + f.className = this.get_container_ul()[0].className; + f.setAttribute('role','group'); + this.element.empty().append(f); + //this.get_container_ul()[0].appendChild(f); + } + if(fe !== null) { + tmp = this.get_node(fe, true); + if(tmp && tmp.length && tmp.children('.jstree-anchor')[0] !== document.activeElement) { + tmp.children('.jstree-anchor').focus(); + } + else { + this._data.core.focused = null; + } + } + this._model.force_full_redraw = false; + this._model.changed = []; + /** + * triggered after nodes are redrawn + * @event + * @name redraw.jstree + * @param {array} nodes the redrawn nodes + */ + this.trigger('redraw', { "nodes" : nodes }); + }, + /** + * redraws all nodes that need to be redrawn or optionally - the whole tree + * @name redraw([full]) + * @param {Boolean} full if set to `true` all nodes are redrawn. + */ + redraw : function (full) { + if(full) { + this._model.force_full_redraw = true; + } + //if(this._model.redraw_timeout) { + // clearTimeout(this._model.redraw_timeout); + //} + //this._model.redraw_timeout = setTimeout($.proxy(this._redraw, this),0); + this._redraw(); + }, + /** + * redraws a single node's children. Used internally. + * @private + * @name draw_children(node) + * @param {mixed} node the node whose children will be redrawn + */ + draw_children : function (node) { + var obj = this.get_node(node), + i = false, + j = false, + k = false, + d = document; + if(!obj) { return false; } + if(obj.id === $.jstree.root) { return this.redraw(true); } + node = this.get_node(node, true); + if(!node || !node.length) { return false; } // TODO: quick toggle + + node.children('.jstree-children').remove(); + node = node[0]; + if(obj.children.length && obj.state.loaded) { + k = d.createElement('UL'); + k.setAttribute('role', 'group'); + k.className = 'jstree-children'; + for(i = 0, j = obj.children.length; i < j; i++) { + k.appendChild(this.redraw_node(obj.children[i], true, true)); + } + node.appendChild(k); + } + }, + /** + * redraws a single node. Used internally. + * @private + * @name redraw_node(node, deep, is_callback, force_render) + * @param {mixed} node the node to redraw + * @param {Boolean} deep should child nodes be redrawn too + * @param {Boolean} is_callback is this a recursion call + * @param {Boolean} force_render should children of closed parents be drawn anyway + */ + redraw_node : function (node, deep, is_callback, force_render) { + var obj = this.get_node(node), + par = false, + ind = false, + old = false, + i = false, + j = false, + k = false, + c = '', + d = document, + m = this._model.data, + f = false, + s = false, + tmp = null, + t = 0, + l = 0, + has_children = false, + last_sibling = false; + if(!obj) { return false; } + if(obj.id === $.jstree.root) { return this.redraw(true); } + deep = deep || obj.children.length === 0; + node = !document.querySelector ? document.getElementById(obj.id) : this.element[0].querySelector('#' + ("0123456789".indexOf(obj.id[0]) !== -1 ? '\\3' + obj.id[0] + ' ' + obj.id.substr(1).replace($.jstree.idregex,'\\$&') : obj.id.replace($.jstree.idregex,'\\$&')) ); //, this.element); + if(!node) { + deep = true; + //node = d.createElement('LI'); + if(!is_callback) { + par = obj.parent !== $.jstree.root ? $('#' + obj.parent.replace($.jstree.idregex,'\\$&'), this.element)[0] : null; + if(par !== null && (!par || !m[obj.parent].state.opened)) { + return false; + } + ind = $.inArray(obj.id, par === null ? m[$.jstree.root].children : m[obj.parent].children); + } + } + else { + node = $(node); + if(!is_callback) { + par = node.parent().parent()[0]; + if(par === this.element[0]) { + par = null; + } + ind = node.index(); + } + // m[obj.id].data = node.data(); // use only node's data, no need to touch jquery storage + if(!deep && obj.children.length && !node.children('.jstree-children').length) { + deep = true; + } + if(!deep) { + old = node.children('.jstree-children')[0]; + } + f = node.children('.jstree-anchor')[0] === document.activeElement; + node.remove(); + //node = d.createElement('LI'); + //node = node[0]; + } + node = this._data.core.node.cloneNode(true); + // node is DOM, deep is boolean + + c = 'jstree-node '; + for(i in obj.li_attr) { + if(obj.li_attr.hasOwnProperty(i)) { + if(i === 'id') { continue; } + if(i !== 'class') { + node.setAttribute(i, obj.li_attr[i]); + } + else { + c += obj.li_attr[i]; + } + } + } + if(!obj.a_attr.id) { + obj.a_attr.id = obj.id + '_anchor'; + } + node.setAttribute('aria-selected', !!obj.state.selected); + node.setAttribute('aria-level', obj.parents.length); + node.setAttribute('aria-labelledby', obj.a_attr.id); + if(obj.state.disabled) { + node.setAttribute('aria-disabled', true); + } + + for(i = 0, j = obj.children.length; i < j; i++) { + if(!m[obj.children[i]].state.hidden) { + has_children = true; + break; + } + } + if(obj.parent !== null && m[obj.parent] && !obj.state.hidden) { + i = $.inArray(obj.id, m[obj.parent].children); + last_sibling = obj.id; + if(i !== -1) { + i++; + for(j = m[obj.parent].children.length; i < j; i++) { + if(!m[m[obj.parent].children[i]].state.hidden) { + last_sibling = m[obj.parent].children[i]; + } + if(last_sibling !== obj.id) { + break; + } + } + } + } + + if(obj.state.hidden) { + c += ' jstree-hidden'; + } + if(obj.state.loaded && !has_children) { + c += ' jstree-leaf'; + } + else { + c += obj.state.opened && obj.state.loaded ? ' jstree-open' : ' jstree-closed'; + node.setAttribute('aria-expanded', (obj.state.opened && obj.state.loaded) ); + } + if(last_sibling === obj.id) { + c += ' jstree-last'; + } + node.id = obj.id; + node.className = c; + c = ( obj.state.selected ? ' jstree-clicked' : '') + ( obj.state.disabled ? ' jstree-disabled' : ''); + for(j in obj.a_attr) { + if(obj.a_attr.hasOwnProperty(j)) { + if(j === 'href' && obj.a_attr[j] === '#') { continue; } + if(j !== 'class') { + node.childNodes[1].setAttribute(j, obj.a_attr[j]); + } + else { + c += ' ' + obj.a_attr[j]; + } + } + } + if(c.length) { + node.childNodes[1].className = 'jstree-anchor ' + c; + } + if((obj.icon && obj.icon !== true) || obj.icon === false) { + if(obj.icon === false) { + node.childNodes[1].childNodes[0].className += ' jstree-themeicon-hidden'; + } + else if(obj.icon.indexOf('/') === -1 && obj.icon.indexOf('.') === -1) { + node.childNodes[1].childNodes[0].className += ' ' + obj.icon + ' jstree-themeicon-custom'; + } + else { + node.childNodes[1].childNodes[0].style.backgroundImage = 'url("'+obj.icon+'")'; + node.childNodes[1].childNodes[0].style.backgroundPosition = 'center center'; + node.childNodes[1].childNodes[0].style.backgroundSize = 'auto'; + node.childNodes[1].childNodes[0].className += ' jstree-themeicon-custom'; + } + } + + if(this.settings.core.force_text) { + node.childNodes[1].appendChild(d.createTextNode(obj.text)); + } + else { + node.childNodes[1].innerHTML += obj.text; + } + + + if(deep && obj.children.length && (obj.state.opened || force_render) && obj.state.loaded) { + k = d.createElement('UL'); + k.setAttribute('role', 'group'); + k.className = 'jstree-children'; + for(i = 0, j = obj.children.length; i < j; i++) { + k.appendChild(this.redraw_node(obj.children[i], deep, true)); + } + node.appendChild(k); + } + if(old) { + node.appendChild(old); + } + if(!is_callback) { + // append back using par / ind + if(!par) { + par = this.element[0]; + } + for(i = 0, j = par.childNodes.length; i < j; i++) { + if(par.childNodes[i] && par.childNodes[i].className && par.childNodes[i].className.indexOf('jstree-children') !== -1) { + tmp = par.childNodes[i]; + break; + } + } + if(!tmp) { + tmp = d.createElement('UL'); + tmp.setAttribute('role', 'group'); + tmp.className = 'jstree-children'; + par.appendChild(tmp); + } + par = tmp; + + if(ind < par.childNodes.length) { + par.insertBefore(node, par.childNodes[ind]); + } + else { + par.appendChild(node); + } + if(f) { + t = this.element[0].scrollTop; + l = this.element[0].scrollLeft; + node.childNodes[1].focus(); + this.element[0].scrollTop = t; + this.element[0].scrollLeft = l; + } + } + if(obj.state.opened && !obj.state.loaded) { + obj.state.opened = false; + setTimeout($.proxy(function () { + this.open_node(obj.id, false, 0); + }, this), 0); + } + return node; + }, + /** + * opens a node, revaling its children. If the node is not loaded it will be loaded and opened once ready. + * @name open_node(obj [, callback, animation]) + * @param {mixed} obj the node to open + * @param {Function} callback a function to execute once the node is opened + * @param {Number} animation the animation duration in milliseconds when opening the node (overrides the `core.animation` setting). Use `false` for no animation. + * @trigger open_node.jstree, after_open.jstree, before_open.jstree + */ + open_node : function (obj, callback, animation) { + var t1, t2, d, t; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.open_node(obj[t1], callback, animation); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + animation = animation === undefined ? this.settings.core.animation : animation; + if(!this.is_closed(obj)) { + if(callback) { + callback.call(this, obj, false); + } + return false; + } + if(!this.is_loaded(obj)) { + if(this.is_loading(obj)) { + return setTimeout($.proxy(function () { + this.open_node(obj, callback, animation); + }, this), 500); + } + this.load_node(obj, function (o, ok) { + return ok ? this.open_node(o, callback, animation) : (callback ? callback.call(this, o, false) : false); + }); + } + else { + d = this.get_node(obj, true); + t = this; + if(d.length) { + if(animation && d.children(".jstree-children").length) { + d.children(".jstree-children").stop(true, true); + } + if(obj.children.length && !this._firstChild(d.children('.jstree-children')[0])) { + this.draw_children(obj); + //d = this.get_node(obj, true); + } + if(!animation) { + this.trigger('before_open', { "node" : obj }); + d[0].className = d[0].className.replace('jstree-closed', 'jstree-open'); + d[0].setAttribute("aria-expanded", true); + } + else { + this.trigger('before_open', { "node" : obj }); + d + .children(".jstree-children").css("display","none").end() + .removeClass("jstree-closed").addClass("jstree-open").attr("aria-expanded", true) + .children(".jstree-children").stop(true, true) + .slideDown(animation, function () { + this.style.display = ""; + if (t.element) { + t.trigger("after_open", { "node" : obj }); + } + }); + } + } + obj.state.opened = true; + if(callback) { + callback.call(this, obj, true); + } + if(!d.length) { + /** + * triggered when a node is about to be opened (if the node is supposed to be in the DOM, it will be, but it won't be visible yet) + * @event + * @name before_open.jstree + * @param {Object} node the opened node + */ + this.trigger('before_open', { "node" : obj }); + } + /** + * triggered when a node is opened (if there is an animation it will not be completed yet) + * @event + * @name open_node.jstree + * @param {Object} node the opened node + */ + this.trigger('open_node', { "node" : obj }); + if(!animation || !d.length) { + /** + * triggered when a node is opened and the animation is complete + * @event + * @name after_open.jstree + * @param {Object} node the opened node + */ + this.trigger("after_open", { "node" : obj }); + } + return true; + } + }, + /** + * opens every parent of a node (node should be loaded) + * @name _open_to(obj) + * @param {mixed} obj the node to reveal + * @private + */ + _open_to : function (obj) { + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + var i, j, p = obj.parents; + for(i = 0, j = p.length; i < j; i+=1) { + if(i !== $.jstree.root) { + this.open_node(p[i], false, 0); + } + } + return $('#' + obj.id.replace($.jstree.idregex,'\\$&'), this.element); + }, + /** + * closes a node, hiding its children + * @name close_node(obj [, animation]) + * @param {mixed} obj the node to close + * @param {Number} animation the animation duration in milliseconds when closing the node (overrides the `core.animation` setting). Use `false` for no animation. + * @trigger close_node.jstree, after_close.jstree + */ + close_node : function (obj, animation) { + var t1, t2, t, d; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.close_node(obj[t1], animation); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + if(this.is_closed(obj)) { + return false; + } + animation = animation === undefined ? this.settings.core.animation : animation; + t = this; + d = this.get_node(obj, true); + + obj.state.opened = false; + /** + * triggered when a node is closed (if there is an animation it will not be complete yet) + * @event + * @name close_node.jstree + * @param {Object} node the closed node + */ + this.trigger('close_node',{ "node" : obj }); + if(!d.length) { + /** + * triggered when a node is closed and the animation is complete + * @event + * @name after_close.jstree + * @param {Object} node the closed node + */ + this.trigger("after_close", { "node" : obj }); + } + else { + if(!animation) { + d[0].className = d[0].className.replace('jstree-open', 'jstree-closed'); + d.attr("aria-expanded", false).children('.jstree-children').remove(); + this.trigger("after_close", { "node" : obj }); + } + else { + d + .children(".jstree-children").attr("style","display:block !important").end() + .removeClass("jstree-open").addClass("jstree-closed").attr("aria-expanded", false) + .children(".jstree-children").stop(true, true).slideUp(animation, function () { + this.style.display = ""; + d.children('.jstree-children').remove(); + if (t.element) { + t.trigger("after_close", { "node" : obj }); + } + }); + } + } + }, + /** + * toggles a node - closing it if it is open, opening it if it is closed + * @name toggle_node(obj) + * @param {mixed} obj the node to toggle + */ + toggle_node : function (obj) { + var t1, t2; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.toggle_node(obj[t1]); + } + return true; + } + if(this.is_closed(obj)) { + return this.open_node(obj); + } + if(this.is_open(obj)) { + return this.close_node(obj); + } + }, + /** + * opens all nodes within a node (or the tree), revaling their children. If the node is not loaded it will be loaded and opened once ready. + * @name open_all([obj, animation, original_obj]) + * @param {mixed} obj the node to open recursively, omit to open all nodes in the tree + * @param {Number} animation the animation duration in milliseconds when opening the nodes, the default is no animation + * @param {jQuery} reference to the node that started the process (internal use) + * @trigger open_all.jstree + */ + open_all : function (obj, animation, original_obj) { + if(!obj) { obj = $.jstree.root; } + obj = this.get_node(obj); + if(!obj) { return false; } + var dom = obj.id === $.jstree.root ? this.get_container_ul() : this.get_node(obj, true), i, j, _this; + if(!dom.length) { + for(i = 0, j = obj.children_d.length; i < j; i++) { + if(this.is_closed(this._model.data[obj.children_d[i]])) { + this._model.data[obj.children_d[i]].state.opened = true; + } + } + return this.trigger('open_all', { "node" : obj }); + } + original_obj = original_obj || dom; + _this = this; + dom = this.is_closed(obj) ? dom.find('.jstree-closed').addBack() : dom.find('.jstree-closed'); + dom.each(function () { + _this.open_node( + this, + function(node, status) { if(status && this.is_parent(node)) { this.open_all(node, animation, original_obj); } }, + animation || 0 + ); + }); + if(original_obj.find('.jstree-closed').length === 0) { + /** + * triggered when an `open_all` call completes + * @event + * @name open_all.jstree + * @param {Object} node the opened node + */ + this.trigger('open_all', { "node" : this.get_node(original_obj) }); + } + }, + /** + * closes all nodes within a node (or the tree), revaling their children + * @name close_all([obj, animation]) + * @param {mixed} obj the node to close recursively, omit to close all nodes in the tree + * @param {Number} animation the animation duration in milliseconds when closing the nodes, the default is no animation + * @trigger close_all.jstree + */ + close_all : function (obj, animation) { + if(!obj) { obj = $.jstree.root; } + obj = this.get_node(obj); + if(!obj) { return false; } + var dom = obj.id === $.jstree.root ? this.get_container_ul() : this.get_node(obj, true), + _this = this, i, j; + if(dom.length) { + dom = this.is_open(obj) ? dom.find('.jstree-open').addBack() : dom.find('.jstree-open'); + $(dom.get().reverse()).each(function () { _this.close_node(this, animation || 0); }); + } + for(i = 0, j = obj.children_d.length; i < j; i++) { + this._model.data[obj.children_d[i]].state.opened = false; + } + /** + * triggered when an `close_all` call completes + * @event + * @name close_all.jstree + * @param {Object} node the closed node + */ + this.trigger('close_all', { "node" : obj }); + }, + /** + * checks if a node is disabled (not selectable) + * @name is_disabled(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_disabled : function (obj) { + obj = this.get_node(obj); + return obj && obj.state && obj.state.disabled; + }, + /** + * enables a node - so that it can be selected + * @name enable_node(obj) + * @param {mixed} obj the node to enable + * @trigger enable_node.jstree + */ + enable_node : function (obj) { + var t1, t2; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.enable_node(obj[t1]); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + obj.state.disabled = false; + this.get_node(obj,true).children('.jstree-anchor').removeClass('jstree-disabled').attr('aria-disabled', false); + /** + * triggered when an node is enabled + * @event + * @name enable_node.jstree + * @param {Object} node the enabled node + */ + this.trigger('enable_node', { 'node' : obj }); + }, + /** + * disables a node - so that it can not be selected + * @name disable_node(obj) + * @param {mixed} obj the node to disable + * @trigger disable_node.jstree + */ + disable_node : function (obj) { + var t1, t2; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.disable_node(obj[t1]); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + obj.state.disabled = true; + this.get_node(obj,true).children('.jstree-anchor').addClass('jstree-disabled').attr('aria-disabled', true); + /** + * triggered when an node is disabled + * @event + * @name disable_node.jstree + * @param {Object} node the disabled node + */ + this.trigger('disable_node', { 'node' : obj }); + }, + /** + * determines if a node is hidden + * @name is_hidden(obj) + * @param {mixed} obj the node + */ + is_hidden : function (obj) { + obj = this.get_node(obj); + return obj.state.hidden === true; + }, + /** + * hides a node - it is still in the structure but will not be visible + * @name hide_node(obj) + * @param {mixed} obj the node to hide + * @param {Boolean} skip_redraw internal parameter controlling if redraw is called + * @trigger hide_node.jstree + */ + hide_node : function (obj, skip_redraw) { + var t1, t2; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.hide_node(obj[t1], true); + } + if (!skip_redraw) { + this.redraw(); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + if(!obj.state.hidden) { + obj.state.hidden = true; + this._node_changed(obj.parent); + if(!skip_redraw) { + this.redraw(); + } + /** + * triggered when an node is hidden + * @event + * @name hide_node.jstree + * @param {Object} node the hidden node + */ + this.trigger('hide_node', { 'node' : obj }); + } + }, + /** + * shows a node + * @name show_node(obj) + * @param {mixed} obj the node to show + * @param {Boolean} skip_redraw internal parameter controlling if redraw is called + * @trigger show_node.jstree + */ + show_node : function (obj, skip_redraw) { + var t1, t2; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.show_node(obj[t1], true); + } + if (!skip_redraw) { + this.redraw(); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + if(obj.state.hidden) { + obj.state.hidden = false; + this._node_changed(obj.parent); + if(!skip_redraw) { + this.redraw(); + } + /** + * triggered when an node is shown + * @event + * @name show_node.jstree + * @param {Object} node the shown node + */ + this.trigger('show_node', { 'node' : obj }); + } + }, + /** + * hides all nodes + * @name hide_all() + * @trigger hide_all.jstree + */ + hide_all : function (skip_redraw) { + var i, m = this._model.data, ids = []; + for(i in m) { + if(m.hasOwnProperty(i) && i !== $.jstree.root && !m[i].state.hidden) { + m[i].state.hidden = true; + ids.push(i); + } + } + this._model.force_full_redraw = true; + if(!skip_redraw) { + this.redraw(); + } + /** + * triggered when all nodes are hidden + * @event + * @name hide_all.jstree + * @param {Array} nodes the IDs of all hidden nodes + */ + this.trigger('hide_all', { 'nodes' : ids }); + return ids; + }, + /** + * shows all nodes + * @name show_all() + * @trigger show_all.jstree + */ + show_all : function (skip_redraw) { + var i, m = this._model.data, ids = []; + for(i in m) { + if(m.hasOwnProperty(i) && i !== $.jstree.root && m[i].state.hidden) { + m[i].state.hidden = false; + ids.push(i); + } + } + this._model.force_full_redraw = true; + if(!skip_redraw) { + this.redraw(); + } + /** + * triggered when all nodes are shown + * @event + * @name show_all.jstree + * @param {Array} nodes the IDs of all shown nodes + */ + this.trigger('show_all', { 'nodes' : ids }); + return ids; + }, + /** + * called when a node is selected by the user. Used internally. + * @private + * @name activate_node(obj, e) + * @param {mixed} obj the node + * @param {Object} e the related event + * @trigger activate_node.jstree, changed.jstree + */ + activate_node : function (obj, e) { + if(this.is_disabled(obj)) { + return false; + } + if(!e || typeof e !== 'object') { + e = {}; + } + + // ensure last_clicked is still in the DOM, make it fresh (maybe it was moved?) and make sure it is still selected, if not - make last_clicked the last selected node + this._data.core.last_clicked = this._data.core.last_clicked && this._data.core.last_clicked.id !== undefined ? this.get_node(this._data.core.last_clicked.id) : null; + if(this._data.core.last_clicked && !this._data.core.last_clicked.state.selected) { this._data.core.last_clicked = null; } + if(!this._data.core.last_clicked && this._data.core.selected.length) { this._data.core.last_clicked = this.get_node(this._data.core.selected[this._data.core.selected.length - 1]); } + + if(!this.settings.core.multiple || (!e.metaKey && !e.ctrlKey && !e.shiftKey) || (e.shiftKey && (!this._data.core.last_clicked || !this.get_parent(obj) || this.get_parent(obj) !== this._data.core.last_clicked.parent ) )) { + if(!this.settings.core.multiple && (e.metaKey || e.ctrlKey || e.shiftKey) && this.is_selected(obj)) { + this.deselect_node(obj, false, e); + } + else { + this.deselect_all(true); + this.select_node(obj, false, false, e); + this._data.core.last_clicked = this.get_node(obj); + } + } + else { + if(e.shiftKey) { + var o = this.get_node(obj).id, + l = this._data.core.last_clicked.id, + p = this.get_node(this._data.core.last_clicked.parent).children, + c = false, + i, j; + for(i = 0, j = p.length; i < j; i += 1) { + // separate IFs work whem o and l are the same + if(p[i] === o) { + c = !c; + } + if(p[i] === l) { + c = !c; + } + if(!this.is_disabled(p[i]) && (c || p[i] === o || p[i] === l)) { + if (!this.is_hidden(p[i])) { + this.select_node(p[i], true, false, e); + } + } + else { + this.deselect_node(p[i], true, e); + } + } + this.trigger('changed', { 'action' : 'select_node', 'node' : this.get_node(obj), 'selected' : this._data.core.selected, 'event' : e }); + } + else { + if(!this.is_selected(obj)) { + this.select_node(obj, false, false, e); + } + else { + this.deselect_node(obj, false, e); + } + } + } + /** + * triggered when an node is clicked or intercated with by the user + * @event + * @name activate_node.jstree + * @param {Object} node + * @param {Object} event the ooriginal event (if any) which triggered the call (may be an empty object) + */ + this.trigger('activate_node', { 'node' : this.get_node(obj), 'event' : e }); + }, + /** + * applies the hover state on a node, called when a node is hovered by the user. Used internally. + * @private + * @name hover_node(obj) + * @param {mixed} obj + * @trigger hover_node.jstree + */ + hover_node : function (obj) { + obj = this.get_node(obj, true); + if(!obj || !obj.length || obj.children('.jstree-hovered').length) { + return false; + } + var o = this.element.find('.jstree-hovered'), t = this.element; + if(o && o.length) { this.dehover_node(o); } + + obj.children('.jstree-anchor').addClass('jstree-hovered'); + /** + * triggered when an node is hovered + * @event + * @name hover_node.jstree + * @param {Object} node + */ + this.trigger('hover_node', { 'node' : this.get_node(obj) }); + setTimeout(function () { t.attr('aria-activedescendant', obj[0].id); }, 0); + }, + /** + * removes the hover state from a nodecalled when a node is no longer hovered by the user. Used internally. + * @private + * @name dehover_node(obj) + * @param {mixed} obj + * @trigger dehover_node.jstree + */ + dehover_node : function (obj) { + obj = this.get_node(obj, true); + if(!obj || !obj.length || !obj.children('.jstree-hovered').length) { + return false; + } + obj.children('.jstree-anchor').removeClass('jstree-hovered'); + /** + * triggered when an node is no longer hovered + * @event + * @name dehover_node.jstree + * @param {Object} node + */ + this.trigger('dehover_node', { 'node' : this.get_node(obj) }); + }, + /** + * select a node + * @name select_node(obj [, supress_event, prevent_open]) + * @param {mixed} obj an array can be used to select multiple nodes + * @param {Boolean} supress_event if set to `true` the `changed.jstree` event won't be triggered + * @param {Boolean} prevent_open if set to `true` parents of the selected node won't be opened + * @trigger select_node.jstree, changed.jstree + */ + select_node : function (obj, supress_event, prevent_open, e) { + var dom, t1, t2, th; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.select_node(obj[t1], supress_event, prevent_open, e); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + dom = this.get_node(obj, true); + if(!obj.state.selected) { + obj.state.selected = true; + this._data.core.selected.push(obj.id); + if(!prevent_open) { + dom = this._open_to(obj); + } + if(dom && dom.length) { + dom.attr('aria-selected', true).children('.jstree-anchor').addClass('jstree-clicked'); + } + /** + * triggered when an node is selected + * @event + * @name select_node.jstree + * @param {Object} node + * @param {Array} selected the current selection + * @param {Object} event the event (if any) that triggered this select_node + */ + this.trigger('select_node', { 'node' : obj, 'selected' : this._data.core.selected, 'event' : e }); + if(!supress_event) { + /** + * triggered when selection changes + * @event + * @name changed.jstree + * @param {Object} node + * @param {Object} action the action that caused the selection to change + * @param {Array} selected the current selection + * @param {Object} event the event (if any) that triggered this changed event + */ + this.trigger('changed', { 'action' : 'select_node', 'node' : obj, 'selected' : this._data.core.selected, 'event' : e }); + } + } + }, + /** + * deselect a node + * @name deselect_node(obj [, supress_event]) + * @param {mixed} obj an array can be used to deselect multiple nodes + * @param {Boolean} supress_event if set to `true` the `changed.jstree` event won't be triggered + * @trigger deselect_node.jstree, changed.jstree + */ + deselect_node : function (obj, supress_event, e) { + var t1, t2, dom; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.deselect_node(obj[t1], supress_event, e); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + dom = this.get_node(obj, true); + if(obj.state.selected) { + obj.state.selected = false; + this._data.core.selected = $.vakata.array_remove_item(this._data.core.selected, obj.id); + if(dom.length) { + dom.attr('aria-selected', false).children('.jstree-anchor').removeClass('jstree-clicked'); + } + /** + * triggered when an node is deselected + * @event + * @name deselect_node.jstree + * @param {Object} node + * @param {Array} selected the current selection + * @param {Object} event the event (if any) that triggered this deselect_node + */ + this.trigger('deselect_node', { 'node' : obj, 'selected' : this._data.core.selected, 'event' : e }); + if(!supress_event) { + this.trigger('changed', { 'action' : 'deselect_node', 'node' : obj, 'selected' : this._data.core.selected, 'event' : e }); + } + } + }, + /** + * select all nodes in the tree + * @name select_all([supress_event]) + * @param {Boolean} supress_event if set to `true` the `changed.jstree` event won't be triggered + * @trigger select_all.jstree, changed.jstree + */ + select_all : function (supress_event) { + var tmp = this._data.core.selected.concat([]), i, j; + this._data.core.selected = this._model.data[$.jstree.root].children_d.concat(); + for(i = 0, j = this._data.core.selected.length; i < j; i++) { + if(this._model.data[this._data.core.selected[i]]) { + this._model.data[this._data.core.selected[i]].state.selected = true; + } + } + this.redraw(true); + /** + * triggered when all nodes are selected + * @event + * @name select_all.jstree + * @param {Array} selected the current selection + */ + this.trigger('select_all', { 'selected' : this._data.core.selected }); + if(!supress_event) { + this.trigger('changed', { 'action' : 'select_all', 'selected' : this._data.core.selected, 'old_selection' : tmp }); + } + }, + /** + * deselect all selected nodes + * @name deselect_all([supress_event]) + * @param {Boolean} supress_event if set to `true` the `changed.jstree` event won't be triggered + * @trigger deselect_all.jstree, changed.jstree + */ + deselect_all : function (supress_event) { + var tmp = this._data.core.selected.concat([]), i, j; + for(i = 0, j = this._data.core.selected.length; i < j; i++) { + if(this._model.data[this._data.core.selected[i]]) { + this._model.data[this._data.core.selected[i]].state.selected = false; + } + } + this._data.core.selected = []; + this.element.find('.jstree-clicked').removeClass('jstree-clicked').parent().attr('aria-selected', false); + /** + * triggered when all nodes are deselected + * @event + * @name deselect_all.jstree + * @param {Object} node the previous selection + * @param {Array} selected the current selection + */ + this.trigger('deselect_all', { 'selected' : this._data.core.selected, 'node' : tmp }); + if(!supress_event) { + this.trigger('changed', { 'action' : 'deselect_all', 'selected' : this._data.core.selected, 'old_selection' : tmp }); + } + }, + /** + * checks if a node is selected + * @name is_selected(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_selected : function (obj) { + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + return obj.state.selected; + }, + /** + * get an array of all selected nodes + * @name get_selected([full]) + * @param {mixed} full if set to `true` the returned array will consist of the full node objects, otherwise - only IDs will be returned + * @return {Array} + */ + get_selected : function (full) { + return full ? $.map(this._data.core.selected, $.proxy(function (i) { return this.get_node(i); }, this)) : this._data.core.selected.slice(); + }, + /** + * get an array of all top level selected nodes (ignoring children of selected nodes) + * @name get_top_selected([full]) + * @param {mixed} full if set to `true` the returned array will consist of the full node objects, otherwise - only IDs will be returned + * @return {Array} + */ + get_top_selected : function (full) { + var tmp = this.get_selected(true), + obj = {}, i, j, k, l; + for(i = 0, j = tmp.length; i < j; i++) { + obj[tmp[i].id] = tmp[i]; + } + for(i = 0, j = tmp.length; i < j; i++) { + for(k = 0, l = tmp[i].children_d.length; k < l; k++) { + if(obj[tmp[i].children_d[k]]) { + delete obj[tmp[i].children_d[k]]; + } + } + } + tmp = []; + for(i in obj) { + if(obj.hasOwnProperty(i)) { + tmp.push(i); + } + } + return full ? $.map(tmp, $.proxy(function (i) { return this.get_node(i); }, this)) : tmp; + }, + /** + * get an array of all bottom level selected nodes (ignoring selected parents) + * @name get_bottom_selected([full]) + * @param {mixed} full if set to `true` the returned array will consist of the full node objects, otherwise - only IDs will be returned + * @return {Array} + */ + get_bottom_selected : function (full) { + var tmp = this.get_selected(true), + obj = [], i, j; + for(i = 0, j = tmp.length; i < j; i++) { + if(!tmp[i].children.length) { + obj.push(tmp[i].id); + } + } + return full ? $.map(obj, $.proxy(function (i) { return this.get_node(i); }, this)) : obj; + }, + /** + * gets the current state of the tree so that it can be restored later with `set_state(state)`. Used internally. + * @name get_state() + * @private + * @return {Object} + */ + get_state : function () { + var state = { + 'core' : { + 'open' : [], + 'scroll' : { + 'left' : this.element.scrollLeft(), + 'top' : this.element.scrollTop() + }, + /*! + 'themes' : { + 'name' : this.get_theme(), + 'icons' : this._data.core.themes.icons, + 'dots' : this._data.core.themes.dots + }, + */ + 'selected' : [] + } + }, i; + for(i in this._model.data) { + if(this._model.data.hasOwnProperty(i)) { + if(i !== $.jstree.root) { + if(this._model.data[i].state.opened) { + state.core.open.push(i); + } + if(this._model.data[i].state.selected) { + state.core.selected.push(i); + } + } + } + } + return state; + }, + /** + * sets the state of the tree. Used internally. + * @name set_state(state [, callback]) + * @private + * @param {Object} state the state to restore. Keep in mind this object is passed by reference and jstree will modify it. + * @param {Function} callback an optional function to execute once the state is restored. + * @trigger set_state.jstree + */ + set_state : function (state, callback) { + if(state) { + if(state.core) { + var res, n, t, _this, i; + if(state.core.open) { + if(!$.isArray(state.core.open) || !state.core.open.length) { + delete state.core.open; + this.set_state(state, callback); + } + else { + this._load_nodes(state.core.open, function (nodes) { + this.open_node(nodes, false, 0); + delete state.core.open; + this.set_state(state, callback); + }); + } + return false; + } + if(state.core.scroll) { + if(state.core.scroll && state.core.scroll.left !== undefined) { + this.element.scrollLeft(state.core.scroll.left); + } + if(state.core.scroll && state.core.scroll.top !== undefined) { + this.element.scrollTop(state.core.scroll.top); + } + delete state.core.scroll; + this.set_state(state, callback); + return false; + } + if(state.core.selected) { + _this = this; + this.deselect_all(); + $.each(state.core.selected, function (i, v) { + _this.select_node(v, false, true); + }); + delete state.core.selected; + this.set_state(state, callback); + return false; + } + for(i in state) { + if(state.hasOwnProperty(i) && i !== "core" && $.inArray(i, this.settings.plugins) === -1) { + delete state[i]; + } + } + if($.isEmptyObject(state.core)) { + delete state.core; + this.set_state(state, callback); + return false; + } + } + if($.isEmptyObject(state)) { + state = null; + if(callback) { callback.call(this); } + /** + * triggered when a `set_state` call completes + * @event + * @name set_state.jstree + */ + this.trigger('set_state'); + return false; + } + return true; + } + return false; + }, + /** + * refreshes the tree - all nodes are reloaded with calls to `load_node`. + * @name refresh() + * @param {Boolean} skip_loading an option to skip showing the loading indicator + * @param {Mixed} forget_state if set to `true` state will not be reapplied, if set to a function (receiving the current state as argument) the result of that function will be used as state + * @trigger refresh.jstree + */ + refresh : function (skip_loading, forget_state) { + this._data.core.state = forget_state === true ? {} : this.get_state(); + if(forget_state && $.isFunction(forget_state)) { this._data.core.state = forget_state.call(this, this._data.core.state); } + this._cnt = 0; + this._model.data = {}; + this._model.data[$.jstree.root] = { + id : $.jstree.root, + parent : null, + parents : [], + children : [], + children_d : [], + state : { loaded : false } + }; + this._data.core.selected = []; + this._data.core.last_clicked = null; + this._data.core.focused = null; + + var c = this.get_container_ul()[0].className; + if(!skip_loading) { + this.element.html("<"+"ul class='"+c+"' role='group'><"+"li class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='treeitem' id='j"+this._id+"_loading'><"+"a class='jstree-anchor' href='#'>" + this.get_string("Loading ...") + ""); + this.element.attr('aria-activedescendant','j'+this._id+'_loading'); + } + this.load_node($.jstree.root, function (o, s) { + if(s) { + this.get_container_ul()[0].className = c; + if(this._firstChild(this.get_container_ul()[0])) { + this.element.attr('aria-activedescendant',this._firstChild(this.get_container_ul()[0]).id); + } + this.set_state($.extend(true, {}, this._data.core.state), function () { + /** + * triggered when a `refresh` call completes + * @event + * @name refresh.jstree + */ + this.trigger('refresh'); + }); + } + this._data.core.state = null; + }); + }, + /** + * refreshes a node in the tree (reload its children) all opened nodes inside that node are reloaded with calls to `load_node`. + * @name refresh_node(obj) + * @param {mixed} obj the node + * @trigger refresh_node.jstree + */ + refresh_node : function (obj) { + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { return false; } + var opened = [], to_load = [], s = this._data.core.selected.concat([]); + to_load.push(obj.id); + if(obj.state.opened === true) { opened.push(obj.id); } + this.get_node(obj, true).find('.jstree-open').each(function() { to_load.push(this.id); opened.push(this.id); }); + this._load_nodes(to_load, $.proxy(function (nodes) { + this.open_node(opened, false, 0); + this.select_node(s); + /** + * triggered when a node is refreshed + * @event + * @name refresh_node.jstree + * @param {Object} node - the refreshed node + * @param {Array} nodes - an array of the IDs of the nodes that were reloaded + */ + this.trigger('refresh_node', { 'node' : obj, 'nodes' : nodes }); + }, this), false, true); + }, + /** + * set (change) the ID of a node + * @name set_id(obj, id) + * @param {mixed} obj the node + * @param {String} id the new ID + * @return {Boolean} + * @trigger set_id.jstree + */ + set_id : function (obj, id) { + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { return false; } + var i, j, m = this._model.data, old = obj.id; + id = id.toString(); + // update parents (replace current ID with new one in children and children_d) + m[obj.parent].children[$.inArray(obj.id, m[obj.parent].children)] = id; + for(i = 0, j = obj.parents.length; i < j; i++) { + m[obj.parents[i]].children_d[$.inArray(obj.id, m[obj.parents[i]].children_d)] = id; + } + // update children (replace current ID with new one in parent and parents) + for(i = 0, j = obj.children.length; i < j; i++) { + m[obj.children[i]].parent = id; + } + for(i = 0, j = obj.children_d.length; i < j; i++) { + m[obj.children_d[i]].parents[$.inArray(obj.id, m[obj.children_d[i]].parents)] = id; + } + i = $.inArray(obj.id, this._data.core.selected); + if(i !== -1) { this._data.core.selected[i] = id; } + // update model and obj itself (obj.id, this._model.data[KEY]) + i = this.get_node(obj.id, true); + if(i) { + i.attr('id', id); //.children('.jstree-anchor').attr('id', id + '_anchor').end().attr('aria-labelledby', id + '_anchor'); + if(this.element.attr('aria-activedescendant') === obj.id) { + this.element.attr('aria-activedescendant', id); + } + } + delete m[obj.id]; + obj.id = id; + obj.li_attr.id = id; + m[id] = obj; + /** + * triggered when a node id value is changed + * @event + * @name set_id.jstree + * @param {Object} node + * @param {String} old the old id + */ + this.trigger('set_id',{ "node" : obj, "new" : obj.id, "old" : old }); + return true; + }, + /** + * get the text value of a node + * @name get_text(obj) + * @param {mixed} obj the node + * @return {String} + */ + get_text : function (obj) { + obj = this.get_node(obj); + return (!obj || obj.id === $.jstree.root) ? false : obj.text; + }, + /** + * set the text value of a node. Used internally, please use `rename_node(obj, val)`. + * @private + * @name set_text(obj, val) + * @param {mixed} obj the node, you can pass an array to set the text on multiple nodes + * @param {String} val the new text value + * @return {Boolean} + * @trigger set_text.jstree + */ + set_text : function (obj, val) { + var t1, t2; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.set_text(obj[t1], val); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { return false; } + obj.text = val; + if(this.get_node(obj, true).length) { + this.redraw_node(obj.id); + } + /** + * triggered when a node text value is changed + * @event + * @name set_text.jstree + * @param {Object} obj + * @param {String} text the new value + */ + this.trigger('set_text',{ "obj" : obj, "text" : val }); + return true; + }, + /** + * gets a JSON representation of a node (or the whole tree) + * @name get_json([obj, options]) + * @param {mixed} obj + * @param {Object} options + * @param {Boolean} options.no_state do not return state information + * @param {Boolean} options.no_id do not return ID + * @param {Boolean} options.no_children do not include children + * @param {Boolean} options.no_data do not include node data + * @param {Boolean} options.no_li_attr do not include LI attributes + * @param {Boolean} options.no_a_attr do not include A attributes + * @param {Boolean} options.flat return flat JSON instead of nested + * @return {Object} + */ + get_json : function (obj, options, flat) { + obj = this.get_node(obj || $.jstree.root); + if(!obj) { return false; } + if(options && options.flat && !flat) { flat = []; } + var tmp = { + 'id' : obj.id, + 'text' : obj.text, + 'icon' : this.get_icon(obj), + 'li_attr' : $.extend(true, {}, obj.li_attr), + 'a_attr' : $.extend(true, {}, obj.a_attr), + 'state' : {}, + 'data' : options && options.no_data ? false : $.extend(true, {}, obj.data) + //( this.get_node(obj, true).length ? this.get_node(obj, true).data() : obj.data ), + }, i, j; + if(options && options.flat) { + tmp.parent = obj.parent; + } + else { + tmp.children = []; + } + if(!options || !options.no_state) { + for(i in obj.state) { + if(obj.state.hasOwnProperty(i)) { + tmp.state[i] = obj.state[i]; + } + } + } else { + delete tmp.state; + } + if(options && options.no_li_attr) { + delete tmp.li_attr; + } + if(options && options.no_a_attr) { + delete tmp.a_attr; + } + if(options && options.no_id) { + delete tmp.id; + if(tmp.li_attr && tmp.li_attr.id) { + delete tmp.li_attr.id; + } + if(tmp.a_attr && tmp.a_attr.id) { + delete tmp.a_attr.id; + } + } + if(options && options.flat && obj.id !== $.jstree.root) { + flat.push(tmp); + } + if(!options || !options.no_children) { + for(i = 0, j = obj.children.length; i < j; i++) { + if(options && options.flat) { + this.get_json(obj.children[i], options, flat); + } + else { + tmp.children.push(this.get_json(obj.children[i], options)); + } + } + } + return options && options.flat ? flat : (obj.id === $.jstree.root ? tmp.children : tmp); + }, + /** + * create a new node (do not confuse with load_node) + * @name create_node([par, node, pos, callback, is_loaded]) + * @param {mixed} par the parent node (to create a root node use either "#" (string) or `null`) + * @param {mixed} node the data for the new node (a valid JSON object, or a simple string with the name) + * @param {mixed} pos the index at which to insert the node, "first" and "last" are also supported, default is "last" + * @param {Function} callback a function to be called once the node is created + * @param {Boolean} is_loaded internal argument indicating if the parent node was succesfully loaded + * @return {String} the ID of the newly create node + * @trigger model.jstree, create_node.jstree + */ + create_node : function (par, node, pos, callback, is_loaded) { + if(par === null) { par = $.jstree.root; } + par = this.get_node(par); + if(!par) { return false; } + pos = pos === undefined ? "last" : pos; + if(!pos.toString().match(/^(before|after)$/) && !is_loaded && !this.is_loaded(par)) { + return this.load_node(par, function () { this.create_node(par, node, pos, callback, true); }); + } + if(!node) { node = { "text" : this.get_string('New node') }; } + if(typeof node === "string") { node = { "text" : node }; } + if(node.text === undefined) { node.text = this.get_string('New node'); } + var tmp, dpc, i, j; + + if(par.id === $.jstree.root) { + if(pos === "before") { pos = "first"; } + if(pos === "after") { pos = "last"; } + } + switch(pos) { + case "before": + tmp = this.get_node(par.parent); + pos = $.inArray(par.id, tmp.children); + par = tmp; + break; + case "after" : + tmp = this.get_node(par.parent); + pos = $.inArray(par.id, tmp.children) + 1; + par = tmp; + break; + case "inside": + case "first": + pos = 0; + break; + case "last": + pos = par.children.length; + break; + default: + if(!pos) { pos = 0; } + break; + } + if(pos > par.children.length) { pos = par.children.length; } + if(!node.id) { node.id = true; } + if(!this.check("create_node", node, par, pos)) { + this.settings.core.error.call(this, this._data.core.last_error); + return false; + } + if(node.id === true) { delete node.id; } + node = this._parse_model_from_json(node, par.id, par.parents.concat()); + if(!node) { return false; } + tmp = this.get_node(node); + dpc = []; + dpc.push(node); + dpc = dpc.concat(tmp.children_d); + this.trigger('model', { "nodes" : dpc, "parent" : par.id }); + + par.children_d = par.children_d.concat(dpc); + for(i = 0, j = par.parents.length; i < j; i++) { + this._model.data[par.parents[i]].children_d = this._model.data[par.parents[i]].children_d.concat(dpc); + } + node = tmp; + tmp = []; + for(i = 0, j = par.children.length; i < j; i++) { + tmp[i >= pos ? i+1 : i] = par.children[i]; + } + tmp[pos] = node.id; + par.children = tmp; + + this.redraw_node(par, true); + if(callback) { callback.call(this, this.get_node(node)); } + /** + * triggered when a node is created + * @event + * @name create_node.jstree + * @param {Object} node + * @param {String} parent the parent's ID + * @param {Number} position the position of the new node among the parent's children + */ + this.trigger('create_node', { "node" : this.get_node(node), "parent" : par.id, "position" : pos }); + return node.id; + }, + /** + * set the text value of a node + * @name rename_node(obj, val) + * @param {mixed} obj the node, you can pass an array to rename multiple nodes to the same name + * @param {String} val the new text value + * @return {Boolean} + * @trigger rename_node.jstree + */ + rename_node : function (obj, val) { + var t1, t2, old; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.rename_node(obj[t1], val); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { return false; } + old = obj.text; + if(!this.check("rename_node", obj, this.get_parent(obj), val)) { + this.settings.core.error.call(this, this._data.core.last_error); + return false; + } + this.set_text(obj, val); // .apply(this, Array.prototype.slice.call(arguments)) + /** + * triggered when a node is renamed + * @event + * @name rename_node.jstree + * @param {Object} node + * @param {String} text the new value + * @param {String} old the old value + */ + this.trigger('rename_node', { "node" : obj, "text" : val, "old" : old }); + return true; + }, + /** + * remove a node + * @name delete_node(obj) + * @param {mixed} obj the node, you can pass an array to delete multiple nodes + * @return {Boolean} + * @trigger delete_node.jstree, changed.jstree + */ + delete_node : function (obj) { + var t1, t2, par, pos, tmp, i, j, k, l, c, top, lft; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.delete_node(obj[t1]); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { return false; } + par = this.get_node(obj.parent); + pos = $.inArray(obj.id, par.children); + c = false; + if(!this.check("delete_node", obj, par, pos)) { + this.settings.core.error.call(this, this._data.core.last_error); + return false; + } + if(pos !== -1) { + par.children = $.vakata.array_remove(par.children, pos); + } + tmp = obj.children_d.concat([]); + tmp.push(obj.id); + for(i = 0, j = obj.parents.length; i < j; i++) { + this._model.data[obj.parents[i]].children_d = $.vakata.array_filter(this._model.data[obj.parents[i]].children_d, function (v) { + return $.inArray(v, tmp) === -1; + }); + } + for(k = 0, l = tmp.length; k < l; k++) { + if(this._model.data[tmp[k]].state.selected) { + c = true; + break; + } + } + if (c) { + this._data.core.selected = $.vakata.array_filter(this._data.core.selected, function (v) { + return $.inArray(v, tmp) === -1; + }); + } + /** + * triggered when a node is deleted + * @event + * @name delete_node.jstree + * @param {Object} node + * @param {String} parent the parent's ID + */ + this.trigger('delete_node', { "node" : obj, "parent" : par.id }); + if(c) { + this.trigger('changed', { 'action' : 'delete_node', 'node' : obj, 'selected' : this._data.core.selected, 'parent' : par.id }); + } + for(k = 0, l = tmp.length; k < l; k++) { + delete this._model.data[tmp[k]]; + } + if($.inArray(this._data.core.focused, tmp) !== -1) { + this._data.core.focused = null; + top = this.element[0].scrollTop; + lft = this.element[0].scrollLeft; + if(par.id === $.jstree.root) { + if (this._model.data[$.jstree.root].children[0]) { + this.get_node(this._model.data[$.jstree.root].children[0], true).children('.jstree-anchor').focus(); + } + } + else { + this.get_node(par, true).children('.jstree-anchor').focus(); + } + this.element[0].scrollTop = top; + this.element[0].scrollLeft = lft; + } + this.redraw_node(par, true); + return true; + }, + /** + * check if an operation is premitted on the tree. Used internally. + * @private + * @name check(chk, obj, par, pos) + * @param {String} chk the operation to check, can be "create_node", "rename_node", "delete_node", "copy_node" or "move_node" + * @param {mixed} obj the node + * @param {mixed} par the parent + * @param {mixed} pos the position to insert at, or if "rename_node" - the new name + * @param {mixed} more some various additional information, for example if a "move_node" operations is triggered by DND this will be the hovered node + * @return {Boolean} + */ + check : function (chk, obj, par, pos, more) { + obj = obj && obj.id ? obj : this.get_node(obj); + par = par && par.id ? par : this.get_node(par); + var tmp = chk.match(/^move_node|copy_node|create_node$/i) ? par : obj, + chc = this.settings.core.check_callback; + if(chk === "move_node" || chk === "copy_node") { + if((!more || !more.is_multi) && (obj.id === par.id || (chk === "move_node" && $.inArray(obj.id, par.children) === pos) || $.inArray(par.id, obj.children_d) !== -1)) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'core', 'id' : 'core_01', 'reason' : 'Moving parent inside child', 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + return false; + } + } + if(tmp && tmp.data) { tmp = tmp.data; } + if(tmp && tmp.functions && (tmp.functions[chk] === false || tmp.functions[chk] === true)) { + if(tmp.functions[chk] === false) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'core', 'id' : 'core_02', 'reason' : 'Node data prevents function: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + } + return tmp.functions[chk]; + } + if(chc === false || ($.isFunction(chc) && chc.call(this, chk, obj, par, pos, more) === false) || (chc && chc[chk] === false)) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'core', 'id' : 'core_03', 'reason' : 'User config for core.check_callback prevents function: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + return false; + } + return true; + }, + /** + * get the last error + * @name last_error() + * @return {Object} + */ + last_error : function () { + return this._data.core.last_error; + }, + /** + * move a node to a new parent + * @name move_node(obj, par [, pos, callback, is_loaded]) + * @param {mixed} obj the node to move, pass an array to move multiple nodes + * @param {mixed} par the new parent + * @param {mixed} pos the position to insert at (besides integer values, "first" and "last" are supported, as well as "before" and "after"), defaults to integer `0` + * @param {function} callback a function to call once the move is completed, receives 3 arguments - the node, the new parent and the position + * @param {Boolean} is_loaded internal parameter indicating if the parent node has been loaded + * @param {Boolean} skip_redraw internal parameter indicating if the tree should be redrawn + * @param {Boolean} instance internal parameter indicating if the node comes from another instance + * @trigger move_node.jstree + */ + move_node : function (obj, par, pos, callback, is_loaded, skip_redraw, origin) { + var t1, t2, old_par, old_pos, new_par, old_ins, is_multi, dpc, tmp, i, j, k, l, p; + + par = this.get_node(par); + pos = pos === undefined ? 0 : pos; + if(!par) { return false; } + if(!pos.toString().match(/^(before|after)$/) && !is_loaded && !this.is_loaded(par)) { + return this.load_node(par, function () { this.move_node(obj, par, pos, callback, true, false, origin); }); + } + + if($.isArray(obj)) { + if(obj.length === 1) { + obj = obj[0]; + } + else { + //obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + if((tmp = this.move_node(obj[t1], par, pos, callback, is_loaded, false, origin))) { + par = tmp; + pos = "after"; + } + } + this.redraw(); + return true; + } + } + obj = obj && obj.id ? obj : this.get_node(obj); + + if(!obj || obj.id === $.jstree.root) { return false; } + + old_par = (obj.parent || $.jstree.root).toString(); + new_par = (!pos.toString().match(/^(before|after)$/) || par.id === $.jstree.root) ? par : this.get_node(par.parent); + old_ins = origin ? origin : (this._model.data[obj.id] ? this : $.jstree.reference(obj.id)); + is_multi = !old_ins || !old_ins._id || (this._id !== old_ins._id); + old_pos = old_ins && old_ins._id && old_par && old_ins._model.data[old_par] && old_ins._model.data[old_par].children ? $.inArray(obj.id, old_ins._model.data[old_par].children) : -1; + if(old_ins && old_ins._id) { + obj = old_ins._model.data[obj.id]; + } + + if(is_multi) { + if((tmp = this.copy_node(obj, par, pos, callback, is_loaded, false, origin))) { + if(old_ins) { old_ins.delete_node(obj); } + return tmp; + } + return false; + } + //var m = this._model.data; + if(par.id === $.jstree.root) { + if(pos === "before") { pos = "first"; } + if(pos === "after") { pos = "last"; } + } + switch(pos) { + case "before": + pos = $.inArray(par.id, new_par.children); + break; + case "after" : + pos = $.inArray(par.id, new_par.children) + 1; + break; + case "inside": + case "first": + pos = 0; + break; + case "last": + pos = new_par.children.length; + break; + default: + if(!pos) { pos = 0; } + break; + } + if(pos > new_par.children.length) { pos = new_par.children.length; } + if(!this.check("move_node", obj, new_par, pos, { 'core' : true, 'origin' : origin, 'is_multi' : (old_ins && old_ins._id && old_ins._id !== this._id), 'is_foreign' : (!old_ins || !old_ins._id) })) { + this.settings.core.error.call(this, this._data.core.last_error); + return false; + } + if(obj.parent === new_par.id) { + dpc = new_par.children.concat(); + tmp = $.inArray(obj.id, dpc); + if(tmp !== -1) { + dpc = $.vakata.array_remove(dpc, tmp); + if(pos > tmp) { pos--; } + } + tmp = []; + for(i = 0, j = dpc.length; i < j; i++) { + tmp[i >= pos ? i+1 : i] = dpc[i]; + } + tmp[pos] = obj.id; + new_par.children = tmp; + this._node_changed(new_par.id); + this.redraw(new_par.id === $.jstree.root); + } + else { + // clean old parent and up + tmp = obj.children_d.concat(); + tmp.push(obj.id); + for(i = 0, j = obj.parents.length; i < j; i++) { + dpc = []; + p = old_ins._model.data[obj.parents[i]].children_d; + for(k = 0, l = p.length; k < l; k++) { + if($.inArray(p[k], tmp) === -1) { + dpc.push(p[k]); + } + } + old_ins._model.data[obj.parents[i]].children_d = dpc; + } + old_ins._model.data[old_par].children = $.vakata.array_remove_item(old_ins._model.data[old_par].children, obj.id); + + // insert into new parent and up + for(i = 0, j = new_par.parents.length; i < j; i++) { + this._model.data[new_par.parents[i]].children_d = this._model.data[new_par.parents[i]].children_d.concat(tmp); + } + dpc = []; + for(i = 0, j = new_par.children.length; i < j; i++) { + dpc[i >= pos ? i+1 : i] = new_par.children[i]; + } + dpc[pos] = obj.id; + new_par.children = dpc; + new_par.children_d.push(obj.id); + new_par.children_d = new_par.children_d.concat(obj.children_d); + + // update object + obj.parent = new_par.id; + tmp = new_par.parents.concat(); + tmp.unshift(new_par.id); + p = obj.parents.length; + obj.parents = tmp; + + // update object children + tmp = tmp.concat(); + for(i = 0, j = obj.children_d.length; i < j; i++) { + this._model.data[obj.children_d[i]].parents = this._model.data[obj.children_d[i]].parents.slice(0,p*-1); + Array.prototype.push.apply(this._model.data[obj.children_d[i]].parents, tmp); + } + + if(old_par === $.jstree.root || new_par.id === $.jstree.root) { + this._model.force_full_redraw = true; + } + if(!this._model.force_full_redraw) { + this._node_changed(old_par); + this._node_changed(new_par.id); + } + if(!skip_redraw) { + this.redraw(); + } + } + if(callback) { callback.call(this, obj, new_par, pos); } + /** + * triggered when a node is moved + * @event + * @name move_node.jstree + * @param {Object} node + * @param {String} parent the parent's ID + * @param {Number} position the position of the node among the parent's children + * @param {String} old_parent the old parent of the node + * @param {Number} old_position the old position of the node + * @param {Boolean} is_multi do the node and new parent belong to different instances + * @param {jsTree} old_instance the instance the node came from + * @param {jsTree} new_instance the instance of the new parent + */ + this.trigger('move_node', { "node" : obj, "parent" : new_par.id, "position" : pos, "old_parent" : old_par, "old_position" : old_pos, 'is_multi' : (old_ins && old_ins._id && old_ins._id !== this._id), 'is_foreign' : (!old_ins || !old_ins._id), 'old_instance' : old_ins, 'new_instance' : this }); + return obj.id; + }, + /** + * copy a node to a new parent + * @name copy_node(obj, par [, pos, callback, is_loaded]) + * @param {mixed} obj the node to copy, pass an array to copy multiple nodes + * @param {mixed} par the new parent + * @param {mixed} pos the position to insert at (besides integer values, "first" and "last" are supported, as well as "before" and "after"), defaults to integer `0` + * @param {function} callback a function to call once the move is completed, receives 3 arguments - the node, the new parent and the position + * @param {Boolean} is_loaded internal parameter indicating if the parent node has been loaded + * @param {Boolean} skip_redraw internal parameter indicating if the tree should be redrawn + * @param {Boolean} instance internal parameter indicating if the node comes from another instance + * @trigger model.jstree copy_node.jstree + */ + copy_node : function (obj, par, pos, callback, is_loaded, skip_redraw, origin) { + var t1, t2, dpc, tmp, i, j, node, old_par, new_par, old_ins, is_multi; + + par = this.get_node(par); + pos = pos === undefined ? 0 : pos; + if(!par) { return false; } + if(!pos.toString().match(/^(before|after)$/) && !is_loaded && !this.is_loaded(par)) { + return this.load_node(par, function () { this.copy_node(obj, par, pos, callback, true, false, origin); }); + } + + if($.isArray(obj)) { + if(obj.length === 1) { + obj = obj[0]; + } + else { + //obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + if((tmp = this.copy_node(obj[t1], par, pos, callback, is_loaded, true, origin))) { + par = tmp; + pos = "after"; + } + } + this.redraw(); + return true; + } + } + obj = obj && obj.id ? obj : this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { return false; } + + old_par = (obj.parent || $.jstree.root).toString(); + new_par = (!pos.toString().match(/^(before|after)$/) || par.id === $.jstree.root) ? par : this.get_node(par.parent); + old_ins = origin ? origin : (this._model.data[obj.id] ? this : $.jstree.reference(obj.id)); + is_multi = !old_ins || !old_ins._id || (this._id !== old_ins._id); + + if(old_ins && old_ins._id) { + obj = old_ins._model.data[obj.id]; + } + + if(par.id === $.jstree.root) { + if(pos === "before") { pos = "first"; } + if(pos === "after") { pos = "last"; } + } + switch(pos) { + case "before": + pos = $.inArray(par.id, new_par.children); + break; + case "after" : + pos = $.inArray(par.id, new_par.children) + 1; + break; + case "inside": + case "first": + pos = 0; + break; + case "last": + pos = new_par.children.length; + break; + default: + if(!pos) { pos = 0; } + break; + } + if(pos > new_par.children.length) { pos = new_par.children.length; } + if(!this.check("copy_node", obj, new_par, pos, { 'core' : true, 'origin' : origin, 'is_multi' : (old_ins && old_ins._id && old_ins._id !== this._id), 'is_foreign' : (!old_ins || !old_ins._id) })) { + this.settings.core.error.call(this, this._data.core.last_error); + return false; + } + node = old_ins ? old_ins.get_json(obj, { no_id : true, no_data : true, no_state : true }) : obj; + if(!node) { return false; } + if(node.id === true) { delete node.id; } + node = this._parse_model_from_json(node, new_par.id, new_par.parents.concat()); + if(!node) { return false; } + tmp = this.get_node(node); + if(obj && obj.state && obj.state.loaded === false) { tmp.state.loaded = false; } + dpc = []; + dpc.push(node); + dpc = dpc.concat(tmp.children_d); + this.trigger('model', { "nodes" : dpc, "parent" : new_par.id }); + + // insert into new parent and up + for(i = 0, j = new_par.parents.length; i < j; i++) { + this._model.data[new_par.parents[i]].children_d = this._model.data[new_par.parents[i]].children_d.concat(dpc); + } + dpc = []; + for(i = 0, j = new_par.children.length; i < j; i++) { + dpc[i >= pos ? i+1 : i] = new_par.children[i]; + } + dpc[pos] = tmp.id; + new_par.children = dpc; + new_par.children_d.push(tmp.id); + new_par.children_d = new_par.children_d.concat(tmp.children_d); + + if(new_par.id === $.jstree.root) { + this._model.force_full_redraw = true; + } + if(!this._model.force_full_redraw) { + this._node_changed(new_par.id); + } + if(!skip_redraw) { + this.redraw(new_par.id === $.jstree.root); + } + if(callback) { callback.call(this, tmp, new_par, pos); } + /** + * triggered when a node is copied + * @event + * @name copy_node.jstree + * @param {Object} node the copied node + * @param {Object} original the original node + * @param {String} parent the parent's ID + * @param {Number} position the position of the node among the parent's children + * @param {String} old_parent the old parent of the node + * @param {Number} old_position the position of the original node + * @param {Boolean} is_multi do the node and new parent belong to different instances + * @param {jsTree} old_instance the instance the node came from + * @param {jsTree} new_instance the instance of the new parent + */ + this.trigger('copy_node', { "node" : tmp, "original" : obj, "parent" : new_par.id, "position" : pos, "old_parent" : old_par, "old_position" : old_ins && old_ins._id && old_par && old_ins._model.data[old_par] && old_ins._model.data[old_par].children ? $.inArray(obj.id, old_ins._model.data[old_par].children) : -1,'is_multi' : (old_ins && old_ins._id && old_ins._id !== this._id), 'is_foreign' : (!old_ins || !old_ins._id), 'old_instance' : old_ins, 'new_instance' : this }); + return tmp.id; + }, + /** + * cut a node (a later call to `paste(obj)` would move the node) + * @name cut(obj) + * @param {mixed} obj multiple objects can be passed using an array + * @trigger cut.jstree + */ + cut : function (obj) { + if(!obj) { obj = this._data.core.selected.concat(); } + if(!$.isArray(obj)) { obj = [obj]; } + if(!obj.length) { return false; } + var tmp = [], o, t1, t2; + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + o = this.get_node(obj[t1]); + if(o && o.id && o.id !== $.jstree.root) { tmp.push(o); } + } + if(!tmp.length) { return false; } + ccp_node = tmp; + ccp_inst = this; + ccp_mode = 'move_node'; + /** + * triggered when nodes are added to the buffer for moving + * @event + * @name cut.jstree + * @param {Array} node + */ + this.trigger('cut', { "node" : obj }); + }, + /** + * copy a node (a later call to `paste(obj)` would copy the node) + * @name copy(obj) + * @param {mixed} obj multiple objects can be passed using an array + * @trigger copy.jstree + */ + copy : function (obj) { + if(!obj) { obj = this._data.core.selected.concat(); } + if(!$.isArray(obj)) { obj = [obj]; } + if(!obj.length) { return false; } + var tmp = [], o, t1, t2; + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + o = this.get_node(obj[t1]); + if(o && o.id && o.id !== $.jstree.root) { tmp.push(o); } + } + if(!tmp.length) { return false; } + ccp_node = tmp; + ccp_inst = this; + ccp_mode = 'copy_node'; + /** + * triggered when nodes are added to the buffer for copying + * @event + * @name copy.jstree + * @param {Array} node + */ + this.trigger('copy', { "node" : obj }); + }, + /** + * get the current buffer (any nodes that are waiting for a paste operation) + * @name get_buffer() + * @return {Object} an object consisting of `mode` ("copy_node" or "move_node"), `node` (an array of objects) and `inst` (the instance) + */ + get_buffer : function () { + return { 'mode' : ccp_mode, 'node' : ccp_node, 'inst' : ccp_inst }; + }, + /** + * check if there is something in the buffer to paste + * @name can_paste() + * @return {Boolean} + */ + can_paste : function () { + return ccp_mode !== false && ccp_node !== false; // && ccp_inst._model.data[ccp_node]; + }, + /** + * copy or move the previously cut or copied nodes to a new parent + * @name paste(obj [, pos]) + * @param {mixed} obj the new parent + * @param {mixed} pos the position to insert at (besides integer, "first" and "last" are supported), defaults to integer `0` + * @trigger paste.jstree + */ + paste : function (obj, pos) { + obj = this.get_node(obj); + if(!obj || !ccp_mode || !ccp_mode.match(/^(copy_node|move_node)$/) || !ccp_node) { return false; } + if(this[ccp_mode](ccp_node, obj, pos, false, false, false, ccp_inst)) { + /** + * triggered when paste is invoked + * @event + * @name paste.jstree + * @param {String} parent the ID of the receiving node + * @param {Array} node the nodes in the buffer + * @param {String} mode the performed operation - "copy_node" or "move_node" + */ + this.trigger('paste', { "parent" : obj.id, "node" : ccp_node, "mode" : ccp_mode }); + } + ccp_node = false; + ccp_mode = false; + ccp_inst = false; + }, + /** + * clear the buffer of previously copied or cut nodes + * @name clear_buffer() + * @trigger clear_buffer.jstree + */ + clear_buffer : function () { + ccp_node = false; + ccp_mode = false; + ccp_inst = false; + /** + * triggered when the copy / cut buffer is cleared + * @event + * @name clear_buffer.jstree + */ + this.trigger('clear_buffer'); + }, + /** + * put a node in edit mode (input field to rename the node) + * @name edit(obj [, default_text, callback]) + * @param {mixed} obj + * @param {String} default_text the text to populate the input with (if omitted or set to a non-string value the node's text value is used) + * @param {Function} callback a function to be called once the text box is blurred, it is called in the instance's scope and receives the node, a status parameter (true if the rename is successful, false otherwise) and a boolean indicating if the user cancelled the edit. You can access the node's title using .text + */ + edit : function (obj, default_text, callback) { + var rtl, w, a, s, t, h1, h2, fn, tmp, cancel = false; + obj = this.get_node(obj); + if(!obj) { return false; } + if(this.settings.core.check_callback === false) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'core', 'id' : 'core_07', 'reason' : 'Could not edit node because of check_callback' }; + this.settings.core.error.call(this, this._data.core.last_error); + return false; + } + tmp = obj; + default_text = typeof default_text === 'string' ? default_text : obj.text; + this.set_text(obj, ""); + obj = this._open_to(obj); + tmp.text = default_text; + + rtl = this._data.core.rtl; + w = this.element.width(); + this._data.core.focused = tmp.id; + a = obj.children('.jstree-anchor').focus(); + s = $(''); + /*! + oi = obj.children("i:visible"), + ai = a.children("i:visible"), + w1 = oi.width() * oi.length, + w2 = ai.width() * ai.length, + */ + t = default_text; + h1 = $("<"+"div />", { css : { "position" : "absolute", "top" : "-200px", "left" : (rtl ? "0px" : "-1000px"), "visibility" : "hidden" } }).appendTo("body"); + h2 = $("<"+"input />", { + "value" : t, + "class" : "jstree-rename-input", + // "size" : t.length, + "css" : { + "padding" : "0", + "border" : "1px solid silver", + "box-sizing" : "border-box", + "display" : "inline-block", + "height" : (this._data.core.li_height) + "px", + "lineHeight" : (this._data.core.li_height) + "px", + "width" : "150px" // will be set a bit further down + }, + "blur" : $.proxy(function (e) { + e.stopImmediatePropagation(); + e.preventDefault(); + var i = s.children(".jstree-rename-input"), + v = i.val(), + f = this.settings.core.force_text, + nv; + if(v === "") { v = t; } + h1.remove(); + s.replaceWith(a); + s.remove(); + t = f ? t : $('
    ').append($.parseHTML(t)).html(); + this.set_text(obj, t); + nv = !!this.rename_node(obj, f ? $('
    ').text(v).text() : $('
    ').append($.parseHTML(v)).html()); + if(!nv) { + this.set_text(obj, t); // move this up? and fix #483 + } + this._data.core.focused = tmp.id; + setTimeout($.proxy(function () { + var node = this.get_node(tmp.id, true); + if(node.length) { + this._data.core.focused = tmp.id; + node.children('.jstree-anchor').focus(); + } + }, this), 0); + if(callback) { + callback.call(this, tmp, nv, cancel); + } + h2 = null; + }, this), + "keydown" : function (e) { + var key = e.which; + if(key === 27) { + cancel = true; + this.value = t; + } + if(key === 27 || key === 13 || key === 37 || key === 38 || key === 39 || key === 40 || key === 32) { + e.stopImmediatePropagation(); + } + if(key === 27 || key === 13) { + e.preventDefault(); + this.blur(); + } + }, + "click" : function (e) { e.stopImmediatePropagation(); }, + "mousedown" : function (e) { e.stopImmediatePropagation(); }, + "keyup" : function (e) { + h2.width(Math.min(h1.text("pW" + this.value).width(),w)); + }, + "keypress" : function(e) { + if(e.which === 13) { return false; } + } + }); + fn = { + fontFamily : a.css('fontFamily') || '', + fontSize : a.css('fontSize') || '', + fontWeight : a.css('fontWeight') || '', + fontStyle : a.css('fontStyle') || '', + fontStretch : a.css('fontStretch') || '', + fontVariant : a.css('fontVariant') || '', + letterSpacing : a.css('letterSpacing') || '', + wordSpacing : a.css('wordSpacing') || '' + }; + s.attr('class', a.attr('class')).append(a.contents().clone()).append(h2); + a.replaceWith(s); + h1.css(fn); + h2.css(fn).width(Math.min(h1.text("pW" + h2[0].value).width(),w))[0].select(); + $(document).one('mousedown.jstree touchstart.jstree dnd_start.vakata', function (e) { + if (h2 && e.target !== h2) { + $(h2).blur(); + } + }); + }, + + + /** + * changes the theme + * @name set_theme(theme_name [, theme_url]) + * @param {String} theme_name the name of the new theme to apply + * @param {mixed} theme_url the location of the CSS file for this theme. Omit or set to `false` if you manually included the file. Set to `true` to autoload from the `core.themes.dir` directory. + * @trigger set_theme.jstree + */ + set_theme : function (theme_name, theme_url) { + if(!theme_name) { return false; } + if(theme_url === true) { + var dir = this.settings.core.themes.dir; + if(!dir) { dir = $.jstree.path + '/themes'; } + theme_url = dir + '/' + theme_name + '/style.css'; + } + if(theme_url && $.inArray(theme_url, themes_loaded) === -1) { + $('head').append('<'+'link rel="stylesheet" href="' + theme_url + '" type="text/css" />'); + themes_loaded.push(theme_url); + } + if(this._data.core.themes.name) { + this.element.removeClass('jstree-' + this._data.core.themes.name); + } + this._data.core.themes.name = theme_name; + this.element.addClass('jstree-' + theme_name); + this.element[this.settings.core.themes.responsive ? 'addClass' : 'removeClass' ]('jstree-' + theme_name + '-responsive'); + /** + * triggered when a theme is set + * @event + * @name set_theme.jstree + * @param {String} theme the new theme + */ + this.trigger('set_theme', { 'theme' : theme_name }); + }, + /** + * gets the name of the currently applied theme name + * @name get_theme() + * @return {String} + */ + get_theme : function () { return this._data.core.themes.name; }, + /** + * changes the theme variant (if the theme has variants) + * @name set_theme_variant(variant_name) + * @param {String|Boolean} variant_name the variant to apply (if `false` is used the current variant is removed) + */ + set_theme_variant : function (variant_name) { + if(this._data.core.themes.variant) { + this.element.removeClass('jstree-' + this._data.core.themes.name + '-' + this._data.core.themes.variant); + } + this._data.core.themes.variant = variant_name; + if(variant_name) { + this.element.addClass('jstree-' + this._data.core.themes.name + '-' + this._data.core.themes.variant); + } + }, + /** + * gets the name of the currently applied theme variant + * @name get_theme() + * @return {String} + */ + get_theme_variant : function () { return this._data.core.themes.variant; }, + /** + * shows a striped background on the container (if the theme supports it) + * @name show_stripes() + */ + show_stripes : function () { + this._data.core.themes.stripes = true; + this.get_container_ul().addClass("jstree-striped"); + /** + * triggered when stripes are shown + * @event + * @name show_stripes.jstree + */ + this.trigger('show_stripes'); + }, + /** + * hides the striped background on the container + * @name hide_stripes() + */ + hide_stripes : function () { + this._data.core.themes.stripes = false; + this.get_container_ul().removeClass("jstree-striped"); + /** + * triggered when stripes are hidden + * @event + * @name hide_stripes.jstree + */ + this.trigger('hide_stripes'); + }, + /** + * toggles the striped background on the container + * @name toggle_stripes() + */ + toggle_stripes : function () { if(this._data.core.themes.stripes) { this.hide_stripes(); } else { this.show_stripes(); } }, + /** + * shows the connecting dots (if the theme supports it) + * @name show_dots() + */ + show_dots : function () { + this._data.core.themes.dots = true; + this.get_container_ul().removeClass("jstree-no-dots"); + /** + * triggered when dots are shown + * @event + * @name show_dots.jstree + */ + this.trigger('show_dots'); + }, + /** + * hides the connecting dots + * @name hide_dots() + */ + hide_dots : function () { + this._data.core.themes.dots = false; + this.get_container_ul().addClass("jstree-no-dots"); + /** + * triggered when dots are hidden + * @event + * @name hide_dots.jstree + */ + this.trigger('hide_dots'); + }, + /** + * toggles the connecting dots + * @name toggle_dots() + */ + toggle_dots : function () { if(this._data.core.themes.dots) { this.hide_dots(); } else { this.show_dots(); } }, + /** + * show the node icons + * @name show_icons() + */ + show_icons : function () { + this._data.core.themes.icons = true; + this.get_container_ul().removeClass("jstree-no-icons"); + /** + * triggered when icons are shown + * @event + * @name show_icons.jstree + */ + this.trigger('show_icons'); + }, + /** + * hide the node icons + * @name hide_icons() + */ + hide_icons : function () { + this._data.core.themes.icons = false; + this.get_container_ul().addClass("jstree-no-icons"); + /** + * triggered when icons are hidden + * @event + * @name hide_icons.jstree + */ + this.trigger('hide_icons'); + }, + /** + * toggle the node icons + * @name toggle_icons() + */ + toggle_icons : function () { if(this._data.core.themes.icons) { this.hide_icons(); } else { this.show_icons(); } }, + /** + * show the node ellipsis + * @name show_icons() + */ + show_ellipsis : function () { + this._data.core.themes.ellipsis = true; + this.get_container_ul().addClass("jstree-ellipsis"); + /** + * triggered when ellisis is shown + * @event + * @name show_ellipsis.jstree + */ + this.trigger('show_ellipsis'); + }, + /** + * hide the node ellipsis + * @name hide_ellipsis() + */ + hide_ellipsis : function () { + this._data.core.themes.ellipsis = false; + this.get_container_ul().removeClass("jstree-ellipsis"); + /** + * triggered when ellisis is hidden + * @event + * @name hide_ellipsis.jstree + */ + this.trigger('hide_ellipsis'); + }, + /** + * toggle the node ellipsis + * @name toggle_icons() + */ + toggle_ellipsis : function () { if(this._data.core.themes.ellipsis) { this.hide_ellipsis(); } else { this.show_ellipsis(); } }, + /** + * set the node icon for a node + * @name set_icon(obj, icon) + * @param {mixed} obj + * @param {String} icon the new icon - can be a path to an icon or a className, if using an image that is in the current directory use a `./` prefix, otherwise it will be detected as a class + */ + set_icon : function (obj, icon) { + var t1, t2, dom, old; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.set_icon(obj[t1], icon); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { return false; } + old = obj.icon; + obj.icon = icon === true || icon === null || icon === undefined || icon === '' ? true : icon; + dom = this.get_node(obj, true).children(".jstree-anchor").children(".jstree-themeicon"); + if(icon === false) { + this.hide_icon(obj); + } + else if(icon === true || icon === null || icon === undefined || icon === '') { + dom.removeClass('jstree-themeicon-custom ' + old).css("background","").removeAttr("rel"); + if(old === false) { this.show_icon(obj); } + } + else if(icon.indexOf("/") === -1 && icon.indexOf(".") === -1) { + dom.removeClass(old).css("background",""); + dom.addClass(icon + ' jstree-themeicon-custom').attr("rel",icon); + if(old === false) { this.show_icon(obj); } + } + else { + dom.removeClass(old).css("background",""); + dom.addClass('jstree-themeicon-custom').css("background", "url('" + icon + "') center center no-repeat").attr("rel",icon); + if(old === false) { this.show_icon(obj); } + } + return true; + }, + /** + * get the node icon for a node + * @name get_icon(obj) + * @param {mixed} obj + * @return {String} + */ + get_icon : function (obj) { + obj = this.get_node(obj); + return (!obj || obj.id === $.jstree.root) ? false : obj.icon; + }, + /** + * hide the icon on an individual node + * @name hide_icon(obj) + * @param {mixed} obj + */ + hide_icon : function (obj) { + var t1, t2; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.hide_icon(obj[t1]); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj === $.jstree.root) { return false; } + obj.icon = false; + this.get_node(obj, true).children(".jstree-anchor").children(".jstree-themeicon").addClass('jstree-themeicon-hidden'); + return true; + }, + /** + * show the icon on an individual node + * @name show_icon(obj) + * @param {mixed} obj + */ + show_icon : function (obj) { + var t1, t2, dom; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.show_icon(obj[t1]); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj === $.jstree.root) { return false; } + dom = this.get_node(obj, true); + obj.icon = dom.length ? dom.children(".jstree-anchor").children(".jstree-themeicon").attr('rel') : true; + if(!obj.icon) { obj.icon = true; } + dom.children(".jstree-anchor").children(".jstree-themeicon").removeClass('jstree-themeicon-hidden'); + return true; + } + }; + + // helpers + $.vakata = {}; + // collect attributes + $.vakata.attributes = function(node, with_values) { + node = $(node)[0]; + var attr = with_values ? {} : []; + if(node && node.attributes) { + $.each(node.attributes, function (i, v) { + if($.inArray(v.name.toLowerCase(),['style','contenteditable','hasfocus','tabindex']) !== -1) { return; } + if(v.value !== null && $.trim(v.value) !== '') { + if(with_values) { attr[v.name] = v.value; } + else { attr.push(v.name); } + } + }); + } + return attr; + }; + $.vakata.array_unique = function(array) { + var a = [], i, j, l, o = {}; + for(i = 0, l = array.length; i < l; i++) { + if(o[array[i]] === undefined) { + a.push(array[i]); + o[array[i]] = true; + } + } + return a; + }; + // remove item from array + $.vakata.array_remove = function(array, from) { + array.splice(from, 1); + return array; + //var rest = array.slice((to || from) + 1 || array.length); + //array.length = from < 0 ? array.length + from : from; + //array.push.apply(array, rest); + //return array; + }; + // remove item from array + $.vakata.array_remove_item = function(array, item) { + var tmp = $.inArray(item, array); + return tmp !== -1 ? $.vakata.array_remove(array, tmp) : array; + }; + $.vakata.array_filter = function(c,a,b,d,e) { + if (c.filter) { + return c.filter(a, b); + } + d=[]; + for (e in c) { + if (~~e+''===e+'' && e>=0 && a.call(b,c[e],+e,c)) { + d.push(c[e]); + } + } + return d; + }; + + +/** + * ### Changed plugin + * + * This plugin adds more information to the `changed.jstree` event. The new data is contained in the `changed` event data property, and contains a lists of `selected` and `deselected` nodes. + */ + + $.jstree.plugins.changed = function (options, parent) { + var last = []; + this.trigger = function (ev, data) { + var i, j; + if(!data) { + data = {}; + } + if(ev.replace('.jstree','') === 'changed') { + data.changed = { selected : [], deselected : [] }; + var tmp = {}; + for(i = 0, j = last.length; i < j; i++) { + tmp[last[i]] = 1; + } + for(i = 0, j = data.selected.length; i < j; i++) { + if(!tmp[data.selected[i]]) { + data.changed.selected.push(data.selected[i]); + } + else { + tmp[data.selected[i]] = 2; + } + } + for(i = 0, j = last.length; i < j; i++) { + if(tmp[last[i]] === 1) { + data.changed.deselected.push(last[i]); + } + } + last = data.selected.slice(); + } + /** + * triggered when selection changes (the "changed" plugin enhances the original event with more data) + * @event + * @name changed.jstree + * @param {Object} node + * @param {Object} action the action that caused the selection to change + * @param {Array} selected the current selection + * @param {Object} changed an object containing two properties `selected` and `deselected` - both arrays of node IDs, which were selected or deselected since the last changed event + * @param {Object} event the event (if any) that triggered this changed event + * @plugin changed + */ + parent.trigger.call(this, ev, data); + }; + this.refresh = function (skip_loading, forget_state) { + last = []; + return parent.refresh.apply(this, arguments); + }; + }; + +/** + * ### Checkbox plugin + * + * This plugin renders checkbox icons in front of each node, making multiple selection much easier. + * It also supports tri-state behavior, meaning that if a node has a few of its children checked it will be rendered as undetermined, and state will be propagated up. + */ + + var _i = document.createElement('I'); + _i.className = 'jstree-icon jstree-checkbox'; + _i.setAttribute('role', 'presentation'); + /** + * stores all defaults for the checkbox plugin + * @name $.jstree.defaults.checkbox + * @plugin checkbox + */ + $.jstree.defaults.checkbox = { + /** + * a boolean indicating if checkboxes should be visible (can be changed at a later time using `show_checkboxes()` and `hide_checkboxes`). Defaults to `true`. + * @name $.jstree.defaults.checkbox.visible + * @plugin checkbox + */ + visible : true, + /** + * a boolean indicating if checkboxes should cascade down and have an undetermined state. Defaults to `true`. + * @name $.jstree.defaults.checkbox.three_state + * @plugin checkbox + */ + three_state : true, + /** + * a boolean indicating if clicking anywhere on the node should act as clicking on the checkbox. Defaults to `true`. + * @name $.jstree.defaults.checkbox.whole_node + * @plugin checkbox + */ + whole_node : true, + /** + * a boolean indicating if the selected style of a node should be kept, or removed. Defaults to `true`. + * @name $.jstree.defaults.checkbox.keep_selected_style + * @plugin checkbox + */ + keep_selected_style : true, + /** + * This setting controls how cascading and undetermined nodes are applied. + * If 'up' is in the string - cascading up is enabled, if 'down' is in the string - cascading down is enabled, if 'undetermined' is in the string - undetermined nodes will be used. + * If `three_state` is set to `true` this setting is automatically set to 'up+down+undetermined'. Defaults to ''. + * @name $.jstree.defaults.checkbox.cascade + * @plugin checkbox + */ + cascade : '', + /** + * This setting controls if checkbox are bound to the general tree selection or to an internal array maintained by the checkbox plugin. Defaults to `true`, only set to `false` if you know exactly what you are doing. + * @name $.jstree.defaults.checkbox.tie_selection + * @plugin checkbox + */ + tie_selection : true + }; + $.jstree.plugins.checkbox = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + this._data.checkbox.uto = false; + this._data.checkbox.selected = []; + if(this.settings.checkbox.three_state) { + this.settings.checkbox.cascade = 'up+down+undetermined'; + } + this.element + .on("init.jstree", $.proxy(function () { + this._data.checkbox.visible = this.settings.checkbox.visible; + if(!this.settings.checkbox.keep_selected_style) { + this.element.addClass('jstree-checkbox-no-clicked'); + } + if(this.settings.checkbox.tie_selection) { + this.element.addClass('jstree-checkbox-selection'); + } + }, this)) + .on("loading.jstree", $.proxy(function () { + this[ this._data.checkbox.visible ? 'show_checkboxes' : 'hide_checkboxes' ](); + }, this)); + if(this.settings.checkbox.cascade.indexOf('undetermined') !== -1) { + this.element + .on('changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree', $.proxy(function () { + // only if undetermined is in setting + if(this._data.checkbox.uto) { clearTimeout(this._data.checkbox.uto); } + this._data.checkbox.uto = setTimeout($.proxy(this._undetermined, this), 50); + }, this)); + } + if(!this.settings.checkbox.tie_selection) { + this.element + .on('model.jstree', $.proxy(function (e, data) { + var m = this._model.data, + p = m[data.parent], + dpc = data.nodes, + i, j; + for(i = 0, j = dpc.length; i < j; i++) { + m[dpc[i]].state.checked = m[dpc[i]].state.checked || (m[dpc[i]].original && m[dpc[i]].original.state && m[dpc[i]].original.state.checked); + if(m[dpc[i]].state.checked) { + this._data.checkbox.selected.push(dpc[i]); + } + } + }, this)); + } + if(this.settings.checkbox.cascade.indexOf('up') !== -1 || this.settings.checkbox.cascade.indexOf('down') !== -1) { + this.element + .on('model.jstree', $.proxy(function (e, data) { + var m = this._model.data, + p = m[data.parent], + dpc = data.nodes, + chd = [], + c, i, j, k, l, tmp, s = this.settings.checkbox.cascade, t = this.settings.checkbox.tie_selection; + + if(s.indexOf('down') !== -1) { + // apply down + if(p.state[ t ? 'selected' : 'checked' ]) { + for(i = 0, j = dpc.length; i < j; i++) { + m[dpc[i]].state[ t ? 'selected' : 'checked' ] = true; + } + this._data[ t ? 'core' : 'checkbox' ].selected = this._data[ t ? 'core' : 'checkbox' ].selected.concat(dpc); + } + else { + for(i = 0, j = dpc.length; i < j; i++) { + if(m[dpc[i]].state[ t ? 'selected' : 'checked' ]) { + for(k = 0, l = m[dpc[i]].children_d.length; k < l; k++) { + m[m[dpc[i]].children_d[k]].state[ t ? 'selected' : 'checked' ] = true; + } + this._data[ t ? 'core' : 'checkbox' ].selected = this._data[ t ? 'core' : 'checkbox' ].selected.concat(m[dpc[i]].children_d); + } + } + } + } + + if(s.indexOf('up') !== -1) { + // apply up + for(i = 0, j = p.children_d.length; i < j; i++) { + if(!m[p.children_d[i]].children.length) { + chd.push(m[p.children_d[i]].parent); + } + } + chd = $.vakata.array_unique(chd); + for(k = 0, l = chd.length; k < l; k++) { + p = m[chd[k]]; + while(p && p.id !== $.jstree.root) { + c = 0; + for(i = 0, j = p.children.length; i < j; i++) { + c += m[p.children[i]].state[ t ? 'selected' : 'checked' ]; + } + if(c === j) { + p.state[ t ? 'selected' : 'checked' ] = true; + this._data[ t ? 'core' : 'checkbox' ].selected.push(p.id); + tmp = this.get_node(p, true); + if(tmp && tmp.length) { + tmp.attr('aria-selected', true).children('.jstree-anchor').addClass( t ? 'jstree-clicked' : 'jstree-checked'); + } + } + else { + break; + } + p = this.get_node(p.parent); + } + } + } + + this._data[ t ? 'core' : 'checkbox' ].selected = $.vakata.array_unique(this._data[ t ? 'core' : 'checkbox' ].selected); + }, this)) + .on(this.settings.checkbox.tie_selection ? 'select_node.jstree' : 'check_node.jstree', $.proxy(function (e, data) { + var obj = data.node, + m = this._model.data, + par = this.get_node(obj.parent), + dom = this.get_node(obj, true), + i, j, c, tmp, s = this.settings.checkbox.cascade, t = this.settings.checkbox.tie_selection, + sel = {}, cur = this._data[ t ? 'core' : 'checkbox' ].selected; + + for (i = 0, j = cur.length; i < j; i++) { + sel[cur[i]] = true; + } + // apply down + if(s.indexOf('down') !== -1) { + //this._data[ t ? 'core' : 'checkbox' ].selected = $.vakata.array_unique(this._data[ t ? 'core' : 'checkbox' ].selected.concat(obj.children_d)); + for(i = 0, j = obj.children_d.length; i < j; i++) { + sel[obj.children_d[i]] = true; + tmp = m[obj.children_d[i]]; + tmp.state[ t ? 'selected' : 'checked' ] = true; + if(tmp && tmp.original && tmp.original.state && tmp.original.state.undetermined) { + tmp.original.state.undetermined = false; + } + } + } + + // apply up + if(s.indexOf('up') !== -1) { + while(par && par.id !== $.jstree.root) { + c = 0; + for(i = 0, j = par.children.length; i < j; i++) { + c += m[par.children[i]].state[ t ? 'selected' : 'checked' ]; + } + if(c === j) { + par.state[ t ? 'selected' : 'checked' ] = true; + sel[par.id] = true; + //this._data[ t ? 'core' : 'checkbox' ].selected.push(par.id); + tmp = this.get_node(par, true); + if(tmp && tmp.length) { + tmp.attr('aria-selected', true).children('.jstree-anchor').addClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + } + else { + break; + } + par = this.get_node(par.parent); + } + } + + cur = []; + for (i in sel) { + if (sel.hasOwnProperty(i)) { + cur.push(i); + } + } + this._data[ t ? 'core' : 'checkbox' ].selected = cur; + + // apply down (process .children separately?) + if(s.indexOf('down') !== -1 && dom.length) { + dom.find('.jstree-anchor').addClass(t ? 'jstree-clicked' : 'jstree-checked').parent().attr('aria-selected', true); + } + }, this)) + .on(this.settings.checkbox.tie_selection ? 'deselect_all.jstree' : 'uncheck_all.jstree', $.proxy(function (e, data) { + var obj = this.get_node($.jstree.root), + m = this._model.data, + i, j, tmp; + for(i = 0, j = obj.children_d.length; i < j; i++) { + tmp = m[obj.children_d[i]]; + if(tmp && tmp.original && tmp.original.state && tmp.original.state.undetermined) { + tmp.original.state.undetermined = false; + } + } + }, this)) + .on(this.settings.checkbox.tie_selection ? 'deselect_node.jstree' : 'uncheck_node.jstree', $.proxy(function (e, data) { + var obj = data.node, + dom = this.get_node(obj, true), + i, j, tmp, s = this.settings.checkbox.cascade, t = this.settings.checkbox.tie_selection, + cur = this._data[ t ? 'core' : 'checkbox' ].selected, sel = {}; + if(obj && obj.original && obj.original.state && obj.original.state.undetermined) { + obj.original.state.undetermined = false; + } + + // apply down + if(s.indexOf('down') !== -1) { + for(i = 0, j = obj.children_d.length; i < j; i++) { + tmp = this._model.data[obj.children_d[i]]; + tmp.state[ t ? 'selected' : 'checked' ] = false; + if(tmp && tmp.original && tmp.original.state && tmp.original.state.undetermined) { + tmp.original.state.undetermined = false; + } + } + } + + // apply up + if(s.indexOf('up') !== -1) { + for(i = 0, j = obj.parents.length; i < j; i++) { + tmp = this._model.data[obj.parents[i]]; + tmp.state[ t ? 'selected' : 'checked' ] = false; + if(tmp && tmp.original && tmp.original.state && tmp.original.state.undetermined) { + tmp.original.state.undetermined = false; + } + tmp = this.get_node(obj.parents[i], true); + if(tmp && tmp.length) { + tmp.attr('aria-selected', false).children('.jstree-anchor').removeClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + } + } + sel = {}; + for(i = 0, j = cur.length; i < j; i++) { + // apply down + apply up + if( + (s.indexOf('down') === -1 || $.inArray(cur[i], obj.children_d) === -1) && + (s.indexOf('up') === -1 || $.inArray(cur[i], obj.parents) === -1) + ) { + sel[cur[i]] = true; + } + } + cur = []; + for (i in sel) { + if (sel.hasOwnProperty(i)) { + cur.push(i); + } + } + this._data[ t ? 'core' : 'checkbox' ].selected = cur; + + // apply down (process .children separately?) + if(s.indexOf('down') !== -1 && dom.length) { + dom.find('.jstree-anchor').removeClass(t ? 'jstree-clicked' : 'jstree-checked').parent().attr('aria-selected', false); + } + }, this)); + } + if(this.settings.checkbox.cascade.indexOf('up') !== -1) { + this.element + .on('delete_node.jstree', $.proxy(function (e, data) { + // apply up (whole handler) + var p = this.get_node(data.parent), + m = this._model.data, + i, j, c, tmp, t = this.settings.checkbox.tie_selection; + while(p && p.id !== $.jstree.root && !p.state[ t ? 'selected' : 'checked' ]) { + c = 0; + for(i = 0, j = p.children.length; i < j; i++) { + c += m[p.children[i]].state[ t ? 'selected' : 'checked' ]; + } + if(j > 0 && c === j) { + p.state[ t ? 'selected' : 'checked' ] = true; + this._data[ t ? 'core' : 'checkbox' ].selected.push(p.id); + tmp = this.get_node(p, true); + if(tmp && tmp.length) { + tmp.attr('aria-selected', true).children('.jstree-anchor').addClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + } + else { + break; + } + p = this.get_node(p.parent); + } + }, this)) + .on('move_node.jstree', $.proxy(function (e, data) { + // apply up (whole handler) + var is_multi = data.is_multi, + old_par = data.old_parent, + new_par = this.get_node(data.parent), + m = this._model.data, + p, c, i, j, tmp, t = this.settings.checkbox.tie_selection; + if(!is_multi) { + p = this.get_node(old_par); + while(p && p.id !== $.jstree.root && !p.state[ t ? 'selected' : 'checked' ]) { + c = 0; + for(i = 0, j = p.children.length; i < j; i++) { + c += m[p.children[i]].state[ t ? 'selected' : 'checked' ]; + } + if(j > 0 && c === j) { + p.state[ t ? 'selected' : 'checked' ] = true; + this._data[ t ? 'core' : 'checkbox' ].selected.push(p.id); + tmp = this.get_node(p, true); + if(tmp && tmp.length) { + tmp.attr('aria-selected', true).children('.jstree-anchor').addClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + } + else { + break; + } + p = this.get_node(p.parent); + } + } + p = new_par; + while(p && p.id !== $.jstree.root) { + c = 0; + for(i = 0, j = p.children.length; i < j; i++) { + c += m[p.children[i]].state[ t ? 'selected' : 'checked' ]; + } + if(c === j) { + if(!p.state[ t ? 'selected' : 'checked' ]) { + p.state[ t ? 'selected' : 'checked' ] = true; + this._data[ t ? 'core' : 'checkbox' ].selected.push(p.id); + tmp = this.get_node(p, true); + if(tmp && tmp.length) { + tmp.attr('aria-selected', true).children('.jstree-anchor').addClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + } + } + else { + if(p.state[ t ? 'selected' : 'checked' ]) { + p.state[ t ? 'selected' : 'checked' ] = false; + this._data[ t ? 'core' : 'checkbox' ].selected = $.vakata.array_remove_item(this._data[ t ? 'core' : 'checkbox' ].selected, p.id); + tmp = this.get_node(p, true); + if(tmp && tmp.length) { + tmp.attr('aria-selected', false).children('.jstree-anchor').removeClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + } + else { + break; + } + } + p = this.get_node(p.parent); + } + }, this)); + } + }; + /** + * set the undetermined state where and if necessary. Used internally. + * @private + * @name _undetermined() + * @plugin checkbox + */ + this._undetermined = function () { + if(this.element === null) { return; } + var i, j, k, l, o = {}, m = this._model.data, t = this.settings.checkbox.tie_selection, s = this._data[ t ? 'core' : 'checkbox' ].selected, p = [], tt = this; + for(i = 0, j = s.length; i < j; i++) { + if(m[s[i]] && m[s[i]].parents) { + for(k = 0, l = m[s[i]].parents.length; k < l; k++) { + if(o[m[s[i]].parents[k]] !== undefined) { + break; + } + if(m[s[i]].parents[k] !== $.jstree.root) { + o[m[s[i]].parents[k]] = true; + p.push(m[s[i]].parents[k]); + } + } + } + } + // attempt for server side undetermined state + this.element.find('.jstree-closed').not(':has(.jstree-children)') + .each(function () { + var tmp = tt.get_node(this), tmp2; + if(!tmp.state.loaded) { + if(tmp.original && tmp.original.state && tmp.original.state.undetermined && tmp.original.state.undetermined === true) { + if(o[tmp.id] === undefined && tmp.id !== $.jstree.root) { + o[tmp.id] = true; + p.push(tmp.id); + } + for(k = 0, l = tmp.parents.length; k < l; k++) { + if(o[tmp.parents[k]] === undefined && tmp.parents[k] !== $.jstree.root) { + o[tmp.parents[k]] = true; + p.push(tmp.parents[k]); + } + } + } + } + else { + for(i = 0, j = tmp.children_d.length; i < j; i++) { + tmp2 = m[tmp.children_d[i]]; + if(!tmp2.state.loaded && tmp2.original && tmp2.original.state && tmp2.original.state.undetermined && tmp2.original.state.undetermined === true) { + if(o[tmp2.id] === undefined && tmp2.id !== $.jstree.root) { + o[tmp2.id] = true; + p.push(tmp2.id); + } + for(k = 0, l = tmp2.parents.length; k < l; k++) { + if(o[tmp2.parents[k]] === undefined && tmp2.parents[k] !== $.jstree.root) { + o[tmp2.parents[k]] = true; + p.push(tmp2.parents[k]); + } + } + } + } + } + }); + + this.element.find('.jstree-undetermined').removeClass('jstree-undetermined'); + for(i = 0, j = p.length; i < j; i++) { + if(!m[p[i]].state[ t ? 'selected' : 'checked' ]) { + s = this.get_node(p[i], true); + if(s && s.length) { + s.children('.jstree-anchor').children('.jstree-checkbox').addClass('jstree-undetermined'); + } + } + } + }; + this.redraw_node = function(obj, deep, is_callback, force_render) { + obj = parent.redraw_node.apply(this, arguments); + if(obj) { + var i, j, tmp = null, icon = null; + for(i = 0, j = obj.childNodes.length; i < j; i++) { + if(obj.childNodes[i] && obj.childNodes[i].className && obj.childNodes[i].className.indexOf("jstree-anchor") !== -1) { + tmp = obj.childNodes[i]; + break; + } + } + if(tmp) { + if(!this.settings.checkbox.tie_selection && this._model.data[obj.id].state.checked) { tmp.className += ' jstree-checked'; } + icon = _i.cloneNode(false); + if(this._model.data[obj.id].state.checkbox_disabled) { icon.className += ' jstree-checkbox-disabled'; } + tmp.insertBefore(icon, tmp.childNodes[0]); + } + } + if(!is_callback && this.settings.checkbox.cascade.indexOf('undetermined') !== -1) { + if(this._data.checkbox.uto) { clearTimeout(this._data.checkbox.uto); } + this._data.checkbox.uto = setTimeout($.proxy(this._undetermined, this), 50); + } + return obj; + }; + /** + * show the node checkbox icons + * @name show_checkboxes() + * @plugin checkbox + */ + this.show_checkboxes = function () { this._data.core.themes.checkboxes = true; this.get_container_ul().removeClass("jstree-no-checkboxes"); }; + /** + * hide the node checkbox icons + * @name hide_checkboxes() + * @plugin checkbox + */ + this.hide_checkboxes = function () { this._data.core.themes.checkboxes = false; this.get_container_ul().addClass("jstree-no-checkboxes"); }; + /** + * toggle the node icons + * @name toggle_checkboxes() + * @plugin checkbox + */ + this.toggle_checkboxes = function () { if(this._data.core.themes.checkboxes) { this.hide_checkboxes(); } else { this.show_checkboxes(); } }; + /** + * checks if a node is in an undetermined state + * @name is_undetermined(obj) + * @param {mixed} obj + * @return {Boolean} + */ + this.is_undetermined = function (obj) { + obj = this.get_node(obj); + var s = this.settings.checkbox.cascade, i, j, t = this.settings.checkbox.tie_selection, d = this._data[ t ? 'core' : 'checkbox' ].selected, m = this._model.data; + if(!obj || obj.state[ t ? 'selected' : 'checked' ] === true || s.indexOf('undetermined') === -1 || (s.indexOf('down') === -1 && s.indexOf('up') === -1)) { + return false; + } + if(!obj.state.loaded && obj.original.state.undetermined === true) { + return true; + } + for(i = 0, j = obj.children_d.length; i < j; i++) { + if($.inArray(obj.children_d[i], d) !== -1 || (!m[obj.children_d[i]].state.loaded && m[obj.children_d[i]].original.state.undetermined)) { + return true; + } + } + return false; + }; + /** + * disable a node's checkbox + * @name disable_checkbox(obj) + * @param {mixed} obj an array can be used too + * @trigger disable_checkbox.jstree + * @plugin checkbox + */ + this.disable_checkbox = function (obj) { + var t1, t2, dom; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.disable_checkbox(obj[t1]); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + dom = this.get_node(obj, true); + if(!obj.state.checkbox_disabled) { + obj.state.checkbox_disabled = true; + if(dom && dom.length) { + dom.children('.jstree-anchor').children('.jstree-checkbox').addClass('jstree-checkbox-disabled'); + } + /** + * triggered when an node's checkbox is disabled + * @event + * @name disable_checkbox.jstree + * @param {Object} node + * @plugin checkbox + */ + this.trigger('disable_checkbox', { 'node' : obj }); + } + }; + /** + * enable a node's checkbox + * @name disable_checkbox(obj) + * @param {mixed} obj an array can be used too + * @trigger enable_checkbox.jstree + * @plugin checkbox + */ + this.enable_checkbox = function (obj) { + var t1, t2, dom; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.enable_checkbox(obj[t1]); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + dom = this.get_node(obj, true); + if(obj.state.checkbox_disabled) { + obj.state.checkbox_disabled = false; + if(dom && dom.length) { + dom.children('.jstree-anchor').children('.jstree-checkbox').removeClass('jstree-checkbox-disabled'); + } + /** + * triggered when an node's checkbox is enabled + * @event + * @name enable_checkbox.jstree + * @param {Object} node + * @plugin checkbox + */ + this.trigger('enable_checkbox', { 'node' : obj }); + } + }; + + this.activate_node = function (obj, e) { + if($(e.target).hasClass('jstree-checkbox-disabled')) { + return false; + } + if(this.settings.checkbox.tie_selection && (this.settings.checkbox.whole_node || $(e.target).hasClass('jstree-checkbox'))) { + e.ctrlKey = true; + } + if(this.settings.checkbox.tie_selection || (!this.settings.checkbox.whole_node && !$(e.target).hasClass('jstree-checkbox'))) { + return parent.activate_node.call(this, obj, e); + } + if(this.is_disabled(obj)) { + return false; + } + if(this.is_checked(obj)) { + this.uncheck_node(obj, e); + } + else { + this.check_node(obj, e); + } + this.trigger('activate_node', { 'node' : this.get_node(obj) }); + }; + + /** + * check a node (only if tie_selection in checkbox settings is false, otherwise select_node will be called internally) + * @name check_node(obj) + * @param {mixed} obj an array can be used to check multiple nodes + * @trigger check_node.jstree + * @plugin checkbox + */ + this.check_node = function (obj, e) { + if(this.settings.checkbox.tie_selection) { return this.select_node(obj, false, true, e); } + var dom, t1, t2, th; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.check_node(obj[t1], e); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + dom = this.get_node(obj, true); + if(!obj.state.checked) { + obj.state.checked = true; + this._data.checkbox.selected.push(obj.id); + if(dom && dom.length) { + dom.children('.jstree-anchor').addClass('jstree-checked'); + } + /** + * triggered when an node is checked (only if tie_selection in checkbox settings is false) + * @event + * @name check_node.jstree + * @param {Object} node + * @param {Array} selected the current selection + * @param {Object} event the event (if any) that triggered this check_node + * @plugin checkbox + */ + this.trigger('check_node', { 'node' : obj, 'selected' : this._data.checkbox.selected, 'event' : e }); + } + }; + /** + * uncheck a node (only if tie_selection in checkbox settings is false, otherwise deselect_node will be called internally) + * @name uncheck_node(obj) + * @param {mixed} obj an array can be used to uncheck multiple nodes + * @trigger uncheck_node.jstree + * @plugin checkbox + */ + this.uncheck_node = function (obj, e) { + if(this.settings.checkbox.tie_selection) { return this.deselect_node(obj, false, e); } + var t1, t2, dom; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.uncheck_node(obj[t1], e); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + dom = this.get_node(obj, true); + if(obj.state.checked) { + obj.state.checked = false; + this._data.checkbox.selected = $.vakata.array_remove_item(this._data.checkbox.selected, obj.id); + if(dom.length) { + dom.children('.jstree-anchor').removeClass('jstree-checked'); + } + /** + * triggered when an node is unchecked (only if tie_selection in checkbox settings is false) + * @event + * @name uncheck_node.jstree + * @param {Object} node + * @param {Array} selected the current selection + * @param {Object} event the event (if any) that triggered this uncheck_node + * @plugin checkbox + */ + this.trigger('uncheck_node', { 'node' : obj, 'selected' : this._data.checkbox.selected, 'event' : e }); + } + }; + /** + * checks all nodes in the tree (only if tie_selection in checkbox settings is false, otherwise select_all will be called internally) + * @name check_all() + * @trigger check_all.jstree, changed.jstree + * @plugin checkbox + */ + this.check_all = function () { + if(this.settings.checkbox.tie_selection) { return this.select_all(); } + var tmp = this._data.checkbox.selected.concat([]), i, j; + this._data.checkbox.selected = this._model.data[$.jstree.root].children_d.concat(); + for(i = 0, j = this._data.checkbox.selected.length; i < j; i++) { + if(this._model.data[this._data.checkbox.selected[i]]) { + this._model.data[this._data.checkbox.selected[i]].state.checked = true; + } + } + this.redraw(true); + /** + * triggered when all nodes are checked (only if tie_selection in checkbox settings is false) + * @event + * @name check_all.jstree + * @param {Array} selected the current selection + * @plugin checkbox + */ + this.trigger('check_all', { 'selected' : this._data.checkbox.selected }); + }; + /** + * uncheck all checked nodes (only if tie_selection in checkbox settings is false, otherwise deselect_all will be called internally) + * @name uncheck_all() + * @trigger uncheck_all.jstree + * @plugin checkbox + */ + this.uncheck_all = function () { + if(this.settings.checkbox.tie_selection) { return this.deselect_all(); } + var tmp = this._data.checkbox.selected.concat([]), i, j; + for(i = 0, j = this._data.checkbox.selected.length; i < j; i++) { + if(this._model.data[this._data.checkbox.selected[i]]) { + this._model.data[this._data.checkbox.selected[i]].state.checked = false; + } + } + this._data.checkbox.selected = []; + this.element.find('.jstree-checked').removeClass('jstree-checked'); + /** + * triggered when all nodes are unchecked (only if tie_selection in checkbox settings is false) + * @event + * @name uncheck_all.jstree + * @param {Object} node the previous selection + * @param {Array} selected the current selection + * @plugin checkbox + */ + this.trigger('uncheck_all', { 'selected' : this._data.checkbox.selected, 'node' : tmp }); + }; + /** + * checks if a node is checked (if tie_selection is on in the settings this function will return the same as is_selected) + * @name is_checked(obj) + * @param {mixed} obj + * @return {Boolean} + * @plugin checkbox + */ + this.is_checked = function (obj) { + if(this.settings.checkbox.tie_selection) { return this.is_selected(obj); } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { return false; } + return obj.state.checked; + }; + /** + * get an array of all checked nodes (if tie_selection is on in the settings this function will return the same as get_selected) + * @name get_checked([full]) + * @param {mixed} full if set to `true` the returned array will consist of the full node objects, otherwise - only IDs will be returned + * @return {Array} + * @plugin checkbox + */ + this.get_checked = function (full) { + if(this.settings.checkbox.tie_selection) { return this.get_selected(full); } + return full ? $.map(this._data.checkbox.selected, $.proxy(function (i) { return this.get_node(i); }, this)) : this._data.checkbox.selected; + }; + /** + * get an array of all top level checked nodes (ignoring children of checked nodes) (if tie_selection is on in the settings this function will return the same as get_top_selected) + * @name get_top_checked([full]) + * @param {mixed} full if set to `true` the returned array will consist of the full node objects, otherwise - only IDs will be returned + * @return {Array} + * @plugin checkbox + */ + this.get_top_checked = function (full) { + if(this.settings.checkbox.tie_selection) { return this.get_top_selected(full); } + var tmp = this.get_checked(true), + obj = {}, i, j, k, l; + for(i = 0, j = tmp.length; i < j; i++) { + obj[tmp[i].id] = tmp[i]; + } + for(i = 0, j = tmp.length; i < j; i++) { + for(k = 0, l = tmp[i].children_d.length; k < l; k++) { + if(obj[tmp[i].children_d[k]]) { + delete obj[tmp[i].children_d[k]]; + } + } + } + tmp = []; + for(i in obj) { + if(obj.hasOwnProperty(i)) { + tmp.push(i); + } + } + return full ? $.map(tmp, $.proxy(function (i) { return this.get_node(i); }, this)) : tmp; + }; + /** + * get an array of all bottom level checked nodes (ignoring selected parents) (if tie_selection is on in the settings this function will return the same as get_bottom_selected) + * @name get_bottom_checked([full]) + * @param {mixed} full if set to `true` the returned array will consist of the full node objects, otherwise - only IDs will be returned + * @return {Array} + * @plugin checkbox + */ + this.get_bottom_checked = function (full) { + if(this.settings.checkbox.tie_selection) { return this.get_bottom_selected(full); } + var tmp = this.get_checked(true), + obj = [], i, j; + for(i = 0, j = tmp.length; i < j; i++) { + if(!tmp[i].children.length) { + obj.push(tmp[i].id); + } + } + return full ? $.map(obj, $.proxy(function (i) { return this.get_node(i); }, this)) : obj; + }; + this.load_node = function (obj, callback) { + var k, l, i, j, c, tmp; + if(!$.isArray(obj) && !this.settings.checkbox.tie_selection) { + tmp = this.get_node(obj); + if(tmp && tmp.state.loaded) { + for(k = 0, l = tmp.children_d.length; k < l; k++) { + if(this._model.data[tmp.children_d[k]].state.checked) { + c = true; + this._data.checkbox.selected = $.vakata.array_remove_item(this._data.checkbox.selected, tmp.children_d[k]); + } + } + } + } + return parent.load_node.apply(this, arguments); + }; + this.get_state = function () { + var state = parent.get_state.apply(this, arguments); + if(this.settings.checkbox.tie_selection) { return state; } + state.checkbox = this._data.checkbox.selected.slice(); + return state; + }; + this.set_state = function (state, callback) { + var res = parent.set_state.apply(this, arguments); + if(res && state.checkbox) { + if(!this.settings.checkbox.tie_selection) { + this.uncheck_all(); + var _this = this; + $.each(state.checkbox, function (i, v) { + _this.check_node(v); + }); + } + delete state.checkbox; + this.set_state(state, callback); + return false; + } + return res; + }; + this.refresh = function (skip_loading, forget_state) { + if(!this.settings.checkbox.tie_selection) { + this._data.checkbox.selected = []; + } + return parent.refresh.apply(this, arguments); + }; + }; + + // include the checkbox plugin by default + // $.jstree.defaults.plugins.push("checkbox"); + +/** + * ### Conditionalselect plugin + * + * This plugin allows defining a callback to allow or deny node selection by user input (activate node method). + */ + + /** + * a callback (function) which is invoked in the instance's scope and receives two arguments - the node and the event that triggered the `activate_node` call. Returning false prevents working with the node, returning true allows invoking activate_node. Defaults to returning `true`. + * @name $.jstree.defaults.checkbox.visible + * @plugin checkbox + */ + $.jstree.defaults.conditionalselect = function () { return true; }; + $.jstree.plugins.conditionalselect = function (options, parent) { + // own function + this.activate_node = function (obj, e) { + if(this.settings.conditionalselect.call(this, this.get_node(obj), e)) { + parent.activate_node.call(this, obj, e); + } + }; + }; + + +/** + * ### Contextmenu plugin + * + * Shows a context menu when a node is right-clicked. + */ + + /** + * stores all defaults for the contextmenu plugin + * @name $.jstree.defaults.contextmenu + * @plugin contextmenu + */ + $.jstree.defaults.contextmenu = { + /** + * a boolean indicating if the node should be selected when the context menu is invoked on it. Defaults to `true`. + * @name $.jstree.defaults.contextmenu.select_node + * @plugin contextmenu + */ + select_node : true, + /** + * a boolean indicating if the menu should be shown aligned with the node. Defaults to `true`, otherwise the mouse coordinates are used. + * @name $.jstree.defaults.contextmenu.show_at_node + * @plugin contextmenu + */ + show_at_node : true, + /** + * an object of actions, or a function that accepts a node and a callback function and calls the callback function with an object of actions available for that node (you can also return the items too). + * + * Each action consists of a key (a unique name) and a value which is an object with the following properties (only label and action are required). Once a menu item is activated the `action` function will be invoked with an object containing the following keys: item - the contextmenu item definition as seen below, reference - the DOM node that was used (the tree node), element - the contextmenu DOM element, position - an object with x/y properties indicating the position of the menu. + * + * * `separator_before` - a boolean indicating if there should be a separator before this item + * * `separator_after` - a boolean indicating if there should be a separator after this item + * * `_disabled` - a boolean indicating if this action should be disabled + * * `label` - a string - the name of the action (could be a function returning a string) + * * `title` - a string - an optional tooltip for the item + * * `action` - a function to be executed if this item is chosen, the function will receive + * * `icon` - a string, can be a path to an icon or a className, if using an image that is in the current directory use a `./` prefix, otherwise it will be detected as a class + * * `shortcut` - keyCode which will trigger the action if the menu is open (for example `113` for rename, which equals F2) + * * `shortcut_label` - shortcut label (like for example `F2` for rename) + * * `submenu` - an object with the same structure as $.jstree.defaults.contextmenu.items which can be used to create a submenu - each key will be rendered as a separate option in a submenu that will appear once the current item is hovered + * + * @name $.jstree.defaults.contextmenu.items + * @plugin contextmenu + */ + items : function (o, cb) { // Could be an object directly + return { + "create" : { + "separator_before" : false, + "separator_after" : true, + "_disabled" : false, //(this.check("create_node", data.reference, {}, "last")), + "label" : "Create", + "action" : function (data) { + var inst = $.jstree.reference(data.reference), + obj = inst.get_node(data.reference); + inst.create_node(obj, {}, "last", function (new_node) { + setTimeout(function () { inst.edit(new_node); },0); + }); + } + }, + "rename" : { + "separator_before" : false, + "separator_after" : false, + "_disabled" : false, //(this.check("rename_node", data.reference, this.get_parent(data.reference), "")), + "label" : "Rename", + /*! + "shortcut" : 113, + "shortcut_label" : 'F2', + "icon" : "glyphicon glyphicon-leaf", + */ + "action" : function (data) { + var inst = $.jstree.reference(data.reference), + obj = inst.get_node(data.reference); + inst.edit(obj); + } + }, + "remove" : { + "separator_before" : false, + "icon" : false, + "separator_after" : false, + "_disabled" : false, //(this.check("delete_node", data.reference, this.get_parent(data.reference), "")), + "label" : "Delete", + "action" : function (data) { + var inst = $.jstree.reference(data.reference), + obj = inst.get_node(data.reference); + if(inst.is_selected(obj)) { + inst.delete_node(inst.get_selected()); + } + else { + inst.delete_node(obj); + } + } + }, + "ccp" : { + "separator_before" : true, + "icon" : false, + "separator_after" : false, + "label" : "Edit", + "action" : false, + "submenu" : { + "cut" : { + "separator_before" : false, + "separator_after" : false, + "label" : "Cut", + "action" : function (data) { + var inst = $.jstree.reference(data.reference), + obj = inst.get_node(data.reference); + if(inst.is_selected(obj)) { + inst.cut(inst.get_top_selected()); + } + else { + inst.cut(obj); + } + } + }, + "copy" : { + "separator_before" : false, + "icon" : false, + "separator_after" : false, + "label" : "Copy", + "action" : function (data) { + var inst = $.jstree.reference(data.reference), + obj = inst.get_node(data.reference); + if(inst.is_selected(obj)) { + inst.copy(inst.get_top_selected()); + } + else { + inst.copy(obj); + } + } + }, + "paste" : { + "separator_before" : false, + "icon" : false, + "_disabled" : function (data) { + return !$.jstree.reference(data.reference).can_paste(); + }, + "separator_after" : false, + "label" : "Paste", + "action" : function (data) { + var inst = $.jstree.reference(data.reference), + obj = inst.get_node(data.reference); + inst.paste(obj); + } + } + } + } + }; + } + }; + + $.jstree.plugins.contextmenu = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + + var last_ts = 0, cto = null, ex, ey; + this.element + .on("contextmenu.jstree", ".jstree-anchor", $.proxy(function (e, data) { + if (e.target.tagName.toLowerCase() === 'input') { + return; + } + e.preventDefault(); + last_ts = e.ctrlKey ? +new Date() : 0; + if(data || cto) { + last_ts = (+new Date()) + 10000; + } + if(cto) { + clearTimeout(cto); + } + if(!this.is_loading(e.currentTarget)) { + this.show_contextmenu(e.currentTarget, e.pageX, e.pageY, e); + } + }, this)) + .on("click.jstree", ".jstree-anchor", $.proxy(function (e) { + if(this._data.contextmenu.visible && (!last_ts || (+new Date()) - last_ts > 250)) { // work around safari & macOS ctrl+click + $.vakata.context.hide(); + } + last_ts = 0; + }, this)) + .on("touchstart.jstree", ".jstree-anchor", function (e) { + if(!e.originalEvent || !e.originalEvent.changedTouches || !e.originalEvent.changedTouches[0]) { + return; + } + ex = e.originalEvent.changedTouches[0].clientX; + ey = e.originalEvent.changedTouches[0].clientY; + cto = setTimeout(function () { + $(e.currentTarget).trigger('contextmenu', true); + }, 750); + }) + .on('touchmove.vakata.jstree', function (e) { + if(cto && e.originalEvent && e.originalEvent.changedTouches && e.originalEvent.changedTouches[0] && (Math.abs(ex - e.originalEvent.changedTouches[0].clientX) > 50 || Math.abs(ey - e.originalEvent.changedTouches[0].clientY) > 50)) { + clearTimeout(cto); + } + }) + .on('touchend.vakata.jstree', function (e) { + if(cto) { + clearTimeout(cto); + } + }); + + /*! + if(!('oncontextmenu' in document.body) && ('ontouchstart' in document.body)) { + var el = null, tm = null; + this.element + .on("touchstart", ".jstree-anchor", function (e) { + el = e.currentTarget; + tm = +new Date(); + $(document).one("touchend", function (e) { + e.target = document.elementFromPoint(e.originalEvent.targetTouches[0].pageX - window.pageXOffset, e.originalEvent.targetTouches[0].pageY - window.pageYOffset); + e.currentTarget = e.target; + tm = ((+(new Date())) - tm); + if(e.target === el && tm > 600 && tm < 1000) { + e.preventDefault(); + $(el).trigger('contextmenu', e); + } + el = null; + tm = null; + }); + }); + } + */ + $(document).on("context_hide.vakata.jstree", $.proxy(function (e, data) { + this._data.contextmenu.visible = false; + $(data.reference).removeClass('jstree-context'); + }, this)); + }; + this.teardown = function () { + if(this._data.contextmenu.visible) { + $.vakata.context.hide(); + } + parent.teardown.call(this); + }; + + /** + * prepare and show the context menu for a node + * @name show_contextmenu(obj [, x, y]) + * @param {mixed} obj the node + * @param {Number} x the x-coordinate relative to the document to show the menu at + * @param {Number} y the y-coordinate relative to the document to show the menu at + * @param {Object} e the event if available that triggered the contextmenu + * @plugin contextmenu + * @trigger show_contextmenu.jstree + */ + this.show_contextmenu = function (obj, x, y, e) { + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { return false; } + var s = this.settings.contextmenu, + d = this.get_node(obj, true), + a = d.children(".jstree-anchor"), + o = false, + i = false; + if(s.show_at_node || x === undefined || y === undefined) { + o = a.offset(); + x = o.left; + y = o.top + this._data.core.li_height; + } + if(this.settings.contextmenu.select_node && !this.is_selected(obj)) { + this.activate_node(obj, e); + } + + i = s.items; + if($.isFunction(i)) { + i = i.call(this, obj, $.proxy(function (i) { + this._show_contextmenu(obj, x, y, i); + }, this)); + } + if($.isPlainObject(i)) { + this._show_contextmenu(obj, x, y, i); + } + }; + /** + * show the prepared context menu for a node + * @name _show_contextmenu(obj, x, y, i) + * @param {mixed} obj the node + * @param {Number} x the x-coordinate relative to the document to show the menu at + * @param {Number} y the y-coordinate relative to the document to show the menu at + * @param {Number} i the object of items to show + * @plugin contextmenu + * @trigger show_contextmenu.jstree + * @private + */ + this._show_contextmenu = function (obj, x, y, i) { + var d = this.get_node(obj, true), + a = d.children(".jstree-anchor"); + $(document).one("context_show.vakata.jstree", $.proxy(function (e, data) { + var cls = 'jstree-contextmenu jstree-' + this.get_theme() + '-contextmenu'; + $(data.element).addClass(cls); + a.addClass('jstree-context'); + }, this)); + this._data.contextmenu.visible = true; + $.vakata.context.show(a, { 'x' : x, 'y' : y }, i); + /** + * triggered when the contextmenu is shown for a node + * @event + * @name show_contextmenu.jstree + * @param {Object} node the node + * @param {Number} x the x-coordinate of the menu relative to the document + * @param {Number} y the y-coordinate of the menu relative to the document + * @plugin contextmenu + */ + this.trigger('show_contextmenu', { "node" : obj, "x" : x, "y" : y }); + }; + }; + + // contextmenu helper + (function ($) { + var right_to_left = false, + vakata_context = { + element : false, + reference : false, + position_x : 0, + position_y : 0, + items : [], + html : "", + is_visible : false + }; + + $.vakata.context = { + settings : { + hide_onmouseleave : 0, + icons : true + }, + _trigger : function (event_name) { + $(document).triggerHandler("context_" + event_name + ".vakata", { + "reference" : vakata_context.reference, + "element" : vakata_context.element, + "position" : { + "x" : vakata_context.position_x, + "y" : vakata_context.position_y + } + }); + }, + _execute : function (i) { + i = vakata_context.items[i]; + return i && (!i._disabled || ($.isFunction(i._disabled) && !i._disabled({ "item" : i, "reference" : vakata_context.reference, "element" : vakata_context.element }))) && i.action ? i.action.call(null, { + "item" : i, + "reference" : vakata_context.reference, + "element" : vakata_context.element, + "position" : { + "x" : vakata_context.position_x, + "y" : vakata_context.position_y + } + }) : false; + }, + _parse : function (o, is_callback) { + if(!o) { return false; } + if(!is_callback) { + vakata_context.html = ""; + vakata_context.items = []; + } + var str = "", + sep = false, + tmp; + + if(is_callback) { str += "<"+"ul>"; } + $.each(o, function (i, val) { + if(!val) { return true; } + vakata_context.items.push(val); + if(!sep && val.separator_before) { + str += "<"+"li class='vakata-context-separator'><"+"a href='#' " + ($.vakata.context.settings.icons ? '' : 'style="margin-left:0px;"') + "> <"+"/a><"+"/li>"; + } + sep = false; + str += "<"+"li class='" + (val._class || "") + (val._disabled === true || ($.isFunction(val._disabled) && val._disabled({ "item" : val, "reference" : vakata_context.reference, "element" : vakata_context.element })) ? " vakata-contextmenu-disabled " : "") + "' "+(val.shortcut?" data-shortcut='"+val.shortcut+"' ":'')+">"; + str += "<"+"a href='#' rel='" + (vakata_context.items.length - 1) + "' " + (val.title ? "title='" + val.title + "'" : "") + ">"; + if($.vakata.context.settings.icons) { + str += "<"+"i "; + if(val.icon) { + if(val.icon.indexOf("/") !== -1 || val.icon.indexOf(".") !== -1) { str += " style='background:url(\"" + val.icon + "\") center center no-repeat' "; } + else { str += " class='" + val.icon + "' "; } + } + str += "><"+"/i><"+"span class='vakata-contextmenu-sep'> <"+"/span>"; + } + str += ($.isFunction(val.label) ? val.label({ "item" : i, "reference" : vakata_context.reference, "element" : vakata_context.element }) : val.label) + (val.shortcut?' '+ (val.shortcut_label || '') +'':'') + "<"+"/a>"; + if(val.submenu) { + tmp = $.vakata.context._parse(val.submenu, true); + if(tmp) { str += tmp; } + } + str += "<"+"/li>"; + if(val.separator_after) { + str += "<"+"li class='vakata-context-separator'><"+"a href='#' " + ($.vakata.context.settings.icons ? '' : 'style="margin-left:0px;"') + "> <"+"/a><"+"/li>"; + sep = true; + } + }); + str = str.replace(/
  • <\/li\>$/,""); + if(is_callback) { str += ""; } + /** + * triggered on the document when the contextmenu is parsed (HTML is built) + * @event + * @plugin contextmenu + * @name context_parse.vakata + * @param {jQuery} reference the element that was right clicked + * @param {jQuery} element the DOM element of the menu itself + * @param {Object} position the x & y coordinates of the menu + */ + if(!is_callback) { vakata_context.html = str; $.vakata.context._trigger("parse"); } + return str.length > 10 ? str : false; + }, + _show_submenu : function (o) { + o = $(o); + if(!o.length || !o.children("ul").length) { return; } + var e = o.children("ul"), + xl = o.offset().left, + x = xl + o.outerWidth(), + y = o.offset().top, + w = e.width(), + h = e.height(), + dw = $(window).width() + $(window).scrollLeft(), + dh = $(window).height() + $(window).scrollTop(); + // може да се спести е една проверка - дали няма някой от класовете вече нагоре + if(right_to_left) { + o[x - (w + 10 + o.outerWidth()) < 0 ? "addClass" : "removeClass"]("vakata-context-left"); + } + else { + o[x + w > dw && xl > dw - x ? "addClass" : "removeClass"]("vakata-context-right"); + } + if(y + h + 10 > dh) { + e.css("bottom","-1px"); + } + + //if does not fit - stick it to the side + if (o.hasClass('vakata-context-right')) { + if (xl < w) { + e.css("margin-right", xl - w); + } + } else { + if (dw - x < w) { + e.css("margin-left", dw - x - w); + } + } + + e.show(); + }, + show : function (reference, position, data) { + var o, e, x, y, w, h, dw, dh, cond = true; + if(vakata_context.element && vakata_context.element.length) { + vakata_context.element.width(''); + } + switch(cond) { + case (!position && !reference): + return false; + case (!!position && !!reference): + vakata_context.reference = reference; + vakata_context.position_x = position.x; + vakata_context.position_y = position.y; + break; + case (!position && !!reference): + vakata_context.reference = reference; + o = reference.offset(); + vakata_context.position_x = o.left + reference.outerHeight(); + vakata_context.position_y = o.top; + break; + case (!!position && !reference): + vakata_context.position_x = position.x; + vakata_context.position_y = position.y; + break; + } + if(!!reference && !data && $(reference).data('vakata_contextmenu')) { + data = $(reference).data('vakata_contextmenu'); + } + if($.vakata.context._parse(data)) { + vakata_context.element.html(vakata_context.html); + } + if(vakata_context.items.length) { + vakata_context.element.appendTo("body"); + e = vakata_context.element; + x = vakata_context.position_x; + y = vakata_context.position_y; + w = e.width(); + h = e.height(); + dw = $(window).width() + $(window).scrollLeft(); + dh = $(window).height() + $(window).scrollTop(); + if(right_to_left) { + x -= (e.outerWidth() - $(reference).outerWidth()); + if(x < $(window).scrollLeft() + 20) { + x = $(window).scrollLeft() + 20; + } + } + if(x + w + 20 > dw) { + x = dw - (w + 20); + } + if(y + h + 20 > dh) { + y = dh - (h + 20); + } + + vakata_context.element + .css({ "left" : x, "top" : y }) + .show() + .find('a').first().focus().parent().addClass("vakata-context-hover"); + vakata_context.is_visible = true; + /** + * triggered on the document when the contextmenu is shown + * @event + * @plugin contextmenu + * @name context_show.vakata + * @param {jQuery} reference the element that was right clicked + * @param {jQuery} element the DOM element of the menu itself + * @param {Object} position the x & y coordinates of the menu + */ + $.vakata.context._trigger("show"); + } + }, + hide : function () { + if(vakata_context.is_visible) { + vakata_context.element.hide().find("ul").hide().end().find(':focus').blur().end().detach(); + vakata_context.is_visible = false; + /** + * triggered on the document when the contextmenu is hidden + * @event + * @plugin contextmenu + * @name context_hide.vakata + * @param {jQuery} reference the element that was right clicked + * @param {jQuery} element the DOM element of the menu itself + * @param {Object} position the x & y coordinates of the menu + */ + $.vakata.context._trigger("hide"); + } + } + }; + $(function () { + right_to_left = $("body").css("direction") === "rtl"; + var to = false; + + vakata_context.element = $("
      "); + vakata_context.element + .on("mouseenter", "li", function (e) { + e.stopImmediatePropagation(); + + if($.contains(this, e.relatedTarget)) { + // премахнато заради delegate mouseleave по-долу + // $(this).find(".vakata-context-hover").removeClass("vakata-context-hover"); + return; + } + + if(to) { clearTimeout(to); } + vakata_context.element.find(".vakata-context-hover").removeClass("vakata-context-hover").end(); + + $(this) + .siblings().find("ul").hide().end().end() + .parentsUntil(".vakata-context", "li").addBack().addClass("vakata-context-hover"); + $.vakata.context._show_submenu(this); + }) + // тестово - дали не натоварва? + .on("mouseleave", "li", function (e) { + if($.contains(this, e.relatedTarget)) { return; } + $(this).find(".vakata-context-hover").addBack().removeClass("vakata-context-hover"); + }) + .on("mouseleave", function (e) { + $(this).find(".vakata-context-hover").removeClass("vakata-context-hover"); + if($.vakata.context.settings.hide_onmouseleave) { + to = setTimeout( + (function (t) { + return function () { $.vakata.context.hide(); }; + }(this)), $.vakata.context.settings.hide_onmouseleave); + } + }) + .on("click", "a", function (e) { + e.preventDefault(); + //}) + //.on("mouseup", "a", function (e) { + if(!$(this).blur().parent().hasClass("vakata-context-disabled") && $.vakata.context._execute($(this).attr("rel")) !== false) { + $.vakata.context.hide(); + } + }) + .on('keydown', 'a', function (e) { + var o = null; + switch(e.which) { + case 13: + case 32: + e.type = "click"; + e.preventDefault(); + $(e.currentTarget).trigger(e); + break; + case 37: + if(vakata_context.is_visible) { + vakata_context.element.find(".vakata-context-hover").last().closest("li").first().find("ul").hide().find(".vakata-context-hover").removeClass("vakata-context-hover").end().end().children('a').focus(); + e.stopImmediatePropagation(); + e.preventDefault(); + } + break; + case 38: + if(vakata_context.is_visible) { + o = vakata_context.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").prevAll("li:not(.vakata-context-separator)").first(); + if(!o.length) { o = vakata_context.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").last(); } + o.addClass("vakata-context-hover").children('a').focus(); + e.stopImmediatePropagation(); + e.preventDefault(); + } + break; + case 39: + if(vakata_context.is_visible) { + vakata_context.element.find(".vakata-context-hover").last().children("ul").show().children("li:not(.vakata-context-separator)").removeClass("vakata-context-hover").first().addClass("vakata-context-hover").children('a').focus(); + e.stopImmediatePropagation(); + e.preventDefault(); + } + break; + case 40: + if(vakata_context.is_visible) { + o = vakata_context.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").nextAll("li:not(.vakata-context-separator)").first(); + if(!o.length) { o = vakata_context.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").first(); } + o.addClass("vakata-context-hover").children('a').focus(); + e.stopImmediatePropagation(); + e.preventDefault(); + } + break; + case 27: + $.vakata.context.hide(); + e.preventDefault(); + break; + default: + //console.log(e.which); + break; + } + }) + .on('keydown', function (e) { + e.preventDefault(); + var a = vakata_context.element.find('.vakata-contextmenu-shortcut-' + e.which).parent(); + if(a.parent().not('.vakata-context-disabled')) { + a.click(); + } + }); + + $(document) + .on("mousedown.vakata.jstree", function (e) { + if(vakata_context.is_visible && !$.contains(vakata_context.element[0], e.target)) { + $.vakata.context.hide(); + } + }) + .on("context_show.vakata.jstree", function (e, data) { + vakata_context.element.find("li:has(ul)").children("a").addClass("vakata-context-parent"); + if(right_to_left) { + vakata_context.element.addClass("vakata-context-rtl").css("direction", "rtl"); + } + // also apply a RTL class? + vakata_context.element.find("ul").hide().end(); + }); + }); + }($)); + // $.jstree.defaults.plugins.push("contextmenu"); + + +/** + * ### Drag'n'drop plugin + * + * Enables dragging and dropping of nodes in the tree, resulting in a move or copy operations. + */ + + /** + * stores all defaults for the drag'n'drop plugin + * @name $.jstree.defaults.dnd + * @plugin dnd + */ + $.jstree.defaults.dnd = { + /** + * a boolean indicating if a copy should be possible while dragging (by pressint the meta key or Ctrl). Defaults to `true`. + * @name $.jstree.defaults.dnd.copy + * @plugin dnd + */ + copy : true, + /** + * a number indicating how long a node should remain hovered while dragging to be opened. Defaults to `500`. + * @name $.jstree.defaults.dnd.open_timeout + * @plugin dnd + */ + open_timeout : 500, + /** + * a function invoked each time a node is about to be dragged, invoked in the tree's scope and receives the nodes about to be dragged as an argument (array) and the event that started the drag - return `false` to prevent dragging + * @name $.jstree.defaults.dnd.is_draggable + * @plugin dnd + */ + is_draggable : true, + /** + * a boolean indicating if checks should constantly be made while the user is dragging the node (as opposed to checking only on drop), default is `true` + * @name $.jstree.defaults.dnd.check_while_dragging + * @plugin dnd + */ + check_while_dragging : true, + /** + * a boolean indicating if nodes from this tree should only be copied with dnd (as opposed to moved), default is `false` + * @name $.jstree.defaults.dnd.always_copy + * @plugin dnd + */ + always_copy : false, + /** + * when dropping a node "inside", this setting indicates the position the node should go to - it can be an integer or a string: "first" (same as 0) or "last", default is `0` + * @name $.jstree.defaults.dnd.inside_pos + * @plugin dnd + */ + inside_pos : 0, + /** + * when starting the drag on a node that is selected this setting controls if all selected nodes are dragged or only the single node, default is `true`, which means all selected nodes are dragged when the drag is started on a selected node + * @name $.jstree.defaults.dnd.drag_selection + * @plugin dnd + */ + drag_selection : true, + /** + * controls whether dnd works on touch devices. If left as boolean true dnd will work the same as in desktop browsers, which in some cases may impair scrolling. If set to boolean false dnd will not work on touch devices. There is a special third option - string "selected" which means only selected nodes can be dragged on touch devices. + * @name $.jstree.defaults.dnd.touch + * @plugin dnd + */ + touch : true, + /** + * controls whether items can be dropped anywhere on the node, not just on the anchor, by default only the node anchor is a valid drop target. Works best with the wholerow plugin. If enabled on mobile depending on the interface it might be hard for the user to cancel the drop, since the whole tree container will be a valid drop target. + * @name $.jstree.defaults.dnd.large_drop_target + * @plugin dnd + */ + large_drop_target : false, + /** + * controls whether a drag can be initiated from any part of the node and not just the text/icon part, works best with the wholerow plugin. Keep in mind it can cause problems with tree scrolling on mobile depending on the interface - in that case set the touch option to "selected". + * @name $.jstree.defaults.dnd.large_drag_target + * @plugin dnd + */ + large_drag_target : false, + /** + * controls whether use HTML5 dnd api instead of classical. That will allow better integration of dnd events with other HTML5 controls. + * @reference http://caniuse.com/#feat=dragndrop + * @name $.jstree.defaults.dnd.use_html5 + * @plugin dnd + */ + use_html5: false + }; + var drg, elm; + // TODO: now check works by checking for each node individually, how about max_children, unique, etc? + $.jstree.plugins.dnd = function (options, parent) { + this.init = function (el, options) { + parent.init.call(this, el, options); + this.settings.dnd.use_html5 = this.settings.dnd.use_html5 && ('draggable' in document.createElement('span')); + }; + this.bind = function () { + parent.bind.call(this); + + this.element + .on(this.settings.dnd.use_html5 ? 'dragstart.jstree' : 'mousedown.jstree touchstart.jstree', this.settings.dnd.large_drag_target ? '.jstree-node' : '.jstree-anchor', $.proxy(function (e) { + if(this.settings.dnd.large_drag_target && $(e.target).closest('.jstree-node')[0] !== e.currentTarget) { + return true; + } + if(e.type === "touchstart" && (!this.settings.dnd.touch || (this.settings.dnd.touch === 'selected' && !$(e.currentTarget).closest('.jstree-node').children('.jstree-anchor').hasClass('jstree-clicked')))) { + return true; + } + var obj = this.get_node(e.target), + mlt = this.is_selected(obj) && this.settings.dnd.drag_selection ? this.get_top_selected().length : 1, + txt = (mlt > 1 ? mlt + ' ' + this.get_string('nodes') : this.get_text(e.currentTarget)); + if(this.settings.core.force_text) { + txt = $.vakata.html.escape(txt); + } + if(obj && obj.id && obj.id !== $.jstree.root && (e.which === 1 || e.type === "touchstart" || e.type === "dragstart") && + (this.settings.dnd.is_draggable === true || ($.isFunction(this.settings.dnd.is_draggable) && this.settings.dnd.is_draggable.call(this, (mlt > 1 ? this.get_top_selected(true) : [obj]), e))) + ) { + drg = { 'jstree' : true, 'origin' : this, 'obj' : this.get_node(obj,true), 'nodes' : mlt > 1 ? this.get_top_selected() : [obj.id] }; + elm = e.currentTarget; + if (this.settings.dnd.use_html5) { + $.vakata.dnd._trigger('start', e, { 'helper': $(), 'element': elm, 'data': drg }); + } else { + this.element.trigger('mousedown.jstree'); + return $.vakata.dnd.start(e, drg, '
      ' + txt + '
      '); + } + } + }, this)); + if (this.settings.dnd.use_html5) { + this.element + .on('dragover.jstree', function (e) { + e.preventDefault(); + $.vakata.dnd._trigger('move', e, { 'helper': $(), 'element': elm, 'data': drg }); + return false; + }) + //.on('dragenter.jstree', this.settings.dnd.large_drop_target ? '.jstree-node' : '.jstree-anchor', $.proxy(function (e) { + // e.preventDefault(); + // $.vakata.dnd._trigger('move', e, { 'helper': $(), 'element': elm, 'data': drg }); + // return false; + // }, this)) + .on('drop.jstree', $.proxy(function (e) { + e.preventDefault(); + $.vakata.dnd._trigger('stop', e, { 'helper': $(), 'element': elm, 'data': drg }); + return false; + }, this)); + } + }; + this.redraw_node = function(obj, deep, callback, force_render) { + obj = parent.redraw_node.apply(this, arguments); + if (obj && this.settings.dnd.use_html5) { + if (this.settings.dnd.large_drag_target) { + obj.setAttribute('draggable', true); + } else { + var i, j, tmp = null; + for(i = 0, j = obj.childNodes.length; i < j; i++) { + if(obj.childNodes[i] && obj.childNodes[i].className && obj.childNodes[i].className.indexOf("jstree-anchor") !== -1) { + tmp = obj.childNodes[i]; + break; + } + } + if(tmp) { + tmp.setAttribute('draggable', true); + } + } + } + return obj; + }; + }; + + $(function() { + // bind only once for all instances + var lastmv = false, + laster = false, + lastev = false, + opento = false, + marker = $('
       
      ').hide(); //.appendTo('body'); + + $(document) + .on('dnd_start.vakata.jstree', function (e, data) { + lastmv = false; + lastev = false; + if(!data || !data.data || !data.data.jstree) { return; } + marker.appendTo('body'); //.show(); + }) + .on('dnd_move.vakata.jstree', function (e, data) { + if(opento) { + if (!data.event || data.event.type !== 'dragover' || data.event.target !== lastev.target) { + clearTimeout(opento); + } + } + if(!data || !data.data || !data.data.jstree) { return; } + + // if we are hovering the marker image do nothing (can happen on "inside" drags) + if(data.event.target.id && data.event.target.id === 'jstree-marker') { + return; + } + lastev = data.event; + + var ins = $.jstree.reference(data.event.target), + ref = false, + off = false, + rel = false, + tmp, l, t, h, p, i, o, ok, t1, t2, op, ps, pr, ip, tm, is_copy, pn; + // if we are over an instance + if(ins && ins._data && ins._data.dnd) { + marker.attr('class', 'jstree-' + ins.get_theme() + ( ins.settings.core.themes.responsive ? ' jstree-dnd-responsive' : '' )); + is_copy = data.data.origin && (data.data.origin.settings.dnd.always_copy || (data.data.origin.settings.dnd.copy && (data.event.metaKey || data.event.ctrlKey))); + data.helper + .children().attr('class', 'jstree-' + ins.get_theme() + ' jstree-' + ins.get_theme() + '-' + ins.get_theme_variant() + ' ' + ( ins.settings.core.themes.responsive ? ' jstree-dnd-responsive' : '' )) + .find('.jstree-copy').first()[ is_copy ? 'show' : 'hide' ](); + + // if are hovering the container itself add a new root node + //console.log(data.event); + if( (data.event.target === ins.element[0] || data.event.target === ins.get_container_ul()[0]) && ins.get_container_ul().children().length === 0) { + ok = true; + for(t1 = 0, t2 = data.data.nodes.length; t1 < t2; t1++) { + ok = ok && ins.check( (data.data.origin && (data.data.origin.settings.dnd.always_copy || (data.data.origin.settings.dnd.copy && (data.event.metaKey || data.event.ctrlKey)) ) ? "copy_node" : "move_node"), (data.data.origin && data.data.origin !== ins ? data.data.origin.get_node(data.data.nodes[t1]) : data.data.nodes[t1]), $.jstree.root, 'last', { 'dnd' : true, 'ref' : ins.get_node($.jstree.root), 'pos' : 'i', 'origin' : data.data.origin, 'is_multi' : (data.data.origin && data.data.origin !== ins), 'is_foreign' : (!data.data.origin) }); + if(!ok) { break; } + } + if(ok) { + lastmv = { 'ins' : ins, 'par' : $.jstree.root, 'pos' : 'last' }; + marker.hide(); + data.helper.find('.jstree-icon').first().removeClass('jstree-er').addClass('jstree-ok'); + if (data.event.originalEvent && data.event.originalEvent.dataTransfer) { + data.event.originalEvent.dataTransfer.dropEffect = is_copy ? 'copy' : 'move'; + } + return; + } + } + else { + // if we are hovering a tree node + ref = ins.settings.dnd.large_drop_target ? $(data.event.target).closest('.jstree-node').children('.jstree-anchor') : $(data.event.target).closest('.jstree-anchor'); + if(ref && ref.length && ref.parent().is('.jstree-closed, .jstree-open, .jstree-leaf')) { + off = ref.offset(); + rel = (data.event.pageY !== undefined ? data.event.pageY : data.event.originalEvent.pageY) - off.top; + h = ref.outerHeight(); + if(rel < h / 3) { + o = ['b', 'i', 'a']; + } + else if(rel > h - h / 3) { + o = ['a', 'i', 'b']; + } + else { + o = rel > h / 2 ? ['i', 'a', 'b'] : ['i', 'b', 'a']; + } + $.each(o, function (j, v) { + switch(v) { + case 'b': + l = off.left - 6; + t = off.top; + p = ins.get_parent(ref); + i = ref.parent().index(); + break; + case 'i': + ip = ins.settings.dnd.inside_pos; + tm = ins.get_node(ref.parent()); + l = off.left - 2; + t = off.top + h / 2 + 1; + p = tm.id; + i = ip === 'first' ? 0 : (ip === 'last' ? tm.children.length : Math.min(ip, tm.children.length)); + break; + case 'a': + l = off.left - 6; + t = off.top + h; + p = ins.get_parent(ref); + i = ref.parent().index() + 1; + break; + } + ok = true; + for(t1 = 0, t2 = data.data.nodes.length; t1 < t2; t1++) { + op = data.data.origin && (data.data.origin.settings.dnd.always_copy || (data.data.origin.settings.dnd.copy && (data.event.metaKey || data.event.ctrlKey))) ? "copy_node" : "move_node"; + ps = i; + if(op === "move_node" && v === 'a' && (data.data.origin && data.data.origin === ins) && p === ins.get_parent(data.data.nodes[t1])) { + pr = ins.get_node(p); + if(ps > $.inArray(data.data.nodes[t1], pr.children)) { + ps -= 1; + } + } + ok = ok && ( (ins && ins.settings && ins.settings.dnd && ins.settings.dnd.check_while_dragging === false) || ins.check(op, (data.data.origin && data.data.origin !== ins ? data.data.origin.get_node(data.data.nodes[t1]) : data.data.nodes[t1]), p, ps, { 'dnd' : true, 'ref' : ins.get_node(ref.parent()), 'pos' : v, 'origin' : data.data.origin, 'is_multi' : (data.data.origin && data.data.origin !== ins), 'is_foreign' : (!data.data.origin) }) ); + if(!ok) { + if(ins && ins.last_error) { laster = ins.last_error(); } + break; + } + } + if(v === 'i' && ref.parent().is('.jstree-closed') && ins.settings.dnd.open_timeout) { + opento = setTimeout((function (x, z) { return function () { x.open_node(z); }; }(ins, ref)), ins.settings.dnd.open_timeout); + } + if(ok) { + pn = ins.get_node(p, true); + if (!pn.hasClass('.jstree-dnd-parent')) { + $('.jstree-dnd-parent').removeClass('jstree-dnd-parent'); + pn.addClass('jstree-dnd-parent'); + } + lastmv = { 'ins' : ins, 'par' : p, 'pos' : v === 'i' && ip === 'last' && i === 0 && !ins.is_loaded(tm) ? 'last' : i }; + marker.css({ 'left' : l + 'px', 'top' : t + 'px' }).show(); + data.helper.find('.jstree-icon').first().removeClass('jstree-er').addClass('jstree-ok'); + if (data.event.originalEvent && data.event.originalEvent.dataTransfer) { + data.event.originalEvent.dataTransfer.dropEffect = is_copy ? 'copy' : 'move'; + } + laster = {}; + o = true; + return false; + } + }); + if(o === true) { return; } + } + } + } + $('.jstree-dnd-parent').removeClass('jstree-dnd-parent'); + lastmv = false; + data.helper.find('.jstree-icon').removeClass('jstree-ok').addClass('jstree-er'); + if (data.event.originalEvent && data.event.originalEvent.dataTransfer) { + data.event.originalEvent.dataTransfer.dropEffect = 'none'; + } + marker.hide(); + }) + .on('dnd_scroll.vakata.jstree', function (e, data) { + if(!data || !data.data || !data.data.jstree) { return; } + marker.hide(); + lastmv = false; + lastev = false; + data.helper.find('.jstree-icon').first().removeClass('jstree-ok').addClass('jstree-er'); + }) + .on('dnd_stop.vakata.jstree', function (e, data) { + $('.jstree-dnd-parent').removeClass('jstree-dnd-parent'); + if(opento) { clearTimeout(opento); } + if(!data || !data.data || !data.data.jstree) { return; } + marker.hide().detach(); + var i, j, nodes = []; + if(lastmv) { + for(i = 0, j = data.data.nodes.length; i < j; i++) { + nodes[i] = data.data.origin ? data.data.origin.get_node(data.data.nodes[i]) : data.data.nodes[i]; + } + lastmv.ins[ data.data.origin && (data.data.origin.settings.dnd.always_copy || (data.data.origin.settings.dnd.copy && (data.event.metaKey || data.event.ctrlKey))) ? 'copy_node' : 'move_node' ](nodes, lastmv.par, lastmv.pos, false, false, false, data.data.origin); + } + else { + i = $(data.event.target).closest('.jstree'); + if(i.length && laster && laster.error && laster.error === 'check') { + i = i.jstree(true); + if(i) { + i.settings.core.error.call(this, laster); + } + } + } + lastev = false; + lastmv = false; + }) + .on('keyup.jstree keydown.jstree', function (e, data) { + data = $.vakata.dnd._get(); + if(data && data.data && data.data.jstree) { + if (e.type === "keyup" && e.which === 27) { + if (opento) { clearTimeout(opento); } + lastmv = false; + laster = false; + lastev = false; + opento = false; + marker.hide().detach(); + $.vakata.dnd._clean(); + } else { + data.helper.find('.jstree-copy').first()[ data.data.origin && (data.data.origin.settings.dnd.always_copy || (data.data.origin.settings.dnd.copy && (e.metaKey || e.ctrlKey))) ? 'show' : 'hide' ](); + if(lastev) { + lastev.metaKey = e.metaKey; + lastev.ctrlKey = e.ctrlKey; + $.vakata.dnd._trigger('move', lastev); + } + } + } + }); + }); + + // helpers + (function ($) { + $.vakata.html = { + div : $('
      '), + escape : function (str) { + return $.vakata.html.div.text(str).html(); + }, + strip : function (str) { + return $.vakata.html.div.empty().append($.parseHTML(str)).text(); + } + }; + // private variable + var vakata_dnd = { + element : false, + target : false, + is_down : false, + is_drag : false, + helper : false, + helper_w: 0, + data : false, + init_x : 0, + init_y : 0, + scroll_l: 0, + scroll_t: 0, + scroll_e: false, + scroll_i: false, + is_touch: false + }; + $.vakata.dnd = { + settings : { + scroll_speed : 10, + scroll_proximity : 20, + helper_left : 5, + helper_top : 10, + threshold : 5, + threshold_touch : 50 + }, + _trigger : function (event_name, e, data) { + if (data === undefined) { + data = $.vakata.dnd._get(); + } + data.event = e; + $(document).triggerHandler("dnd_" + event_name + ".vakata", data); + }, + _get : function () { + return { + "data" : vakata_dnd.data, + "element" : vakata_dnd.element, + "helper" : vakata_dnd.helper + }; + }, + _clean : function () { + if(vakata_dnd.helper) { vakata_dnd.helper.remove(); } + if(vakata_dnd.scroll_i) { clearInterval(vakata_dnd.scroll_i); vakata_dnd.scroll_i = false; } + vakata_dnd = { + element : false, + target : false, + is_down : false, + is_drag : false, + helper : false, + helper_w: 0, + data : false, + init_x : 0, + init_y : 0, + scroll_l: 0, + scroll_t: 0, + scroll_e: false, + scroll_i: false, + is_touch: false + }; + $(document).off("mousemove.vakata.jstree touchmove.vakata.jstree", $.vakata.dnd.drag); + $(document).off("mouseup.vakata.jstree touchend.vakata.jstree", $.vakata.dnd.stop); + }, + _scroll : function (init_only) { + if(!vakata_dnd.scroll_e || (!vakata_dnd.scroll_l && !vakata_dnd.scroll_t)) { + if(vakata_dnd.scroll_i) { clearInterval(vakata_dnd.scroll_i); vakata_dnd.scroll_i = false; } + return false; + } + if(!vakata_dnd.scroll_i) { + vakata_dnd.scroll_i = setInterval($.vakata.dnd._scroll, 100); + return false; + } + if(init_only === true) { return false; } + + var i = vakata_dnd.scroll_e.scrollTop(), + j = vakata_dnd.scroll_e.scrollLeft(); + vakata_dnd.scroll_e.scrollTop(i + vakata_dnd.scroll_t * $.vakata.dnd.settings.scroll_speed); + vakata_dnd.scroll_e.scrollLeft(j + vakata_dnd.scroll_l * $.vakata.dnd.settings.scroll_speed); + if(i !== vakata_dnd.scroll_e.scrollTop() || j !== vakata_dnd.scroll_e.scrollLeft()) { + /** + * triggered on the document when a drag causes an element to scroll + * @event + * @plugin dnd + * @name dnd_scroll.vakata + * @param {Mixed} data any data supplied with the call to $.vakata.dnd.start + * @param {DOM} element the DOM element being dragged + * @param {jQuery} helper the helper shown next to the mouse + * @param {jQuery} event the element that is scrolling + */ + $.vakata.dnd._trigger("scroll", vakata_dnd.scroll_e); + } + }, + start : function (e, data, html) { + if(e.type === "touchstart" && e.originalEvent && e.originalEvent.changedTouches && e.originalEvent.changedTouches[0]) { + e.pageX = e.originalEvent.changedTouches[0].pageX; + e.pageY = e.originalEvent.changedTouches[0].pageY; + e.target = document.elementFromPoint(e.originalEvent.changedTouches[0].pageX - window.pageXOffset, e.originalEvent.changedTouches[0].pageY - window.pageYOffset); + } + if(vakata_dnd.is_drag) { $.vakata.dnd.stop({}); } + try { + e.currentTarget.unselectable = "on"; + e.currentTarget.onselectstart = function() { return false; }; + if(e.currentTarget.style) { + e.currentTarget.style.touchAction = "none"; + e.currentTarget.style.msTouchAction = "none"; + e.currentTarget.style.MozUserSelect = "none"; + } + } catch(ignore) { } + vakata_dnd.init_x = e.pageX; + vakata_dnd.init_y = e.pageY; + vakata_dnd.data = data; + vakata_dnd.is_down = true; + vakata_dnd.element = e.currentTarget; + vakata_dnd.target = e.target; + vakata_dnd.is_touch = e.type === "touchstart"; + if(html !== false) { + vakata_dnd.helper = $("
      ").html(html).css({ + "display" : "block", + "margin" : "0", + "padding" : "0", + "position" : "absolute", + "top" : "-2000px", + "lineHeight" : "16px", + "zIndex" : "10000" + }); + } + $(document).on("mousemove.vakata.jstree touchmove.vakata.jstree", $.vakata.dnd.drag); + $(document).on("mouseup.vakata.jstree touchend.vakata.jstree", $.vakata.dnd.stop); + return false; + }, + drag : function (e) { + if(e.type === "touchmove" && e.originalEvent && e.originalEvent.changedTouches && e.originalEvent.changedTouches[0]) { + e.pageX = e.originalEvent.changedTouches[0].pageX; + e.pageY = e.originalEvent.changedTouches[0].pageY; + e.target = document.elementFromPoint(e.originalEvent.changedTouches[0].pageX - window.pageXOffset, e.originalEvent.changedTouches[0].pageY - window.pageYOffset); + } + if(!vakata_dnd.is_down) { return; } + if(!vakata_dnd.is_drag) { + if( + Math.abs(e.pageX - vakata_dnd.init_x) > (vakata_dnd.is_touch ? $.vakata.dnd.settings.threshold_touch : $.vakata.dnd.settings.threshold) || + Math.abs(e.pageY - vakata_dnd.init_y) > (vakata_dnd.is_touch ? $.vakata.dnd.settings.threshold_touch : $.vakata.dnd.settings.threshold) + ) { + if(vakata_dnd.helper) { + vakata_dnd.helper.appendTo("body"); + vakata_dnd.helper_w = vakata_dnd.helper.outerWidth(); + } + vakata_dnd.is_drag = true; + $(vakata_dnd.target).one('click.vakata', false); + /** + * triggered on the document when a drag starts + * @event + * @plugin dnd + * @name dnd_start.vakata + * @param {Mixed} data any data supplied with the call to $.vakata.dnd.start + * @param {DOM} element the DOM element being dragged + * @param {jQuery} helper the helper shown next to the mouse + * @param {Object} event the event that caused the start (probably mousemove) + */ + $.vakata.dnd._trigger("start", e); + } + else { return; } + } + + var d = false, w = false, + dh = false, wh = false, + dw = false, ww = false, + dt = false, dl = false, + ht = false, hl = false; + + vakata_dnd.scroll_t = 0; + vakata_dnd.scroll_l = 0; + vakata_dnd.scroll_e = false; + $($(e.target).parentsUntil("body").addBack().get().reverse()) + .filter(function () { + return (/^auto|scroll$/).test($(this).css("overflow")) && + (this.scrollHeight > this.offsetHeight || this.scrollWidth > this.offsetWidth); + }) + .each(function () { + var t = $(this), o = t.offset(); + if(this.scrollHeight > this.offsetHeight) { + if(o.top + t.height() - e.pageY < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_t = 1; } + if(e.pageY - o.top < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_t = -1; } + } + if(this.scrollWidth > this.offsetWidth) { + if(o.left + t.width() - e.pageX < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_l = 1; } + if(e.pageX - o.left < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_l = -1; } + } + if(vakata_dnd.scroll_t || vakata_dnd.scroll_l) { + vakata_dnd.scroll_e = $(this); + return false; + } + }); + + if(!vakata_dnd.scroll_e) { + d = $(document); w = $(window); + dh = d.height(); wh = w.height(); + dw = d.width(); ww = w.width(); + dt = d.scrollTop(); dl = d.scrollLeft(); + if(dh > wh && e.pageY - dt < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_t = -1; } + if(dh > wh && wh - (e.pageY - dt) < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_t = 1; } + if(dw > ww && e.pageX - dl < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_l = -1; } + if(dw > ww && ww - (e.pageX - dl) < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_l = 1; } + if(vakata_dnd.scroll_t || vakata_dnd.scroll_l) { + vakata_dnd.scroll_e = d; + } + } + if(vakata_dnd.scroll_e) { $.vakata.dnd._scroll(true); } + + if(vakata_dnd.helper) { + ht = parseInt(e.pageY + $.vakata.dnd.settings.helper_top, 10); + hl = parseInt(e.pageX + $.vakata.dnd.settings.helper_left, 10); + if(dh && ht + 25 > dh) { ht = dh - 50; } + if(dw && hl + vakata_dnd.helper_w > dw) { hl = dw - (vakata_dnd.helper_w + 2); } + vakata_dnd.helper.css({ + left : hl + "px", + top : ht + "px" + }); + } + /** + * triggered on the document when a drag is in progress + * @event + * @plugin dnd + * @name dnd_move.vakata + * @param {Mixed} data any data supplied with the call to $.vakata.dnd.start + * @param {DOM} element the DOM element being dragged + * @param {jQuery} helper the helper shown next to the mouse + * @param {Object} event the event that caused this to trigger (most likely mousemove) + */ + $.vakata.dnd._trigger("move", e); + return false; + }, + stop : function (e) { + if(e.type === "touchend" && e.originalEvent && e.originalEvent.changedTouches && e.originalEvent.changedTouches[0]) { + e.pageX = e.originalEvent.changedTouches[0].pageX; + e.pageY = e.originalEvent.changedTouches[0].pageY; + e.target = document.elementFromPoint(e.originalEvent.changedTouches[0].pageX - window.pageXOffset, e.originalEvent.changedTouches[0].pageY - window.pageYOffset); + } + if(vakata_dnd.is_drag) { + /** + * triggered on the document when a drag stops (the dragged element is dropped) + * @event + * @plugin dnd + * @name dnd_stop.vakata + * @param {Mixed} data any data supplied with the call to $.vakata.dnd.start + * @param {DOM} element the DOM element being dragged + * @param {jQuery} helper the helper shown next to the mouse + * @param {Object} event the event that caused the stop + */ + if (e.target !== vakata_dnd.target) { + $(vakata_dnd.target).off('click.vakata'); + } + $.vakata.dnd._trigger("stop", e); + } + else { + if(e.type === "touchend" && e.target === vakata_dnd.target) { + var to = setTimeout(function () { $(e.target).click(); }, 100); + $(e.target).one('click', function() { if(to) { clearTimeout(to); } }); + } + } + $.vakata.dnd._clean(); + return false; + } + }; + }($)); + + // include the dnd plugin by default + // $.jstree.defaults.plugins.push("dnd"); + + +/** + * ### Massload plugin + * + * Adds massload functionality to jsTree, so that multiple nodes can be loaded in a single request (only useful with lazy loading). + */ + + /** + * massload configuration + * + * It is possible to set this to a standard jQuery-like AJAX config. + * In addition to the standard jQuery ajax options here you can supply functions for `data` and `url`, the functions will be run in the current instance's scope and a param will be passed indicating which node IDs need to be loaded, the return value of those functions will be used. + * + * You can also set this to a function, that function will receive the node IDs being loaded as argument and a second param which is a function (callback) which should be called with the result. + * + * Both the AJAX and the function approach rely on the same return value - an object where the keys are the node IDs, and the value is the children of that node as an array. + * + * { + * "id1" : [{ "text" : "Child of ID1", "id" : "c1" }, { "text" : "Another child of ID1", "id" : "c2" }], + * "id2" : [{ "text" : "Child of ID2", "id" : "c3" }] + * } + * + * @name $.jstree.defaults.massload + * @plugin massload + */ + $.jstree.defaults.massload = null; + $.jstree.plugins.massload = function (options, parent) { + this.init = function (el, options) { + this._data.massload = {}; + parent.init.call(this, el, options); + }; + this._load_nodes = function (nodes, callback, is_callback, force_reload) { + var s = this.settings.massload, + nodesString = JSON.stringify(nodes), + toLoad = [], + m = this._model.data, + i, j, dom; + if (!is_callback) { + for(i = 0, j = nodes.length; i < j; i++) { + if(!m[nodes[i]] || ( (!m[nodes[i]].state.loaded && !m[nodes[i]].state.failed) || force_reload) ) { + toLoad.push(nodes[i]); + dom = this.get_node(nodes[i], true); + if (dom && dom.length) { + dom.addClass("jstree-loading").attr('aria-busy',true); + } + } + } + this._data.massload = {}; + if (toLoad.length) { + if($.isFunction(s)) { + return s.call(this, toLoad, $.proxy(function (data) { + var i, j; + if(data) { + for(i in data) { + if(data.hasOwnProperty(i)) { + this._data.massload[i] = data[i]; + } + } + } + for(i = 0, j = nodes.length; i < j; i++) { + dom = this.get_node(nodes[i], true); + if (dom && dom.length) { + dom.removeClass("jstree-loading").attr('aria-busy',false); + } + } + parent._load_nodes.call(this, nodes, callback, is_callback, force_reload); + }, this)); + } + if(typeof s === 'object' && s && s.url) { + s = $.extend(true, {}, s); + if($.isFunction(s.url)) { + s.url = s.url.call(this, toLoad); + } + if($.isFunction(s.data)) { + s.data = s.data.call(this, toLoad); + } + return $.ajax(s) + .done($.proxy(function (data,t,x) { + var i, j; + if(data) { + for(i in data) { + if(data.hasOwnProperty(i)) { + this._data.massload[i] = data[i]; + } + } + } + for(i = 0, j = nodes.length; i < j; i++) { + dom = this.get_node(nodes[i], true); + if (dom && dom.length) { + dom.removeClass("jstree-loading").attr('aria-busy',false); + } + } + parent._load_nodes.call(this, nodes, callback, is_callback, force_reload); + }, this)) + .fail($.proxy(function (f) { + parent._load_nodes.call(this, nodes, callback, is_callback, force_reload); + }, this)); + } + } + } + return parent._load_nodes.call(this, nodes, callback, is_callback, force_reload); + }; + this._load_node = function (obj, callback) { + var data = this._data.massload[obj.id], + rslt = null, dom; + if(data) { + rslt = this[typeof data === 'string' ? '_append_html_data' : '_append_json_data']( + obj, + typeof data === 'string' ? $($.parseHTML(data)).filter(function () { return this.nodeType !== 3; }) : data, + function (status) { callback.call(this, status); } + ); + dom = this.get_node(obj.id, true); + if (dom && dom.length) { + dom.removeClass("jstree-loading").attr('aria-busy',false); + } + delete this._data.massload[obj.id]; + return rslt; + } + return parent._load_node.call(this, obj, callback); + }; + }; + +/** + * ### Search plugin + * + * Adds search functionality to jsTree. + */ + + /** + * stores all defaults for the search plugin + * @name $.jstree.defaults.search + * @plugin search + */ + $.jstree.defaults.search = { + /** + * a jQuery-like AJAX config, which jstree uses if a server should be queried for results. + * + * A `str` (which is the search string) parameter will be added with the request, an optional `inside` parameter will be added if the search is limited to a node id. The expected result is a JSON array with nodes that need to be opened so that matching nodes will be revealed. + * Leave this setting as `false` to not query the server. You can also set this to a function, which will be invoked in the instance's scope and receive 3 parameters - the search string, the callback to call with the array of nodes to load, and the optional node ID to limit the search to + * @name $.jstree.defaults.search.ajax + * @plugin search + */ + ajax : false, + /** + * Indicates if the search should be fuzzy or not (should `chnd3` match `child node 3`). Default is `false`. + * @name $.jstree.defaults.search.fuzzy + * @plugin search + */ + fuzzy : false, + /** + * Indicates if the search should be case sensitive. Default is `false`. + * @name $.jstree.defaults.search.case_sensitive + * @plugin search + */ + case_sensitive : false, + /** + * Indicates if the tree should be filtered (by default) to show only matching nodes (keep in mind this can be a heavy on large trees in old browsers). + * This setting can be changed at runtime when calling the search method. Default is `false`. + * @name $.jstree.defaults.search.show_only_matches + * @plugin search + */ + show_only_matches : false, + /** + * Indicates if the children of matched element are shown (when show_only_matches is true) + * This setting can be changed at runtime when calling the search method. Default is `false`. + * @name $.jstree.defaults.search.show_only_matches_children + * @plugin search + */ + show_only_matches_children : false, + /** + * Indicates if all nodes opened to reveal the search result, should be closed when the search is cleared or a new search is performed. Default is `true`. + * @name $.jstree.defaults.search.close_opened_onclear + * @plugin search + */ + close_opened_onclear : true, + /** + * Indicates if only leaf nodes should be included in search results. Default is `false`. + * @name $.jstree.defaults.search.search_leaves_only + * @plugin search + */ + search_leaves_only : false, + /** + * If set to a function it wil be called in the instance's scope with two arguments - search string and node (where node will be every node in the structure, so use with caution). + * If the function returns a truthy value the node will be considered a match (it might not be displayed if search_only_leaves is set to true and the node is not a leaf). Default is `false`. + * @name $.jstree.defaults.search.search_callback + * @plugin search + */ + search_callback : false + }; + + $.jstree.plugins.search = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + + this._data.search.str = ""; + this._data.search.dom = $(); + this._data.search.res = []; + this._data.search.opn = []; + this._data.search.som = false; + this._data.search.smc = false; + this._data.search.hdn = []; + + this.element + .on("search.jstree", $.proxy(function (e, data) { + if(this._data.search.som && data.res.length) { + var m = this._model.data, i, j, p = [], k, l; + for(i = 0, j = data.res.length; i < j; i++) { + if(m[data.res[i]] && !m[data.res[i]].state.hidden) { + p.push(data.res[i]); + p = p.concat(m[data.res[i]].parents); + if(this._data.search.smc) { + for (k = 0, l = m[data.res[i]].children_d.length; k < l; k++) { + if (m[m[data.res[i]].children_d[k]] && !m[m[data.res[i]].children_d[k]].state.hidden) { + p.push(m[data.res[i]].children_d[k]); + } + } + } + } + } + p = $.vakata.array_remove_item($.vakata.array_unique(p), $.jstree.root); + this._data.search.hdn = this.hide_all(true); + this.show_node(p, true); + this.redraw(true); + } + }, this)) + .on("clear_search.jstree", $.proxy(function (e, data) { + if(this._data.search.som && data.res.length) { + this.show_node(this._data.search.hdn, true); + this.redraw(true); + } + }, this)); + }; + /** + * used to search the tree nodes for a given string + * @name search(str [, skip_async]) + * @param {String} str the search string + * @param {Boolean} skip_async if set to true server will not be queried even if configured + * @param {Boolean} show_only_matches if set to true only matching nodes will be shown (keep in mind this can be very slow on large trees or old browsers) + * @param {mixed} inside an optional node to whose children to limit the search + * @param {Boolean} append if set to true the results of this search are appended to the previous search + * @plugin search + * @trigger search.jstree + */ + this.search = function (str, skip_async, show_only_matches, inside, append, show_only_matches_children) { + if(str === false || $.trim(str.toString()) === "") { + return this.clear_search(); + } + inside = this.get_node(inside); + inside = inside && inside.id ? inside.id : null; + str = str.toString(); + var s = this.settings.search, + a = s.ajax ? s.ajax : false, + m = this._model.data, + f = null, + r = [], + p = [], i, j; + if(this._data.search.res.length && !append) { + this.clear_search(); + } + if(show_only_matches === undefined) { + show_only_matches = s.show_only_matches; + } + if(show_only_matches_children === undefined) { + show_only_matches_children = s.show_only_matches_children; + } + if(!skip_async && a !== false) { + if($.isFunction(a)) { + return a.call(this, str, $.proxy(function (d) { + if(d && d.d) { d = d.d; } + this._load_nodes(!$.isArray(d) ? [] : $.vakata.array_unique(d), function () { + this.search(str, true, show_only_matches, inside, append, show_only_matches_children); + }); + }, this), inside); + } + else { + a = $.extend({}, a); + if(!a.data) { a.data = {}; } + a.data.str = str; + if(inside) { + a.data.inside = inside; + } + if (this._data.search.lastRequest) { + this._data.search.lastRequest.abort(); + } + this._data.search.lastRequest = $.ajax(a) + .fail($.proxy(function () { + this._data.core.last_error = { 'error' : 'ajax', 'plugin' : 'search', 'id' : 'search_01', 'reason' : 'Could not load search parents', 'data' : JSON.stringify(a) }; + this.settings.core.error.call(this, this._data.core.last_error); + }, this)) + .done($.proxy(function (d) { + if(d && d.d) { d = d.d; } + this._load_nodes(!$.isArray(d) ? [] : $.vakata.array_unique(d), function () { + this.search(str, true, show_only_matches, inside, append, show_only_matches_children); + }); + }, this)); + return this._data.search.lastRequest; + } + } + if(!append) { + this._data.search.str = str; + this._data.search.dom = $(); + this._data.search.res = []; + this._data.search.opn = []; + this._data.search.som = show_only_matches; + this._data.search.smc = show_only_matches_children; + } + + f = new $.vakata.search(str, true, { caseSensitive : s.case_sensitive, fuzzy : s.fuzzy }); + $.each(m[inside ? inside : $.jstree.root].children_d, function (ii, i) { + var v = m[i]; + if(v.text && !v.state.hidden && (!s.search_leaves_only || (v.state.loaded && v.children.length === 0)) && ( (s.search_callback && s.search_callback.call(this, str, v)) || (!s.search_callback && f.search(v.text).isMatch) ) ) { + r.push(i); + p = p.concat(v.parents); + } + }); + if(r.length) { + p = $.vakata.array_unique(p); + for(i = 0, j = p.length; i < j; i++) { + if(p[i] !== $.jstree.root && m[p[i]] && this.open_node(p[i], null, 0) === true) { + this._data.search.opn.push(p[i]); + } + } + if(!append) { + this._data.search.dom = $(this.element[0].querySelectorAll('#' + $.map(r, function (v) { return "0123456789".indexOf(v[0]) !== -1 ? '\\3' + v[0] + ' ' + v.substr(1).replace($.jstree.idregex,'\\$&') : v.replace($.jstree.idregex,'\\$&'); }).join(', #'))); + this._data.search.res = r; + } + else { + this._data.search.dom = this._data.search.dom.add($(this.element[0].querySelectorAll('#' + $.map(r, function (v) { return "0123456789".indexOf(v[0]) !== -1 ? '\\3' + v[0] + ' ' + v.substr(1).replace($.jstree.idregex,'\\$&') : v.replace($.jstree.idregex,'\\$&'); }).join(', #')))); + this._data.search.res = $.vakata.array_unique(this._data.search.res.concat(r)); + } + this._data.search.dom.children(".jstree-anchor").addClass('jstree-search'); + } + /** + * triggered after search is complete + * @event + * @name search.jstree + * @param {jQuery} nodes a jQuery collection of matching nodes + * @param {String} str the search string + * @param {Array} res a collection of objects represeing the matching nodes + * @plugin search + */ + this.trigger('search', { nodes : this._data.search.dom, str : str, res : this._data.search.res, show_only_matches : show_only_matches }); + }; + /** + * used to clear the last search (removes classes and shows all nodes if filtering is on) + * @name clear_search() + * @plugin search + * @trigger clear_search.jstree + */ + this.clear_search = function () { + if(this.settings.search.close_opened_onclear) { + this.close_node(this._data.search.opn, 0); + } + /** + * triggered after search is complete + * @event + * @name clear_search.jstree + * @param {jQuery} nodes a jQuery collection of matching nodes (the result from the last search) + * @param {String} str the search string (the last search string) + * @param {Array} res a collection of objects represeing the matching nodes (the result from the last search) + * @plugin search + */ + this.trigger('clear_search', { 'nodes' : this._data.search.dom, str : this._data.search.str, res : this._data.search.res }); + if(this._data.search.res.length) { + this._data.search.dom = $(this.element[0].querySelectorAll('#' + $.map(this._data.search.res, function (v) { + return "0123456789".indexOf(v[0]) !== -1 ? '\\3' + v[0] + ' ' + v.substr(1).replace($.jstree.idregex,'\\$&') : v.replace($.jstree.idregex,'\\$&'); + }).join(', #'))); + this._data.search.dom.children(".jstree-anchor").removeClass("jstree-search"); + } + this._data.search.str = ""; + this._data.search.res = []; + this._data.search.opn = []; + this._data.search.dom = $(); + }; + + this.redraw_node = function(obj, deep, callback, force_render) { + obj = parent.redraw_node.apply(this, arguments); + if(obj) { + if($.inArray(obj.id, this._data.search.res) !== -1) { + var i, j, tmp = null; + for(i = 0, j = obj.childNodes.length; i < j; i++) { + if(obj.childNodes[i] && obj.childNodes[i].className && obj.childNodes[i].className.indexOf("jstree-anchor") !== -1) { + tmp = obj.childNodes[i]; + break; + } + } + if(tmp) { + tmp.className += ' jstree-search'; + } + } + } + return obj; + }; + }; + + // helpers + (function ($) { + // from http://kiro.me/projects/fuse.html + $.vakata.search = function(pattern, txt, options) { + options = options || {}; + options = $.extend({}, $.vakata.search.defaults, options); + if(options.fuzzy !== false) { + options.fuzzy = true; + } + pattern = options.caseSensitive ? pattern : pattern.toLowerCase(); + var MATCH_LOCATION = options.location, + MATCH_DISTANCE = options.distance, + MATCH_THRESHOLD = options.threshold, + patternLen = pattern.length, + matchmask, pattern_alphabet, match_bitapScore, search; + if(patternLen > 32) { + options.fuzzy = false; + } + if(options.fuzzy) { + matchmask = 1 << (patternLen - 1); + pattern_alphabet = (function () { + var mask = {}, + i = 0; + for (i = 0; i < patternLen; i++) { + mask[pattern.charAt(i)] = 0; + } + for (i = 0; i < patternLen; i++) { + mask[pattern.charAt(i)] |= 1 << (patternLen - i - 1); + } + return mask; + }()); + match_bitapScore = function (e, x) { + var accuracy = e / patternLen, + proximity = Math.abs(MATCH_LOCATION - x); + if(!MATCH_DISTANCE) { + return proximity ? 1.0 : accuracy; + } + return accuracy + (proximity / MATCH_DISTANCE); + }; + } + search = function (text) { + text = options.caseSensitive ? text : text.toLowerCase(); + if(pattern === text || text.indexOf(pattern) !== -1) { + return { + isMatch: true, + score: 0 + }; + } + if(!options.fuzzy) { + return { + isMatch: false, + score: 1 + }; + } + var i, j, + textLen = text.length, + scoreThreshold = MATCH_THRESHOLD, + bestLoc = text.indexOf(pattern, MATCH_LOCATION), + binMin, binMid, + binMax = patternLen + textLen, + lastRd, start, finish, rd, charMatch, + score = 1, + locations = []; + if (bestLoc !== -1) { + scoreThreshold = Math.min(match_bitapScore(0, bestLoc), scoreThreshold); + bestLoc = text.lastIndexOf(pattern, MATCH_LOCATION + patternLen); + if (bestLoc !== -1) { + scoreThreshold = Math.min(match_bitapScore(0, bestLoc), scoreThreshold); + } + } + bestLoc = -1; + for (i = 0; i < patternLen; i++) { + binMin = 0; + binMid = binMax; + while (binMin < binMid) { + if (match_bitapScore(i, MATCH_LOCATION + binMid) <= scoreThreshold) { + binMin = binMid; + } else { + binMax = binMid; + } + binMid = Math.floor((binMax - binMin) / 2 + binMin); + } + binMax = binMid; + start = Math.max(1, MATCH_LOCATION - binMid + 1); + finish = Math.min(MATCH_LOCATION + binMid, textLen) + patternLen; + rd = new Array(finish + 2); + rd[finish + 1] = (1 << i) - 1; + for (j = finish; j >= start; j--) { + charMatch = pattern_alphabet[text.charAt(j - 1)]; + if (i === 0) { + rd[j] = ((rd[j + 1] << 1) | 1) & charMatch; + } else { + rd[j] = ((rd[j + 1] << 1) | 1) & charMatch | (((lastRd[j + 1] | lastRd[j]) << 1) | 1) | lastRd[j + 1]; + } + if (rd[j] & matchmask) { + score = match_bitapScore(i, j - 1); + if (score <= scoreThreshold) { + scoreThreshold = score; + bestLoc = j - 1; + locations.push(bestLoc); + if (bestLoc > MATCH_LOCATION) { + start = Math.max(1, 2 * MATCH_LOCATION - bestLoc); + } else { + break; + } + } + } + } + if (match_bitapScore(i + 1, MATCH_LOCATION) > scoreThreshold) { + break; + } + lastRd = rd; + } + return { + isMatch: bestLoc >= 0, + score: score + }; + }; + return txt === true ? { 'search' : search } : search(txt); + }; + $.vakata.search.defaults = { + location : 0, + distance : 100, + threshold : 0.6, + fuzzy : false, + caseSensitive : false + }; + }($)); + + // include the search plugin by default + // $.jstree.defaults.plugins.push("search"); + + +/** + * ### Sort plugin + * + * Automatically sorts all siblings in the tree according to a sorting function. + */ + + /** + * the settings function used to sort the nodes. + * It is executed in the tree's context, accepts two nodes as arguments and should return `1` or `-1`. + * @name $.jstree.defaults.sort + * @plugin sort + */ + $.jstree.defaults.sort = function (a, b) { + //return this.get_type(a) === this.get_type(b) ? (this.get_text(a) > this.get_text(b) ? 1 : -1) : this.get_type(a) >= this.get_type(b); + return this.get_text(a) > this.get_text(b) ? 1 : -1; + }; + $.jstree.plugins.sort = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + this.element + .on("model.jstree", $.proxy(function (e, data) { + this.sort(data.parent, true); + }, this)) + .on("rename_node.jstree create_node.jstree", $.proxy(function (e, data) { + this.sort(data.parent || data.node.parent, false); + this.redraw_node(data.parent || data.node.parent, true); + }, this)) + .on("move_node.jstree copy_node.jstree", $.proxy(function (e, data) { + this.sort(data.parent, false); + this.redraw_node(data.parent, true); + }, this)); + }; + /** + * used to sort a node's children + * @private + * @name sort(obj [, deep]) + * @param {mixed} obj the node + * @param {Boolean} deep if set to `true` nodes are sorted recursively. + * @plugin sort + * @trigger search.jstree + */ + this.sort = function (obj, deep) { + var i, j; + obj = this.get_node(obj); + if(obj && obj.children && obj.children.length) { + obj.children.sort($.proxy(this.settings.sort, this)); + if(deep) { + for(i = 0, j = obj.children_d.length; i < j; i++) { + this.sort(obj.children_d[i], false); + } + } + } + }; + }; + + // include the sort plugin by default + // $.jstree.defaults.plugins.push("sort"); + +/** + * ### State plugin + * + * Saves the state of the tree (selected nodes, opened nodes) on the user's computer using available options (localStorage, cookies, etc) + */ + + var to = false; + /** + * stores all defaults for the state plugin + * @name $.jstree.defaults.state + * @plugin state + */ + $.jstree.defaults.state = { + /** + * A string for the key to use when saving the current tree (change if using multiple trees in your project). Defaults to `jstree`. + * @name $.jstree.defaults.state.key + * @plugin state + */ + key : 'jstree', + /** + * A space separated list of events that trigger a state save. Defaults to `changed.jstree open_node.jstree close_node.jstree`. + * @name $.jstree.defaults.state.events + * @plugin state + */ + events : 'changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree', + /** + * Time in milliseconds after which the state will expire. Defaults to 'false' meaning - no expire. + * @name $.jstree.defaults.state.ttl + * @plugin state + */ + ttl : false, + /** + * A function that will be executed prior to restoring state with one argument - the state object. Can be used to clear unwanted parts of the state. + * @name $.jstree.defaults.state.filter + * @plugin state + */ + filter : false + }; + $.jstree.plugins.state = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + var bind = $.proxy(function () { + this.element.on(this.settings.state.events, $.proxy(function () { + if(to) { clearTimeout(to); } + to = setTimeout($.proxy(function () { this.save_state(); }, this), 100); + }, this)); + /** + * triggered when the state plugin is finished restoring the state (and immediately after ready if there is no state to restore). + * @event + * @name state_ready.jstree + * @plugin state + */ + this.trigger('state_ready'); + }, this); + this.element + .on("ready.jstree", $.proxy(function (e, data) { + this.element.one("restore_state.jstree", bind); + if(!this.restore_state()) { bind(); } + }, this)); + }; + /** + * save the state + * @name save_state() + * @plugin state + */ + this.save_state = function () { + var st = { 'state' : this.get_state(), 'ttl' : this.settings.state.ttl, 'sec' : +(new Date()) }; + $.vakata.storage.set(this.settings.state.key, JSON.stringify(st)); + }; + /** + * restore the state from the user's computer + * @name restore_state() + * @plugin state + */ + this.restore_state = function () { + var k = $.vakata.storage.get(this.settings.state.key); + if(!!k) { try { k = JSON.parse(k); } catch(ex) { return false; } } + if(!!k && k.ttl && k.sec && +(new Date()) - k.sec > k.ttl) { return false; } + if(!!k && k.state) { k = k.state; } + if(!!k && $.isFunction(this.settings.state.filter)) { k = this.settings.state.filter.call(this, k); } + if(!!k) { + this.element.one("set_state.jstree", function (e, data) { data.instance.trigger('restore_state', { 'state' : $.extend(true, {}, k) }); }); + this.set_state(k); + return true; + } + return false; + }; + /** + * clear the state on the user's computer + * @name clear_state() + * @plugin state + */ + this.clear_state = function () { + return $.vakata.storage.del(this.settings.state.key); + }; + }; + + (function ($, undefined) { + $.vakata.storage = { + // simply specifying the functions in FF throws an error + set : function (key, val) { return window.localStorage.setItem(key, val); }, + get : function (key) { return window.localStorage.getItem(key); }, + del : function (key) { return window.localStorage.removeItem(key); } + }; + }($)); + + // include the state plugin by default + // $.jstree.defaults.plugins.push("state"); + +/** + * ### Types plugin + * + * Makes it possible to add predefined types for groups of nodes, which make it possible to easily control nesting rules and icon for each group. + */ + + /** + * An object storing all types as key value pairs, where the key is the type name and the value is an object that could contain following keys (all optional). + * + * * `max_children` the maximum number of immediate children this node type can have. Do not specify or set to `-1` for unlimited. + * * `max_depth` the maximum number of nesting this node type can have. A value of `1` would mean that the node can have children, but no grandchildren. Do not specify or set to `-1` for unlimited. + * * `valid_children` an array of node type strings, that nodes of this type can have as children. Do not specify or set to `-1` for no limits. + * * `icon` a string - can be a path to an icon or a className, if using an image that is in the current directory use a `./` prefix, otherwise it will be detected as a class. Omit to use the default icon from your theme. + * * `li_attr` an object of values which will be used to add HTML attributes on the resulting LI DOM node (merged with the node's own data) + * * `a_attr` an object of values which will be used to add HTML attributes on the resulting A DOM node (merged with the node's own data) + * + * There are two predefined types: + * + * * `#` represents the root of the tree, for example `max_children` would control the maximum number of root nodes. + * * `default` represents the default node - any settings here will be applied to all nodes that do not have a type specified. + * + * @name $.jstree.defaults.types + * @plugin types + */ + $.jstree.defaults.types = { + 'default' : {} + }; + $.jstree.defaults.types[$.jstree.root] = {}; + + $.jstree.plugins.types = function (options, parent) { + this.init = function (el, options) { + var i, j; + if(options && options.types && options.types['default']) { + for(i in options.types) { + if(i !== "default" && i !== $.jstree.root && options.types.hasOwnProperty(i)) { + for(j in options.types['default']) { + if(options.types['default'].hasOwnProperty(j) && options.types[i][j] === undefined) { + options.types[i][j] = options.types['default'][j]; + } + } + } + } + } + parent.init.call(this, el, options); + this._model.data[$.jstree.root].type = $.jstree.root; + }; + this.refresh = function (skip_loading, forget_state) { + parent.refresh.call(this, skip_loading, forget_state); + this._model.data[$.jstree.root].type = $.jstree.root; + }; + this.bind = function () { + this.element + .on('model.jstree', $.proxy(function (e, data) { + var m = this._model.data, + dpc = data.nodes, + t = this.settings.types, + i, j, c = 'default', k; + for(i = 0, j = dpc.length; i < j; i++) { + c = 'default'; + if(m[dpc[i]].original && m[dpc[i]].original.type && t[m[dpc[i]].original.type]) { + c = m[dpc[i]].original.type; + } + if(m[dpc[i]].data && m[dpc[i]].data.jstree && m[dpc[i]].data.jstree.type && t[m[dpc[i]].data.jstree.type]) { + c = m[dpc[i]].data.jstree.type; + } + m[dpc[i]].type = c; + if(m[dpc[i]].icon === true && t[c].icon !== undefined) { + m[dpc[i]].icon = t[c].icon; + } + if(t[c].li_attr !== undefined && typeof t[c].li_attr === 'object') { + for (k in t[c].li_attr) { + if (t[c].li_attr.hasOwnProperty(k)) { + if (k === 'id') { + continue; + } + else if (m[dpc[i]].li_attr[k] === undefined) { + m[dpc[i]].li_attr[k] = t[c].li_attr[k]; + } + else if (k === 'class') { + m[dpc[i]].li_attr['class'] = t[c].li_attr['class'] + ' ' + m[dpc[i]].li_attr['class']; + } + } + } + } + if(t[c].a_attr !== undefined && typeof t[c].a_attr === 'object') { + for (k in t[c].a_attr) { + if (t[c].a_attr.hasOwnProperty(k)) { + if (k === 'id') { + continue; + } + else if (m[dpc[i]].a_attr[k] === undefined) { + m[dpc[i]].a_attr[k] = t[c].a_attr[k]; + } + else if (k === 'href' && m[dpc[i]].a_attr[k] === '#') { + m[dpc[i]].a_attr['href'] = t[c].a_attr['href']; + } + else if (k === 'class') { + m[dpc[i]].a_attr['class'] = t[c].a_attr['class'] + ' ' + m[dpc[i]].a_attr['class']; + } + } + } + } + } + m[$.jstree.root].type = $.jstree.root; + }, this)); + parent.bind.call(this); + }; + this.get_json = function (obj, options, flat) { + var i, j, + m = this._model.data, + opt = options ? $.extend(true, {}, options, {no_id:false}) : {}, + tmp = parent.get_json.call(this, obj, opt, flat); + if(tmp === false) { return false; } + if($.isArray(tmp)) { + for(i = 0, j = tmp.length; i < j; i++) { + tmp[i].type = tmp[i].id && m[tmp[i].id] && m[tmp[i].id].type ? m[tmp[i].id].type : "default"; + if(options && options.no_id) { + delete tmp[i].id; + if(tmp[i].li_attr && tmp[i].li_attr.id) { + delete tmp[i].li_attr.id; + } + if(tmp[i].a_attr && tmp[i].a_attr.id) { + delete tmp[i].a_attr.id; + } + } + } + } + else { + tmp.type = tmp.id && m[tmp.id] && m[tmp.id].type ? m[tmp.id].type : "default"; + if(options && options.no_id) { + tmp = this._delete_ids(tmp); + } + } + return tmp; + }; + this._delete_ids = function (tmp) { + if($.isArray(tmp)) { + for(var i = 0, j = tmp.length; i < j; i++) { + tmp[i] = this._delete_ids(tmp[i]); + } + return tmp; + } + delete tmp.id; + if(tmp.li_attr && tmp.li_attr.id) { + delete tmp.li_attr.id; + } + if(tmp.a_attr && tmp.a_attr.id) { + delete tmp.a_attr.id; + } + if(tmp.children && $.isArray(tmp.children)) { + tmp.children = this._delete_ids(tmp.children); + } + return tmp; + }; + this.check = function (chk, obj, par, pos, more) { + if(parent.check.call(this, chk, obj, par, pos, more) === false) { return false; } + obj = obj && obj.id ? obj : this.get_node(obj); + par = par && par.id ? par : this.get_node(par); + var m = obj && obj.id ? (more && more.origin ? more.origin : $.jstree.reference(obj.id)) : null, tmp, d, i, j; + m = m && m._model && m._model.data ? m._model.data : null; + switch(chk) { + case "create_node": + case "move_node": + case "copy_node": + if(chk !== 'move_node' || $.inArray(obj.id, par.children) === -1) { + tmp = this.get_rules(par); + if(tmp.max_children !== undefined && tmp.max_children !== -1 && tmp.max_children === par.children.length) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'types', 'id' : 'types_01', 'reason' : 'max_children prevents function: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + return false; + } + if(tmp.valid_children !== undefined && tmp.valid_children !== -1 && $.inArray((obj.type || 'default'), tmp.valid_children) === -1) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'types', 'id' : 'types_02', 'reason' : 'valid_children prevents function: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + return false; + } + if(m && obj.children_d && obj.parents) { + d = 0; + for(i = 0, j = obj.children_d.length; i < j; i++) { + d = Math.max(d, m[obj.children_d[i]].parents.length); + } + d = d - obj.parents.length + 1; + } + if(d <= 0 || d === undefined) { d = 1; } + do { + if(tmp.max_depth !== undefined && tmp.max_depth !== -1 && tmp.max_depth < d) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'types', 'id' : 'types_03', 'reason' : 'max_depth prevents function: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + return false; + } + par = this.get_node(par.parent); + tmp = this.get_rules(par); + d++; + } while(par); + } + break; + } + return true; + }; + /** + * used to retrieve the type settings object for a node + * @name get_rules(obj) + * @param {mixed} obj the node to find the rules for + * @return {Object} + * @plugin types + */ + this.get_rules = function (obj) { + obj = this.get_node(obj); + if(!obj) { return false; } + var tmp = this.get_type(obj, true); + if(tmp.max_depth === undefined) { tmp.max_depth = -1; } + if(tmp.max_children === undefined) { tmp.max_children = -1; } + if(tmp.valid_children === undefined) { tmp.valid_children = -1; } + return tmp; + }; + /** + * used to retrieve the type string or settings object for a node + * @name get_type(obj [, rules]) + * @param {mixed} obj the node to find the rules for + * @param {Boolean} rules if set to `true` instead of a string the settings object will be returned + * @return {String|Object} + * @plugin types + */ + this.get_type = function (obj, rules) { + obj = this.get_node(obj); + return (!obj) ? false : ( rules ? $.extend({ 'type' : obj.type }, this.settings.types[obj.type]) : obj.type); + }; + /** + * used to change a node's type + * @name set_type(obj, type) + * @param {mixed} obj the node to change + * @param {String} type the new type + * @plugin types + */ + this.set_type = function (obj, type) { + var m = this._model.data, t, t1, t2, old_type, old_icon, k, d, a; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.set_type(obj[t1], type); + } + return true; + } + t = this.settings.types; + obj = this.get_node(obj); + if(!t[type] || !obj) { return false; } + d = this.get_node(obj, true); + if (d && d.length) { + a = d.children('.jstree-anchor'); + } + old_type = obj.type; + old_icon = this.get_icon(obj); + obj.type = type; + if(old_icon === true || !t[old_type] || (t[old_type].icon !== undefined && old_icon === t[old_type].icon)) { + this.set_icon(obj, t[type].icon !== undefined ? t[type].icon : true); + } + + // remove old type props + if(t[old_type] && t[old_type].li_attr !== undefined && typeof t[old_type].li_attr === 'object') { + for (k in t[old_type].li_attr) { + if (t[old_type].li_attr.hasOwnProperty(k)) { + if (k === 'id') { + continue; + } + else if (k === 'class') { + m[obj.id].li_attr['class'] = (m[obj.id].li_attr['class'] || '').replace(t[old_type].li_attr[k], ''); + if (d) { d.removeClass(t[old_type].li_attr[k]); } + } + else if (m[obj.id].li_attr[k] === t[old_type].li_attr[k]) { + m[obj.id].li_attr[k] = null; + if (d) { d.removeAttr(k); } + } + } + } + } + if(t[old_type] && t[old_type].a_attr !== undefined && typeof t[old_type].a_attr === 'object') { + for (k in t[old_type].a_attr) { + if (t[old_type].a_attr.hasOwnProperty(k)) { + if (k === 'id') { + continue; + } + else if (k === 'class') { + m[obj.id].a_attr['class'] = (m[obj.id].a_attr['class'] || '').replace(t[old_type].a_attr[k], ''); + if (a) { a.removeClass(t[old_type].a_attr[k]); } + } + else if (m[obj.id].a_attr[k] === t[old_type].a_attr[k]) { + if (k === 'href') { + m[obj.id].a_attr[k] = '#'; + if (a) { a.attr('href', '#'); } + } + else { + delete m[obj.id].a_attr[k]; + if (a) { a.removeAttr(k); } + } + } + } + } + } + + // add new props + if(t[type].li_attr !== undefined && typeof t[type].li_attr === 'object') { + for (k in t[type].li_attr) { + if (t[type].li_attr.hasOwnProperty(k)) { + if (k === 'id') { + continue; + } + else if (m[obj.id].li_attr[k] === undefined) { + m[obj.id].li_attr[k] = t[type].li_attr[k]; + if (d) { + if (k === 'class') { + d.addClass(t[type].li_attr[k]); + } + else { + d.attr(k, t[type].li_attr[k]); + } + } + } + else if (k === 'class') { + m[obj.id].li_attr['class'] = t[type].li_attr[k] + ' ' + m[obj.id].li_attr['class']; + if (d) { d.addClass(t[type].li_attr[k]); } + } + } + } + } + if(t[type].a_attr !== undefined && typeof t[type].a_attr === 'object') { + for (k in t[type].a_attr) { + if (t[type].a_attr.hasOwnProperty(k)) { + if (k === 'id') { + continue; + } + else if (m[obj.id].a_attr[k] === undefined) { + m[obj.id].a_attr[k] = t[type].a_attr[k]; + if (a) { + if (k === 'class') { + a.addClass(t[type].a_attr[k]); + } + else { + a.attr(k, t[type].a_attr[k]); + } + } + } + else if (k === 'href' && m[obj.id].a_attr[k] === '#') { + m[obj.id].a_attr['href'] = t[type].a_attr['href']; + if (a) { a.attr('href', t[type].a_attr['href']); } + } + else if (k === 'class') { + m[obj.id].a_attr['class'] = t[type].a_attr['class'] + ' ' + m[obj.id].a_attr['class']; + if (a) { a.addClass(t[type].a_attr[k]); } + } + } + } + } + + return true; + }; + }; + // include the types plugin by default + // $.jstree.defaults.plugins.push("types"); + + +/** + * ### Unique plugin + * + * Enforces that no nodes with the same name can coexist as siblings. + */ + + /** + * stores all defaults for the unique plugin + * @name $.jstree.defaults.unique + * @plugin unique + */ + $.jstree.defaults.unique = { + /** + * Indicates if the comparison should be case sensitive. Default is `false`. + * @name $.jstree.defaults.unique.case_sensitive + * @plugin unique + */ + case_sensitive : false, + /** + * A callback executed in the instance's scope when a new node is created and the name is already taken, the two arguments are the conflicting name and the counter. The default will produce results like `New node (2)`. + * @name $.jstree.defaults.unique.duplicate + * @plugin unique + */ + duplicate : function (name, counter) { + return name + ' (' + counter + ')'; + } + }; + + $.jstree.plugins.unique = function (options, parent) { + this.check = function (chk, obj, par, pos, more) { + if(parent.check.call(this, chk, obj, par, pos, more) === false) { return false; } + obj = obj && obj.id ? obj : this.get_node(obj); + par = par && par.id ? par : this.get_node(par); + if(!par || !par.children) { return true; } + var n = chk === "rename_node" ? pos : obj.text, + c = [], + s = this.settings.unique.case_sensitive, + m = this._model.data, i, j; + for(i = 0, j = par.children.length; i < j; i++) { + c.push(s ? m[par.children[i]].text : m[par.children[i]].text.toLowerCase()); + } + if(!s) { n = n.toLowerCase(); } + switch(chk) { + case "delete_node": + return true; + case "rename_node": + i = ($.inArray(n, c) === -1 || (obj.text && obj.text[ s ? 'toString' : 'toLowerCase']() === n)); + if(!i) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'unique', 'id' : 'unique_01', 'reason' : 'Child with name ' + n + ' already exists. Preventing: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + } + return i; + case "create_node": + i = ($.inArray(n, c) === -1); + if(!i) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'unique', 'id' : 'unique_04', 'reason' : 'Child with name ' + n + ' already exists. Preventing: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + } + return i; + case "copy_node": + i = ($.inArray(n, c) === -1); + if(!i) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'unique', 'id' : 'unique_02', 'reason' : 'Child with name ' + n + ' already exists. Preventing: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + } + return i; + case "move_node": + i = ( (obj.parent === par.id && (!more || !more.is_multi)) || $.inArray(n, c) === -1); + if(!i) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'unique', 'id' : 'unique_03', 'reason' : 'Child with name ' + n + ' already exists. Preventing: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + } + return i; + } + return true; + }; + this.create_node = function (par, node, pos, callback, is_loaded) { + if(!node || node.text === undefined) { + if(par === null) { + par = $.jstree.root; + } + par = this.get_node(par); + if(!par) { + return parent.create_node.call(this, par, node, pos, callback, is_loaded); + } + pos = pos === undefined ? "last" : pos; + if(!pos.toString().match(/^(before|after)$/) && !is_loaded && !this.is_loaded(par)) { + return parent.create_node.call(this, par, node, pos, callback, is_loaded); + } + if(!node) { node = {}; } + var tmp, n, dpc, i, j, m = this._model.data, s = this.settings.unique.case_sensitive, cb = this.settings.unique.duplicate; + n = tmp = this.get_string('New node'); + dpc = []; + for(i = 0, j = par.children.length; i < j; i++) { + dpc.push(s ? m[par.children[i]].text : m[par.children[i]].text.toLowerCase()); + } + i = 1; + while($.inArray(s ? n : n.toLowerCase(), dpc) !== -1) { + n = cb.call(this, tmp, (++i)).toString(); + } + node.text = n; + } + return parent.create_node.call(this, par, node, pos, callback, is_loaded); + }; + }; + + // include the unique plugin by default + // $.jstree.defaults.plugins.push("unique"); + + +/** + * ### Wholerow plugin + * + * Makes each node appear block level. Making selection easier. May cause slow down for large trees in old browsers. + */ + + var div = document.createElement('DIV'); + div.setAttribute('unselectable','on'); + div.setAttribute('role','presentation'); + div.className = 'jstree-wholerow'; + div.innerHTML = ' '; + $.jstree.plugins.wholerow = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + + this.element + .on('ready.jstree set_state.jstree', $.proxy(function () { + this.hide_dots(); + }, this)) + .on("init.jstree loading.jstree ready.jstree", $.proxy(function () { + //div.style.height = this._data.core.li_height + 'px'; + this.get_container_ul().addClass('jstree-wholerow-ul'); + }, this)) + .on("deselect_all.jstree", $.proxy(function (e, data) { + this.element.find('.jstree-wholerow-clicked').removeClass('jstree-wholerow-clicked'); + }, this)) + .on("changed.jstree", $.proxy(function (e, data) { + this.element.find('.jstree-wholerow-clicked').removeClass('jstree-wholerow-clicked'); + var tmp = false, i, j; + for(i = 0, j = data.selected.length; i < j; i++) { + tmp = this.get_node(data.selected[i], true); + if(tmp && tmp.length) { + tmp.children('.jstree-wholerow').addClass('jstree-wholerow-clicked'); + } + } + }, this)) + .on("open_node.jstree", $.proxy(function (e, data) { + this.get_node(data.node, true).find('.jstree-clicked').parent().children('.jstree-wholerow').addClass('jstree-wholerow-clicked'); + }, this)) + .on("hover_node.jstree dehover_node.jstree", $.proxy(function (e, data) { + if(e.type === "hover_node" && this.is_disabled(data.node)) { return; } + this.get_node(data.node, true).children('.jstree-wholerow')[e.type === "hover_node"?"addClass":"removeClass"]('jstree-wholerow-hovered'); + }, this)) + .on("contextmenu.jstree", ".jstree-wholerow", $.proxy(function (e) { + if (this._data.contextmenu) { + e.preventDefault(); + var tmp = $.Event('contextmenu', { metaKey : e.metaKey, ctrlKey : e.ctrlKey, altKey : e.altKey, shiftKey : e.shiftKey, pageX : e.pageX, pageY : e.pageY }); + $(e.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(tmp); + } + }, this)) + /*! + .on("mousedown.jstree touchstart.jstree", ".jstree-wholerow", function (e) { + if(e.target === e.currentTarget) { + var a = $(e.currentTarget).closest(".jstree-node").children(".jstree-anchor"); + e.target = a[0]; + a.trigger(e); + } + }) + */ + .on("click.jstree", ".jstree-wholerow", function (e) { + e.stopImmediatePropagation(); + var tmp = $.Event('click', { metaKey : e.metaKey, ctrlKey : e.ctrlKey, altKey : e.altKey, shiftKey : e.shiftKey }); + $(e.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(tmp).focus(); + }) + .on("dblclick.jstree", ".jstree-wholerow", function (e) { + e.stopImmediatePropagation(); + var tmp = $.Event('dblclick', { metaKey : e.metaKey, ctrlKey : e.ctrlKey, altKey : e.altKey, shiftKey : e.shiftKey }); + $(e.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(tmp).focus(); + }) + .on("click.jstree", ".jstree-leaf > .jstree-ocl", $.proxy(function (e) { + e.stopImmediatePropagation(); + var tmp = $.Event('click', { metaKey : e.metaKey, ctrlKey : e.ctrlKey, altKey : e.altKey, shiftKey : e.shiftKey }); + $(e.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(tmp).focus(); + }, this)) + .on("mouseover.jstree", ".jstree-wholerow, .jstree-icon", $.proxy(function (e) { + e.stopImmediatePropagation(); + if(!this.is_disabled(e.currentTarget)) { + this.hover_node(e.currentTarget); + } + return false; + }, this)) + .on("mouseleave.jstree", ".jstree-node", $.proxy(function (e) { + this.dehover_node(e.currentTarget); + }, this)); + }; + this.teardown = function () { + if(this.settings.wholerow) { + this.element.find(".jstree-wholerow").remove(); + } + parent.teardown.call(this); + }; + this.redraw_node = function(obj, deep, callback, force_render) { + obj = parent.redraw_node.apply(this, arguments); + if(obj) { + var tmp = div.cloneNode(true); + //tmp.style.height = this._data.core.li_height + 'px'; + if($.inArray(obj.id, this._data.core.selected) !== -1) { tmp.className += ' jstree-wholerow-clicked'; } + if(this._data.core.focused && this._data.core.focused === obj.id) { tmp.className += ' jstree-wholerow-hovered'; } + obj.insertBefore(tmp, obj.childNodes[0]); + } + return obj; + }; + }; + // include the wholerow plugin by default + // $.jstree.defaults.plugins.push("wholerow"); + if(document.registerElement && Object && Object.create) { + var proto = Object.create(HTMLElement.prototype); + proto.createdCallback = function () { + var c = { core : {}, plugins : [] }, i; + for(i in $.jstree.plugins) { + if($.jstree.plugins.hasOwnProperty(i) && this.attributes[i]) { + c.plugins.push(i); + if(this.getAttribute(i) && JSON.parse(this.getAttribute(i))) { + c[i] = JSON.parse(this.getAttribute(i)); + } + } + } + for(i in $.jstree.defaults.core) { + if($.jstree.defaults.core.hasOwnProperty(i) && this.attributes[i]) { + c.core[i] = JSON.parse(this.getAttribute(i)) || this.getAttribute(i); + } + } + $(this).jstree(c); + }; + // proto.attributeChangedCallback = function (name, previous, value) { }; + try { + document.registerElement("vakata-jstree", { prototype: proto }); + } catch(ignore) { } + } + +})); \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/jstree.min.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/jstree.min.js new file mode 100644 index 0000000000..24c420489e --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/jstree.min.js @@ -0,0 +1,6 @@ +/*! jsTree - v3.3.3 - 2016-10-31 - (MIT) */ +!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"!=typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a,b){"use strict";if(!a.jstree){var c=0,d=!1,e=!1,f=!1,g=[],h=a("script:last").attr("src"),i=window.document;a.jstree={version:"3.3.3",defaults:{plugins:[]},plugins:{},path:h&&-1!==h.indexOf("/")?h.replace(/\/[^\/]+$/,""):"",idregex:/[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%?`]/g,root:"#"},a.jstree.create=function(b,d){var e=new a.jstree.core(++c),f=d;return d=a.extend(!0,{},a.jstree.defaults,d),f&&f.plugins&&(d.plugins=f.plugins),a.each(d.plugins,function(a,b){"core"!==a&&(e=e.plugin(b,d[b]))}),a(b).data("jstree",e),e.init(b,d),e},a.jstree.destroy=function(){a(".jstree:jstree").jstree("destroy"),a(i).off(".jstree")},a.jstree.core=function(a){this._id=a,this._cnt=0,this._wrk=null,this._data={core:{themes:{name:!1,dots:!1,icons:!1,ellipsis:!1},selected:[],last_error:{},working:!1,worker_queue:[],focused:null}}},a.jstree.reference=function(b){var c=null,d=null;if(!b||!b.id||b.tagName&&b.nodeType||(b=b.id),!d||!d.length)try{d=a(b)}catch(e){}if(!d||!d.length)try{d=a("#"+b.replace(a.jstree.idregex,"\\$&"))}catch(e){}return d&&d.length&&(d=d.closest(".jstree")).length&&(d=d.data("jstree"))?c=d:a(".jstree").each(function(){var d=a(this).data("jstree");return d&&d._model.data[b]?(c=d,!1):void 0}),c},a.fn.jstree=function(c){var d="string"==typeof c,e=Array.prototype.slice.call(arguments,1),f=null;return c!==!0||this.length?(this.each(function(){var g=a.jstree.reference(this),h=d&&g?g[c]:null;return f=d&&h?h.apply(g,e):null,g||d||c!==b&&!a.isPlainObject(c)||a.jstree.create(this,c),(g&&!d||c===!0)&&(f=g||!1),null!==f&&f!==b?!1:void 0}),null!==f&&f!==b?f:this):!1},a.expr.pseudos.jstree=a.expr.createPseudo(function(c){return function(c){return a(c).hasClass("jstree")&&a(c).data("jstree")!==b}}),a.jstree.defaults.core={data:!1,strings:!1,check_callback:!1,error:a.noop,animation:200,multiple:!0,themes:{name:!1,url:!1,dir:!1,dots:!0,icons:!0,ellipsis:!1,stripes:!1,variant:!1,responsive:!1},expand_selected_onload:!0,worker:!0,force_text:!1,dblclick_toggle:!0},a.jstree.core.prototype={plugin:function(b,c){var d=a.jstree.plugins[b];return d?(this._data[b]={},d.prototype=this,new d(c,this)):this},init:function(b,c){this._model={data:{},changed:[],force_full_redraw:!1,redraw_timeout:!1,default_state:{loaded:!0,opened:!1,selected:!1,disabled:!1}},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this.element=a(b).addClass("jstree jstree-"+this._id),this.settings=c,this._data.core.ready=!1,this._data.core.loaded=!1,this._data.core.rtl="rtl"===this.element.css("direction"),this.element[this._data.core.rtl?"addClass":"removeClass"]("jstree-rtl"),this.element.attr("role","tree"),this.settings.core.multiple&&this.element.attr("aria-multiselectable",!0),this.element.attr("tabindex")||this.element.attr("tabindex","0"),this.bind(),this.trigger("init"),this._data.core.original_container_html=this.element.find(" > ul > li").clone(!0),this._data.core.original_container_html.find("li").addBack().contents().filter(function(){return 3===this.nodeType&&(!this.nodeValue||/^\s+$/.test(this.nodeValue))}).remove(),this.element.html(""),this.element.attr("aria-activedescendant","j"+this._id+"_loading"),this._data.core.li_height=this.get_container_ul().children("li").first().height()||24,this._data.core.node=this._create_prototype_node(),this.trigger("loading"),this.load_node(a.jstree.root)},destroy:function(a){if(this._wrk)try{window.URL.revokeObjectURL(this._wrk),this._wrk=null}catch(b){}a||this.element.empty(),this.teardown()},_create_prototype_node:function(){var a=i.createElement("LI"),b,c;return a.setAttribute("role","treeitem"),b=i.createElement("I"),b.className="jstree-icon jstree-ocl",b.setAttribute("role","presentation"),a.appendChild(b),b=i.createElement("A"),b.className="jstree-anchor",b.setAttribute("href","#"),b.setAttribute("tabindex","-1"),c=i.createElement("I"),c.className="jstree-icon jstree-themeicon",c.setAttribute("role","presentation"),b.appendChild(c),a.appendChild(b),b=c=null,a},teardown:function(){this.unbind(),this.element.removeClass("jstree").removeData("jstree").find("[class^='jstree']").addBack().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/gi,"")}),this.element=null},bind:function(){var b="",c=null,d=0;this.element.on("dblclick.jstree",function(a){if(a.target.tagName&&"input"===a.target.tagName.toLowerCase())return!0;if(i.selection&&i.selection.empty)i.selection.empty();else if(window.getSelection){var b=window.getSelection();try{b.removeAllRanges(),b.collapse()}catch(c){}}}).on("mousedown.jstree",a.proxy(function(a){a.target===this.element[0]&&(a.preventDefault(),d=+new Date)},this)).on("mousedown.jstree",".jstree-ocl",function(a){a.preventDefault()}).on("click.jstree",".jstree-ocl",a.proxy(function(a){this.toggle_node(a.target)},this)).on("dblclick.jstree",".jstree-anchor",a.proxy(function(a){return a.target.tagName&&"input"===a.target.tagName.toLowerCase()?!0:void(this.settings.core.dblclick_toggle&&this.toggle_node(a.target))},this)).on("click.jstree",".jstree-anchor",a.proxy(function(b){b.preventDefault(),b.currentTarget!==i.activeElement&&a(b.currentTarget).focus(),this.activate_node(b.currentTarget,b)},this)).on("keydown.jstree",".jstree-anchor",a.proxy(function(b){if(b.target.tagName&&"input"===b.target.tagName.toLowerCase())return!0;if(32!==b.which&&13!==b.which&&(b.shiftKey||b.ctrlKey||b.altKey||b.metaKey))return!0;var c=null;switch(this._data.core.rtl&&(37===b.which?b.which=39:39===b.which&&(b.which=37)),b.which){case 32:b.ctrlKey&&(b.type="click",a(b.currentTarget).trigger(b));break;case 13:b.type="click",a(b.currentTarget).trigger(b);break;case 37:b.preventDefault(),this.is_open(b.currentTarget)?this.close_node(b.currentTarget):(c=this.get_parent(b.currentTarget),c&&c.id!==a.jstree.root&&this.get_node(c,!0).children(".jstree-anchor").focus());break;case 38:b.preventDefault(),c=this.get_prev_dom(b.currentTarget),c&&c.length&&c.children(".jstree-anchor").focus();break;case 39:b.preventDefault(),this.is_closed(b.currentTarget)?this.open_node(b.currentTarget,function(a){this.get_node(a,!0).children(".jstree-anchor").focus()}):this.is_open(b.currentTarget)&&(c=this.get_node(b.currentTarget,!0).children(".jstree-children")[0],c&&a(this._firstChild(c)).children(".jstree-anchor").focus());break;case 40:b.preventDefault(),c=this.get_next_dom(b.currentTarget),c&&c.length&&c.children(".jstree-anchor").focus();break;case 106:this.open_all();break;case 36:b.preventDefault(),c=this._firstChild(this.get_container_ul()[0]),c&&a(c).children(".jstree-anchor").filter(":visible").focus();break;case 35:b.preventDefault(),this.element.find(".jstree-anchor").filter(":visible").last().focus();break;case 113:b.preventDefault(),this.edit(b.currentTarget)}},this)).on("load_node.jstree",a.proxy(function(b,c){c.status&&(c.node.id!==a.jstree.root||this._data.core.loaded||(this._data.core.loaded=!0,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.trigger("loaded")),this._data.core.ready||setTimeout(a.proxy(function(){if(this.element&&!this.get_container_ul().find(".jstree-loading").length){if(this._data.core.ready=!0,this._data.core.selected.length){if(this.settings.core.expand_selected_onload){var b=[],c,d;for(c=0,d=this._data.core.selected.length;d>c;c++)b=b.concat(this._model.data[this._data.core.selected[c]].parents);for(b=a.vakata.array_unique(b),c=0,d=b.length;d>c;c++)this.open_node(b[c],!1,0)}this.trigger("changed",{action:"ready",selected:this._data.core.selected})}this.trigger("ready")}},this),0))},this)).on("keypress.jstree",a.proxy(function(d){if(d.target.tagName&&"input"===d.target.tagName.toLowerCase())return!0;c&&clearTimeout(c),c=setTimeout(function(){b=""},500);var e=String.fromCharCode(d.which).toLowerCase(),f=this.element.find(".jstree-anchor").filter(":visible"),g=f.index(i.activeElement)||0,h=!1;if(b+=e,b.length>1){if(f.slice(g).each(a.proxy(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).focus(),h=!0,!1):void 0},this)),h)return;if(f.slice(0,g).each(a.proxy(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).focus(),h=!0,!1):void 0},this)),h)return}if(new RegExp("^"+e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")+"+$").test(b)){if(f.slice(g+1).each(a.proxy(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).focus(),h=!0,!1):void 0},this)),h)return;if(f.slice(0,g+1).each(a.proxy(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).focus(),h=!0,!1):void 0},this)),h)return}},this)).on("init.jstree",a.proxy(function(){var a=this.settings.core.themes;this._data.core.themes.dots=a.dots,this._data.core.themes.stripes=a.stripes,this._data.core.themes.icons=a.icons,this._data.core.themes.ellipsis=a.ellipsis,this.set_theme(a.name||"default",a.url),this.set_theme_variant(a.variant)},this)).on("loading.jstree",a.proxy(function(){this[this._data.core.themes.dots?"show_dots":"hide_dots"](),this[this._data.core.themes.icons?"show_icons":"hide_icons"](),this[this._data.core.themes.stripes?"show_stripes":"hide_stripes"](),this[this._data.core.themes.ellipsis?"show_ellipsis":"hide_ellipsis"]()},this)).on("blur.jstree",".jstree-anchor",a.proxy(function(b){this._data.core.focused=null,a(b.currentTarget).filter(".jstree-hovered").mouseleave(),this.element.attr("tabindex","0")},this)).on("focus.jstree",".jstree-anchor",a.proxy(function(b){var c=this.get_node(b.currentTarget);c&&c.id&&(this._data.core.focused=c.id),this.element.find(".jstree-hovered").not(b.currentTarget).mouseleave(),a(b.currentTarget).mouseenter(),this.element.attr("tabindex","-1")},this)).on("focus.jstree",a.proxy(function(){if(+new Date-d>500&&!this._data.core.focused){d=0;var a=this.get_node(this.element.attr("aria-activedescendant"),!0);a&&a.find("> .jstree-anchor").focus()}},this)).on("mouseenter.jstree",".jstree-anchor",a.proxy(function(a){this.hover_node(a.currentTarget)},this)).on("mouseleave.jstree",".jstree-anchor",a.proxy(function(a){this.dehover_node(a.currentTarget)},this))},unbind:function(){this.element.off(".jstree"),a(i).off(".jstree-"+this._id)},trigger:function(a,b){b||(b={}),b.instance=this,this.element.triggerHandler(a.replace(".jstree","")+".jstree",b)},get_container:function(){return this.element},get_container_ul:function(){return this.element.children(".jstree-children").first()},get_string:function(b){var c=this.settings.core.strings;return a.isFunction(c)?c.call(this,b):c&&c[b]?c[b]:b},_firstChild:function(a){a=a?a.firstChild:null;while(null!==a&&1!==a.nodeType)a=a.nextSibling;return a},_nextSibling:function(a){a=a?a.nextSibling:null;while(null!==a&&1!==a.nodeType)a=a.nextSibling;return a},_previousSibling:function(a){a=a?a.previousSibling:null;while(null!==a&&1!==a.nodeType)a=a.previousSibling;return a},get_node:function(b,c){b&&b.id&&(b=b.id);var d;try{if(this._model.data[b])b=this._model.data[b];else if("string"==typeof b&&this._model.data[b.replace(/^#/,"")])b=this._model.data[b.replace(/^#/,"")];else if("string"==typeof b&&(d=a("#"+b.replace(a.jstree.idregex,"\\$&"),this.element)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else if((d=a(b,this.element)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else{if(!(d=a(b,this.element)).length||!d.hasClass("jstree"))return!1;b=this._model.data[a.jstree.root]}return c&&(b=b.id===a.jstree.root?this.element:a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)),b}catch(e){return!1}},get_path:function(b,c,d){if(b=b.parents?b:this.get_node(b),!b||b.id===a.jstree.root||!b.parents)return!1;var e,f,g=[];for(g.push(d?b.id:b.text),e=0,f=b.parents.length;f>e;e++)g.push(d?b.parents[e]:this.get_text(b.parents[e]));return g=g.reverse().slice(1),c?g.join(c):g},get_next_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){d=this._firstChild(this.get_container_ul()[0]);while(d&&0===d.offsetHeight)d=this._nextSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}if(b.hasClass("jstree-open")){d=this._firstChild(b.children(".jstree-children")[0]);while(d&&0===d.offsetHeight)d=this._nextSibling(d);if(null!==d)return a(d)}d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return null!==d?a(d):b.parentsUntil(".jstree",".jstree-node").nextAll(".jstree-node:visible").first()},get_prev_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){d=this.get_container_ul()[0].lastChild;while(d&&0===d.offsetHeight)d=this._previousSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);if(null!==d){b=a(d);while(b.hasClass("jstree-open"))b=b.children(".jstree-children").first().children(".jstree-node:visible:last");return b}return d=b[0].parentNode.parentNode,d&&d.className&&-1!==d.className.indexOf("jstree-node")?a(d):!1},get_parent:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.parent:!1},get_children_dom:function(a){return a=this.get_node(a,!0),a[0]===this.element[0]?this.get_container_ul().children(".jstree-node"):a&&a.length?a.children(".jstree-children").children(".jstree-node"):!1},is_parent:function(a){return a=this.get_node(a),a&&(a.state.loaded===!1||a.children.length>0)},is_loaded:function(a){return a=this.get_node(a),a&&a.state.loaded},is_loading:function(a){return a=this.get_node(a),a&&a.state&&a.state.loading},is_open:function(a){return a=this.get_node(a),a&&a.state.opened},is_closed:function(a){return a=this.get_node(a),a&&this.is_parent(a)&&!a.state.opened},is_leaf:function(a){return!this.is_parent(a)},load_node:function(b,c){var d,e,f,g,h;if(a.isArray(b))return this._load_nodes(b.slice(),c),!0;if(b=this.get_node(b),!b)return c&&c.call(this,b,!1),!1;if(b.state.loaded){for(b.state.loaded=!1,f=0,g=b.parents.length;g>f;f++)this._model.data[b.parents[f]].children_d=a.vakata.array_filter(this._model.data[b.parents[f]].children_d,function(c){return-1===a.inArray(c,b.children_d)});for(d=0,e=b.children_d.length;e>d;d++)this._model.data[b.children_d[d]].state.selected&&(h=!0),delete this._model.data[b.children_d[d]];h&&(this._data.core.selected=a.vakata.array_filter(this._data.core.selected,function(c){return-1===a.inArray(c,b.children_d)})),b.children=[],b.children_d=[],h&&this.trigger("changed",{action:"load_node",node:b,selected:this._data.core.selected})}return b.state.failed=!1,b.state.loading=!0,this.get_node(b,!0).addClass("jstree-loading").attr("aria-busy",!0),this._load_node(b,a.proxy(function(a){b=this._model.data[b.id],b.state.loading=!1,b.state.loaded=a,b.state.failed=!b.state.loaded;var d=this.get_node(b,!0),e=0,f=0,g=this._model.data,h=!1;for(e=0,f=b.children.length;f>e;e++)if(g[b.children[e]]&&!g[b.children[e]].state.hidden){h=!0;break}b.state.loaded&&d&&d.length&&(d.removeClass("jstree-closed jstree-open jstree-leaf"),h?"#"!==b.id&&d.addClass(b.state.opened?"jstree-open":"jstree-closed"):d.addClass("jstree-leaf")),d.removeClass("jstree-loading").attr("aria-busy",!1),this.trigger("load_node",{node:b,status:a}),c&&c.call(this,b,a)},this)),!0},_load_nodes:function(a,b,c,d){var e=!0,f=function(){this._load_nodes(a,b,!0)},g=this._model.data,h,i,j=[];for(h=0,i=a.length;i>h;h++)g[a[h]]&&(!g[a[h]].state.loaded&&!g[a[h]].state.failed||!c&&d)&&(this.is_loading(a[h])||this.load_node(a[h],f),e=!1);if(e){for(h=0,i=a.length;i>h;h++)g[a[h]]&&g[a[h]].state.loaded&&j.push(a[h]);b&&!b.done&&(b.call(this,j),b.done=!0)}},load_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d=[],e=this._model.data,f=e[b.id].children_d,g,h;for(b.state&&!b.state.loaded&&d.push(b.id),g=0,h=f.length;h>g;g++)e[f[g]]&&e[f[g]].state&&!e[f[g]].state.loaded&&d.push(f[g]);d.length?this._load_nodes(d,function(){this.load_all(b,c)}):(c&&c.call(this,b),this.trigger("load_all",{node:b}))},_load_node:function(b,c){var d=this.settings.core.data,e,f=function g(){return 3!==this.nodeType&&8!==this.nodeType};return d?a.isFunction(d)?d.call(this,b,a.proxy(function(d){d===!1?c.call(this,!1):this["string"==typeof d?"_append_html_data":"_append_json_data"](b,"string"==typeof d?a(a.parseHTML(d)).filter(f):d,function(a){c.call(this,a)})},this)):"object"==typeof d?d.url?(d=a.extend(!0,{},d),a.isFunction(d.url)&&(d.url=d.url.call(this,b)),a.isFunction(d.data)&&(d.data=d.data.call(this,b)),a.ajax(d).done(a.proxy(function(d,e,g){var h=g.getResponseHeader("Content-Type");return h&&-1!==h.indexOf("json")||"object"==typeof d?this._append_json_data(b,d,function(a){c.call(this,a)}):h&&-1!==h.indexOf("html")||"string"==typeof d?this._append_html_data(b,a(a.parseHTML(d)).filter(f),function(a){c.call(this,a)}):(this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:g})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))},this)).fail(a.proxy(function(a){c.call(this,!1),this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:a})},this.settings.core.error.call(this,this._data.core.last_error)},this))):(e=a.isArray(d)||a.isPlainObject(d)?JSON.parse(JSON.stringify(d)):d,b.id===a.jstree.root?this._append_json_data(b,e,function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_05",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))):"string"==typeof d?b.id===a.jstree.root?this._append_html_data(b,a(a.parseHTML(d)).filter(f),function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_06",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1)):c.call(this,!1):b.id===a.jstree.root?this._append_html_data(b,this._data.core.original_container_html.clone(!0),function(a){c.call(this,a)}):c.call(this,!1)},_node_changed:function(a){a=this.get_node(a),a&&this._model.changed.push(a.id)},_append_html_data:function(b,c,d){b=this.get_node(b),b.children=[],b.children_d=[];var e=c.is("ul")?c.children():c,f=b.id,g=[],h=[],i=this._model.data,j=i[f],k=this._data.core.selected.length,l,m,n;for(e.each(a.proxy(function(b,c){l=this._parse_model_from_html(a(c),f,j.parents.concat()),l&&(g.push(l),h.push(l),i[l].children_d.length&&(h=h.concat(i[l].children_d)))},this)),j.children=g,j.children_d=h,m=0,n=j.parents.length;n>m;m++)i[j.parents[m]].children_d=i[j.parents[m]].children_d.concat(h);this.trigger("model",{nodes:h,parent:f}),f!==a.jstree.root?(this._node_changed(f),this.redraw()):(this.get_container_ul().children(".jstree-initial-node").remove(),this.redraw(!0)),this._data.core.selected.length!==k&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)},_append_json_data:function(b,c,d,e){if(null!==this.element){b=this.get_node(b),b.children=[],b.children_d=[],c.d&&(c=c.d,"string"==typeof c&&(c=JSON.parse(c))),a.isArray(c)||(c=[c]);var f=null,g={df:this._model.default_state,dat:c,par:b.id,m:this._model.data,t_id:this._id,t_cnt:this._cnt,sel:this._data.core.selected},h=function(a,b){a.data&&(a=a.data);var c=a.dat,d=a.par,e=[],f=[],g=[],h=a.df,i=a.t_id,j=a.t_cnt,k=a.m,l=k[d],m=a.sel,n,o,p,q,r=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=a.id.toString(),f,i,j,l,m={id:e,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in h)h.hasOwnProperty(f)&&(m.state[f]=h[f]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(m.icon=a.data.jstree.icon),(m.icon===b||null===m.icon||""===m.icon)&&(m.icon=!0),a&&a.data&&(m.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(m.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(m.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(m.li_attr[f]=a.li_attr[f]);if(m.li_attr.id||(m.li_attr.id=e),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(m.a_attr[f]=a.a_attr[f]);for(a&&a.children&&a.children===!0&&(m.state.loaded=!1,m.children=[],m.children_d=[]),k[m.id]=m,f=0,i=m.children.length;i>f;f++)j=r(k[m.children[f]],m.id,d),l=k[j],m.children_d.push(j),l.children_d.length&&(m.children_d=m.children_d.concat(l.children_d));return delete a.data,delete a.children,k[m.id].original=a,m.state.selected&&g.push(m.id),m.id},s=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=!1,f,l,m,n,o;do e="j"+i+"_"+ ++j;while(k[e]);o={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in h)h.hasOwnProperty(f)&&(o.state[f]=h[f]);if(a&&a.id&&(o.id=a.id.toString()),a&&a.text&&(o.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(o.icon=a.data.jstree.icon),(o.icon===b||null===o.icon||""===o.icon)&&(o.icon=!0),a&&a.data&&(o.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(o.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(o.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(o.li_attr[f]=a.li_attr[f]);if(o.li_attr.id&&!o.id&&(o.id=o.li_attr.id.toString()),o.id||(o.id=e),o.li_attr.id||(o.li_attr.id=o.id),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(o.a_attr[f]=a.a_attr[f]);if(a&&a.children&&a.children.length){for(f=0,l=a.children.length;l>f;f++)m=s(a.children[f],o.id,d),n=k[m],o.children.push(m),n.children_d.length&&(o.children_d=o.children_d.concat(n.children_d));o.children_d=o.children_d.concat(o.children)}return a&&a.children&&a.children===!0&&(o.state.loaded=!1,o.children=[],o.children_d=[]),delete a.data,delete a.children,o.original=a,k[o.id]=o,o.state.selected&&g.push(o.id),o.id};if(c.length&&c[0].id!==b&&c[0].parent!==b){for(o=0,p=c.length;p>o;o++)c[o].children||(c[o].children=[]),k[c[o].id.toString()]=c[o];for(o=0,p=c.length;p>o;o++)k[c[o].parent.toString()].children.push(c[o].id.toString()),l.children_d.push(c[o].id.toString());for(o=0,p=l.children.length;p>o;o++)n=r(k[l.children[o]],d,l.parents.concat()),f.push(n),k[n].children_d.length&&(f=f.concat(k[n].children_d));for(o=0,p=l.parents.length;p>o;o++)k[l.parents[o]].children_d=k[l.parents[o]].children_d.concat(f);q={cnt:j,mod:k,sel:m,par:d,dpc:f,add:g}}else{for(o=0,p=c.length;p>o;o++)n=s(c[o],d,l.parents.concat()),n&&(e.push(n),f.push(n),k[n].children_d.length&&(f=f.concat(k[n].children_d)));for(l.children=e,l.children_d=f,o=0,p=l.parents.length;p>o;o++)k[l.parents[o]].children_d=k[l.parents[o]].children_d.concat(f);q={cnt:j,mod:k,sel:m,par:d,dpc:f,add:g}}return"undefined"!=typeof window&&"undefined"!=typeof window.document?q:void postMessage(q)},i=function(b,c){if(null!==this.element){this._cnt=b.cnt;var e,f=this._model.data;for(e in f)f.hasOwnProperty(e)&&f[e].state&&f[e].state.loading&&b.mod[e]&&(b.mod[e].state.loading=!0);if(this._model.data=b.mod,c){var g,h=b.add,i=b.sel,j=this._data.core.selected.slice();if(f=this._model.data,i.length!==j.length||a.vakata.array_unique(i.concat(j)).length!==i.length){for(e=0,g=i.length;g>e;e++)-1===a.inArray(i[e],h)&&-1===a.inArray(i[e],j)&&(f[i[e]].state.selected=!1);for(e=0,g=j.length;g>e;e++)-1===a.inArray(j[e],i)&&(f[j[e]].state.selected=!0)}}b.add.length&&(this._data.core.selected=this._data.core.selected.concat(b.add)),this.trigger("model",{nodes:b.dpc,parent:b.par}),b.par!==a.jstree.root?(this._node_changed(b.par),this.redraw()):this.redraw(!0),b.add.length&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)}};if(this.settings.core.worker&&window.Blob&&window.URL&&window.Worker)try{null===this._wrk&&(this._wrk=window.URL.createObjectURL(new window.Blob(["self.onmessage = "+h.toString()],{type:"text/javascript"}))),!this._data.core.working||e?(this._data.core.working=!0,f=new window.Worker(this._wrk),f.onmessage=a.proxy(function(a){i.call(this,a.data,!0);try{f.terminate(),f=null}catch(b){}this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1},this),g.par?f.postMessage(g):this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1):this._data.core.worker_queue.push([b,c,d,!0])}catch(j){i.call(this,h(g),!1),this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1}else i.call(this,h(g),!1)}},_parse_model_from_html:function(c,d,e){e=e?[].concat(e):[],d&&e.unshift(d);var f,g,h=this._model.data,i={id:!1,text:!1,icon:!0,parent:d,parents:e,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1},j,k,l;for(j in this._model.default_state)this._model.default_state.hasOwnProperty(j)&&(i.state[j]=this._model.default_state[j]);if(k=a.vakata.attributes(c,!0),a.each(k,function(b,c){return c=a.trim(c),c.length?(i.li_attr[b]=c,void("id"===b&&(i.id=c.toString()))):!0}),k=c.children("a").first(),k.length&&(k=a.vakata.attributes(k,!0),a.each(k,function(b,c){c=a.trim(c),c.length&&(i.a_attr[b]=c)})),k=c.children("a").first().length?c.children("a").first().clone():c.clone(),k.children("ins, i, ul").remove(),k=k.html(),k=a("
      ").html(k),i.text=this.settings.core.force_text?k.text():k.html(),k=c.data(),i.data=k?a.extend(!0,{},k):null,i.state.opened=c.hasClass("jstree-open"),i.state.selected=c.children("a").hasClass("jstree-clicked"),i.state.disabled=c.children("a").hasClass("jstree-disabled"),i.data&&i.data.jstree)for(j in i.data.jstree)i.data.jstree.hasOwnProperty(j)&&(i.state[j]=i.data.jstree[j]);k=c.children("a").children(".jstree-themeicon"),k.length&&(i.icon=k.hasClass("jstree-themeicon-hidden")?!1:k.attr("rel")),i.state.icon!==b&&(i.icon=i.state.icon),(i.icon===b||null===i.icon||""===i.icon)&&(i.icon=!0),k=c.children("ul").children("li");do l="j"+this._id+"_"+ ++this._cnt;while(h[l]);return i.id=i.li_attr.id?i.li_attr.id.toString():l,k.length?(k.each(a.proxy(function(b,c){f=this._parse_model_from_html(a(c),i.id,e),g=this._model.data[f],i.children.push(f),g.children_d.length&&(i.children_d=i.children_d.concat(g.children_d))},this)),i.children_d=i.children_d.concat(i.children)):c.hasClass("jstree-closed")&&(i.state.loaded=!1),i.li_attr["class"]&&(i.li_attr["class"]=i.li_attr["class"].replace("jstree-closed","").replace("jstree-open","")),i.a_attr["class"]&&(i.a_attr["class"]=i.a_attr["class"].replace("jstree-clicked","").replace("jstree-disabled","")),h[i.id]=i,i.state.selected&&this._data.core.selected.push(i.id),i.id},_parse_model_from_flat_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=a.id.toString(),f=this._model.data,g=this._model.default_state,h,i,j,k,l={id:e,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(h in g)g.hasOwnProperty(h)&&(l.state[h]=g[h]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(l.icon=a.data.jstree.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0),a&&a.data&&(l.data=a.data,a.data.jstree))for(h in a.data.jstree)a.data.jstree.hasOwnProperty(h)&&(l.state[h]=a.data.jstree[h]);if(a&&"object"==typeof a.state)for(h in a.state)a.state.hasOwnProperty(h)&&(l.state[h]=a.state[h]);if(a&&"object"==typeof a.li_attr)for(h in a.li_attr)a.li_attr.hasOwnProperty(h)&&(l.li_attr[h]=a.li_attr[h]);if(l.li_attr.id||(l.li_attr.id=e),a&&"object"==typeof a.a_attr)for(h in a.a_attr)a.a_attr.hasOwnProperty(h)&&(l.a_attr[h]=a.a_attr[h]);for(a&&a.children&&a.children===!0&&(l.state.loaded=!1,l.children=[],l.children_d=[]),f[l.id]=l,h=0,i=l.children.length;i>h;h++)j=this._parse_model_from_flat_json(f[l.children[h]],l.id,d),k=f[j],l.children_d.push(j),k.children_d.length&&(l.children_d=l.children_d.concat(k.children_d));return delete a.data,delete a.children,f[l.id].original=a,l.state.selected&&this._data.core.selected.push(l.id),l.id},_parse_model_from_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=!1,f,g,h,i,j=this._model.data,k=this._model.default_state,l;do e="j"+this._id+"_"+ ++this._cnt;while(j[e]);l={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in k)k.hasOwnProperty(f)&&(l.state[f]=k[f]);if(a&&a.id&&(l.id=a.id.toString()),a&&a.text&&(l.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(l.icon=a.data.jstree.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0),a&&a.data&&(l.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(l.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(l.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(l.li_attr[f]=a.li_attr[f]);if(l.li_attr.id&&!l.id&&(l.id=l.li_attr.id.toString()),l.id||(l.id=e),l.li_attr.id||(l.li_attr.id=l.id),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(l.a_attr[f]=a.a_attr[f]);if(a&&a.children&&a.children.length){for(f=0,g=a.children.length;g>f;f++)h=this._parse_model_from_json(a.children[f],l.id,d),i=j[h],l.children.push(h),i.children_d.length&&(l.children_d=l.children_d.concat(i.children_d));l.children_d=l.children_d.concat(l.children)}return a&&a.children&&a.children===!0&&(l.state.loaded=!1,l.children=[],l.children_d=[]),delete a.data,delete a.children,l.original=a,j[l.id]=l,l.state.selected&&this._data.core.selected.push(l.id),l.id},_redraw:function(){var b=this._model.force_full_redraw?this._model.data[a.jstree.root].children.concat([]):this._model.changed.concat([]),c=i.createElement("UL"),d,e,f,g=this._data.core.focused;for(e=0,f=b.length;f>e;e++)d=this.redraw_node(b[e],!0,this._model.force_full_redraw),d&&this._model.force_full_redraw&&c.appendChild(d);this._model.force_full_redraw&&(c.className=this.get_container_ul()[0].className,c.setAttribute("role","group"),this.element.empty().append(c)),null!==g&&(d=this.get_node(g,!0),d&&d.length&&d.children(".jstree-anchor")[0]!==i.activeElement?d.children(".jstree-anchor").focus():this._data.core.focused=null),this._model.force_full_redraw=!1,this._model.changed=[],this.trigger("redraw",{nodes:b})},redraw:function(a){a&&(this._model.force_full_redraw=!0),this._redraw()},draw_children:function(b){var c=this.get_node(b),d=!1,e=!1,f=!1,g=i;if(!c)return!1;if(c.id===a.jstree.root)return this.redraw(!0);if(b=this.get_node(b,!0),!b||!b.length)return!1;if(b.children(".jstree-children").remove(),b=b[0],c.children.length&&c.state.loaded){for(f=g.createElement("UL"),f.setAttribute("role","group"),f.className="jstree-children",d=0,e=c.children.length;e>d;d++)f.appendChild(this.redraw_node(c.children[d],!0,!0));b.appendChild(f)}},redraw_node:function(b,c,d,e){var f=this.get_node(b),g=!1,h=!1,j=!1,k=!1,l=!1,m=!1,n="",o=i,p=this._model.data,q=!1,r=!1,s=null,t=0,u=0,v=!1,w=!1; +if(!f)return!1;if(f.id===a.jstree.root)return this.redraw(!0);if(c=c||0===f.children.length,b=i.querySelector?this.element[0].querySelector("#"+(-1!=="0123456789".indexOf(f.id[0])?"\\3"+f.id[0]+" "+f.id.substr(1).replace(a.jstree.idregex,"\\$&"):f.id.replace(a.jstree.idregex,"\\$&"))):i.getElementById(f.id))b=a(b),d||(g=b.parent().parent()[0],g===this.element[0]&&(g=null),h=b.index()),c||!f.children.length||b.children(".jstree-children").length||(c=!0),c||(j=b.children(".jstree-children")[0]),q=b.children(".jstree-anchor")[0]===i.activeElement,b.remove();else if(c=!0,!d){if(g=f.parent!==a.jstree.root?a("#"+f.parent.replace(a.jstree.idregex,"\\$&"),this.element)[0]:null,!(null===g||g&&p[f.parent].state.opened))return!1;h=a.inArray(f.id,null===g?p[a.jstree.root].children:p[f.parent].children)}b=this._data.core.node.cloneNode(!0),n="jstree-node ";for(k in f.li_attr)if(f.li_attr.hasOwnProperty(k)){if("id"===k)continue;"class"!==k?b.setAttribute(k,f.li_attr[k]):n+=f.li_attr[k]}for(f.a_attr.id||(f.a_attr.id=f.id+"_anchor"),b.setAttribute("aria-selected",!!f.state.selected),b.setAttribute("aria-level",f.parents.length),b.setAttribute("aria-labelledby",f.a_attr.id),f.state.disabled&&b.setAttribute("aria-disabled",!0),k=0,l=f.children.length;l>k;k++)if(!p[f.children[k]].state.hidden){v=!0;break}if(null!==f.parent&&p[f.parent]&&!f.state.hidden&&(k=a.inArray(f.id,p[f.parent].children),w=f.id,-1!==k))for(k++,l=p[f.parent].children.length;l>k;k++)if(p[p[f.parent].children[k]].state.hidden||(w=p[f.parent].children[k]),w!==f.id)break;f.state.hidden&&(n+=" jstree-hidden"),f.state.loaded&&!v?n+=" jstree-leaf":(n+=f.state.opened&&f.state.loaded?" jstree-open":" jstree-closed",b.setAttribute("aria-expanded",f.state.opened&&f.state.loaded)),w===f.id&&(n+=" jstree-last"),b.id=f.id,b.className=n,n=(f.state.selected?" jstree-clicked":"")+(f.state.disabled?" jstree-disabled":"");for(l in f.a_attr)if(f.a_attr.hasOwnProperty(l)){if("href"===l&&"#"===f.a_attr[l])continue;"class"!==l?b.childNodes[1].setAttribute(l,f.a_attr[l]):n+=" "+f.a_attr[l]}if(n.length&&(b.childNodes[1].className="jstree-anchor "+n),(f.icon&&f.icon!==!0||f.icon===!1)&&(f.icon===!1?b.childNodes[1].childNodes[0].className+=" jstree-themeicon-hidden":-1===f.icon.indexOf("/")&&-1===f.icon.indexOf(".")?b.childNodes[1].childNodes[0].className+=" "+f.icon+" jstree-themeicon-custom":(b.childNodes[1].childNodes[0].style.backgroundImage='url("'+f.icon+'")',b.childNodes[1].childNodes[0].style.backgroundPosition="center center",b.childNodes[1].childNodes[0].style.backgroundSize="auto",b.childNodes[1].childNodes[0].className+=" jstree-themeicon-custom")),this.settings.core.force_text?b.childNodes[1].appendChild(o.createTextNode(f.text)):b.childNodes[1].innerHTML+=f.text,c&&f.children.length&&(f.state.opened||e)&&f.state.loaded){for(m=o.createElement("UL"),m.setAttribute("role","group"),m.className="jstree-children",k=0,l=f.children.length;l>k;k++)m.appendChild(this.redraw_node(f.children[k],c,!0));b.appendChild(m)}if(j&&b.appendChild(j),!d){for(g||(g=this.element[0]),k=0,l=g.childNodes.length;l>k;k++)if(g.childNodes[k]&&g.childNodes[k].className&&-1!==g.childNodes[k].className.indexOf("jstree-children")){s=g.childNodes[k];break}s||(s=o.createElement("UL"),s.setAttribute("role","group"),s.className="jstree-children",g.appendChild(s)),g=s,hf;f++)this.open_node(c[f],d,e);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(e=e===b?this.settings.core.animation:e,this.is_closed(c)?this.is_loaded(c)?(h=this.get_node(c,!0),i=this,h.length&&(e&&h.children(".jstree-children").length&&h.children(".jstree-children").stop(!0,!0),c.children.length&&!this._firstChild(h.children(".jstree-children")[0])&&this.draw_children(c),e?(this.trigger("before_open",{node:c}),h.children(".jstree-children").css("display","none").end().removeClass("jstree-closed").addClass("jstree-open").attr("aria-expanded",!0).children(".jstree-children").stop(!0,!0).slideDown(e,function(){this.style.display="",i.element&&i.trigger("after_open",{node:c})})):(this.trigger("before_open",{node:c}),h[0].className=h[0].className.replace("jstree-closed","jstree-open"),h[0].setAttribute("aria-expanded",!0))),c.state.opened=!0,d&&d.call(this,c,!0),h.length||this.trigger("before_open",{node:c}),this.trigger("open_node",{node:c}),e&&h.length||this.trigger("after_open",{node:c}),!0):this.is_loading(c)?setTimeout(a.proxy(function(){this.open_node(c,d,e)},this),500):void this.load_node(c,function(a,b){return b?this.open_node(a,d,e):d?d.call(this,a,!1):!1}):(d&&d.call(this,c,!1),!1)):!1},_open_to:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c,d,e=b.parents;for(c=0,d=e.length;d>c;c+=1)c!==a.jstree.root&&this.open_node(e[c],!1,0);return a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)},close_node:function(c,d){var e,f,g,h;if(a.isArray(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.close_node(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?this.is_closed(c)?!1:(d=d===b?this.settings.core.animation:d,g=this,h=this.get_node(c,!0),c.state.opened=!1,this.trigger("close_node",{node:c}),void(h.length?d?h.children(".jstree-children").attr("style","display:block !important").end().removeClass("jstree-open").addClass("jstree-closed").attr("aria-expanded",!1).children(".jstree-children").stop(!0,!0).slideUp(d,function(){this.style.display="",h.children(".jstree-children").remove(),g.element&&g.trigger("after_close",{node:c})}):(h[0].className=h[0].className.replace("jstree-open","jstree-closed"),h.attr("aria-expanded",!1).children(".jstree-children").remove(),this.trigger("after_close",{node:c})):this.trigger("after_close",{node:c}))):!1},toggle_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.toggle_node(b[c]);return!0}return this.is_closed(b)?this.open_node(b):this.is_open(b)?this.close_node(b):void 0},open_all:function(b,c,d){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var e=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0),f,g,h;if(!e.length){for(f=0,g=b.children_d.length;g>f;f++)this.is_closed(this._model.data[b.children_d[f]])&&(this._model.data[b.children_d[f]].state.opened=!0);return this.trigger("open_all",{node:b})}d=d||e,h=this,e=this.is_closed(b)?e.find(".jstree-closed").addBack():e.find(".jstree-closed"),e.each(function(){h.open_node(this,function(a,b){b&&this.is_parent(a)&&this.open_all(a,c,d)},c||0)}),0===d.find(".jstree-closed").length&&this.trigger("open_all",{node:this.get_node(d)})},close_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0),e=this,f,g;for(d.length&&(d=this.is_open(b)?d.find(".jstree-open").addBack():d.find(".jstree-open"),a(d.get().reverse()).each(function(){e.close_node(this,c||0)})),f=0,g=b.children_d.length;g>f;f++)this._model.data[b.children_d[f]].state.opened=!1;this.trigger("close_all",{node:b})},is_disabled:function(a){return a=this.get_node(a),a&&a.state&&a.state.disabled},enable_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!1,this.get_node(b,!0).children(".jstree-anchor").removeClass("jstree-disabled").attr("aria-disabled",!1),void this.trigger("enable_node",{node:b})):!1},disable_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!0,this.get_node(b,!0).children(".jstree-anchor").addClass("jstree-disabled").attr("aria-disabled",!0),void this.trigger("disable_node",{node:b})):!1},is_hidden:function(a){return a=this.get_node(a),a.state.hidden===!0},hide_node:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.hide_node(b[d],!0);return c||this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden||(b.state.hidden=!0,this._node_changed(b.parent),c||this.redraw(),this.trigger("hide_node",{node:b}))):!1},show_node:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.show_node(b[d],!0);return c||this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden&&(b.state.hidden=!1,this._node_changed(b.parent),c||this.redraw(),this.trigger("show_node",{node:b}))):!1},hide_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&!d[c].state.hidden&&(d[c].state.hidden=!0,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("hide_all",{nodes:e}),e},show_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&d[c].state.hidden&&(d[c].state.hidden=!1,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("show_all",{nodes:e}),e},activate_node:function(a,c){if(this.is_disabled(a))return!1;if(c&&"object"==typeof c||(c={}),this._data.core.last_clicked=this._data.core.last_clicked&&this._data.core.last_clicked.id!==b?this.get_node(this._data.core.last_clicked.id):null,this._data.core.last_clicked&&!this._data.core.last_clicked.state.selected&&(this._data.core.last_clicked=null),!this._data.core.last_clicked&&this._data.core.selected.length&&(this._data.core.last_clicked=this.get_node(this._data.core.selected[this._data.core.selected.length-1])),this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&(!c.shiftKey||this._data.core.last_clicked&&this.get_parent(a)&&this.get_parent(a)===this._data.core.last_clicked.parent))if(c.shiftKey){var d=this.get_node(a).id,e=this._data.core.last_clicked.id,f=this.get_node(this._data.core.last_clicked.parent).children,g=!1,h,i;for(h=0,i=f.length;i>h;h+=1)f[h]===d&&(g=!g),f[h]===e&&(g=!g),this.is_disabled(f[h])||!g&&f[h]!==d&&f[h]!==e?this.deselect_node(f[h],!0,c):this.is_hidden(f[h])||this.select_node(f[h],!0,!1,c);this.trigger("changed",{action:"select_node",node:this.get_node(a),selected:this._data.core.selected,event:c})}else this.is_selected(a)?this.deselect_node(a,!1,c):this.select_node(a,!1,!1,c);else!this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&this.is_selected(a)?this.deselect_node(a,!1,c):(this.deselect_all(!0),this.select_node(a,!1,!1,c),this._data.core.last_clicked=this.get_node(a));this.trigger("activate_node",{node:this.get_node(a),event:c})},hover_node:function(a){if(a=this.get_node(a,!0),!a||!a.length||a.children(".jstree-hovered").length)return!1;var b=this.element.find(".jstree-hovered"),c=this.element;b&&b.length&&this.dehover_node(b),a.children(".jstree-anchor").addClass("jstree-hovered"),this.trigger("hover_node",{node:this.get_node(a)}),setTimeout(function(){c.attr("aria-activedescendant",a[0].id)},0)},dehover_node:function(a){return a=this.get_node(a,!0),a&&a.length&&a.children(".jstree-hovered").length?(a.children(".jstree-anchor").removeClass("jstree-hovered"),void this.trigger("dehover_node",{node:this.get_node(a)})):!1},select_node:function(b,c,d,e){var f,g,h,i;if(a.isArray(b)){for(b=b.slice(),g=0,h=b.length;h>g;g++)this.select_node(b[g],c,d,e);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.selected||(b.state.selected=!0,this._data.core.selected.push(b.id),d||(f=this._open_to(b)),f&&f.length&&f.attr("aria-selected",!0).children(".jstree-anchor").addClass("jstree-clicked"),this.trigger("select_node",{node:b,selected:this._data.core.selected,event:e}),c||this.trigger("changed",{action:"select_node",node:b,selected:this._data.core.selected,event:e})))):!1},deselect_node:function(b,c,d){var e,f,g;if(a.isArray(b)){for(b=b.slice(),e=0,f=b.length;f>e;e++)this.deselect_node(b[e],c,d);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(g=this.get_node(b,!0),void(b.state.selected&&(b.state.selected=!1,this._data.core.selected=a.vakata.array_remove_item(this._data.core.selected,b.id),g.length&&g.attr("aria-selected",!1).children(".jstree-anchor").removeClass("jstree-clicked"),this.trigger("deselect_node",{node:b,selected:this._data.core.selected,event:d}),c||this.trigger("changed",{action:"deselect_node",node:b,selected:this._data.core.selected,event:d})))):!1},select_all:function(b){var c=this._data.core.selected.concat([]),d,e;for(this._data.core.selected=this._model.data[a.jstree.root].children_d.concat(),d=0,e=this._data.core.selected.length;e>d;d++)this._model.data[this._data.core.selected[d]]&&(this._model.data[this._data.core.selected[d]].state.selected=!0);this.redraw(!0),this.trigger("select_all",{selected:this._data.core.selected}),b||this.trigger("changed",{action:"select_all",selected:this._data.core.selected,old_selection:c})},deselect_all:function(a){var b=this._data.core.selected.concat([]),c,d;for(c=0,d=this._data.core.selected.length;d>c;c++)this._model.data[this._data.core.selected[c]]&&(this._model.data[this._data.core.selected[c]].state.selected=!1);this._data.core.selected=[],this.element.find(".jstree-clicked").removeClass("jstree-clicked").parent().attr("aria-selected",!1),this.trigger("deselect_all",{selected:this._data.core.selected,node:b}),a||this.trigger("changed",{action:"deselect_all",selected:this._data.core.selected,old_selection:b})},is_selected:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.selected:!1},get_selected:function(b){return b?a.map(this._data.core.selected,a.proxy(function(a){return this.get_node(a)},this)):this._data.core.selected.slice()},get_top_selected:function(b){var c=this.get_selected(!0),d={},e,f,g,h;for(e=0,f=c.length;f>e;e++)d[c[e].id]=c[e];for(e=0,f=c.length;f>e;e++)for(g=0,h=c[e].children_d.length;h>g;g++)d[c[e].children_d[g]]&&delete d[c[e].children_d[g]];c=[];for(e in d)d.hasOwnProperty(e)&&c.push(e);return b?a.map(c,a.proxy(function(a){return this.get_node(a)},this)):c},get_bottom_selected:function(b){var c=this.get_selected(!0),d=[],e,f;for(e=0,f=c.length;f>e;e++)c[e].children.length||d.push(c[e].id);return b?a.map(d,a.proxy(function(a){return this.get_node(a)},this)):d},get_state:function(){var b={core:{open:[],scroll:{left:this.element.scrollLeft(),top:this.element.scrollTop()},selected:[]}},c;for(c in this._model.data)this._model.data.hasOwnProperty(c)&&c!==a.jstree.root&&(this._model.data[c].state.opened&&b.core.open.push(c),this._model.data[c].state.selected&&b.core.selected.push(c));return b},set_state:function(c,d){if(c){if(c.core){var e,f,g,h,i;if(c.core.open)return a.isArray(c.core.open)&&c.core.open.length?this._load_nodes(c.core.open,function(a){this.open_node(a,!1,0),delete c.core.open,this.set_state(c,d)}):(delete c.core.open,this.set_state(c,d)),!1;if(c.core.scroll)return c.core.scroll&&c.core.scroll.left!==b&&this.element.scrollLeft(c.core.scroll.left),c.core.scroll&&c.core.scroll.top!==b&&this.element.scrollTop(c.core.scroll.top),delete c.core.scroll,this.set_state(c,d),!1;if(c.core.selected)return h=this,this.deselect_all(),a.each(c.core.selected,function(a,b){h.select_node(b,!1,!0)}),delete c.core.selected,this.set_state(c,d),!1;for(i in c)c.hasOwnProperty(i)&&"core"!==i&&-1===a.inArray(i,this.settings.plugins)&&delete c[i];if(a.isEmptyObject(c.core))return delete c.core,this.set_state(c,d),!1}return a.isEmptyObject(c)?(c=null,d&&d.call(this),this.trigger("set_state"),!1):!0}return!1},refresh:function(b,c){this._data.core.state=c===!0?{}:this.get_state(),c&&a.isFunction(c)&&(this._data.core.state=c.call(this,this._data.core.state)),this._cnt=0,this._model.data={},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this._data.core.selected=[],this._data.core.last_clicked=null,this._data.core.focused=null;var d=this.get_container_ul()[0].className;b||(this.element.html(""),this.element.attr("aria-activedescendant","j"+this._id+"_loading")),this.load_node(a.jstree.root,function(b,c){c&&(this.get_container_ul()[0].className=d,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.set_state(a.extend(!0,{},this._data.core.state),function(){this.trigger("refresh")})),this._data.core.state=null})},refresh_node:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c=[],d=[],e=this._data.core.selected.concat([]);d.push(b.id),b.state.opened===!0&&c.push(b.id),this.get_node(b,!0).find(".jstree-open").each(function(){d.push(this.id),c.push(this.id)}),this._load_nodes(d,a.proxy(function(a){this.open_node(c,!1,0),this.select_node(e),this.trigger("refresh_node",{node:b,nodes:a})},this),!1,!0)},set_id:function(b,c){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var d,e,f=this._model.data,g=b.id;for(c=c.toString(),f[b.parent].children[a.inArray(b.id,f[b.parent].children)]=c,d=0,e=b.parents.length;e>d;d++)f[b.parents[d]].children_d[a.inArray(b.id,f[b.parents[d]].children_d)]=c;for(d=0,e=b.children.length;e>d;d++)f[b.children[d]].parent=c;for(d=0,e=b.children_d.length;e>d;d++)f[b.children_d[d]].parents[a.inArray(b.id,f[b.children_d[d]].parents)]=c;return d=a.inArray(b.id,this._data.core.selected),-1!==d&&(this._data.core.selected[d]=c),d=this.get_node(b.id,!0),d&&(d.attr("id",c),this.element.attr("aria-activedescendant")===b.id&&this.element.attr("aria-activedescendant",c)),delete f[b.id],b.id=c,b.li_attr.id=c,f[c]=b,this.trigger("set_id",{node:b,"new":b.id,old:g}),!0},get_text:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.text:!1},set_text:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.set_text(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.text=c,this.get_node(b,!0).length&&this.redraw_node(b.id),this.trigger("set_text",{obj:b,text:c}),!0):!1},get_json:function(b,c,d){if(b=this.get_node(b||a.jstree.root),!b)return!1;c&&c.flat&&!d&&(d=[]);var e={id:b.id,text:b.text,icon:this.get_icon(b),li_attr:a.extend(!0,{},b.li_attr),a_attr:a.extend(!0,{},b.a_attr),state:{},data:c&&c.no_data?!1:a.extend(!0,{},b.data)},f,g;if(c&&c.flat?e.parent=b.parent:e.children=[],c&&c.no_state)delete e.state;else for(f in b.state)b.state.hasOwnProperty(f)&&(e.state[f]=b.state[f]);if(c&&c.no_li_attr&&delete e.li_attr,c&&c.no_a_attr&&delete e.a_attr,c&&c.no_id&&(delete e.id,e.li_attr&&e.li_attr.id&&delete e.li_attr.id,e.a_attr&&e.a_attr.id&&delete e.a_attr.id),c&&c.flat&&b.id!==a.jstree.root&&d.push(e),!c||!c.no_children)for(f=0,g=b.children.length;g>f;f++)c&&c.flat?this.get_json(b.children[f],c,d):e.children.push(this.get_json(b.children[f],c));return c&&c.flat?d:b.id===a.jstree.root?e.children:e},create_node:function(c,d,e,f,g){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return!1;if(e=e===b?"last":e,!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(c))return this.load_node(c,function(){this.create_node(c,d,e,f,!0)});d||(d={text:this.get_string("New node")}),"string"==typeof d&&(d={text:d}),d.text===b&&(d.text=this.get_string("New node"));var h,i,j,k;switch(c.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":h=this.get_node(c.parent),e=a.inArray(c.id,h.children),c=h;break;case"after":h=this.get_node(c.parent),e=a.inArray(c.id,h.children)+1,c=h;break;case"inside":case"first":e=0;break;case"last":e=c.children.length;break;default:e||(e=0)}if(e>c.children.length&&(e=c.children.length),d.id||(d.id=!0),!this.check("create_node",d,c,e))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(d.id===!0&&delete d.id,d=this._parse_model_from_json(d,c.id,c.parents.concat()),!d)return!1;for(h=this.get_node(d),i=[],i.push(d),i=i.concat(h.children_d),this.trigger("model",{nodes:i,parent:c.id}),c.children_d=c.children_d.concat(i),j=0,k=c.parents.length;k>j;j++)this._model.data[c.parents[j]].children_d=this._model.data[c.parents[j]].children_d.concat(i);for(d=h,h=[],j=0,k=c.children.length;k>j;j++)h[j>=e?j+1:j]=c.children[j];return h[e]=d.id,c.children=h,this.redraw_node(c,!0),f&&f.call(this,this.get_node(d)),this.trigger("create_node",{node:this.get_node(d),parent:c.id,position:e}),d.id},rename_node:function(b,c){var d,e,f;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.rename_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=b.text,this.check("rename_node",b,this.get_parent(b),c)?(this.set_text(b,c),this.trigger("rename_node",{node:b,text:c,old:f}),!0):(this.settings.core.error.call(this,this._data.core.last_error),!1)):!1},delete_node:function(b){var c,d,e,f,g,h,i,j,k,l,m,n;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.delete_node(b[c]);return!0}if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;if(e=this.get_node(b.parent),f=a.inArray(b.id,e.children),l=!1,!this.check("delete_node",b,e,f))return this.settings.core.error.call(this,this._data.core.last_error),!1;for(-1!==f&&(e.children=a.vakata.array_remove(e.children,f)),g=b.children_d.concat([]),g.push(b.id),h=0,i=b.parents.length;i>h;h++)this._model.data[b.parents[h]].children_d=a.vakata.array_filter(this._model.data[b.parents[h]].children_d,function(b){return-1===a.inArray(b,g)});for(j=0,k=g.length;k>j;j++)if(this._model.data[g[j]].state.selected){l=!0;break}for(l&&(this._data.core.selected=a.vakata.array_filter(this._data.core.selected,function(b){return-1===a.inArray(b,g)})),this.trigger("delete_node",{node:b,parent:e.id}),l&&this.trigger("changed",{action:"delete_node",node:b,selected:this._data.core.selected,parent:e.id}),j=0,k=g.length;k>j;j++)delete this._model.data[g[j]];return-1!==a.inArray(this._data.core.focused,g)&&(this._data.core.focused=null,m=this.element[0].scrollTop,n=this.element[0].scrollLeft,e.id===a.jstree.root?this._model.data[a.jstree.root].children[0]&&this.get_node(this._model.data[a.jstree.root].children[0],!0).children(".jstree-anchor").focus():this.get_node(e,!0).children(".jstree-anchor").focus(),this.element[0].scrollTop=m,this.element[0].scrollLeft=n),this.redraw_node(e,!0),!0},check:function(b,c,d,e,f){c=c&&c.id?c:this.get_node(c),d=d&&d.id?d:this.get_node(d);var g=b.match(/^move_node|copy_node|create_node$/i)?d:c,h=this.settings.core.check_callback;return"move_node"!==b&&"copy_node"!==b||f&&f.is_multi||c.id!==d.id&&("move_node"!==b||a.inArray(c.id,d.children)!==e)&&-1===a.inArray(d.id,c.children_d)?(g&&g.data&&(g=g.data),g&&g.functions&&(g.functions[b]===!1||g.functions[b]===!0)?(g.functions[b]===!1&&(this._data.core.last_error={error:"check",plugin:"core",id:"core_02",reason:"Node data prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})}),g.functions[b]):h===!1||a.isFunction(h)&&h.call(this,b,c,d,e,f)===!1||h&&h[b]===!1?(this._data.core.last_error={error:"check",plugin:"core",id:"core_03",reason:"User config for core.check_callback prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1):!0):(this._data.core.last_error={error:"check",plugin:"core",id:"core_01",reason:"Moving parent inside child",data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1)},last_error:function(){return this._data.core.last_error},move_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t,u,v,w;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.move_node(c,d,e,f,!0,!1,i)});if(a.isArray(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(r=this.move_node(c[j],d,e,f,g,!1,i))&&(d=r,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;if(l=(c.parent||a.jstree.root).toString(),n=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,o=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),p=!o||!o._id||this._id!==o._id,m=o&&o._id&&l&&o._model.data[l]&&o._model.data[l].children?a.inArray(c.id,o._model.data[l].children):-1,o&&o._id&&(c=o._model.data[c.id]),p)return(r=this.copy_node(c,d,e,f,g,!1,i))?(o&&o.delete_node(c),r):!1;switch(d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,n.children);break;case"after":e=a.inArray(d.id,n.children)+1;break;case"inside":case"first":e=0;break;case"last":e=n.children.length;break;default:e||(e=0)}if(e>n.children.length&&(e=n.children.length),!this.check("move_node",c,n,e,{core:!0,origin:i,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(c.parent===n.id){for(q=n.children.concat(),r=a.inArray(c.id,q),-1!==r&&(q=a.vakata.array_remove(q,r),e>r&&e--),r=[],s=0,t=q.length;t>s;s++)r[s>=e?s+1:s]=q[s];r[e]=c.id,n.children=r,this._node_changed(n.id),this.redraw(n.id===a.jstree.root)}else{for(r=c.children_d.concat(),r.push(c.id),s=0,t=c.parents.length;t>s;s++){for(q=[],w=o._model.data[c.parents[s]].children_d,u=0,v=w.length;v>u;u++)-1===a.inArray(w[u],r)&&q.push(w[u]);o._model.data[c.parents[s]].children_d=q}for(o._model.data[l].children=a.vakata.array_remove_item(o._model.data[l].children,c.id),s=0,t=n.parents.length;t>s;s++)this._model.data[n.parents[s]].children_d=this._model.data[n.parents[s]].children_d.concat(r);for(q=[],s=0,t=n.children.length;t>s;s++)q[s>=e?s+1:s]=n.children[s];for(q[e]=c.id,n.children=q,n.children_d.push(c.id),n.children_d=n.children_d.concat(c.children_d),c.parent=n.id,r=n.parents.concat(),r.unshift(n.id),w=c.parents.length,c.parents=r,r=r.concat(),s=0,t=c.children_d.length;t>s;s++)this._model.data[c.children_d[s]].parents=this._model.data[c.children_d[s]].parents.slice(0,-1*w),Array.prototype.push.apply(this._model.data[c.children_d[s]].parents,r);(l===a.jstree.root||n.id===a.jstree.root)&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||(this._node_changed(l),this._node_changed(n.id)),h||this.redraw()}return f&&f.call(this,c,n,e),this.trigger("move_node",{node:c,parent:n.id,position:e,old_parent:l,old_position:m,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id,old_instance:o,new_instance:this}),c.id},copy_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.copy_node(c,d,e,f,!0,!1,i)});if(a.isArray(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(m=this.copy_node(c[j],d,e,f,g,!0,i))&&(d=m,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;switch(q=(c.parent||a.jstree.root).toString(),r=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,s=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),t=!s||!s._id||this._id!==s._id,s&&s._id&&(c=s._model.data[c.id]),d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,r.children);break;case"after":e=a.inArray(d.id,r.children)+1;break;case"inside":case"first":e=0;break;case"last":e=r.children.length;break;default:e||(e=0)}if(e>r.children.length&&(e=r.children.length),!this.check("copy_node",c,r,e,{core:!0,origin:i,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(p=s?s.get_json(c,{no_id:!0,no_data:!0,no_state:!0}):c,!p)return!1;if(p.id===!0&&delete p.id,p=this._parse_model_from_json(p,r.id,r.parents.concat()),!p)return!1;for(m=this.get_node(p),c&&c.state&&c.state.loaded===!1&&(m.state.loaded=!1),l=[],l.push(p),l=l.concat(m.children_d),this.trigger("model",{nodes:l,parent:r.id}),n=0,o=r.parents.length;o>n;n++)this._model.data[r.parents[n]].children_d=this._model.data[r.parents[n]].children_d.concat(l);for(l=[],n=0,o=r.children.length;o>n;n++)l[n>=e?n+1:n]=r.children[n];return l[e]=m.id,r.children=l,r.children_d.push(m.id),r.children_d=r.children_d.concat(m.children_d),r.id===a.jstree.root&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||this._node_changed(r.id),h||this.redraw(r.id===a.jstree.root),f&&f.call(this,m,r,e),this.trigger("copy_node",{node:m,original:c,parent:r.id,position:e,old_parent:q,old_position:s&&s._id&&q&&s._model.data[q]&&s._model.data[q].children?a.inArray(c.id,s._model.data[q].children):-1,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id,old_instance:s,new_instance:this}),m.id},cut:function(b){if(b||(b=this._data.core.selected.concat()),a.isArray(b)||(b=[b]),!b.length)return!1;var c=[],g,h,i;for(h=0,i=b.length;i>h;h++)g=this.get_node(b[h]),g&&g.id&&g.id!==a.jstree.root&&c.push(g);return c.length?(d=c,f=this,e="move_node",void this.trigger("cut",{node:b})):!1},copy:function(b){if(b||(b=this._data.core.selected.concat()),a.isArray(b)||(b=[b]),!b.length)return!1;var c=[],g,h,i;for(h=0,i=b.length;i>h;h++)g=this.get_node(b[h]),g&&g.id&&g.id!==a.jstree.root&&c.push(g);return c.length?(d=c,f=this,e="copy_node",void this.trigger("copy",{node:b})):!1},get_buffer:function(){return{mode:e,node:d,inst:f}},can_paste:function(){return e!==!1&&d!==!1},paste:function(a,b){return a=this.get_node(a),a&&e&&e.match(/^(copy_node|move_node)$/)&&d?(this[e](d,a,b,!1,!1,!1,f)&&this.trigger("paste",{parent:a.id,node:d,mode:e}),d=!1,e=!1,void(f=!1)):!1},clear_buffer:function(){d=!1,e=!1,f=!1,this.trigger("clear_buffer")},edit:function(b,c,d){var e,f,g,h,j,k,l,m,n,o=!1;return(b=this.get_node(b))?this.settings.core.check_callback===!1?(this._data.core.last_error={error:"check",plugin:"core",id:"core_07",reason:"Could not edit node because of check_callback"},this.settings.core.error.call(this,this._data.core.last_error),!1):(n=b,c="string"==typeof c?c:b.text,this.set_text(b,""),b=this._open_to(b),n.text=c,e=this._data.core.rtl,f=this.element.width(),this._data.core.focused=n.id,g=b.children(".jstree-anchor").focus(),h=a(""),j=c,k=a("
      ",{css:{position:"absolute",top:"-200px",left:e?"0px":"-1000px",visibility:"hidden"}}).appendTo("body"),l=a("",{value:j,"class":"jstree-rename-input",css:{padding:"0",border:"1px solid silver","box-sizing":"border-box",display:"inline-block",height:this._data.core.li_height+"px",lineHeight:this._data.core.li_height+"px",width:"150px"},blur:a.proxy(function(c){c.stopImmediatePropagation(),c.preventDefault();var e=h.children(".jstree-rename-input"),f=e.val(),i=this.settings.core.force_text,m;""===f&&(f=j),k.remove(),h.replaceWith(g),h.remove(),j=i?j:a("
      ").append(a.parseHTML(j)).html(),this.set_text(b,j),m=!!this.rename_node(b,i?a("
      ").text(f).text():a("
      ").append(a.parseHTML(f)).html()),m||this.set_text(b,j),this._data.core.focused=n.id,setTimeout(a.proxy(function(){var a=this.get_node(n.id,!0);a.length&&(this._data.core.focused=n.id,a.children(".jstree-anchor").focus())},this),0),d&&d.call(this,n,m,o),l=null},this),keydown:function(a){var b=a.which;27===b&&(o=!0,this.value=j),(27===b||13===b||37===b||38===b||39===b||40===b||32===b)&&a.stopImmediatePropagation(),(27===b||13===b)&&(a.preventDefault(),this.blur())},click:function(a){a.stopImmediatePropagation()},mousedown:function(a){a.stopImmediatePropagation()},keyup:function(a){l.width(Math.min(k.text("pW"+this.value).width(),f))},keypress:function(a){return 13===a.which?!1:void 0}}),m={fontFamily:g.css("fontFamily")||"",fontSize:g.css("fontSize")||"", +fontWeight:g.css("fontWeight")||"",fontStyle:g.css("fontStyle")||"",fontStretch:g.css("fontStretch")||"",fontVariant:g.css("fontVariant")||"",letterSpacing:g.css("letterSpacing")||"",wordSpacing:g.css("wordSpacing")||""},h.attr("class",g.attr("class")).append(g.contents().clone()).append(l),g.replaceWith(h),k.css(m),l.css(m).width(Math.min(k.text("pW"+l[0].value).width(),f))[0].select(),void a(i).one("mousedown.jstree touchstart.jstree dnd_start.vakata",function(b){l&&b.target!==l&&a(l).blur()})):!1},set_theme:function(b,c){if(!b)return!1;if(c===!0){var d=this.settings.core.themes.dir;d||(d=a.jstree.path+"/themes"),c=d+"/"+b+"/style.css"}c&&-1===a.inArray(c,g)&&(a("head").append(''),g.push(c)),this._data.core.themes.name&&this.element.removeClass("jstree-"+this._data.core.themes.name),this._data.core.themes.name=b,this.element.addClass("jstree-"+b),this.element[this.settings.core.themes.responsive?"addClass":"removeClass"]("jstree-"+b+"-responsive"),this.trigger("set_theme",{theme:b})},get_theme:function(){return this._data.core.themes.name},set_theme_variant:function(a){this._data.core.themes.variant&&this.element.removeClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant),this._data.core.themes.variant=a,a&&this.element.addClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant)},get_theme_variant:function(){return this._data.core.themes.variant},show_stripes:function(){this._data.core.themes.stripes=!0,this.get_container_ul().addClass("jstree-striped"),this.trigger("show_stripes")},hide_stripes:function(){this._data.core.themes.stripes=!1,this.get_container_ul().removeClass("jstree-striped"),this.trigger("hide_stripes")},toggle_stripes:function(){this._data.core.themes.stripes?this.hide_stripes():this.show_stripes()},show_dots:function(){this._data.core.themes.dots=!0,this.get_container_ul().removeClass("jstree-no-dots"),this.trigger("show_dots")},hide_dots:function(){this._data.core.themes.dots=!1,this.get_container_ul().addClass("jstree-no-dots"),this.trigger("hide_dots")},toggle_dots:function(){this._data.core.themes.dots?this.hide_dots():this.show_dots()},show_icons:function(){this._data.core.themes.icons=!0,this.get_container_ul().removeClass("jstree-no-icons"),this.trigger("show_icons")},hide_icons:function(){this._data.core.themes.icons=!1,this.get_container_ul().addClass("jstree-no-icons"),this.trigger("hide_icons")},toggle_icons:function(){this._data.core.themes.icons?this.hide_icons():this.show_icons()},show_ellipsis:function(){this._data.core.themes.ellipsis=!0,this.get_container_ul().addClass("jstree-ellipsis"),this.trigger("show_ellipsis")},hide_ellipsis:function(){this._data.core.themes.ellipsis=!1,this.get_container_ul().removeClass("jstree-ellipsis"),this.trigger("hide_ellipsis")},toggle_ellipsis:function(){this._data.core.themes.ellipsis?this.hide_ellipsis():this.show_ellipsis()},set_icon:function(c,d){var e,f,g,h;if(a.isArray(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.set_icon(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(h=c.icon,c.icon=d===!0||null===d||d===b||""===d?!0:d,g=this.get_node(c,!0).children(".jstree-anchor").children(".jstree-themeicon"),d===!1?this.hide_icon(c):d===!0||null===d||d===b||""===d?(g.removeClass("jstree-themeicon-custom "+h).css("background","").removeAttr("rel"),h===!1&&this.show_icon(c)):-1===d.indexOf("/")&&-1===d.indexOf(".")?(g.removeClass(h).css("background",""),g.addClass(d+" jstree-themeicon-custom").attr("rel",d),h===!1&&this.show_icon(c)):(g.removeClass(h).css("background",""),g.addClass("jstree-themeicon-custom").css("background","url('"+d+"') center center no-repeat").attr("rel",d),h===!1&&this.show_icon(c)),!0):!1},get_icon:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.icon:!1},hide_icon:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.hide_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(b.icon=!1,this.get_node(b,!0).children(".jstree-anchor").children(".jstree-themeicon").addClass("jstree-themeicon-hidden"),!0):!1},show_icon:function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.show_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(e=this.get_node(b,!0),b.icon=e.length?e.children(".jstree-anchor").children(".jstree-themeicon").attr("rel"):!0,b.icon||(b.icon=!0),e.children(".jstree-anchor").children(".jstree-themeicon").removeClass("jstree-themeicon-hidden"),!0):!1}},a.vakata={},a.vakata.attributes=function(b,c){b=a(b)[0];var d=c?{}:[];return b&&b.attributes&&a.each(b.attributes,function(b,e){-1===a.inArray(e.name.toLowerCase(),["style","contenteditable","hasfocus","tabindex"])&&null!==e.value&&""!==a.trim(e.value)&&(c?d[e.name]=e.value:d.push(e.name))}),d},a.vakata.array_unique=function(a){var c=[],d,e,f,g={};for(d=0,f=a.length;f>d;d++)g[a[d]]===b&&(c.push(a[d]),g[a[d]]=!0);return c},a.vakata.array_remove=function(a,b){return a.splice(b,1),a},a.vakata.array_remove_item=function(b,c){var d=a.inArray(c,b);return-1!==d?a.vakata.array_remove(b,d):b},a.vakata.array_filter=function(a,b,c,d,e){if(a.filter)return a.filter(b,c);d=[];for(e in a)~~e+""==e+""&&e>=0&&b.call(c,a[e],+e,a)&&d.push(a[e]);return d},a.jstree.plugins.changed=function(a,b){var c=[];this.trigger=function(a,d){var e,f;if(d||(d={}),"changed"===a.replace(".jstree","")){d.changed={selected:[],deselected:[]};var g={};for(e=0,f=c.length;f>e;e++)g[c[e]]=1;for(e=0,f=d.selected.length;f>e;e++)g[d.selected[e]]?g[d.selected[e]]=2:d.changed.selected.push(d.selected[e]);for(e=0,f=c.length;f>e;e++)1===g[c[e]]&&d.changed.deselected.push(c[e]);c=d.selected.slice()}b.trigger.call(this,a,d)},this.refresh=function(a,d){return c=[],b.refresh.apply(this,arguments)}};var j=i.createElement("I");j.className="jstree-icon jstree-checkbox",j.setAttribute("role","presentation"),a.jstree.defaults.checkbox={visible:!0,three_state:!0,whole_node:!0,keep_selected_style:!0,cascade:"",tie_selection:!0},a.jstree.plugins.checkbox=function(c,d){this.bind=function(){d.bind.call(this),this._data.checkbox.uto=!1,this._data.checkbox.selected=[],this.settings.checkbox.three_state&&(this.settings.checkbox.cascade="up+down+undetermined"),this.element.on("init.jstree",a.proxy(function(){this._data.checkbox.visible=this.settings.checkbox.visible,this.settings.checkbox.keep_selected_style||this.element.addClass("jstree-checkbox-no-clicked"),this.settings.checkbox.tie_selection&&this.element.addClass("jstree-checkbox-selection")},this)).on("loading.jstree",a.proxy(function(){this[this._data.checkbox.visible?"show_checkboxes":"hide_checkboxes"]()},this)),-1!==this.settings.checkbox.cascade.indexOf("undetermined")&&this.element.on("changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree",a.proxy(function(){this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(a.proxy(this._undetermined,this),50)},this)),this.settings.checkbox.tie_selection||this.element.on("model.jstree",a.proxy(function(a,b){var c=this._model.data,d=c[b.parent],e=b.nodes,f,g;for(f=0,g=e.length;g>f;f++)c[e[f]].state.checked=c[e[f]].state.checked||c[e[f]].original&&c[e[f]].original.state&&c[e[f]].original.state.checked,c[e[f]].state.checked&&this._data.checkbox.selected.push(e[f])},this)),(-1!==this.settings.checkbox.cascade.indexOf("up")||-1!==this.settings.checkbox.cascade.indexOf("down"))&&this.element.on("model.jstree",a.proxy(function(b,c){var d=this._model.data,e=d[c.parent],f=c.nodes,g=[],h,i,j,k,l,m,n=this.settings.checkbox.cascade,o=this.settings.checkbox.tie_selection;if(-1!==n.indexOf("down"))if(e.state[o?"selected":"checked"]){for(i=0,j=f.length;j>i;i++)d[f[i]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(f)}else for(i=0,j=f.length;j>i;i++)if(d[f[i]].state[o?"selected":"checked"]){for(k=0,l=d[f[i]].children_d.length;l>k;k++)d[d[f[i]].children_d[k]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(d[f[i]].children_d)}if(-1!==n.indexOf("up")){for(i=0,j=e.children_d.length;j>i;i++)d[e.children_d[i]].children.length||g.push(d[e.children_d[i]].parent);for(g=a.vakata.array_unique(g),k=0,l=g.length;l>k;k++){e=d[g[k]];while(e&&e.id!==a.jstree.root){for(h=0,i=0,j=e.children.length;j>i;i++)h+=d[e.children[i]].state[o?"selected":"checked"];if(h!==j)break;e.state[o?"selected":"checked"]=!0,this._data[o?"core":"checkbox"].selected.push(e.id),m=this.get_node(e,!0),m&&m.length&&m.attr("aria-selected",!0).children(".jstree-anchor").addClass(o?"jstree-clicked":"jstree-checked"),e=this.get_node(e.parent)}}}this._data[o?"core":"checkbox"].selected=a.vakata.array_unique(this._data[o?"core":"checkbox"].selected)},this)).on(this.settings.checkbox.tie_selection?"select_node.jstree":"check_node.jstree",a.proxy(function(b,c){var d=c.node,e=this._model.data,f=this.get_node(d.parent),g=this.get_node(d,!0),h,i,j,k,l=this.settings.checkbox.cascade,m=this.settings.checkbox.tie_selection,n={},o=this._data[m?"core":"checkbox"].selected;for(h=0,i=o.length;i>h;h++)n[o[h]]=!0;if(-1!==l.indexOf("down"))for(h=0,i=d.children_d.length;i>h;h++)n[d.children_d[h]]=!0,k=e[d.children_d[h]],k.state[m?"selected":"checked"]=!0,k&&k.original&&k.original.state&&k.original.state.undetermined&&(k.original.state.undetermined=!1);if(-1!==l.indexOf("up"))while(f&&f.id!==a.jstree.root){for(j=0,h=0,i=f.children.length;i>h;h++)j+=e[f.children[h]].state[m?"selected":"checked"];if(j!==i)break;f.state[m?"selected":"checked"]=!0,n[f.id]=!0,k=this.get_node(f,!0),k&&k.length&&k.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),f=this.get_node(f.parent)}o=[];for(h in n)n.hasOwnProperty(h)&&o.push(h);this._data[m?"core":"checkbox"].selected=o,-1!==l.indexOf("down")&&g.length&&g.find(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked").parent().attr("aria-selected",!0)},this)).on(this.settings.checkbox.tie_selection?"deselect_all.jstree":"uncheck_all.jstree",a.proxy(function(b,c){var d=this.get_node(a.jstree.root),e=this._model.data,f,g,h;for(f=0,g=d.children_d.length;g>f;f++)h=e[d.children_d[f]],h&&h.original&&h.original.state&&h.original.state.undetermined&&(h.original.state.undetermined=!1)},this)).on(this.settings.checkbox.tie_selection?"deselect_node.jstree":"uncheck_node.jstree",a.proxy(function(b,c){var d=c.node,e=this.get_node(d,!0),f,g,h,i=this.settings.checkbox.cascade,j=this.settings.checkbox.tie_selection,k=this._data[j?"core":"checkbox"].selected,l={};if(d&&d.original&&d.original.state&&d.original.state.undetermined&&(d.original.state.undetermined=!1),-1!==i.indexOf("down"))for(f=0,g=d.children_d.length;g>f;f++)h=this._model.data[d.children_d[f]],h.state[j?"selected":"checked"]=!1,h&&h.original&&h.original.state&&h.original.state.undetermined&&(h.original.state.undetermined=!1);if(-1!==i.indexOf("up"))for(f=0,g=d.parents.length;g>f;f++)h=this._model.data[d.parents[f]],h.state[j?"selected":"checked"]=!1,h&&h.original&&h.original.state&&h.original.state.undetermined&&(h.original.state.undetermined=!1),h=this.get_node(d.parents[f],!0),h&&h.length&&h.attr("aria-selected",!1).children(".jstree-anchor").removeClass(j?"jstree-clicked":"jstree-checked");for(l={},f=0,g=k.length;g>f;f++)-1!==i.indexOf("down")&&-1!==a.inArray(k[f],d.children_d)||-1!==i.indexOf("up")&&-1!==a.inArray(k[f],d.parents)||(l[k[f]]=!0);k=[];for(f in l)l.hasOwnProperty(f)&&k.push(f);this._data[j?"core":"checkbox"].selected=k,-1!==i.indexOf("down")&&e.length&&e.find(".jstree-anchor").removeClass(j?"jstree-clicked":"jstree-checked").parent().attr("aria-selected",!1)},this)),-1!==this.settings.checkbox.cascade.indexOf("up")&&this.element.on("delete_node.jstree",a.proxy(function(b,c){var d=this.get_node(c.parent),e=this._model.data,f,g,h,i,j=this.settings.checkbox.tie_selection;while(d&&d.id!==a.jstree.root&&!d.state[j?"selected":"checked"]){for(h=0,f=0,g=d.children.length;g>f;f++)h+=e[d.children[f]].state[j?"selected":"checked"];if(!(g>0&&h===g))break;d.state[j?"selected":"checked"]=!0,this._data[j?"core":"checkbox"].selected.push(d.id),i=this.get_node(d,!0),i&&i.length&&i.attr("aria-selected",!0).children(".jstree-anchor").addClass(j?"jstree-clicked":"jstree-checked"),d=this.get_node(d.parent)}},this)).on("move_node.jstree",a.proxy(function(b,c){var d=c.is_multi,e=c.old_parent,f=this.get_node(c.parent),g=this._model.data,h,i,j,k,l,m=this.settings.checkbox.tie_selection;if(!d){h=this.get_node(e);while(h&&h.id!==a.jstree.root&&!h.state[m?"selected":"checked"]){for(i=0,j=0,k=h.children.length;k>j;j++)i+=g[h.children[j]].state[m?"selected":"checked"];if(!(k>0&&i===k))break;h.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),h=this.get_node(h.parent)}}h=f;while(h&&h.id!==a.jstree.root){for(i=0,j=0,k=h.children.length;k>j;j++)i+=g[h.children[j]].state[m?"selected":"checked"];if(i===k)h.state[m?"selected":"checked"]||(h.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"));else{if(!h.state[m?"selected":"checked"])break;h.state[m?"selected":"checked"]=!1,this._data[m?"core":"checkbox"].selected=a.vakata.array_remove_item(this._data[m?"core":"checkbox"].selected,h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!1).children(".jstree-anchor").removeClass(m?"jstree-clicked":"jstree-checked")}h=this.get_node(h.parent)}},this))},this._undetermined=function(){if(null!==this.element){var c,d,e,f,g={},h=this._model.data,i=this.settings.checkbox.tie_selection,j=this._data[i?"core":"checkbox"].selected,k=[],l=this;for(c=0,d=j.length;d>c;c++)if(h[j[c]]&&h[j[c]].parents)for(e=0,f=h[j[c]].parents.length;f>e;e++){if(g[h[j[c]].parents[e]]!==b)break;h[j[c]].parents[e]!==a.jstree.root&&(g[h[j[c]].parents[e]]=!0,k.push(h[j[c]].parents[e]))}for(this.element.find(".jstree-closed").not(":has(.jstree-children)").each(function(){var i=l.get_node(this),j;if(i.state.loaded){for(c=0,d=i.children_d.length;d>c;c++)if(j=h[i.children_d[c]],!j.state.loaded&&j.original&&j.original.state&&j.original.state.undetermined&&j.original.state.undetermined===!0)for(g[j.id]===b&&j.id!==a.jstree.root&&(g[j.id]=!0,k.push(j.id)),e=0,f=j.parents.length;f>e;e++)g[j.parents[e]]===b&&j.parents[e]!==a.jstree.root&&(g[j.parents[e]]=!0,k.push(j.parents[e]))}else if(i.original&&i.original.state&&i.original.state.undetermined&&i.original.state.undetermined===!0)for(g[i.id]===b&&i.id!==a.jstree.root&&(g[i.id]=!0,k.push(i.id)),e=0,f=i.parents.length;f>e;e++)g[i.parents[e]]===b&&i.parents[e]!==a.jstree.root&&(g[i.parents[e]]=!0,k.push(i.parents[e]))}),this.element.find(".jstree-undetermined").removeClass("jstree-undetermined"),c=0,d=k.length;d>c;c++)h[k[c]].state[i?"selected":"checked"]||(j=this.get_node(k[c],!0),j&&j.length&&j.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-undetermined"))}},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments)){var g,h,i=null,k=null;for(g=0,h=b.childNodes.length;h>g;g++)if(b.childNodes[g]&&b.childNodes[g].className&&-1!==b.childNodes[g].className.indexOf("jstree-anchor")){i=b.childNodes[g];break}i&&(!this.settings.checkbox.tie_selection&&this._model.data[b.id].state.checked&&(i.className+=" jstree-checked"),k=j.cloneNode(!1),this._model.data[b.id].state.checkbox_disabled&&(k.className+=" jstree-checkbox-disabled"),i.insertBefore(k,i.childNodes[0]))}return e||-1===this.settings.checkbox.cascade.indexOf("undetermined")||(this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(a.proxy(this._undetermined,this),50)),b},this.show_checkboxes=function(){this._data.core.themes.checkboxes=!0,this.get_container_ul().removeClass("jstree-no-checkboxes")},this.hide_checkboxes=function(){this._data.core.themes.checkboxes=!1,this.get_container_ul().addClass("jstree-no-checkboxes")},this.toggle_checkboxes=function(){this._data.core.themes.checkboxes?this.hide_checkboxes():this.show_checkboxes()},this.is_undetermined=function(b){b=this.get_node(b);var c=this.settings.checkbox.cascade,d,e,f=this.settings.checkbox.tie_selection,g=this._data[f?"core":"checkbox"].selected,h=this._model.data;if(!b||b.state[f?"selected":"checked"]===!0||-1===c.indexOf("undetermined")||-1===c.indexOf("down")&&-1===c.indexOf("up"))return!1;if(!b.state.loaded&&b.original.state.undetermined===!0)return!0;for(d=0,e=b.children_d.length;e>d;d++)if(-1!==a.inArray(b.children_d[d],g)||!h[b.children_d[d]].state.loaded&&h[b.children_d[d]].original.state.undetermined)return!0;return!1},this.disable_checkbox=function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled||(b.state.checkbox_disabled=!0,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-checkbox-disabled"),this.trigger("disable_checkbox",{node:b})))):!1},this.enable_checkbox=function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled&&(b.state.checkbox_disabled=!1,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").removeClass("jstree-checkbox-disabled"),this.trigger("enable_checkbox",{node:b})))):!1},this.activate_node=function(b,c){return a(c.target).hasClass("jstree-checkbox-disabled")?!1:(this.settings.checkbox.tie_selection&&(this.settings.checkbox.whole_node||a(c.target).hasClass("jstree-checkbox"))&&(c.ctrlKey=!0),this.settings.checkbox.tie_selection||!this.settings.checkbox.whole_node&&!a(c.target).hasClass("jstree-checkbox")?d.activate_node.call(this,b,c):this.is_disabled(b)?!1:(this.is_checked(b)?this.uncheck_node(b,c):this.check_node(b,c),void this.trigger("activate_node",{node:this.get_node(b)})))},this.check_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.select_node(b,!1,!0,c);var d,e,f,g;if(a.isArray(b)){for(b=b.slice(),e=0,f=b.length;f>e;e++)this.check_node(b[e],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(d=this.get_node(b,!0),void(b.state.checked||(b.state.checked=!0,this._data.checkbox.selected.push(b.id),d&&d.length&&d.children(".jstree-anchor").addClass("jstree-checked"),this.trigger("check_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.uncheck_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.deselect_node(b,!1,c);var d,e,f;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.uncheck_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.checked&&(b.state.checked=!1,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,b.id),f.length&&f.children(".jstree-anchor").removeClass("jstree-checked"),this.trigger("uncheck_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.check_all=function(){if(this.settings.checkbox.tie_selection)return this.select_all();var b=this._data.checkbox.selected.concat([]),c,d;for(this._data.checkbox.selected=this._model.data[a.jstree.root].children_d.concat(),c=0,d=this._data.checkbox.selected.length;d>c;c++)this._model.data[this._data.checkbox.selected[c]]&&(this._model.data[this._data.checkbox.selected[c]].state.checked=!0);this.redraw(!0),this.trigger("check_all",{selected:this._data.checkbox.selected})},this.uncheck_all=function(){if(this.settings.checkbox.tie_selection)return this.deselect_all();var a=this._data.checkbox.selected.concat([]),b,c;for(b=0,c=this._data.checkbox.selected.length;c>b;b++)this._model.data[this._data.checkbox.selected[b]]&&(this._model.data[this._data.checkbox.selected[b]].state.checked=!1);this._data.checkbox.selected=[],this.element.find(".jstree-checked").removeClass("jstree-checked"),this.trigger("uncheck_all",{selected:this._data.checkbox.selected,node:a})},this.is_checked=function(b){return this.settings.checkbox.tie_selection?this.is_selected(b):(b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.checked:!1)},this.get_checked=function(b){return this.settings.checkbox.tie_selection?this.get_selected(b):b?a.map(this._data.checkbox.selected,a.proxy(function(a){return this.get_node(a)},this)):this._data.checkbox.selected},this.get_top_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_top_selected(b);var c=this.get_checked(!0),d={},e,f,g,h;for(e=0,f=c.length;f>e;e++)d[c[e].id]=c[e];for(e=0,f=c.length;f>e;e++)for(g=0,h=c[e].children_d.length;h>g;g++)d[c[e].children_d[g]]&&delete d[c[e].children_d[g]];c=[];for(e in d)d.hasOwnProperty(e)&&c.push(e);return b?a.map(c,a.proxy(function(a){return this.get_node(a)},this)):c},this.get_bottom_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_bottom_selected(b);var c=this.get_checked(!0),d=[],e,f;for(e=0,f=c.length;f>e;e++)c[e].children.length||d.push(c[e].id);return b?a.map(d,a.proxy(function(a){return this.get_node(a)},this)):d},this.load_node=function(b,c){var e,f,g,h,i,j;if(!a.isArray(b)&&!this.settings.checkbox.tie_selection&&(j=this.get_node(b),j&&j.state.loaded))for(e=0,f=j.children_d.length;f>e;e++)this._model.data[j.children_d[e]].state.checked&&(i=!0,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,j.children_d[e]));return d.load_node.apply(this,arguments)},this.get_state=function(){var a=d.get_state.apply(this,arguments);return this.settings.checkbox.tie_selection?a:(a.checkbox=this._data.checkbox.selected.slice(),a)},this.set_state=function(b,c){var e=d.set_state.apply(this,arguments);if(e&&b.checkbox){if(!this.settings.checkbox.tie_selection){this.uncheck_all();var f=this;a.each(b.checkbox,function(a,b){f.check_node(b)})}return delete b.checkbox,this.set_state(b,c),!1}return e},this.refresh=function(a,b){return this.settings.checkbox.tie_selection||(this._data.checkbox.selected=[]),d.refresh.apply(this,arguments)}},a.jstree.defaults.conditionalselect=function(){return!0},a.jstree.plugins.conditionalselect=function(a,b){this.activate_node=function(a,c){this.settings.conditionalselect.call(this,this.get_node(a),c)&&b.activate_node.call(this,a,c)}},a.jstree.defaults.contextmenu={select_node:!0,show_at_node:!0,items:function(b,c){return{create:{separator_before:!1,separator_after:!0,_disabled:!1,label:"Create",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.create_node(d,{},"last",function(a){setTimeout(function(){c.edit(a)},0)})}},rename:{separator_before:!1,separator_after:!1,_disabled:!1,label:"Rename",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.edit(d)}},remove:{separator_before:!1,icon:!1,separator_after:!1,_disabled:!1,label:"Delete",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.delete_node(c.get_selected()):c.delete_node(d)}},ccp:{separator_before:!0,icon:!1,separator_after:!1,label:"Edit",action:!1,submenu:{cut:{separator_before:!1,separator_after:!1,label:"Cut",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.cut(c.get_top_selected()):c.cut(d)}},copy:{separator_before:!1,icon:!1,separator_after:!1,label:"Copy",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.copy(c.get_top_selected()):c.copy(d)}},paste:{separator_before:!1,icon:!1,_disabled:function(b){return!a.jstree.reference(b.reference).can_paste()},separator_after:!1,label:"Paste",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.paste(d)}}}}}}},a.jstree.plugins.contextmenu=function(c,d){this.bind=function(){d.bind.call(this);var b=0,c=null,e,f;this.element.on("contextmenu.jstree",".jstree-anchor",a.proxy(function(a,d){"input"!==a.target.tagName.toLowerCase()&&(a.preventDefault(),b=a.ctrlKey?+new Date:0,(d||c)&&(b=+new Date+1e4),c&&clearTimeout(c),this.is_loading(a.currentTarget)||this.show_contextmenu(a.currentTarget,a.pageX,a.pageY,a))},this)).on("click.jstree",".jstree-anchor",a.proxy(function(c){this._data.contextmenu.visible&&(!b||+new Date-b>250)&&a.vakata.context.hide(),b=0},this)).on("touchstart.jstree",".jstree-anchor",function(b){b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(e=b.originalEvent.changedTouches[0].clientX,f=b.originalEvent.changedTouches[0].clientY,c=setTimeout(function(){a(b.currentTarget).trigger("contextmenu",!0)},750))}).on("touchmove.vakata.jstree",function(a){c&&a.originalEvent&&a.originalEvent.changedTouches&&a.originalEvent.changedTouches[0]&&(Math.abs(e-a.originalEvent.changedTouches[0].clientX)>50||Math.abs(f-a.originalEvent.changedTouches[0].clientY)>50)&&clearTimeout(c)}).on("touchend.vakata.jstree",function(a){c&&clearTimeout(c)}),a(i).on("context_hide.vakata.jstree",a.proxy(function(b,c){this._data.contextmenu.visible=!1,a(c.reference).removeClass("jstree-context")},this))},this.teardown=function(){this._data.contextmenu.visible&&a.vakata.context.hide(),d.teardown.call(this)},this.show_contextmenu=function(c,d,e,f){if(c=this.get_node(c),!c||c.id===a.jstree.root)return!1;var g=this.settings.contextmenu,h=this.get_node(c,!0),i=h.children(".jstree-anchor"),j=!1,k=!1;(g.show_at_node||d===b||e===b)&&(j=i.offset(),d=j.left,e=j.top+this._data.core.li_height),this.settings.contextmenu.select_node&&!this.is_selected(c)&&this.activate_node(c,f),k=g.items,a.isFunction(k)&&(k=k.call(this,c,a.proxy(function(a){this._show_contextmenu(c,d,e,a)},this))),a.isPlainObject(k)&&this._show_contextmenu(c,d,e,k)},this._show_contextmenu=function(b,c,d,e){var f=this.get_node(b,!0),g=f.children(".jstree-anchor");a(i).one("context_show.vakata.jstree",a.proxy(function(b,c){var d="jstree-contextmenu jstree-"+this.get_theme()+"-contextmenu";a(c.element).addClass(d),g.addClass("jstree-context")},this)),this._data.contextmenu.visible=!0,a.vakata.context.show(g,{x:c,y:d},e),this.trigger("show_contextmenu",{node:b,x:c,y:d})}},function(a){var b=!1,c={element:!1,reference:!1,position_x:0,position_y:0,items:[],html:"",is_visible:!1};a.vakata.context={settings:{hide_onmouseleave:0,icons:!0},_trigger:function(b){a(i).triggerHandler("context_"+b+".vakata",{reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}})},_execute:function(b){return b=c.items[b],b&&(!b._disabled||a.isFunction(b._disabled)&&!b._disabled({item:b,reference:c.reference,element:c.element}))&&b.action?b.action.call(null,{item:b,reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}}):!1},_parse:function(b,d){if(!b)return!1;d||(c.html="",c.items=[]);var e="",f=!1,g;return d&&(e+=""),d||(c.html=e,a.vakata.context._trigger("parse")),e.length>10?e:!1},_show_submenu:function(c){if(c=a(c),c.length&&c.children("ul").length){var d=c.children("ul"),e=c.offset().left,f=e+c.outerWidth(),g=c.offset().top,h=d.width(),i=d.height(),j=a(window).width()+a(window).scrollLeft(),k=a(window).height()+a(window).scrollTop();b?c[f-(h+10+c.outerWidth())<0?"addClass":"removeClass"]("vakata-context-left"):c[f+h>j&&e>j-f?"addClass":"removeClass"]("vakata-context-right"),g+i+10>k&&d.css("bottom","-1px"),c.hasClass("vakata-context-right")?h>e&&d.css("margin-right",e-h):h>j-f&&d.css("margin-left",j-f-h),d.show()}},show:function(d,e,f){var g,h,i,j,k,l,m,n,o=!0;switch(c.element&&c.element.length&&c.element.width(""),o){case!e&&!d:return!1;case!!e&&!!d:c.reference=d,c.position_x=e.x,c.position_y=e.y;break;case!e&&!!d:c.reference=d,g=d.offset(),c.position_x=g.left+d.outerHeight(),c.position_y=g.top;break;case!!e&&!d:c.position_x=e.x,c.position_y=e.y}d&&!f&&a(d).data("vakata_contextmenu")&&(f=a(d).data("vakata_contextmenu")),a.vakata.context._parse(f)&&c.element.html(c.html),c.items.length&&(c.element.appendTo("body"),h=c.element,i=c.position_x,j=c.position_y,k=h.width(),l=h.height(),m=a(window).width()+a(window).scrollLeft(),n=a(window).height()+a(window).scrollTop(),b&&(i-=h.outerWidth()-a(d).outerWidth(),im&&(i=m-(k+20)),j+l+20>n&&(j=n-(l+20)),c.element.css({left:i,top:j}).show().find("a").first().focus().parent().addClass("vakata-context-hover"),c.is_visible=!0,a.vakata.context._trigger("show"))},hide:function(){c.is_visible&&(c.element.hide().find("ul").hide().end().find(":focus").blur().end().detach(),c.is_visible=!1,a.vakata.context._trigger("hide"))}},a(function(){b="rtl"===a("body").css("direction");var d=!1;c.element=a("
        "),c.element.on("mouseenter","li",function(b){b.stopImmediatePropagation(),a.contains(this,b.relatedTarget)||(d&&clearTimeout(d),c.element.find(".vakata-context-hover").removeClass("vakata-context-hover").end(),a(this).siblings().find("ul").hide().end().end().parentsUntil(".vakata-context","li").addBack().addClass("vakata-context-hover"),a.vakata.context._show_submenu(this))}).on("mouseleave","li",function(b){a.contains(this,b.relatedTarget)||a(this).find(".vakata-context-hover").addBack().removeClass("vakata-context-hover")}).on("mouseleave",function(b){a(this).find(".vakata-context-hover").removeClass("vakata-context-hover"),a.vakata.context.settings.hide_onmouseleave&&(d=setTimeout(function(b){return function(){a.vakata.context.hide()}}(this),a.vakata.context.settings.hide_onmouseleave))}).on("click","a",function(b){b.preventDefault(),a(this).blur().parent().hasClass("vakata-context-disabled")||a.vakata.context._execute(a(this).attr("rel"))===!1||a.vakata.context.hide()}).on("keydown","a",function(b){var d=null;switch(b.which){case 13:case 32:b.type="click",b.preventDefault(),a(b.currentTarget).trigger(b);break;case 37:c.is_visible&&(c.element.find(".vakata-context-hover").last().closest("li").first().find("ul").hide().find(".vakata-context-hover").removeClass("vakata-context-hover").end().end().children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 38:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").prevAll("li:not(.vakata-context-separator)").first(), +d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").last()),d.addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 39:c.is_visible&&(c.element.find(".vakata-context-hover").last().children("ul").show().children("li:not(.vakata-context-separator)").removeClass("vakata-context-hover").first().addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 40:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").nextAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").first()),d.addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 27:a.vakata.context.hide(),b.preventDefault()}}).on("keydown",function(a){a.preventDefault();var b=c.element.find(".vakata-contextmenu-shortcut-"+a.which).parent();b.parent().not(".vakata-context-disabled")&&b.click()}),a(i).on("mousedown.vakata.jstree",function(b){c.is_visible&&!a.contains(c.element[0],b.target)&&a.vakata.context.hide()}).on("context_show.vakata.jstree",function(a,d){c.element.find("li:has(ul)").children("a").addClass("vakata-context-parent"),b&&c.element.addClass("vakata-context-rtl").css("direction","rtl"),c.element.find("ul").hide().end()})})}(a),a.jstree.defaults.dnd={copy:!0,open_timeout:500,is_draggable:!0,check_while_dragging:!0,always_copy:!1,inside_pos:0,drag_selection:!0,touch:!0,large_drop_target:!1,large_drag_target:!1,use_html5:!1};var k,l;a.jstree.plugins.dnd=function(b,c){this.init=function(a,b){c.init.call(this,a,b),this.settings.dnd.use_html5=this.settings.dnd.use_html5&&"draggable"in i.createElement("span")},this.bind=function(){c.bind.call(this),this.element.on(this.settings.dnd.use_html5?"dragstart.jstree":"mousedown.jstree touchstart.jstree",this.settings.dnd.large_drag_target?".jstree-node":".jstree-anchor",a.proxy(function(b){if(this.settings.dnd.large_drag_target&&a(b.target).closest(".jstree-node")[0]!==b.currentTarget)return!0;if("touchstart"===b.type&&(!this.settings.dnd.touch||"selected"===this.settings.dnd.touch&&!a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").hasClass("jstree-clicked")))return!0;var c=this.get_node(b.target),d=this.is_selected(c)&&this.settings.dnd.drag_selection?this.get_top_selected().length:1,e=d>1?d+" "+this.get_string("nodes"):this.get_text(b.currentTarget);if(this.settings.core.force_text&&(e=a.vakata.html.escape(e)),c&&c.id&&c.id!==a.jstree.root&&(1===b.which||"touchstart"===b.type||"dragstart"===b.type)&&(this.settings.dnd.is_draggable===!0||a.isFunction(this.settings.dnd.is_draggable)&&this.settings.dnd.is_draggable.call(this,d>1?this.get_top_selected(!0):[c],b))){if(k={jstree:!0,origin:this,obj:this.get_node(c,!0),nodes:d>1?this.get_top_selected():[c.id]},l=b.currentTarget,!this.settings.dnd.use_html5)return this.element.trigger("mousedown.jstree"),a.vakata.dnd.start(b,k,'
        '+e+'
        ');a.vakata.dnd._trigger("start",b,{helper:a(),element:l,data:k})}},this)),this.settings.dnd.use_html5&&this.element.on("dragover.jstree",function(b){return b.preventDefault(),a.vakata.dnd._trigger("move",b,{helper:a(),element:l,data:k}),!1}).on("drop.jstree",a.proxy(function(b){return b.preventDefault(),a.vakata.dnd._trigger("stop",b,{helper:a(),element:l,data:k}),!1},this))},this.redraw_node=function(a,b,d,e){if(a=c.redraw_node.apply(this,arguments),a&&this.settings.dnd.use_html5)if(this.settings.dnd.large_drag_target)a.setAttribute("draggable",!0);else{var f,g,h=null;for(f=0,g=a.childNodes.length;g>f;f++)if(a.childNodes[f]&&a.childNodes[f].className&&-1!==a.childNodes[f].className.indexOf("jstree-anchor")){h=a.childNodes[f];break}h&&h.setAttribute("draggable",!0)}return a}},a(function(){var c=!1,d=!1,e=!1,f=!1,g=a('
         
        ').hide();a(i).on("dnd_start.vakata.jstree",function(a,b){c=!1,e=!1,b&&b.data&&b.data.jstree&&g.appendTo("body")}).on("dnd_move.vakata.jstree",function(h,i){if(f&&(i.event&&"dragover"===i.event.type&&i.event.target===e.target||clearTimeout(f)),i&&i.data&&i.data.jstree&&(!i.event.target.id||"jstree-marker"!==i.event.target.id)){e=i.event;var j=a.jstree.reference(i.event.target),k=!1,l=!1,m=!1,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D;if(j&&j._data&&j._data.dnd)if(g.attr("class","jstree-"+j.get_theme()+(j.settings.core.themes.responsive?" jstree-dnd-responsive":"")),C=i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey)),i.helper.children().attr("class","jstree-"+j.get_theme()+" jstree-"+j.get_theme()+"-"+j.get_theme_variant()+" "+(j.settings.core.themes.responsive?" jstree-dnd-responsive":"")).find(".jstree-copy").first()[C?"show":"hide"](),i.event.target!==j.element[0]&&i.event.target!==j.get_container_ul()[0]||0!==j.get_container_ul().children().length){if(k=j.settings.dnd.large_drop_target?a(i.event.target).closest(".jstree-node").children(".jstree-anchor"):a(i.event.target).closest(".jstree-anchor"),k&&k.length&&k.parent().is(".jstree-closed, .jstree-open, .jstree-leaf")&&(l=k.offset(),m=(i.event.pageY!==b?i.event.pageY:i.event.originalEvent.pageY)-l.top,q=k.outerHeight(),t=q/3>m?["b","i","a"]:m>q-q/3?["a","i","b"]:m>q/2?["i","a","b"]:["i","b","a"],a.each(t,function(b,e){switch(e){case"b":o=l.left-6,p=l.top,r=j.get_parent(k),s=k.parent().index();break;case"i":A=j.settings.dnd.inside_pos,B=j.get_node(k.parent()),o=l.left-2,p=l.top+q/2+1,r=B.id,s="first"===A?0:"last"===A?B.children.length:Math.min(A,B.children.length);break;case"a":o=l.left-6,p=l.top+q,r=j.get_parent(k),s=k.parent().index()+1}for(u=!0,v=0,w=i.data.nodes.length;w>v;v++)if(x=i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey))?"copy_node":"move_node",y=s,"move_node"===x&&"a"===e&&i.data.origin&&i.data.origin===j&&r===j.get_parent(i.data.nodes[v])&&(z=j.get_node(r),y>a.inArray(i.data.nodes[v],z.children)&&(y-=1)),u=u&&(j&&j.settings&&j.settings.dnd&&j.settings.dnd.check_while_dragging===!1||j.check(x,i.data.origin&&i.data.origin!==j?i.data.origin.get_node(i.data.nodes[v]):i.data.nodes[v],r,y,{dnd:!0,ref:j.get_node(k.parent()),pos:e,origin:i.data.origin,is_multi:i.data.origin&&i.data.origin!==j,is_foreign:!i.data.origin})),!u){j&&j.last_error&&(d=j.last_error());break}return"i"===e&&k.parent().is(".jstree-closed")&&j.settings.dnd.open_timeout&&(f=setTimeout(function(a,b){return function(){a.open_node(b)}}(j,k),j.settings.dnd.open_timeout)),u?(D=j.get_node(r,!0),D.hasClass(".jstree-dnd-parent")||(a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),D.addClass("jstree-dnd-parent")),c={ins:j,par:r,pos:"i"!==e||"last"!==A||0!==s||j.is_loaded(B)?s:"last"},g.css({left:o+"px",top:p+"px"}).show(),i.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect=C?"copy":"move"),d={},t=!0,!1):void 0}),t===!0))return}else{for(u=!0,v=0,w=i.data.nodes.length;w>v;v++)if(u=u&&j.check(i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey))?"copy_node":"move_node",i.data.origin&&i.data.origin!==j?i.data.origin.get_node(i.data.nodes[v]):i.data.nodes[v],a.jstree.root,"last",{dnd:!0,ref:j.get_node(a.jstree.root),pos:"i",origin:i.data.origin,is_multi:i.data.origin&&i.data.origin!==j,is_foreign:!i.data.origin}),!u)break;if(u)return c={ins:j,par:a.jstree.root,pos:"last"},g.hide(),i.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),void(i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect=C?"copy":"move"))}a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),c=!1,i.helper.find(".jstree-icon").removeClass("jstree-ok").addClass("jstree-er"),i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect="none"),g.hide()}}).on("dnd_scroll.vakata.jstree",function(a,b){b&&b.data&&b.data.jstree&&(g.hide(),c=!1,e=!1,b.helper.find(".jstree-icon").first().removeClass("jstree-ok").addClass("jstree-er"))}).on("dnd_stop.vakata.jstree",function(b,h){if(a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),f&&clearTimeout(f),h&&h.data&&h.data.jstree){g.hide().detach();var i,j,k=[];if(c){for(i=0,j=h.data.nodes.length;j>i;i++)k[i]=h.data.origin?h.data.origin.get_node(h.data.nodes[i]):h.data.nodes[i];c.ins[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(h.event.metaKey||h.event.ctrlKey))?"copy_node":"move_node"](k,c.par,c.pos,!1,!1,!1,h.data.origin)}else i=a(h.event.target).closest(".jstree"),i.length&&d&&d.error&&"check"===d.error&&(i=i.jstree(!0),i&&i.settings.core.error.call(this,d));e=!1,c=!1}}).on("keyup.jstree keydown.jstree",function(b,h){h=a.vakata.dnd._get(),h&&h.data&&h.data.jstree&&("keyup"===b.type&&27===b.which?(f&&clearTimeout(f),c=!1,d=!1,e=!1,f=!1,g.hide().detach(),a.vakata.dnd._clean()):(h.helper.find(".jstree-copy").first()[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(b.metaKey||b.ctrlKey))?"show":"hide"](),e&&(e.metaKey=b.metaKey,e.ctrlKey=b.ctrlKey,a.vakata.dnd._trigger("move",e))))})}),function(a){a.vakata.html={div:a("
        "),escape:function(b){return a.vakata.html.div.text(b).html()},strip:function(b){return a.vakata.html.div.empty().append(a.parseHTML(b)).text()}};var c={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1};a.vakata.dnd={settings:{scroll_speed:10,scroll_proximity:20,helper_left:5,helper_top:10,threshold:5,threshold_touch:50},_trigger:function(c,d,e){e===b&&(e=a.vakata.dnd._get()),e.event=d,a(i).triggerHandler("dnd_"+c+".vakata",e)},_get:function(){return{data:c.data,element:c.element,helper:c.helper}},_clean:function(){c.helper&&c.helper.remove(),c.scroll_i&&(clearInterval(c.scroll_i),c.scroll_i=!1),c={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1},a(i).off("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(i).off("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop)},_scroll:function(b){if(!c.scroll_e||!c.scroll_l&&!c.scroll_t)return c.scroll_i&&(clearInterval(c.scroll_i),c.scroll_i=!1),!1;if(!c.scroll_i)return c.scroll_i=setInterval(a.vakata.dnd._scroll,100),!1;if(b===!0)return!1;var d=c.scroll_e.scrollTop(),e=c.scroll_e.scrollLeft();c.scroll_e.scrollTop(d+c.scroll_t*a.vakata.dnd.settings.scroll_speed),c.scroll_e.scrollLeft(e+c.scroll_l*a.vakata.dnd.settings.scroll_speed),(d!==c.scroll_e.scrollTop()||e!==c.scroll_e.scrollLeft())&&a.vakata.dnd._trigger("scroll",c.scroll_e)},start:function(b,d,e){"touchstart"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_drag&&a.vakata.dnd.stop({});try{b.currentTarget.unselectable="on",b.currentTarget.onselectstart=function(){return!1},b.currentTarget.style&&(b.currentTarget.style.touchAction="none",b.currentTarget.style.msTouchAction="none",b.currentTarget.style.MozUserSelect="none")}catch(f){}return c.init_x=b.pageX,c.init_y=b.pageY,c.data=d,c.is_down=!0,c.element=b.currentTarget,c.target=b.target,c.is_touch="touchstart"===b.type,e!==!1&&(c.helper=a("
        ").html(e).css({display:"block",margin:"0",padding:"0",position:"absolute",top:"-2000px",lineHeight:"16px",zIndex:"10000"})),a(i).on("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(i).on("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop),!1},drag:function(b){if("touchmove"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_down){if(!c.is_drag){if(!(Math.abs(b.pageX-c.init_x)>(c.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)||Math.abs(b.pageY-c.init_y)>(c.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)))return;c.helper&&(c.helper.appendTo("body"),c.helper_w=c.helper.outerWidth()),c.is_drag=!0,a(c.target).one("click.vakata",!1),a.vakata.dnd._trigger("start",b)}var d=!1,e=!1,f=!1,g=!1,h=!1,j=!1,k=!1,l=!1,m=!1,n=!1;return c.scroll_t=0,c.scroll_l=0,c.scroll_e=!1,a(a(b.target).parentsUntil("body").addBack().get().reverse()).filter(function(){return/^auto|scroll$/.test(a(this).css("overflow"))&&(this.scrollHeight>this.offsetHeight||this.scrollWidth>this.offsetWidth)}).each(function(){var d=a(this),e=d.offset();return this.scrollHeight>this.offsetHeight&&(e.top+d.height()-b.pageYthis.offsetWidth&&(e.left+d.width()-b.pageXg&&b.pageY-kg&&g-(b.pageY-k)j&&b.pageX-lj&&j-(b.pageX-l)f&&(m=f-50),h&&n+c.helper_w>h&&(n=h-(c.helper_w+2)),c.helper.css({left:n+"px",top:m+"px"})),a.vakata.dnd._trigger("move",b),!1}},stop:function(b){if("touchend"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_drag)b.target!==c.target&&a(c.target).off("click.vakata"),a.vakata.dnd._trigger("stop",b);else if("touchend"===b.type&&b.target===c.target){var d=setTimeout(function(){a(b.target).click()},100);a(b.target).one("click",function(){d&&clearTimeout(d)})}return a.vakata.dnd._clean(),!1}}}(a),a.jstree.defaults.massload=null,a.jstree.plugins.massload=function(b,c){this.init=function(a,b){this._data.massload={},c.init.call(this,a,b)},this._load_nodes=function(b,d,e,f){var g=this.settings.massload,h=JSON.stringify(b),i=[],j=this._model.data,k,l,m;if(!e){for(k=0,l=b.length;l>k;k++)(!j[b[k]]||!j[b[k]].state.loaded&&!j[b[k]].state.failed||f)&&(i.push(b[k]),m=this.get_node(b[k],!0),m&&m.length&&m.addClass("jstree-loading").attr("aria-busy",!0));if(this._data.massload={},i.length){if(a.isFunction(g))return g.call(this,i,a.proxy(function(a){var g,h;if(a)for(g in a)a.hasOwnProperty(g)&&(this._data.massload[g]=a[g]);for(g=0,h=b.length;h>g;g++)m=this.get_node(b[g],!0),m&&m.length&&m.removeClass("jstree-loading").attr("aria-busy",!1);c._load_nodes.call(this,b,d,e,f)},this));if("object"==typeof g&&g&&g.url)return g=a.extend(!0,{},g),a.isFunction(g.url)&&(g.url=g.url.call(this,i)),a.isFunction(g.data)&&(g.data=g.data.call(this,i)),a.ajax(g).done(a.proxy(function(a,g,h){var i,j;if(a)for(i in a)a.hasOwnProperty(i)&&(this._data.massload[i]=a[i]);for(i=0,j=b.length;j>i;i++)m=this.get_node(b[i],!0),m&&m.length&&m.removeClass("jstree-loading").attr("aria-busy",!1);c._load_nodes.call(this,b,d,e,f)},this)).fail(a.proxy(function(a){c._load_nodes.call(this,b,d,e,f)},this))}}return c._load_nodes.call(this,b,d,e,f)},this._load_node=function(b,d){var e=this._data.massload[b.id],f=null,g;return e?(f=this["string"==typeof e?"_append_html_data":"_append_json_data"](b,"string"==typeof e?a(a.parseHTML(e)).filter(function(){return 3!==this.nodeType}):e,function(a){d.call(this,a)}),g=this.get_node(b.id,!0),g&&g.length&&g.removeClass("jstree-loading").attr("aria-busy",!1),delete this._data.massload[b.id],f):c._load_node.call(this,b,d)}},a.jstree.defaults.search={ajax:!1,fuzzy:!1,case_sensitive:!1,show_only_matches:!1,show_only_matches_children:!1,close_opened_onclear:!0,search_leaves_only:!1,search_callback:!1},a.jstree.plugins.search=function(c,d){this.bind=function(){d.bind.call(this),this._data.search.str="",this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=!1,this._data.search.smc=!1,this._data.search.hdn=[],this.element.on("search.jstree",a.proxy(function(b,c){if(this._data.search.som&&c.res.length){var d=this._model.data,e,f,g=[],h,i;for(e=0,f=c.res.length;f>e;e++)if(d[c.res[e]]&&!d[c.res[e]].state.hidden&&(g.push(c.res[e]),g=g.concat(d[c.res[e]].parents),this._data.search.smc))for(h=0,i=d[c.res[e]].children_d.length;i>h;h++)d[d[c.res[e]].children_d[h]]&&!d[d[c.res[e]].children_d[h]].state.hidden&&g.push(d[c.res[e]].children_d[h]);g=a.vakata.array_remove_item(a.vakata.array_unique(g),a.jstree.root),this._data.search.hdn=this.hide_all(!0),this.show_node(g,!0),this.redraw(!0)}},this)).on("clear_search.jstree",a.proxy(function(a,b){this._data.search.som&&b.res.length&&(this.show_node(this._data.search.hdn,!0),this.redraw(!0))},this))},this.search=function(c,d,e,f,g,h){if(c===!1||""===a.trim(c.toString()))return this.clear_search();f=this.get_node(f),f=f&&f.id?f.id:null,c=c.toString();var i=this.settings.search,j=i.ajax?i.ajax:!1,k=this._model.data,l=null,m=[],n=[],o,p;if(this._data.search.res.length&&!g&&this.clear_search(),e===b&&(e=i.show_only_matches),h===b&&(h=i.show_only_matches_children),!d&&j!==!1)return a.isFunction(j)?j.call(this,c,a.proxy(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.isArray(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g,h)})},this),f):(j=a.extend({},j),j.data||(j.data={}),j.data.str=c,f&&(j.data.inside=f),this._data.search.lastRequest&&this._data.search.lastRequest.abort(),this._data.search.lastRequest=a.ajax(j).fail(a.proxy(function(){this._data.core.last_error={error:"ajax",plugin:"search",id:"search_01",reason:"Could not load search parents",data:JSON.stringify(j)},this.settings.core.error.call(this,this._data.core.last_error)},this)).done(a.proxy(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.isArray(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g,h)})},this)),this._data.search.lastRequest);if(g||(this._data.search.str=c,this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=e,this._data.search.smc=h),l=new a.vakata.search(c,!0,{caseSensitive:i.case_sensitive,fuzzy:i.fuzzy}),a.each(k[f?f:a.jstree.root].children_d,function(a,b){var d=k[b];d.text&&!d.state.hidden&&(!i.search_leaves_only||d.state.loaded&&0===d.children.length)&&(i.search_callback&&i.search_callback.call(this,c,d)||!i.search_callback&&l.search(d.text).isMatch)&&(m.push(b),n=n.concat(d.parents))}),m.length){for(n=a.vakata.array_unique(n),o=0,p=n.length;p>o;o++)n[o]!==a.jstree.root&&k[n[o]]&&this.open_node(n[o],null,0)===!0&&this._data.search.opn.push(n[o]);g?(this._data.search.dom=this._data.search.dom.add(a(this.element[0].querySelectorAll("#"+a.map(m,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #")))),this._data.search.res=a.vakata.array_unique(this._data.search.res.concat(m))):(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(m,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.res=m),this._data.search.dom.children(".jstree-anchor").addClass("jstree-search")}this.trigger("search",{nodes:this._data.search.dom,str:c,res:this._data.search.res,show_only_matches:e})},this.clear_search=function(){this.settings.search.close_opened_onclear&&this.close_node(this._data.search.opn,0),this.trigger("clear_search",{nodes:this._data.search.dom,str:this._data.search.str,res:this._data.search.res}),this._data.search.res.length&&(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(this._data.search.res,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.dom.children(".jstree-anchor").removeClass("jstree-search")),this._data.search.str="",this._data.search.res=[],this._data.search.opn=[],this._data.search.dom=a()},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments),b&&-1!==a.inArray(b.id,this._data.search.res)){var g,h,i=null;for(g=0,h=b.childNodes.length;h>g;g++)if(b.childNodes[g]&&b.childNodes[g].className&&-1!==b.childNodes[g].className.indexOf("jstree-anchor")){i=b.childNodes[g];break}i&&(i.className+=" jstree-search")}return b}},function(a){a.vakata.search=function(b,c,d){d=d||{},d=a.extend({},a.vakata.search.defaults,d),d.fuzzy!==!1&&(d.fuzzy=!0),b=d.caseSensitive?b:b.toLowerCase();var e=d.location,f=d.distance,g=d.threshold,h=b.length,i,j,k,l;return h>32&&(d.fuzzy=!1),d.fuzzy&&(i=1<c;c++)a[b.charAt(c)]=0;for(c=0;h>c;c++)a[b.charAt(c)]|=1<c;c++){o=0,p=q;while(p>o)k(c,e+p)<=m?o=p:q=p,p=Math.floor((q-o)/2+o);for(q=p,s=Math.max(1,e-p+1),t=Math.min(e+p,l)+h,u=new Array(t+2),u[t+1]=(1<=s;f--)if(v=j[a.charAt(f-1)],0===c?u[f]=(u[f+1]<<1|1)&v:u[f]=(u[f+1]<<1|1)&v|((r[f+1]|r[f])<<1|1)|r[f+1],u[f]&i&&(w=k(c,f-1),m>=w)){if(m=w,n=f-1,x.push(n),!(n>e))break;s=Math.max(1,2*e-n)}if(k(c+1,e)>m)break;r=u}return{isMatch:n>=0,score:w}},c===!0?{search:l}:l(c)},a.vakata.search.defaults={location:0,distance:100,threshold:.6,fuzzy:!1,caseSensitive:!1}}(a),a.jstree.defaults.sort=function(a,b){return this.get_text(a)>this.get_text(b)?1:-1},a.jstree.plugins.sort=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("model.jstree",a.proxy(function(a,b){this.sort(b.parent,!0)},this)).on("rename_node.jstree create_node.jstree",a.proxy(function(a,b){this.sort(b.parent||b.node.parent,!1),this.redraw_node(b.parent||b.node.parent,!0)},this)).on("move_node.jstree copy_node.jstree",a.proxy(function(a,b){this.sort(b.parent,!1),this.redraw_node(b.parent,!0)},this))},this.sort=function(b,c){var d,e;if(b=this.get_node(b),b&&b.children&&b.children.length&&(b.children.sort(a.proxy(this.settings.sort,this)),c))for(d=0,e=b.children_d.length;e>d;d++)this.sort(b.children_d[d],!1)}};var m=!1;a.jstree.defaults.state={key:"jstree",events:"changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree",ttl:!1,filter:!1},a.jstree.plugins.state=function(b,c){this.bind=function(){c.bind.call(this);var b=a.proxy(function(){this.element.on(this.settings.state.events,a.proxy(function(){m&&clearTimeout(m),m=setTimeout(a.proxy(function(){this.save_state()},this),100)},this)),this.trigger("state_ready")},this);this.element.on("ready.jstree",a.proxy(function(a,c){this.element.one("restore_state.jstree",b),this.restore_state()||b()},this))},this.save_state=function(){var b={state:this.get_state(),ttl:this.settings.state.ttl,sec:+new Date};a.vakata.storage.set(this.settings.state.key,JSON.stringify(b))},this.restore_state=function(){var b=a.vakata.storage.get(this.settings.state.key);if(b)try{b=JSON.parse(b)}catch(c){return!1}return b&&b.ttl&&b.sec&&+new Date-b.sec>b.ttl?!1:(b&&b.state&&(b=b.state),b&&a.isFunction(this.settings.state.filter)&&(b=this.settings.state.filter.call(this,b)),b?(this.element.one("set_state.jstree",function(c,d){d.instance.trigger("restore_state",{state:a.extend(!0,{},b)})}),this.set_state(b),!0):!1)},this.clear_state=function(){return a.vakata.storage.del(this.settings.state.key)}},function(a,b){a.vakata.storage={set:function(a,b){return window.localStorage.setItem(a,b)},get:function(a){return window.localStorage.getItem(a)},del:function(a){return window.localStorage.removeItem(a)}}}(a),a.jstree.defaults.types={"default":{}},a.jstree.defaults.types[a.jstree.root]={},a.jstree.plugins.types=function(c,d){this.init=function(c,e){var f,g;if(e&&e.types&&e.types["default"])for(f in e.types)if("default"!==f&&f!==a.jstree.root&&e.types.hasOwnProperty(f))for(g in e.types["default"])e.types["default"].hasOwnProperty(g)&&e.types[f][g]===b&&(e.types[f][g]=e.types["default"][g]);d.init.call(this,c,e),this._model.data[a.jstree.root].type=a.jstree.root},this.refresh=function(b,c){d.refresh.call(this,b,c),this._model.data[a.jstree.root].type=a.jstree.root},this.bind=function(){this.element.on("model.jstree",a.proxy(function(c,d){var e=this._model.data,f=d.nodes,g=this.settings.types,h,i,j="default",k;for(h=0,i=f.length;i>h;h++){if(j="default",e[f[h]].original&&e[f[h]].original.type&&g[e[f[h]].original.type]&&(j=e[f[h]].original.type),e[f[h]].data&&e[f[h]].data.jstree&&e[f[h]].data.jstree.type&&g[e[f[h]].data.jstree.type]&&(j=e[f[h]].data.jstree.type),e[f[h]].type=j,e[f[h]].icon===!0&&g[j].icon!==b&&(e[f[h]].icon=g[j].icon),g[j].li_attr!==b&&"object"==typeof g[j].li_attr)for(k in g[j].li_attr)if(g[j].li_attr.hasOwnProperty(k)){if("id"===k)continue;e[f[h]].li_attr[k]===b?e[f[h]].li_attr[k]=g[j].li_attr[k]:"class"===k&&(e[f[h]].li_attr["class"]=g[j].li_attr["class"]+" "+e[f[h]].li_attr["class"])}if(g[j].a_attr!==b&&"object"==typeof g[j].a_attr)for(k in g[j].a_attr)if(g[j].a_attr.hasOwnProperty(k)){if("id"===k)continue;e[f[h]].a_attr[k]===b?e[f[h]].a_attr[k]=g[j].a_attr[k]:"href"===k&&"#"===e[f[h]].a_attr[k]?e[f[h]].a_attr.href=g[j].a_attr.href:"class"===k&&(e[f[h]].a_attr["class"]=g[j].a_attr["class"]+" "+e[f[h]].a_attr["class"])}}e[a.jstree.root].type=a.jstree.root},this)),d.bind.call(this)},this.get_json=function(b,c,e){var f,g,h=this._model.data,i=c?a.extend(!0,{},c,{no_id:!1}):{},j=d.get_json.call(this,b,i,e);if(j===!1)return!1;if(a.isArray(j))for(f=0,g=j.length;g>f;f++)j[f].type=j[f].id&&h[j[f].id]&&h[j[f].id].type?h[j[f].id].type:"default",c&&c.no_id&&(delete j[f].id,j[f].li_attr&&j[f].li_attr.id&&delete j[f].li_attr.id,j[f].a_attr&&j[f].a_attr.id&&delete j[f].a_attr.id);else j.type=j.id&&h[j.id]&&h[j.id].type?h[j.id].type:"default",c&&c.no_id&&(j=this._delete_ids(j));return j},this._delete_ids=function(b){if(a.isArray(b)){for(var c=0,d=b.length;d>c;c++)b[c]=this._delete_ids(b[c]);return b}return delete b.id,b.li_attr&&b.li_attr.id&&delete b.li_attr.id,b.a_attr&&b.a_attr.id&&delete b.a_attr.id,b.children&&a.isArray(b.children)&&(b.children=this._delete_ids(b.children)),b},this.check=function(c,e,f,g,h){if(d.check.call(this,c,e,f,g,h)===!1)return!1;e=e&&e.id?e:this.get_node(e),f=f&&f.id?f:this.get_node(f);var i=e&&e.id?h&&h.origin?h.origin:a.jstree.reference(e.id):null,j,k,l,m;switch(i=i&&i._model&&i._model.data?i._model.data:null,c){case"create_node":case"move_node":case"copy_node":if("move_node"!==c||-1===a.inArray(e.id,f.children)){if(j=this.get_rules(f),j.max_children!==b&&-1!==j.max_children&&j.max_children===f.children.length)return this._data.core.last_error={error:"check",plugin:"types",id:"types_01",reason:"max_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(j.valid_children!==b&&-1!==j.valid_children&&-1===a.inArray(e.type||"default",j.valid_children))return this._data.core.last_error={error:"check",plugin:"types",id:"types_02",reason:"valid_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(i&&e.children_d&&e.parents){for(k=0,l=0,m=e.children_d.length;m>l;l++)k=Math.max(k,i[e.children_d[l]].parents.length);k=k-e.parents.length+1}(0>=k||k===b)&&(k=1);do{if(j.max_depth!==b&&-1!==j.max_depth&&j.max_depthg;g++)this.set_type(c[g],d);return!0}if(f=this.settings.types,c=this.get_node(c),!f[d]||!c)return!1;if(l=this.get_node(c,!0),l&&l.length&&(m=l.children(".jstree-anchor")),i=c.type,j=this.get_icon(c),c.type=d,(j===!0||!f[i]||f[i].icon!==b&&j===f[i].icon)&&this.set_icon(c,f[d].icon!==b?f[d].icon:!0),f[i]&&f[i].li_attr!==b&&"object"==typeof f[i].li_attr)for(k in f[i].li_attr)if(f[i].li_attr.hasOwnProperty(k)){if("id"===k)continue;"class"===k?(e[c.id].li_attr["class"]=(e[c.id].li_attr["class"]||"").replace(f[i].li_attr[k],""),l&&l.removeClass(f[i].li_attr[k])):e[c.id].li_attr[k]===f[i].li_attr[k]&&(e[c.id].li_attr[k]=null,l&&l.removeAttr(k))}if(f[i]&&f[i].a_attr!==b&&"object"==typeof f[i].a_attr)for(k in f[i].a_attr)if(f[i].a_attr.hasOwnProperty(k)){if("id"===k)continue;"class"===k?(e[c.id].a_attr["class"]=(e[c.id].a_attr["class"]||"").replace(f[i].a_attr[k],""),m&&m.removeClass(f[i].a_attr[k])):e[c.id].a_attr[k]===f[i].a_attr[k]&&("href"===k?(e[c.id].a_attr[k]="#",m&&m.attr("href","#")):(delete e[c.id].a_attr[k],m&&m.removeAttr(k)))}if(f[d].li_attr!==b&&"object"==typeof f[d].li_attr)for(k in f[d].li_attr)if(f[d].li_attr.hasOwnProperty(k)){if("id"===k)continue;e[c.id].li_attr[k]===b?(e[c.id].li_attr[k]=f[d].li_attr[k],l&&("class"===k?l.addClass(f[d].li_attr[k]):l.attr(k,f[d].li_attr[k]))):"class"===k&&(e[c.id].li_attr["class"]=f[d].li_attr[k]+" "+e[c.id].li_attr["class"],l&&l.addClass(f[d].li_attr[k]))}if(f[d].a_attr!==b&&"object"==typeof f[d].a_attr)for(k in f[d].a_attr)if(f[d].a_attr.hasOwnProperty(k)){if("id"===k)continue;e[c.id].a_attr[k]===b?(e[c.id].a_attr[k]=f[d].a_attr[k],m&&("class"===k?m.addClass(f[d].a_attr[k]):m.attr(k,f[d].a_attr[k]))):"href"===k&&"#"===e[c.id].a_attr[k]?(e[c.id].a_attr.href=f[d].a_attr.href,m&&m.attr("href",f[d].a_attr.href)):"class"===k&&(e[c.id].a_attr["class"]=f[d].a_attr["class"]+" "+e[c.id].a_attr["class"],m&&m.addClass(f[d].a_attr[k]))}return!0}},a.jstree.defaults.unique={case_sensitive:!1,duplicate:function(a,b){return a+" ("+b+")"}},a.jstree.plugins.unique=function(c,d){this.check=function(b,c,e,f,g){if(d.check.call(this,b,c,e,f,g)===!1)return!1; +if(c=c&&c.id?c:this.get_node(c),e=e&&e.id?e:this.get_node(e),!e||!e.children)return!0;var h="rename_node"===b?f:c.text,i=[],j=this.settings.unique.case_sensitive,k=this._model.data,l,m;for(l=0,m=e.children.length;m>l;l++)i.push(j?k[e.children[l]].text:k[e.children[l]].text.toLowerCase());switch(j||(h=h.toLowerCase()),b){case"delete_node":return!0;case"rename_node":return l=-1===a.inArray(h,i)||c.text&&c.text[j?"toString":"toLowerCase"]()===h,l||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_01",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),l;case"create_node":return l=-1===a.inArray(h,i),l||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_04",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),l;case"copy_node":return l=-1===a.inArray(h,i),l||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_02",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),l;case"move_node":return l=c.parent===e.id&&(!g||!g.is_multi)||-1===a.inArray(h,i),l||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_03",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),l}return!0},this.create_node=function(c,e,f,g,h){if(!e||e.text===b){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return d.create_node.call(this,c,e,f,g,h);if(f=f===b?"last":f,!f.toString().match(/^(before|after)$/)&&!h&&!this.is_loaded(c))return d.create_node.call(this,c,e,f,g,h);e||(e={});var i,j,k,l,m,n=this._model.data,o=this.settings.unique.case_sensitive,p=this.settings.unique.duplicate;for(j=i=this.get_string("New node"),k=[],l=0,m=c.children.length;m>l;l++)k.push(o?n[c.children[l]].text:n[c.children[l]].text.toLowerCase());l=1;while(-1!==a.inArray(o?j:j.toLowerCase(),k))j=p.call(this,i,++l).toString();e.text=j}return d.create_node.call(this,c,e,f,g,h)}};var n=i.createElement("DIV");if(n.setAttribute("unselectable","on"),n.setAttribute("role","presentation"),n.className="jstree-wholerow",n.innerHTML=" ",a.jstree.plugins.wholerow=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("ready.jstree set_state.jstree",a.proxy(function(){this.hide_dots()},this)).on("init.jstree loading.jstree ready.jstree",a.proxy(function(){this.get_container_ul().addClass("jstree-wholerow-ul")},this)).on("deselect_all.jstree",a.proxy(function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked")},this)).on("changed.jstree",a.proxy(function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked");var c=!1,d,e;for(d=0,e=b.selected.length;e>d;d++)c=this.get_node(b.selected[d],!0),c&&c.length&&c.children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("open_node.jstree",a.proxy(function(a,b){this.get_node(b.node,!0).find(".jstree-clicked").parent().children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("hover_node.jstree dehover_node.jstree",a.proxy(function(a,b){"hover_node"===a.type&&this.is_disabled(b.node)||this.get_node(b.node,!0).children(".jstree-wholerow")["hover_node"===a.type?"addClass":"removeClass"]("jstree-wholerow-hovered")},this)).on("contextmenu.jstree",".jstree-wholerow",a.proxy(function(b){if(this._data.contextmenu){b.preventDefault();var c=a.Event("contextmenu",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey,pageX:b.pageX,pageY:b.pageY});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c)}},this)).on("click.jstree",".jstree-wholerow",function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()}).on("dblclick.jstree",".jstree-wholerow",function(b){b.stopImmediatePropagation();var c=a.Event("dblclick",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()}).on("click.jstree",".jstree-leaf > .jstree-ocl",a.proxy(function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()},this)).on("mouseover.jstree",".jstree-wholerow, .jstree-icon",a.proxy(function(a){return a.stopImmediatePropagation(),this.is_disabled(a.currentTarget)||this.hover_node(a.currentTarget),!1},this)).on("mouseleave.jstree",".jstree-node",a.proxy(function(a){this.dehover_node(a.currentTarget)},this))},this.teardown=function(){this.settings.wholerow&&this.element.find(".jstree-wholerow").remove(),c.teardown.call(this)},this.redraw_node=function(b,d,e,f){if(b=c.redraw_node.apply(this,arguments)){var g=n.cloneNode(!0);-1!==a.inArray(b.id,this._data.core.selected)&&(g.className+=" jstree-wholerow-clicked"),this._data.core.focused&&this._data.core.focused===b.id&&(g.className+=" jstree-wholerow-hovered"),b.insertBefore(g,b.childNodes[0])}return b}},i.registerElement&&Object&&Object.create){var o=Object.create(HTMLElement.prototype);o.createdCallback=function(){var b={core:{},plugins:[]},c;for(c in a.jstree.plugins)a.jstree.plugins.hasOwnProperty(c)&&this.attributes[c]&&(b.plugins.push(c),this.getAttribute(c)&&JSON.parse(this.getAttribute(c))&&(b[c]=JSON.parse(this.getAttribute(c))));for(c in a.jstree.defaults.core)a.jstree.defaults.core.hasOwnProperty(c)&&this.attributes[c]&&(b.core[c]=JSON.parse(this.getAttribute(c))||this.getAttribute(c));a(this).jstree(b)};try{i.registerElement("vakata-jstree",{prototype:o})}catch(p){}}}}); \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default-dark/32px.png b/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default-dark/32px.png new file mode 100644 index 0000000000000000000000000000000000000000..d6fd72114f8205ace7579894ec50cc37739b1471 GIT binary patch literal 1562 zcmZ8heKga182_1NL)y?Sx!97DWU52*G8;`HFB3{gC^fx#KelDfGF0oNTV6Y2ZdXn( zW?q&;2$$7yGo_jk?dL78m$BH`?oapJf9~_g^E}_rdCuo~&i8zt=LXs5u#T3Y761S` z9`2;00H8*M@^GX&H~F9M=;#m#1Z8Dq5Z>6> z$mjF#-n~0GIQa47M*@KWf$i<>91aJI#ZoAgjEs!d)>f5DH9kIGP*5;GKd(?ICMG77 zO6APVj7%n*nwnZ#T3T3GSX^A}>+6GfKoAs(L}IbHv$Inu6lP^*QK{7Q%Q;&hYLmpH zKK_8EZ-l{ijlJvfy6TRlf7~;9DPVu?BhfnV*dK~6$QQ=l0)TZW50Xm&^~-c2Cs^XJ zG2LRnx7N-)T||;kWH254-Gre^cGMJXz zIbn5~l}bdTk#HD`I8|A;99ehHfebTtaNb7o zGG3K;76(qcr3!~V^z!nRWo5aU&-H`AEDPT1G+30PS2S8u73QQ}EU)%_Ff^AV5?k+1 zM3Q=9yvY~Cu9z1rB_q)cA94?xD+WqIPvh>Y8jTwk4}SYJ7x;XDhSF61*rcj;P;F3? zbajJrz<1dK)~3=%Pol3!i&})y(x5z|zRCoajmUH&{JC+)Al#Bw6USa2^+xu{>`<{g zZZj?y70(;=YP0^@W~My$HkHU=N`a0Rxu=|Co@%A%{y4<3F|mV|yI(&@SvJpn`gpT) z_K5>-7wk&=XZjzOO-tYaC5tql=~NO7^5aWhm>& z!4?-=;8r!;7Ub&*w-E2Xfb`NE9F6<}appJs<#6A7k^%`KZWa^Yl*@~Qp%q;UGKbjq zZ1mjlEW1>2d3+(XqXhf6Z60<{k178{uvivcKZB&TzDojSp_`?u7tA*T!p(<3C~8F@ zA6v1*i_$dccr+Y-jYz~Ik#NQwj$Su)a{Zc2*4}E6S}NYsnL{GYny;7xiLmk?2-%|y zJ6v5uS+{2phdBUVf{;Vu{;E@XO6L&ebA|d9Fy@o!cv|$8YgYBw8)}!Dz9T3-7_mO9 z#hGHn-I^xp`ZOjZ|t$Dy3Z|I!w0K2DLvO(#^PglepW~D z%&$Y&;~KOuKfeGA?F|g(g2keH+{T#iQ!1HV{WqGwpV{ljSYKjSAe?+r(Eu_i}J)&5spU+}>Ib+a~+cBQ~@br7nUmR?V}= z%^6Mofa6H*FYNwfUj?QK9`DXKjZ08) zosVpzCY<*Tv8StD?y@1m2E6M)zqV>a<)h&U<8y`5lMOwdXhihh^bg^waQeGlk+;$( z>kXAxpC$Xn_nYZvYWn~ zCkqiYlbw2Jl2$xi$2{Vju$1jrDY^!gky_Q1d`sO*G1W}xe!WufFfQOq8 JiRT)A?H?ng_znO7 literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default-dark/40px.png b/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default-dark/40px.png new file mode 100644 index 0000000000000000000000000000000000000000..4fc88e41e66508e4657b3ec6e5ec185a6084b7a9 GIT binary patch literal 5717 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 .jstree-ocl { + cursor: default; +} +.jstree .jstree-open > .jstree-children { + display: block; +} +.jstree .jstree-closed > .jstree-children, +.jstree .jstree-leaf > .jstree-children { + display: none; +} +.jstree-anchor > .jstree-themeicon { + margin-right: 2px; +} +.jstree-no-icons .jstree-themeicon, +.jstree-anchor > .jstree-themeicon-hidden { + display: none; +} +.jstree-hidden, +.jstree-node.jstree-hidden { + display: none; +} +.jstree-rtl .jstree-anchor { + padding: 0 1px 0 4px; +} +.jstree-rtl .jstree-anchor > .jstree-themeicon { + margin-left: 2px; + margin-right: 0; +} +.jstree-rtl .jstree-node { + margin-left: 0; +} +.jstree-rtl .jstree-container-ul > .jstree-node { + margin-right: 0; +} +.jstree-wholerow-ul { + position: relative; + display: inline-block; + min-width: 100%; +} +.jstree-wholerow-ul .jstree-leaf > .jstree-ocl { + cursor: pointer; +} +.jstree-wholerow-ul .jstree-anchor, +.jstree-wholerow-ul .jstree-icon { + position: relative; +} +.jstree-wholerow-ul .jstree-wholerow { + width: 100%; + cursor: pointer; + position: absolute; + left: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.vakata-context { + display: none; +} +.vakata-context, +.vakata-context ul { + margin: 0; + padding: 2px; + position: absolute; + background: #f5f5f5; + border: 1px solid #979797; + box-shadow: 2px 2px 2px #999999; +} +.vakata-context ul { + list-style: none; + left: 100%; + margin-top: -2.7em; + margin-left: -4px; +} +.vakata-context .vakata-context-right ul { + left: auto; + right: 100%; + margin-left: auto; + margin-right: -4px; +} +.vakata-context li { + list-style: none; +} +.vakata-context li > a { + display: block; + padding: 0 2em 0 2em; + text-decoration: none; + width: auto; + color: black; + white-space: nowrap; + line-height: 2.4em; + text-shadow: 1px 1px 0 white; + border-radius: 1px; +} +.vakata-context li > a:hover { + position: relative; + background-color: #e8eff7; + box-shadow: 0 0 2px #0a6aa1; +} +.vakata-context li > a.vakata-context-parent { + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw=="); + background-position: right center; + background-repeat: no-repeat; +} +.vakata-context li > a:focus { + outline: 0; +} +.vakata-context .vakata-context-hover > a { + position: relative; + background-color: #e8eff7; + box-shadow: 0 0 2px #0a6aa1; +} +.vakata-context .vakata-context-separator > a, +.vakata-context .vakata-context-separator > a:hover { + background: white; + border: 0; + border-top: 1px solid #e2e3e3; + height: 1px; + min-height: 1px; + max-height: 1px; + padding: 0; + margin: 0 0 0 2.4em; + border-left: 1px solid #e0e0e0; + text-shadow: 0 0 0 transparent; + box-shadow: 0 0 0 transparent; + border-radius: 0; +} +.vakata-context .vakata-contextmenu-disabled a, +.vakata-context .vakata-contextmenu-disabled a:hover { + color: silver; + background-color: transparent; + border: 0; + box-shadow: 0 0 0; +} +.vakata-context li > a > i { + text-decoration: none; + display: inline-block; + width: 2.4em; + height: 2.4em; + background: transparent; + margin: 0 0 0 -2em; + vertical-align: top; + text-align: center; + line-height: 2.4em; +} +.vakata-context li > a > i:empty { + width: 2.4em; + line-height: 2.4em; +} +.vakata-context li > a .vakata-contextmenu-sep { + display: inline-block; + width: 1px; + height: 2.4em; + background: white; + margin: 0 0.5em 0 0; + border-left: 1px solid #e2e3e3; +} +.vakata-context .vakata-contextmenu-shortcut { + font-size: 0.8em; + color: silver; + opacity: 0.5; + display: none; +} +.vakata-context-rtl ul { + left: auto; + right: 100%; + margin-left: auto; + margin-right: -4px; +} +.vakata-context-rtl li > a.vakata-context-parent { + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7"); + background-position: left center; + background-repeat: no-repeat; +} +.vakata-context-rtl .vakata-context-separator > a { + margin: 0 2.4em 0 0; + border-left: 0; + border-right: 1px solid #e2e3e3; +} +.vakata-context-rtl .vakata-context-left ul { + right: auto; + left: 100%; + margin-left: -4px; + margin-right: auto; +} +.vakata-context-rtl li > a > i { + margin: 0 -2em 0 0; +} +.vakata-context-rtl li > a .vakata-contextmenu-sep { + margin: 0 0 0 0.5em; + border-left-color: white; + background: #e2e3e3; +} +#jstree-marker { + position: absolute; + top: 0; + left: 0; + margin: -5px 0 0 0; + padding: 0; + border-right: 0; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-left: 5px solid; + width: 0; + height: 0; + font-size: 0; + line-height: 0; +} +#jstree-dnd { + line-height: 16px; + margin: 0; + padding: 4px; +} +#jstree-dnd .jstree-icon, +#jstree-dnd .jstree-copy { + display: inline-block; + text-decoration: none; + margin: 0 2px 0 0; + padding: 0; + width: 16px; + height: 16px; +} +#jstree-dnd .jstree-ok { + background: green; +} +#jstree-dnd .jstree-er { + background: red; +} +#jstree-dnd .jstree-copy { + margin: 0 2px 0 2px; +} +.jstree-default-dark .jstree-node, +.jstree-default-dark .jstree-icon { + background-repeat: no-repeat; + background-color: transparent; +} +.jstree-default-dark .jstree-anchor, +.jstree-default-dark .jstree-animated, +.jstree-default-dark .jstree-wholerow { + transition: background-color 0.15s, box-shadow 0.15s; +} +.jstree-default-dark .jstree-hovered { + background: #555555; + border-radius: 2px; + box-shadow: inset 0 0 1px #555555; +} +.jstree-default-dark .jstree-context { + background: #555555; + border-radius: 2px; + box-shadow: inset 0 0 1px #555555; +} +.jstree-default-dark .jstree-clicked { + background: #5fa2db; + border-radius: 2px; + box-shadow: inset 0 0 1px #666666; +} +.jstree-default-dark .jstree-no-icons .jstree-anchor > .jstree-themeicon { + display: none; +} +.jstree-default-dark .jstree-disabled { + background: transparent; + color: #666666; +} +.jstree-default-dark .jstree-disabled.jstree-hovered { + background: transparent; + box-shadow: none; +} +.jstree-default-dark .jstree-disabled.jstree-clicked { + background: #333333; +} +.jstree-default-dark .jstree-disabled > .jstree-icon { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ +} +.jstree-default-dark .jstree-search { + font-style: italic; + color: #ffffff; + font-weight: bold; +} +.jstree-default-dark .jstree-no-checkboxes .jstree-checkbox { + display: none !important; +} +.jstree-default-dark.jstree-checkbox-no-clicked .jstree-clicked { + background: transparent; + box-shadow: none; +} +.jstree-default-dark.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered { + background: #555555; +} +.jstree-default-dark.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked { + background: transparent; +} +.jstree-default-dark.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered { + background: #555555; +} +.jstree-default-dark > .jstree-striped { + min-width: 100%; + display: inline-block; + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat; +} +.jstree-default-dark > .jstree-wholerow-ul .jstree-hovered, +.jstree-default-dark > .jstree-wholerow-ul .jstree-clicked { + background: transparent; + box-shadow: none; + border-radius: 0; +} +.jstree-default-dark .jstree-wholerow { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.jstree-default-dark .jstree-wholerow-hovered { + background: #555555; +} +.jstree-default-dark .jstree-wholerow-clicked { + background: #5fa2db; + background: -webkit-linear-gradient(top, #5fa2db 0%, #5fa2db 100%); + background: linear-gradient(to bottom, #5fa2db 0%, #5fa2db 100%); +} +.jstree-default-dark .jstree-node { + min-height: 24px; + line-height: 24px; + margin-left: 24px; + min-width: 24px; +} +.jstree-default-dark .jstree-anchor { + line-height: 24px; + height: 24px; +} +.jstree-default-dark .jstree-icon { + width: 24px; + height: 24px; + line-height: 24px; +} +.jstree-default-dark .jstree-icon:empty { + width: 24px; + height: 24px; + line-height: 24px; +} +.jstree-default-dark.jstree-rtl .jstree-node { + margin-right: 24px; +} +.jstree-default-dark .jstree-wholerow { + height: 24px; +} +.jstree-default-dark .jstree-node, +.jstree-default-dark .jstree-icon { + background-image: url("32px.png"); +} +.jstree-default-dark .jstree-node { + background-position: -292px -4px; + background-repeat: repeat-y; +} +.jstree-default-dark .jstree-last { + background: transparent; +} +.jstree-default-dark .jstree-open > .jstree-ocl { + background-position: -132px -4px; +} +.jstree-default-dark .jstree-closed > .jstree-ocl { + background-position: -100px -4px; +} +.jstree-default-dark .jstree-leaf > .jstree-ocl { + background-position: -68px -4px; +} +.jstree-default-dark .jstree-themeicon { + background-position: -260px -4px; +} +.jstree-default-dark > .jstree-no-dots .jstree-node, +.jstree-default-dark > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-dark > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -36px -4px; +} +.jstree-default-dark > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -4px -4px; +} +.jstree-default-dark .jstree-disabled { + background: transparent; +} +.jstree-default-dark .jstree-disabled.jstree-hovered { + background: transparent; +} +.jstree-default-dark .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default-dark .jstree-checkbox { + background-position: -164px -4px; +} +.jstree-default-dark .jstree-checkbox:hover { + background-position: -164px -36px; +} +.jstree-default-dark.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, +.jstree-default-dark .jstree-checked > .jstree-checkbox { + background-position: -228px -4px; +} +.jstree-default-dark.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, +.jstree-default-dark .jstree-checked > .jstree-checkbox:hover { + background-position: -228px -36px; +} +.jstree-default-dark .jstree-anchor > .jstree-undetermined { + background-position: -196px -4px; +} +.jstree-default-dark .jstree-anchor > .jstree-undetermined:hover { + background-position: -196px -36px; +} +.jstree-default-dark .jstree-checkbox-disabled { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ +} +.jstree-default-dark > .jstree-striped { + background-size: auto 48px; +} +.jstree-default-dark.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default-dark.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-dark.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -132px -36px; +} +.jstree-default-dark.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -100px -36px; +} +.jstree-default-dark.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -68px -36px; +} +.jstree-default-dark.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default-dark.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-dark.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -36px -36px; +} +.jstree-default-dark.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -4px -36px; +} +.jstree-default-dark .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; +} +.jstree-default-dark > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url("throbber.gif") center center no-repeat; +} +.jstree-default-dark .jstree-file { + background: url("32px.png") -100px -68px no-repeat; +} +.jstree-default-dark .jstree-folder { + background: url("32px.png") -260px -4px no-repeat; +} +.jstree-default-dark > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; +} +#jstree-dnd.jstree-default-dark { + line-height: 24px; + padding: 0 4px; +} +#jstree-dnd.jstree-default-dark .jstree-ok, +#jstree-dnd.jstree-default-dark .jstree-er { + background-image: url("32px.png"); + background-repeat: no-repeat; + background-color: transparent; +} +#jstree-dnd.jstree-default-dark i { + background: transparent; + width: 24px; + height: 24px; + line-height: 24px; +} +#jstree-dnd.jstree-default-dark .jstree-ok { + background-position: -4px -68px; +} +#jstree-dnd.jstree-default-dark .jstree-er { + background-position: -36px -68px; +} +.jstree-default-dark .jstree-ellipsis { + overflow: hidden; +} +.jstree-default-dark .jstree-ellipsis .jstree-anchor { + width: calc(100% - 29px); + text-overflow: ellipsis; + overflow: hidden; +} +.jstree-default-dark .jstree-ellipsis.jstree-no-icons .jstree-anchor { + width: calc(100% - 5px); +} +.jstree-default-dark.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); +} +.jstree-default-dark.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-dark-small .jstree-node { + min-height: 18px; + line-height: 18px; + margin-left: 18px; + min-width: 18px; +} +.jstree-default-dark-small .jstree-anchor { + line-height: 18px; + height: 18px; +} +.jstree-default-dark-small .jstree-icon { + width: 18px; + height: 18px; + line-height: 18px; +} +.jstree-default-dark-small .jstree-icon:empty { + width: 18px; + height: 18px; + line-height: 18px; +} +.jstree-default-dark-small.jstree-rtl .jstree-node { + margin-right: 18px; +} +.jstree-default-dark-small .jstree-wholerow { + height: 18px; +} +.jstree-default-dark-small .jstree-node, +.jstree-default-dark-small .jstree-icon { + background-image: url("32px.png"); +} +.jstree-default-dark-small .jstree-node { + background-position: -295px -7px; + background-repeat: repeat-y; +} +.jstree-default-dark-small .jstree-last { + background: transparent; +} +.jstree-default-dark-small .jstree-open > .jstree-ocl { + background-position: -135px -7px; +} +.jstree-default-dark-small .jstree-closed > .jstree-ocl { + background-position: -103px -7px; +} +.jstree-default-dark-small .jstree-leaf > .jstree-ocl { + background-position: -71px -7px; +} +.jstree-default-dark-small .jstree-themeicon { + background-position: -263px -7px; +} +.jstree-default-dark-small > .jstree-no-dots .jstree-node, +.jstree-default-dark-small > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-dark-small > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -39px -7px; +} +.jstree-default-dark-small > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -7px -7px; +} +.jstree-default-dark-small .jstree-disabled { + background: transparent; +} +.jstree-default-dark-small .jstree-disabled.jstree-hovered { + background: transparent; +} +.jstree-default-dark-small .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default-dark-small .jstree-checkbox { + background-position: -167px -7px; +} +.jstree-default-dark-small .jstree-checkbox:hover { + background-position: -167px -39px; +} +.jstree-default-dark-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, +.jstree-default-dark-small .jstree-checked > .jstree-checkbox { + background-position: -231px -7px; +} +.jstree-default-dark-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, +.jstree-default-dark-small .jstree-checked > .jstree-checkbox:hover { + background-position: -231px -39px; +} +.jstree-default-dark-small .jstree-anchor > .jstree-undetermined { + background-position: -199px -7px; +} +.jstree-default-dark-small .jstree-anchor > .jstree-undetermined:hover { + background-position: -199px -39px; +} +.jstree-default-dark-small .jstree-checkbox-disabled { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ +} +.jstree-default-dark-small > .jstree-striped { + background-size: auto 36px; +} +.jstree-default-dark-small.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default-dark-small.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-dark-small.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -135px -39px; +} +.jstree-default-dark-small.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -103px -39px; +} +.jstree-default-dark-small.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -71px -39px; +} +.jstree-default-dark-small.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default-dark-small.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-dark-small.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -39px -39px; +} +.jstree-default-dark-small.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -7px -39px; +} +.jstree-default-dark-small .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; +} +.jstree-default-dark-small > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url("throbber.gif") center center no-repeat; +} +.jstree-default-dark-small .jstree-file { + background: url("32px.png") -103px -71px no-repeat; +} +.jstree-default-dark-small .jstree-folder { + background: url("32px.png") -263px -7px no-repeat; +} +.jstree-default-dark-small > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; +} +#jstree-dnd.jstree-default-dark-small { + line-height: 18px; + padding: 0 4px; +} +#jstree-dnd.jstree-default-dark-small .jstree-ok, +#jstree-dnd.jstree-default-dark-small .jstree-er { + background-image: url("32px.png"); + background-repeat: no-repeat; + background-color: transparent; +} +#jstree-dnd.jstree-default-dark-small i { + background: transparent; + width: 18px; + height: 18px; + line-height: 18px; +} +#jstree-dnd.jstree-default-dark-small .jstree-ok { + background-position: -7px -71px; +} +#jstree-dnd.jstree-default-dark-small .jstree-er { + background-position: -39px -71px; +} +.jstree-default-dark-small .jstree-ellipsis { + overflow: hidden; +} +.jstree-default-dark-small .jstree-ellipsis .jstree-anchor { + width: calc(100% - 23px); + text-overflow: ellipsis; + overflow: hidden; +} +.jstree-default-dark-small .jstree-ellipsis.jstree-no-icons .jstree-anchor { + width: calc(100% - 5px); +} +.jstree-default-dark-small.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); +} +.jstree-default-dark-small.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-dark-large .jstree-node { + min-height: 32px; + line-height: 32px; + margin-left: 32px; + min-width: 32px; +} +.jstree-default-dark-large .jstree-anchor { + line-height: 32px; + height: 32px; +} +.jstree-default-dark-large .jstree-icon { + width: 32px; + height: 32px; + line-height: 32px; +} +.jstree-default-dark-large .jstree-icon:empty { + width: 32px; + height: 32px; + line-height: 32px; +} +.jstree-default-dark-large.jstree-rtl .jstree-node { + margin-right: 32px; +} +.jstree-default-dark-large .jstree-wholerow { + height: 32px; +} +.jstree-default-dark-large .jstree-node, +.jstree-default-dark-large .jstree-icon { + background-image: url("32px.png"); +} +.jstree-default-dark-large .jstree-node { + background-position: -288px 0px; + background-repeat: repeat-y; +} +.jstree-default-dark-large .jstree-last { + background: transparent; +} +.jstree-default-dark-large .jstree-open > .jstree-ocl { + background-position: -128px 0px; +} +.jstree-default-dark-large .jstree-closed > .jstree-ocl { + background-position: -96px 0px; +} +.jstree-default-dark-large .jstree-leaf > .jstree-ocl { + background-position: -64px 0px; +} +.jstree-default-dark-large .jstree-themeicon { + background-position: -256px 0px; +} +.jstree-default-dark-large > .jstree-no-dots .jstree-node, +.jstree-default-dark-large > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-dark-large > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -32px 0px; +} +.jstree-default-dark-large > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: 0px 0px; +} +.jstree-default-dark-large .jstree-disabled { + background: transparent; +} +.jstree-default-dark-large .jstree-disabled.jstree-hovered { + background: transparent; +} +.jstree-default-dark-large .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default-dark-large .jstree-checkbox { + background-position: -160px 0px; +} +.jstree-default-dark-large .jstree-checkbox:hover { + background-position: -160px -32px; +} +.jstree-default-dark-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, +.jstree-default-dark-large .jstree-checked > .jstree-checkbox { + background-position: -224px 0px; +} +.jstree-default-dark-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, +.jstree-default-dark-large .jstree-checked > .jstree-checkbox:hover { + background-position: -224px -32px; +} +.jstree-default-dark-large .jstree-anchor > .jstree-undetermined { + background-position: -192px 0px; +} +.jstree-default-dark-large .jstree-anchor > .jstree-undetermined:hover { + background-position: -192px -32px; +} +.jstree-default-dark-large .jstree-checkbox-disabled { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ +} +.jstree-default-dark-large > .jstree-striped { + background-size: auto 64px; +} +.jstree-default-dark-large.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default-dark-large.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-dark-large.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -128px -32px; +} +.jstree-default-dark-large.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -96px -32px; +} +.jstree-default-dark-large.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -64px -32px; +} +.jstree-default-dark-large.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default-dark-large.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-dark-large.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -32px -32px; +} +.jstree-default-dark-large.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: 0px -32px; +} +.jstree-default-dark-large .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; +} +.jstree-default-dark-large > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url("throbber.gif") center center no-repeat; +} +.jstree-default-dark-large .jstree-file { + background: url("32px.png") -96px -64px no-repeat; +} +.jstree-default-dark-large .jstree-folder { + background: url("32px.png") -256px 0px no-repeat; +} +.jstree-default-dark-large > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; +} +#jstree-dnd.jstree-default-dark-large { + line-height: 32px; + padding: 0 4px; +} +#jstree-dnd.jstree-default-dark-large .jstree-ok, +#jstree-dnd.jstree-default-dark-large .jstree-er { + background-image: url("32px.png"); + background-repeat: no-repeat; + background-color: transparent; +} +#jstree-dnd.jstree-default-dark-large i { + background: transparent; + width: 32px; + height: 32px; + line-height: 32px; +} +#jstree-dnd.jstree-default-dark-large .jstree-ok { + background-position: 0px -64px; +} +#jstree-dnd.jstree-default-dark-large .jstree-er { + background-position: -32px -64px; +} +.jstree-default-dark-large .jstree-ellipsis { + overflow: hidden; +} +.jstree-default-dark-large .jstree-ellipsis .jstree-anchor { + width: calc(100% - 37px); + text-overflow: ellipsis; + overflow: hidden; +} +.jstree-default-dark-large .jstree-ellipsis.jstree-no-icons .jstree-anchor { + width: calc(100% - 5px); +} +.jstree-default-dark-large.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); +} +.jstree-default-dark-large.jstree-rtl .jstree-last { + background: transparent; +} +@media (max-width: 768px) { + #jstree-dnd.jstree-dnd-responsive { + line-height: 40px; + font-weight: bold; + font-size: 1.1em; + text-shadow: 1px 1px white; + } + #jstree-dnd.jstree-dnd-responsive > i { + background: transparent; + width: 40px; + height: 40px; + } + #jstree-dnd.jstree-dnd-responsive > .jstree-ok { + background-image: url("40px.png"); + background-position: 0 -200px; + background-size: 120px 240px; + } + #jstree-dnd.jstree-dnd-responsive > .jstree-er { + background-image: url("40px.png"); + background-position: -40px -200px; + background-size: 120px 240px; + } + #jstree-marker.jstree-dnd-responsive { + border-left-width: 10px; + border-top-width: 10px; + border-bottom-width: 10px; + margin-top: -10px; + } +} +@media (max-width: 768px) { + .jstree-default-dark-responsive { + /* + .jstree-open > .jstree-ocl, + .jstree-closed > .jstree-ocl { border-radius:20px; background-color:white; } + */ + } + .jstree-default-dark-responsive .jstree-icon { + background-image: url("40px.png"); + } + .jstree-default-dark-responsive .jstree-node, + .jstree-default-dark-responsive .jstree-leaf > .jstree-ocl { + background: transparent; + } + .jstree-default-dark-responsive .jstree-node { + min-height: 40px; + line-height: 40px; + margin-left: 40px; + min-width: 40px; + white-space: nowrap; + } + .jstree-default-dark-responsive .jstree-anchor { + line-height: 40px; + height: 40px; + } + .jstree-default-dark-responsive .jstree-icon, + .jstree-default-dark-responsive .jstree-icon:empty { + width: 40px; + height: 40px; + line-height: 40px; + } + .jstree-default-dark-responsive > .jstree-container-ul > .jstree-node { + margin-left: 0; + } + .jstree-default-dark-responsive.jstree-rtl .jstree-node { + margin-left: 0; + margin-right: 40px; + background: transparent; + } + .jstree-default-dark-responsive.jstree-rtl .jstree-container-ul > .jstree-node { + margin-right: 0; + } + .jstree-default-dark-responsive .jstree-ocl, + .jstree-default-dark-responsive .jstree-themeicon, + .jstree-default-dark-responsive .jstree-checkbox { + background-size: 120px 240px; + } + .jstree-default-dark-responsive .jstree-leaf > .jstree-ocl, + .jstree-default-dark-responsive.jstree-rtl .jstree-leaf > .jstree-ocl { + background: transparent; + } + .jstree-default-dark-responsive .jstree-open > .jstree-ocl { + background-position: 0 0px !important; + } + .jstree-default-dark-responsive .jstree-closed > .jstree-ocl { + background-position: 0 -40px !important; + } + .jstree-default-dark-responsive.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -40px 0px !important; + } + .jstree-default-dark-responsive .jstree-themeicon { + background-position: -40px -40px; + } + .jstree-default-dark-responsive .jstree-checkbox, + .jstree-default-dark-responsive .jstree-checkbox:hover { + background-position: -40px -80px; + } + .jstree-default-dark-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, + .jstree-default-dark-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, + .jstree-default-dark-responsive .jstree-checked > .jstree-checkbox, + .jstree-default-dark-responsive .jstree-checked > .jstree-checkbox:hover { + background-position: 0 -80px; + } + .jstree-default-dark-responsive .jstree-anchor > .jstree-undetermined, + .jstree-default-dark-responsive .jstree-anchor > .jstree-undetermined:hover { + background-position: 0 -120px; + } + .jstree-default-dark-responsive .jstree-anchor { + font-weight: bold; + font-size: 1.1em; + text-shadow: 1px 1px white; + } + .jstree-default-dark-responsive > .jstree-striped { + background: transparent; + } + .jstree-default-dark-responsive .jstree-wholerow { + border-top: 1px solid #666666; + border-bottom: 1px solid #000000; + background: #333333; + height: 40px; + } + .jstree-default-dark-responsive .jstree-wholerow-hovered { + background: #555555; + } + .jstree-default-dark-responsive .jstree-wholerow-clicked { + background: #5fa2db; + } + .jstree-default-dark-responsive .jstree-children .jstree-last > .jstree-wholerow { + box-shadow: inset 0 -6px 3px -5px #111111; + } + .jstree-default-dark-responsive .jstree-children .jstree-open > .jstree-wholerow { + box-shadow: inset 0 6px 3px -5px #111111; + border-top: 0; + } + .jstree-default-dark-responsive .jstree-children .jstree-open + .jstree-open { + box-shadow: none; + } + .jstree-default-dark-responsive .jstree-node, + .jstree-default-dark-responsive .jstree-icon, + .jstree-default-dark-responsive .jstree-node > .jstree-ocl, + .jstree-default-dark-responsive .jstree-themeicon, + .jstree-default-dark-responsive .jstree-checkbox { + background-image: url("40px.png"); + background-size: 120px 240px; + } + .jstree-default-dark-responsive .jstree-node { + background-position: -80px 0; + background-repeat: repeat-y; + } + .jstree-default-dark-responsive .jstree-last { + background: transparent; + } + .jstree-default-dark-responsive .jstree-leaf > .jstree-ocl { + background-position: -40px -120px; + } + .jstree-default-dark-responsive .jstree-last > .jstree-ocl { + background-position: -40px -160px; + } + .jstree-default-dark-responsive .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; + } + .jstree-default-dark-responsive .jstree-file { + background: url("40px.png") 0 -160px no-repeat; + background-size: 120px 240px; + } + .jstree-default-dark-responsive .jstree-folder { + background: url("40px.png") -40px -40px no-repeat; + background-size: 120px 240px; + } + .jstree-default-dark-responsive > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; + } +} +.jstree-default-dark { + background: #333; +} +.jstree-default-dark .jstree-anchor { + color: #999; + text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5); +} +.jstree-default-dark .jstree-clicked, +.jstree-default-dark .jstree-checked { + color: white; +} +.jstree-default-dark .jstree-hovered { + color: white; +} +#jstree-marker.jstree-default-dark { + border-left-color: #999; + background: transparent; +} +.jstree-default-dark .jstree-anchor > .jstree-icon { + opacity: 0.75; +} +.jstree-default-dark .jstree-clicked > .jstree-icon, +.jstree-default-dark .jstree-hovered > .jstree-icon, +.jstree-default-dark .jstree-checked > .jstree-icon { + opacity: 1; +} +.jstree-default-dark.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); +} +.jstree-default-dark.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-dark-small.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); +} +.jstree-default-dark-small.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-dark-large.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); +} +.jstree-default-dark-large.jstree-rtl .jstree-last { + background: transparent; +} diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default-dark/style.min.css b/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default-dark/style.min.css new file mode 100644 index 0000000000..d9084d403c --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default-dark/style.min.css @@ -0,0 +1 @@ +.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:#000;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-hidden,.jstree-node.jstree-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 #fff;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default-dark .jstree-node,.jstree-default-dark .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default-dark .jstree-anchor,.jstree-default-dark .jstree-animated,.jstree-default-dark .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default-dark .jstree-hovered{background:#555;border-radius:2px;box-shadow:inset 0 0 1px #555}.jstree-default-dark .jstree-context{background:#555;border-radius:2px;box-shadow:inset 0 0 1px #555}.jstree-default-dark .jstree-clicked{background:#5fa2db;border-radius:2px;box-shadow:inset 0 0 1px #666}.jstree-default-dark .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default-dark .jstree-disabled{background:0 0;color:#666}.jstree-default-dark .jstree-disabled.jstree-hovered{background:0 0;box-shadow:none}.jstree-default-dark .jstree-disabled.jstree-clicked{background:#333}.jstree-default-dark .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark .jstree-search{font-style:italic;color:#fff;font-weight:700}.jstree-default-dark .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default-dark.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default-dark.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#555}.jstree-default-dark.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default-dark.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#555}.jstree-default-dark>.jstree-striped{min-width:100%;display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top repeat}.jstree-default-dark>.jstree-wholerow-ul .jstree-hovered,.jstree-default-dark>.jstree-wholerow-ul .jstree-clicked{background:0 0;box-shadow:none;border-radius:0}.jstree-default-dark .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default-dark .jstree-wholerow-hovered{background:#555}.jstree-default-dark .jstree-wholerow-clicked{background:#5fa2db;background:-webkit-linear-gradient(top,#5fa2db 0,#5fa2db 100%);background:linear-gradient(to bottom,#5fa2db 0,#5fa2db 100%)}.jstree-default-dark .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default-dark .jstree-anchor{line-height:24px;height:24px}.jstree-default-dark .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default-dark .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default-dark.jstree-rtl .jstree-node{margin-right:24px}.jstree-default-dark .jstree-wholerow{height:24px}.jstree-default-dark .jstree-node,.jstree-default-dark .jstree-icon{background-image:url(32px.png)}.jstree-default-dark .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default-dark .jstree-last{background:0 0}.jstree-default-dark .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default-dark .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default-dark .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default-dark .jstree-themeicon{background-position:-260px -4px}.jstree-default-dark>.jstree-no-dots .jstree-node,.jstree-default-dark>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default-dark>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default-dark .jstree-disabled{background:0 0}.jstree-default-dark .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-dark .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-dark .jstree-checkbox{background-position:-164px -4px}.jstree-default-dark .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default-dark.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default-dark.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default-dark .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default-dark .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default-dark .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark>.jstree-striped{background-size:auto 48px}.jstree-default-dark.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-dark.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default-dark.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default-dark.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default-dark .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-dark .jstree-file{background:url(32px.png) -100px -68px no-repeat}.jstree-default-dark .jstree-folder{background:url(32px.png) -260px -4px no-repeat}.jstree-default-dark>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-dark{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default-dark .jstree-ok,#jstree-dnd.jstree-default-dark .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-dark i{background:0 0;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default-dark .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default-dark .jstree-er{background-position:-36px -68px}.jstree-default-dark .jstree-ellipsis{overflow:hidden}.jstree-default-dark .jstree-ellipsis .jstree-anchor{width:calc(100% - 29px);text-overflow:ellipsis;overflow:hidden}.jstree-default-dark .jstree-ellipsis.jstree-no-icons .jstree-anchor{width:calc(100% - 5px)}.jstree-default-dark.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default-dark.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-dark-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-dark-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-dark-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-dark-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-dark-small .jstree-wholerow{height:18px}.jstree-default-dark-small .jstree-node,.jstree-default-dark-small .jstree-icon{background-image:url(32px.png)}.jstree-default-dark-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-dark-small .jstree-last{background:0 0}.jstree-default-dark-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-dark-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-dark-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-dark-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-dark-small>.jstree-no-dots .jstree-node,.jstree-default-dark-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-dark-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-dark-small .jstree-disabled{background:0 0}.jstree-default-dark-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-dark-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-dark-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-dark-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-dark-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-dark-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-dark-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-dark-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-dark-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark-small>.jstree-striped{background-size:auto 36px}.jstree-default-dark-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-dark-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-dark-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-dark-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-dark-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-dark-small .jstree-file{background:url(32px.png) -103px -71px no-repeat}.jstree-default-dark-small .jstree-folder{background:url(32px.png) -263px -7px no-repeat}.jstree-default-dark-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-dark-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-dark-small .jstree-ok,#jstree-dnd.jstree-default-dark-small .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-dark-small i{background:0 0;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-dark-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-dark-small .jstree-er{background-position:-39px -71px}.jstree-default-dark-small .jstree-ellipsis{overflow:hidden}.jstree-default-dark-small .jstree-ellipsis .jstree-anchor{width:calc(100% - 23px);text-overflow:ellipsis;overflow:hidden}.jstree-default-dark-small .jstree-ellipsis.jstree-no-icons .jstree-anchor{width:calc(100% - 5px)}.jstree-default-dark-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-dark-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-dark-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-dark-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-dark-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-dark-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-dark-large .jstree-wholerow{height:32px}.jstree-default-dark-large .jstree-node,.jstree-default-dark-large .jstree-icon{background-image:url(32px.png)}.jstree-default-dark-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-dark-large .jstree-last{background:0 0}.jstree-default-dark-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-dark-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-dark-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-dark-large .jstree-themeicon{background-position:-256px 0}.jstree-default-dark-large>.jstree-no-dots .jstree-node,.jstree-default-dark-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-dark-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-dark-large .jstree-disabled{background:0 0}.jstree-default-dark-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-dark-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-dark-large .jstree-checkbox{background-position:-160px 0}.jstree-default-dark-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-dark-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-dark-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-dark-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-dark-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-dark-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark-large>.jstree-striped{background-size:auto 64px}.jstree-default-dark-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-dark-large.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-dark-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-dark-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-dark-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-dark-large .jstree-file{background:url(32px.png) -96px -64px no-repeat}.jstree-default-dark-large .jstree-folder{background:url(32px.png) -256px 0 no-repeat}.jstree-default-dark-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-dark-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-dark-large .jstree-ok,#jstree-dnd.jstree-default-dark-large .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-dark-large i{background:0 0;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-dark-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-dark-large .jstree-er{background-position:-32px -64px}.jstree-default-dark-large .jstree-ellipsis{overflow:hidden}.jstree-default-dark-large .jstree-ellipsis .jstree-anchor{width:calc(100% - 37px);text-overflow:ellipsis;overflow:hidden}.jstree-default-dark-large .jstree-ellipsis.jstree-no-icons .jstree-anchor{width:calc(100% - 5px)}.jstree-default-dark-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-dark-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width:768px){.jstree-default-dark-responsive .jstree-icon{background-image:url(40px.png)}.jstree-default-dark-responsive .jstree-node,.jstree-default-dark-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-dark-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-dark-responsive .jstree-icon,.jstree-default-dark-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-dark-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-dark-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:0 0}.jstree-default-dark-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-dark-responsive .jstree-ocl,.jstree-default-dark-responsive .jstree-themeicon,.jstree-default-dark-responsive .jstree-checkbox{background-size:120px 240px}.jstree-default-dark-responsive .jstree-leaf>.jstree-ocl,.jstree-default-dark-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-dark-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-dark-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-dark-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-dark-responsive .jstree-checkbox,.jstree-default-dark-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-dark-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark-responsive .jstree-checked>.jstree-checkbox,.jstree-default-dark-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-dark-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-dark-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-dark-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-dark-responsive>.jstree-striped{background:0 0}.jstree-default-dark-responsive .jstree-wholerow{border-top:1px solid #666;border-bottom:1px solid #000;background:#333;height:40px}.jstree-default-dark-responsive .jstree-wholerow-hovered{background:#555}.jstree-default-dark-responsive .jstree-wholerow-clicked{background:#5fa2db}.jstree-default-dark-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #111}.jstree-default-dark-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #111;border-top:0}.jstree-default-dark-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-dark-responsive .jstree-node,.jstree-default-dark-responsive .jstree-icon,.jstree-default-dark-responsive .jstree-node>.jstree-ocl,.jstree-default-dark-responsive .jstree-themeicon,.jstree-default-dark-responsive .jstree-checkbox{background-image:url(40px.png);background-size:120px 240px}.jstree-default-dark-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-dark-responsive .jstree-last{background:0 0}.jstree-default-dark-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-dark-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-dark-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark-responsive .jstree-file{background:url(40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-dark-responsive .jstree-folder{background:url(40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-dark-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}.jstree-default-dark{background:#333}.jstree-default-dark .jstree-anchor{color:#999;text-shadow:1px 1px 0 rgba(0,0,0,.5)}.jstree-default-dark .jstree-clicked,.jstree-default-dark .jstree-checked{color:#fff}.jstree-default-dark .jstree-hovered{color:#fff}#jstree-marker.jstree-default-dark{border-left-color:#999;background:0 0}.jstree-default-dark .jstree-anchor>.jstree-icon{opacity:.75}.jstree-default-dark .jstree-clicked>.jstree-icon,.jstree-default-dark .jstree-hovered>.jstree-icon,.jstree-default-dark .jstree-checked>.jstree-icon{opacity:1}.jstree-default-dark.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default-dark.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-dark-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-dark-large.jstree-rtl .jstree-last{background:0 0} \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default-dark/throbber.gif b/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default-dark/throbber.gif new file mode 100644 index 0000000000000000000000000000000000000000..cd75035ce8086b233c62c3775de4696007ba7950 GIT binary patch literal 1720 zcmZ|OYfMvT7zgm4p2O+ea@rnBg#%t_w^9y@rd%z;T+7W;EEIuRP@n~of>p{*LD94n zD#dD%>4eQ7(f}2w1Jp&gxD-%9@q$L8PU8@DI@}hSaq0)%%HqfF!~5+?{=fX6_gR&k zB#zeL6rA#kLJ1EKkB*MkYPAxH#A31N_4>ZPK7+x~*4Cy{sgz1(XJ@Bct?upZwb^Vn zH8uQyJW~@hGvcMn#IR)|7@|-p{15)|6-An=q7A%lB~@CUrc_g-E7NRPRY{9GBtGW2#F<6Tlp*{3e2sO*9QTn07T-ayS_ZHC-#O>$xhqqdcpZ ztmi!vPe)MeZRuUe$#kkQ=ZCx#&BIF_bl`&&kBftO#70Qh(%BzvH^%Q*V^7k&A({sT z%Y^lTu*avnIgG+U1|!SMokH(YXlu`0j~)X}p;*dbvgwiG8ou~G0H`U%D%A}cX`Z7O z)ni(eb`a})TPHM1hAVH$IJP)wYgYnn9eF%-V%K@toW*&nV8eM+!Cp9L>Vhol^Gh@~ z%&1Z5Vm+|c!un0R(q?jRP)d+nM1>1Mdbt4 zq+z&G4Mf-;dC=>aU>rU4#Qsu;p3RpG$pl+_MhkB8a)~L$l9^5fWiX2+H!!5_T5s^9 z4>JK<{X^Fo%S_uDF%5Ow6`@;%!WN<1E;i0BB-n*W1?E{l7sBj|dY;=Uk(#XoO1L_N z@qGP~b}*65jDQozoGo?S4(63|3?uFyzC7?Gm+`Y=Q}V!~eW9^>IiUQTB_L<1=H*gdQy5&m_IYV z%Li4Uo_>Bi7os#uY}WcRfHHEkH&b8~%gsue?-o<(!aOHjm`s4Z3LOy|RiA_cGTpV7aX)L(k3WdLrb3z#~FKmqZa8IsfA0m#1pKiYPj1TEN53e>tkg z0RTNlJq#uQVrLpQqdM5r6JnuD=hIQXX(5PA4}{kHxmV1!p*>qQvt#tEygNOAs@+Oz zdfw4ZMdhbk+u}+OPG5|*-o?V{NXcn0HBbAn)h^Y1-B04pOzSBDfelR>`teLE(^ROI zh&b$euUUs^kZN*1k{J%gadZHxgJ?{nH{AjOmJrF77iSdv|L<1j9OLgC{;#V|RJlr& zcSW6j{0-Aeuhh1H@4Gt=_&ggRSH>Bn1;_M62O`)zlyTGNWU^sE&gnQmJ~HG$aPw$; zKX(DOIsRy?o{m{z>42;$0!CTTcF2R3?au%K2(p-Mna`zCH@bI}ee7d=$K>rPkFF?8 zv$nvf0d|7yp7!sKocJY+u zY6SVs9!-4A?3JGvc^gfN8$7Nen2o=3aWO!QO@le}aMdx8^`2yXn=H9`9ATLE&9>s? q)n(GDbX6ch9<^Oe2Q%ytegccF@POz|8L)A;FQ!??rHkeqG5-P<(jCG8 literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default/32px.png b/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default/32px.png new file mode 100644 index 0000000000000000000000000000000000000000..15327152481789306eadef88393cd1c748dc31a7 GIT binary patch literal 3121 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 q$a=%VWn+k|UtiDv&>%>!2^rk(D6aNK_^-%!; literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default/40px.png b/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default/40px.png new file mode 100644 index 0000000000000000000000000000000000000000..1959347aea041d75a58d0584ea7ec51714797983 GIT binary patch literal 1880 zcmZ`)doPK^x}L8xo#OE#OkB~$LGr;}=FbpxeWUvbGmLn1DXa;HsQK~D7_{^sq2 z^fni3chvJ5$YKUAlPB<%YYsGqZ3*PyX7OjPSmNI*c$WG!up*Jd*}3 zyaNUJH)Q(CkAGRYx9(QF6|av~uGv)1Y;;XvzcpOJ6RwjX&Aq_Aw}!?@ks55jzGfWq zHi2b^qzQ-8bl-&6a#)X#NWKfdin__%Ol?}CAS&@2z3m-#8{JmeH=J{JF%S+MQ5YWYP20_w8qRF6(+-b#Trf> zo_2Ahj>H8mS@~xq^k9LXSkqS5UA65dkI8zx!mlGSfKyE;s4Src2P4*>GKW637{uPZ zn41TS!b0I%aCMOGtR7_5i0R^u?Z1kp6{@2~AH^7slz&0Qj|5)78I0s6dlVU{)cQrP zeNGP#HlU^~-R%ecwQ5d4f89gT`1oM|(Ofc=m=oyYg2-k3n{hQ$7?G# z&FPF6FFv(B1kEI;9zR$1bF}BYcUcz6lkHP>F~*Z@^?L7Dwi265tsN>ESDZo%}%mSZ>gVZrQEHe#NWr4C*NSf*0NrTPY+o|6J6YC;=zHNu2 z8bz_U4ETk(5(4ZKzU=r-bX5C~YoQu69_!Kg_;tIz@|bcZeUDp?>LM|N ziJp5yVxnWe6Y7OqZ0sqz9>rV_e8%6p;7r{y(wfYhJK>k?%R9^#}q@xkWO6(y$(5^YBRpql1{)zuK zbrtwwtit>e;@%w>h7p&2<37Z3Q~Of2IoVshosA0BYcm}a31kTD@b5Y^cq1>Lz~v#* z=I3$&3b7mLgtwj%M~`+Qvt=#z{qJiwXm0kiXWM^#JaGk!bF6zb=stF+fn62*;^IMV z;8jniInrmfUG6KNlUC^lV!pmFFQ+Bb!%x?kA|oelOOeQZy&ZYzuw;)RIQ$l#&^K8* z0OFJoe{kr3Me>S$Wc!cxtzZ7K-m>EtO!YQ<*Jwhovtf3=v?o4fP-T|cmxOL~h!|$H iV&_@$q2+YC87j9T{b5} .jstree-ocl { + cursor: default; +} +.jstree .jstree-open > .jstree-children { + display: block; +} +.jstree .jstree-closed > .jstree-children, +.jstree .jstree-leaf > .jstree-children { + display: none; +} +.jstree-anchor > .jstree-themeicon { + margin-right: 2px; +} +.jstree-no-icons .jstree-themeicon, +.jstree-anchor > .jstree-themeicon-hidden { + display: none; +} +.jstree-hidden, +.jstree-node.jstree-hidden { + display: none; +} +.jstree-rtl .jstree-anchor { + padding: 0 1px 0 4px; +} +.jstree-rtl .jstree-anchor > .jstree-themeicon { + margin-left: 2px; + margin-right: 0; +} +.jstree-rtl .jstree-node { + margin-left: 0; +} +.jstree-rtl .jstree-container-ul > .jstree-node { + margin-right: 0; +} +.jstree-wholerow-ul { + position: relative; + display: inline-block; + min-width: 100%; +} +.jstree-wholerow-ul .jstree-leaf > .jstree-ocl { + cursor: pointer; +} +.jstree-wholerow-ul .jstree-anchor, +.jstree-wholerow-ul .jstree-icon { + position: relative; +} +.jstree-wholerow-ul .jstree-wholerow { + width: 100%; + cursor: pointer; + position: absolute; + left: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.vakata-context { + display: none; +} +.vakata-context, +.vakata-context ul { + margin: 0; + padding: 2px; + position: absolute; + background: #f5f5f5; + border: 1px solid #979797; + box-shadow: 2px 2px 2px #999999; +} +.vakata-context ul { + list-style: none; + left: 100%; + margin-top: -2.7em; + margin-left: -4px; +} +.vakata-context .vakata-context-right ul { + left: auto; + right: 100%; + margin-left: auto; + margin-right: -4px; +} +.vakata-context li { + list-style: none; +} +.vakata-context li > a { + display: block; + padding: 0 2em 0 2em; + text-decoration: none; + width: auto; + color: black; + white-space: nowrap; + line-height: 2.4em; + text-shadow: 1px 1px 0 white; + border-radius: 1px; +} +.vakata-context li > a:hover { + position: relative; + background-color: #e8eff7; + box-shadow: 0 0 2px #0a6aa1; +} +.vakata-context li > a.vakata-context-parent { + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw=="); + background-position: right center; + background-repeat: no-repeat; +} +.vakata-context li > a:focus { + outline: 0; +} +.vakata-context .vakata-context-hover > a { + position: relative; + background-color: #e8eff7; + box-shadow: 0 0 2px #0a6aa1; +} +.vakata-context .vakata-context-separator > a, +.vakata-context .vakata-context-separator > a:hover { + background: white; + border: 0; + border-top: 1px solid #e2e3e3; + height: 1px; + min-height: 1px; + max-height: 1px; + padding: 0; + margin: 0 0 0 2.4em; + border-left: 1px solid #e0e0e0; + text-shadow: 0 0 0 transparent; + box-shadow: 0 0 0 transparent; + border-radius: 0; +} +.vakata-context .vakata-contextmenu-disabled a, +.vakata-context .vakata-contextmenu-disabled a:hover { + color: silver; + background-color: transparent; + border: 0; + box-shadow: 0 0 0; +} +.vakata-context li > a > i { + text-decoration: none; + display: inline-block; + width: 2.4em; + height: 2.4em; + background: transparent; + margin: 0 0 0 -2em; + vertical-align: top; + text-align: center; + line-height: 2.4em; +} +.vakata-context li > a > i:empty { + width: 2.4em; + line-height: 2.4em; +} +.vakata-context li > a .vakata-contextmenu-sep { + display: inline-block; + width: 1px; + height: 2.4em; + background: white; + margin: 0 0.5em 0 0; + border-left: 1px solid #e2e3e3; +} +.vakata-context .vakata-contextmenu-shortcut { + font-size: 0.8em; + color: silver; + opacity: 0.5; + display: none; +} +.vakata-context-rtl ul { + left: auto; + right: 100%; + margin-left: auto; + margin-right: -4px; +} +.vakata-context-rtl li > a.vakata-context-parent { + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7"); + background-position: left center; + background-repeat: no-repeat; +} +.vakata-context-rtl .vakata-context-separator > a { + margin: 0 2.4em 0 0; + border-left: 0; + border-right: 1px solid #e2e3e3; +} +.vakata-context-rtl .vakata-context-left ul { + right: auto; + left: 100%; + margin-left: -4px; + margin-right: auto; +} +.vakata-context-rtl li > a > i { + margin: 0 -2em 0 0; +} +.vakata-context-rtl li > a .vakata-contextmenu-sep { + margin: 0 0 0 0.5em; + border-left-color: white; + background: #e2e3e3; +} +#jstree-marker { + position: absolute; + top: 0; + left: 0; + margin: -5px 0 0 0; + padding: 0; + border-right: 0; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-left: 5px solid; + width: 0; + height: 0; + font-size: 0; + line-height: 0; +} +#jstree-dnd { + line-height: 16px; + margin: 0; + padding: 4px; +} +#jstree-dnd .jstree-icon, +#jstree-dnd .jstree-copy { + display: inline-block; + text-decoration: none; + margin: 0 2px 0 0; + padding: 0; + width: 16px; + height: 16px; +} +#jstree-dnd .jstree-ok { + background: green; +} +#jstree-dnd .jstree-er { + background: red; +} +#jstree-dnd .jstree-copy { + margin: 0 2px 0 2px; +} +.jstree-default .jstree-node, +.jstree-default .jstree-icon { + background-repeat: no-repeat; + background-color: transparent; +} +.jstree-default .jstree-anchor, +.jstree-default .jstree-animated, +.jstree-default .jstree-wholerow { + transition: background-color 0.15s, box-shadow 0.15s; +} +.jstree-default .jstree-hovered { + background: #e7f4f9; + border-radius: 2px; + box-shadow: inset 0 0 1px #cccccc; +} +.jstree-default .jstree-context { + background: #e7f4f9; + border-radius: 2px; + box-shadow: inset 0 0 1px #cccccc; +} +.jstree-default .jstree-clicked { + background: #beebff; + border-radius: 2px; + box-shadow: inset 0 0 1px #999999; +} +.jstree-default .jstree-no-icons .jstree-anchor > .jstree-themeicon { + display: none; +} +.jstree-default .jstree-disabled { + background: transparent; + color: #666666; +} +.jstree-default .jstree-disabled.jstree-hovered { + background: transparent; + box-shadow: none; +} +.jstree-default .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default .jstree-disabled > .jstree-icon { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ +} +.jstree-default .jstree-search { + font-style: italic; + color: #8b0000; + font-weight: bold; +} +.jstree-default .jstree-no-checkboxes .jstree-checkbox { + display: none !important; +} +.jstree-default.jstree-checkbox-no-clicked .jstree-clicked { + background: transparent; + box-shadow: none; +} +.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered { + background: #e7f4f9; +} +.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked { + background: transparent; +} +.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered { + background: #e7f4f9; +} +.jstree-default > .jstree-striped { + min-width: 100%; + display: inline-block; + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat; +} +.jstree-default > .jstree-wholerow-ul .jstree-hovered, +.jstree-default > .jstree-wholerow-ul .jstree-clicked { + background: transparent; + box-shadow: none; + border-radius: 0; +} +.jstree-default .jstree-wholerow { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.jstree-default .jstree-wholerow-hovered { + background: #e7f4f9; +} +.jstree-default .jstree-wholerow-clicked { + background: #beebff; + background: -webkit-linear-gradient(top, #beebff 0%, #a8e4ff 100%); + background: linear-gradient(to bottom, #beebff 0%, #a8e4ff 100%); +} +.jstree-default .jstree-node { + min-height: 24px; + line-height: 24px; + margin-left: 24px; + min-width: 24px; +} +.jstree-default .jstree-anchor { + line-height: 24px; + height: 24px; +} +.jstree-default .jstree-icon { + width: 24px; + height: 24px; + line-height: 24px; +} +.jstree-default .jstree-icon:empty { + width: 24px; + height: 24px; + line-height: 24px; +} +.jstree-default.jstree-rtl .jstree-node { + margin-right: 24px; +} +.jstree-default .jstree-wholerow { + height: 24px; +} +.jstree-default .jstree-node, +.jstree-default .jstree-icon { + background-image: url("32px.png"); +} +.jstree-default .jstree-node { + background-position: -292px -4px; + background-repeat: repeat-y; +} +.jstree-default .jstree-last { + background: transparent; +} +.jstree-default .jstree-open > .jstree-ocl { + background-position: -132px -4px; +} +.jstree-default .jstree-closed > .jstree-ocl { + background-position: -100px -4px; +} +.jstree-default .jstree-leaf > .jstree-ocl { + background-position: -68px -4px; +} +.jstree-default .jstree-themeicon { + background-position: -260px -4px; +} +.jstree-default > .jstree-no-dots .jstree-node, +.jstree-default > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -36px -4px; +} +.jstree-default > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -4px -4px; +} +.jstree-default .jstree-disabled { + background: transparent; +} +.jstree-default .jstree-disabled.jstree-hovered { + background: transparent; +} +.jstree-default .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default .jstree-checkbox { + background-position: -164px -4px; +} +.jstree-default .jstree-checkbox:hover { + background-position: -164px -36px; +} +.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, +.jstree-default .jstree-checked > .jstree-checkbox { + background-position: -228px -4px; +} +.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, +.jstree-default .jstree-checked > .jstree-checkbox:hover { + background-position: -228px -36px; +} +.jstree-default .jstree-anchor > .jstree-undetermined { + background-position: -196px -4px; +} +.jstree-default .jstree-anchor > .jstree-undetermined:hover { + background-position: -196px -36px; +} +.jstree-default .jstree-checkbox-disabled { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ +} +.jstree-default > .jstree-striped { + background-size: auto 48px; +} +.jstree-default.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -132px -36px; +} +.jstree-default.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -100px -36px; +} +.jstree-default.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -68px -36px; +} +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -36px -36px; +} +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -4px -36px; +} +.jstree-default .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; +} +.jstree-default > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url("throbber.gif") center center no-repeat; +} +.jstree-default .jstree-file { + background: url("32px.png") -100px -68px no-repeat; +} +.jstree-default .jstree-folder { + background: url("32px.png") -260px -4px no-repeat; +} +.jstree-default > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; +} +#jstree-dnd.jstree-default { + line-height: 24px; + padding: 0 4px; +} +#jstree-dnd.jstree-default .jstree-ok, +#jstree-dnd.jstree-default .jstree-er { + background-image: url("32px.png"); + background-repeat: no-repeat; + background-color: transparent; +} +#jstree-dnd.jstree-default i { + background: transparent; + width: 24px; + height: 24px; + line-height: 24px; +} +#jstree-dnd.jstree-default .jstree-ok { + background-position: -4px -68px; +} +#jstree-dnd.jstree-default .jstree-er { + background-position: -36px -68px; +} +.jstree-default .jstree-ellipsis { + overflow: hidden; +} +.jstree-default .jstree-ellipsis .jstree-anchor { + width: calc(100% - 29px); + text-overflow: ellipsis; + overflow: hidden; +} +.jstree-default .jstree-ellipsis.jstree-no-icons .jstree-anchor { + width: calc(100% - 5px); +} +.jstree-default.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); +} +.jstree-default.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-small .jstree-node { + min-height: 18px; + line-height: 18px; + margin-left: 18px; + min-width: 18px; +} +.jstree-default-small .jstree-anchor { + line-height: 18px; + height: 18px; +} +.jstree-default-small .jstree-icon { + width: 18px; + height: 18px; + line-height: 18px; +} +.jstree-default-small .jstree-icon:empty { + width: 18px; + height: 18px; + line-height: 18px; +} +.jstree-default-small.jstree-rtl .jstree-node { + margin-right: 18px; +} +.jstree-default-small .jstree-wholerow { + height: 18px; +} +.jstree-default-small .jstree-node, +.jstree-default-small .jstree-icon { + background-image: url("32px.png"); +} +.jstree-default-small .jstree-node { + background-position: -295px -7px; + background-repeat: repeat-y; +} +.jstree-default-small .jstree-last { + background: transparent; +} +.jstree-default-small .jstree-open > .jstree-ocl { + background-position: -135px -7px; +} +.jstree-default-small .jstree-closed > .jstree-ocl { + background-position: -103px -7px; +} +.jstree-default-small .jstree-leaf > .jstree-ocl { + background-position: -71px -7px; +} +.jstree-default-small .jstree-themeicon { + background-position: -263px -7px; +} +.jstree-default-small > .jstree-no-dots .jstree-node, +.jstree-default-small > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-small > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -39px -7px; +} +.jstree-default-small > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -7px -7px; +} +.jstree-default-small .jstree-disabled { + background: transparent; +} +.jstree-default-small .jstree-disabled.jstree-hovered { + background: transparent; +} +.jstree-default-small .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default-small .jstree-checkbox { + background-position: -167px -7px; +} +.jstree-default-small .jstree-checkbox:hover { + background-position: -167px -39px; +} +.jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, +.jstree-default-small .jstree-checked > .jstree-checkbox { + background-position: -231px -7px; +} +.jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, +.jstree-default-small .jstree-checked > .jstree-checkbox:hover { + background-position: -231px -39px; +} +.jstree-default-small .jstree-anchor > .jstree-undetermined { + background-position: -199px -7px; +} +.jstree-default-small .jstree-anchor > .jstree-undetermined:hover { + background-position: -199px -39px; +} +.jstree-default-small .jstree-checkbox-disabled { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ +} +.jstree-default-small > .jstree-striped { + background-size: auto 36px; +} +.jstree-default-small.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default-small.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-small.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -135px -39px; +} +.jstree-default-small.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -103px -39px; +} +.jstree-default-small.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -71px -39px; +} +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -39px -39px; +} +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -7px -39px; +} +.jstree-default-small .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; +} +.jstree-default-small > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url("throbber.gif") center center no-repeat; +} +.jstree-default-small .jstree-file { + background: url("32px.png") -103px -71px no-repeat; +} +.jstree-default-small .jstree-folder { + background: url("32px.png") -263px -7px no-repeat; +} +.jstree-default-small > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; +} +#jstree-dnd.jstree-default-small { + line-height: 18px; + padding: 0 4px; +} +#jstree-dnd.jstree-default-small .jstree-ok, +#jstree-dnd.jstree-default-small .jstree-er { + background-image: url("32px.png"); + background-repeat: no-repeat; + background-color: transparent; +} +#jstree-dnd.jstree-default-small i { + background: transparent; + width: 18px; + height: 18px; + line-height: 18px; +} +#jstree-dnd.jstree-default-small .jstree-ok { + background-position: -7px -71px; +} +#jstree-dnd.jstree-default-small .jstree-er { + background-position: -39px -71px; +} +.jstree-default-small .jstree-ellipsis { + overflow: hidden; +} +.jstree-default-small .jstree-ellipsis .jstree-anchor { + width: calc(100% - 23px); + text-overflow: ellipsis; + overflow: hidden; +} +.jstree-default-small .jstree-ellipsis.jstree-no-icons .jstree-anchor { + width: calc(100% - 5px); +} +.jstree-default-small.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); +} +.jstree-default-small.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-large .jstree-node { + min-height: 32px; + line-height: 32px; + margin-left: 32px; + min-width: 32px; +} +.jstree-default-large .jstree-anchor { + line-height: 32px; + height: 32px; +} +.jstree-default-large .jstree-icon { + width: 32px; + height: 32px; + line-height: 32px; +} +.jstree-default-large .jstree-icon:empty { + width: 32px; + height: 32px; + line-height: 32px; +} +.jstree-default-large.jstree-rtl .jstree-node { + margin-right: 32px; +} +.jstree-default-large .jstree-wholerow { + height: 32px; +} +.jstree-default-large .jstree-node, +.jstree-default-large .jstree-icon { + background-image: url("32px.png"); +} +.jstree-default-large .jstree-node { + background-position: -288px 0px; + background-repeat: repeat-y; +} +.jstree-default-large .jstree-last { + background: transparent; +} +.jstree-default-large .jstree-open > .jstree-ocl { + background-position: -128px 0px; +} +.jstree-default-large .jstree-closed > .jstree-ocl { + background-position: -96px 0px; +} +.jstree-default-large .jstree-leaf > .jstree-ocl { + background-position: -64px 0px; +} +.jstree-default-large .jstree-themeicon { + background-position: -256px 0px; +} +.jstree-default-large > .jstree-no-dots .jstree-node, +.jstree-default-large > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-large > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -32px 0px; +} +.jstree-default-large > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: 0px 0px; +} +.jstree-default-large .jstree-disabled { + background: transparent; +} +.jstree-default-large .jstree-disabled.jstree-hovered { + background: transparent; +} +.jstree-default-large .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default-large .jstree-checkbox { + background-position: -160px 0px; +} +.jstree-default-large .jstree-checkbox:hover { + background-position: -160px -32px; +} +.jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, +.jstree-default-large .jstree-checked > .jstree-checkbox { + background-position: -224px 0px; +} +.jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, +.jstree-default-large .jstree-checked > .jstree-checkbox:hover { + background-position: -224px -32px; +} +.jstree-default-large .jstree-anchor > .jstree-undetermined { + background-position: -192px 0px; +} +.jstree-default-large .jstree-anchor > .jstree-undetermined:hover { + background-position: -192px -32px; +} +.jstree-default-large .jstree-checkbox-disabled { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ +} +.jstree-default-large > .jstree-striped { + background-size: auto 64px; +} +.jstree-default-large.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default-large.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-large.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -128px -32px; +} +.jstree-default-large.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -96px -32px; +} +.jstree-default-large.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -64px -32px; +} +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -32px -32px; +} +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: 0px -32px; +} +.jstree-default-large .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; +} +.jstree-default-large > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url("throbber.gif") center center no-repeat; +} +.jstree-default-large .jstree-file { + background: url("32px.png") -96px -64px no-repeat; +} +.jstree-default-large .jstree-folder { + background: url("32px.png") -256px 0px no-repeat; +} +.jstree-default-large > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; +} +#jstree-dnd.jstree-default-large { + line-height: 32px; + padding: 0 4px; +} +#jstree-dnd.jstree-default-large .jstree-ok, +#jstree-dnd.jstree-default-large .jstree-er { + background-image: url("32px.png"); + background-repeat: no-repeat; + background-color: transparent; +} +#jstree-dnd.jstree-default-large i { + background: transparent; + width: 32px; + height: 32px; + line-height: 32px; +} +#jstree-dnd.jstree-default-large .jstree-ok { + background-position: 0px -64px; +} +#jstree-dnd.jstree-default-large .jstree-er { + background-position: -32px -64px; +} +.jstree-default-large .jstree-ellipsis { + overflow: hidden; +} +.jstree-default-large .jstree-ellipsis .jstree-anchor { + width: calc(100% - 37px); + text-overflow: ellipsis; + overflow: hidden; +} +.jstree-default-large .jstree-ellipsis.jstree-no-icons .jstree-anchor { + width: calc(100% - 5px); +} +.jstree-default-large.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); +} +.jstree-default-large.jstree-rtl .jstree-last { + background: transparent; +} +@media (max-width: 768px) { + #jstree-dnd.jstree-dnd-responsive { + line-height: 40px; + font-weight: bold; + font-size: 1.1em; + text-shadow: 1px 1px white; + } + #jstree-dnd.jstree-dnd-responsive > i { + background: transparent; + width: 40px; + height: 40px; + } + #jstree-dnd.jstree-dnd-responsive > .jstree-ok { + background-image: url("40px.png"); + background-position: 0 -200px; + background-size: 120px 240px; + } + #jstree-dnd.jstree-dnd-responsive > .jstree-er { + background-image: url("40px.png"); + background-position: -40px -200px; + background-size: 120px 240px; + } + #jstree-marker.jstree-dnd-responsive { + border-left-width: 10px; + border-top-width: 10px; + border-bottom-width: 10px; + margin-top: -10px; + } +} +@media (max-width: 768px) { + .jstree-default-responsive { + /* + .jstree-open > .jstree-ocl, + .jstree-closed > .jstree-ocl { border-radius:20px; background-color:white; } + */ + } + .jstree-default-responsive .jstree-icon { + background-image: url("40px.png"); + } + .jstree-default-responsive .jstree-node, + .jstree-default-responsive .jstree-leaf > .jstree-ocl { + background: transparent; + } + .jstree-default-responsive .jstree-node { + min-height: 40px; + line-height: 40px; + margin-left: 40px; + min-width: 40px; + white-space: nowrap; + } + .jstree-default-responsive .jstree-anchor { + line-height: 40px; + height: 40px; + } + .jstree-default-responsive .jstree-icon, + .jstree-default-responsive .jstree-icon:empty { + width: 40px; + height: 40px; + line-height: 40px; + } + .jstree-default-responsive > .jstree-container-ul > .jstree-node { + margin-left: 0; + } + .jstree-default-responsive.jstree-rtl .jstree-node { + margin-left: 0; + margin-right: 40px; + background: transparent; + } + .jstree-default-responsive.jstree-rtl .jstree-container-ul > .jstree-node { + margin-right: 0; + } + .jstree-default-responsive .jstree-ocl, + .jstree-default-responsive .jstree-themeicon, + .jstree-default-responsive .jstree-checkbox { + background-size: 120px 240px; + } + .jstree-default-responsive .jstree-leaf > .jstree-ocl, + .jstree-default-responsive.jstree-rtl .jstree-leaf > .jstree-ocl { + background: transparent; + } + .jstree-default-responsive .jstree-open > .jstree-ocl { + background-position: 0 0px !important; + } + .jstree-default-responsive .jstree-closed > .jstree-ocl { + background-position: 0 -40px !important; + } + .jstree-default-responsive.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -40px 0px !important; + } + .jstree-default-responsive .jstree-themeicon { + background-position: -40px -40px; + } + .jstree-default-responsive .jstree-checkbox, + .jstree-default-responsive .jstree-checkbox:hover { + background-position: -40px -80px; + } + .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, + .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, + .jstree-default-responsive .jstree-checked > .jstree-checkbox, + .jstree-default-responsive .jstree-checked > .jstree-checkbox:hover { + background-position: 0 -80px; + } + .jstree-default-responsive .jstree-anchor > .jstree-undetermined, + .jstree-default-responsive .jstree-anchor > .jstree-undetermined:hover { + background-position: 0 -120px; + } + .jstree-default-responsive .jstree-anchor { + font-weight: bold; + font-size: 1.1em; + text-shadow: 1px 1px white; + } + .jstree-default-responsive > .jstree-striped { + background: transparent; + } + .jstree-default-responsive .jstree-wholerow { + border-top: 1px solid rgba(255, 255, 255, 0.7); + border-bottom: 1px solid rgba(64, 64, 64, 0.2); + background: #ebebeb; + height: 40px; + } + .jstree-default-responsive .jstree-wholerow-hovered { + background: #e7f4f9; + } + .jstree-default-responsive .jstree-wholerow-clicked { + background: #beebff; + } + .jstree-default-responsive .jstree-children .jstree-last > .jstree-wholerow { + box-shadow: inset 0 -6px 3px -5px #666666; + } + .jstree-default-responsive .jstree-children .jstree-open > .jstree-wholerow { + box-shadow: inset 0 6px 3px -5px #666666; + border-top: 0; + } + .jstree-default-responsive .jstree-children .jstree-open + .jstree-open { + box-shadow: none; + } + .jstree-default-responsive .jstree-node, + .jstree-default-responsive .jstree-icon, + .jstree-default-responsive .jstree-node > .jstree-ocl, + .jstree-default-responsive .jstree-themeicon, + .jstree-default-responsive .jstree-checkbox { + background-image: url("40px.png"); + background-size: 120px 240px; + } + .jstree-default-responsive .jstree-node { + background-position: -80px 0; + background-repeat: repeat-y; + } + .jstree-default-responsive .jstree-last { + background: transparent; + } + .jstree-default-responsive .jstree-leaf > .jstree-ocl { + background-position: -40px -120px; + } + .jstree-default-responsive .jstree-last > .jstree-ocl { + background-position: -40px -160px; + } + .jstree-default-responsive .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; + } + .jstree-default-responsive .jstree-file { + background: url("40px.png") 0 -160px no-repeat; + background-size: 120px 240px; + } + .jstree-default-responsive .jstree-folder { + background: url("40px.png") -40px -40px no-repeat; + background-size: 120px 240px; + } + .jstree-default-responsive > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; + } +} diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default/style.min.css b/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default/style.min.css new file mode 100644 index 0000000000..a76f15c094 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default/style.min.css @@ -0,0 +1 @@ +.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:#000;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-hidden,.jstree-node.jstree-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 #fff;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-animated,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-context{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{background:0 0;color:#666}.jstree-default .jstree-disabled.jstree-hovered{background:0 0;box-shadow:none}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{min-width:100%;display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top repeat}.jstree-default>.jstree-wholerow-ul .jstree-hovered,.jstree-default>.jstree-wholerow-ul .jstree-clicked{background:0 0;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-webkit-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:linear-gradient(to bottom,#beebff 0,#a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px}.jstree-default .jstree-wholerow{height:24px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-image:url(32px.png)}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-last{background:0 0}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-node,.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled{background:0 0}.jstree-default .jstree-disabled.jstree-hovered{background:0 0}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default .jstree-file{background:url(32px.png) -100px -68px no-repeat}.jstree-default .jstree-folder{background:url(32px.png) -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-ok,#jstree-dnd.jstree-default .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:0 0;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default .jstree-ellipsis{overflow:hidden}.jstree-default .jstree-ellipsis .jstree-anchor{width:calc(100% - 29px);text-overflow:ellipsis;overflow:hidden}.jstree-default .jstree-ellipsis.jstree-no-icons .jstree-anchor{width:calc(100% - 5px)}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-node,.jstree-default-small .jstree-icon{background-image:url(32px.png)}.jstree-default-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-last{background:0 0}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-node,.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled{background:0 0}.jstree-default-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-small .jstree-file{background:url(32px.png) -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url(32px.png) -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-ok,#jstree-dnd.jstree-default-small .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:0 0;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small .jstree-ellipsis{overflow:hidden}.jstree-default-small .jstree-ellipsis .jstree-anchor{width:calc(100% - 23px);text-overflow:ellipsis;overflow:hidden}.jstree-default-small .jstree-ellipsis.jstree-no-icons .jstree-anchor{width:calc(100% - 5px)}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-node,.jstree-default-large .jstree-icon{background-image:url(32px.png)}.jstree-default-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-last{background:0 0}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-node,.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled{background:0 0}.jstree-default-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-large .jstree-file{background:url(32px.png) -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url(32px.png) -256px 0 no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-ok,#jstree-dnd.jstree-default-large .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:0 0;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large .jstree-ellipsis{overflow:hidden}.jstree-default-large .jstree-ellipsis .jstree-anchor{width:calc(100% - 37px);text-overflow:ellipsis;overflow:hidden}.jstree-default-large .jstree-ellipsis.jstree-no-icons .jstree-anchor{width:calc(100% - 5px)}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width:768px){.jstree-default-responsive .jstree-icon{background-image:url(40px.png)}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:0 0}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive>.jstree-striped{background:0 0}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-image:url(40px.png);background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:0 0}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url(40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url(40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}} \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default/throbber.gif b/mayan/apps/cabinets/static/cabinets/packages/jstree/dist/themes/default/throbber.gif new file mode 100644 index 0000000000000000000000000000000000000000..1b5b2fde42f8ea14e6981339196a9d62b681d79e GIT binary patch literal 1720 zcmZ|OYfMvT7zgm4p2O+ea@rnBg#)OxTPX)YQxLES+gfgxVz~&+f}$;m6s%Hi3W%nq zP@z^qrV}=TNF%FL8K5q@MN>cp#S0pVI*qHSli{|&j8i`-D~lhy5AU}p`Tz2N-e*-( zqBu&8Q*g>F3T19?Zf0i2Y&JU_j>N>onwlC4g`!j{1p>jzlP51;yvXHpJ32ZL1c{7{ z)MzyPIro%=%#1i`T0+<|5ezw}`5%1a$_msK1)F#~iYhcbb+NiiTcX~ytZ3Wj5(@tv zLT5OqLY&VTiBl*@DK5jOqAQC<V}_H8&J8*d!6F|8^P+>r!@8gG==_FR|TOFO5N ztmi!uPli+Ln$x?H-gK%V=cf&)%tK3Ubl`;)j){YK#AZm_($yDbHN+iIVb4-MA(|Tn z%Y=0Su-m75IE?%N1|!SEl|tuKXsXZNj2Z=vp;+=jlJSZD2EODW0H`sM#)b0zgDU0)5!Grr5zO1 zNgN^!L7)EBFUC+Zhm%Mr7yC91@!CieHdPd#!o7Jn^!!TMrU0vgH)|h-!|2wozJKmj z`G&1Z^{+00Fi|SEx@=o?UTI)xo@>T@7i7MZAqTYCMc0JP{oZJEdWye2L~bM45otrq zk@}$q6%b*2<$_YGZVC^6PBqU&pG6rtOM!WN;+E;i3EB*=+K0j60WC&J{7x}V=Ak(w<1X>er- zV`_bHI~Y%5hQkS?_Lf?1C-Yh;suT(z!ZdS6NOH8>FGetNtnE-ngIxI9OKM9M!nq|ao z@ByV)WU%+EiuxlBZ=#rs_ZnY%+O^bXr2P8_g2l~7Z8221w?Uyx%!zc@?f!tWxz6{`xAWPUyeq1Vbvuj7m$3Dh(PTY04bw^_A zwRr|LuoC34N#A1;?zXdaId|wW$kzq2e~Uqdrq=@A0^DlGO4UM zzCO9@&t7@ohLX-t)ftJ| z)q;&?w?;l@^4Pc`;x3vPJ8(itFdKg3;$nap8V7O~;L775>pjUjnIyS=0%4f;&$i;^ q^<`2=x-x(uk2YUU2h;2jemskO_4rHker(f.js', 'src/<%= pkg.name %>.*.js', 'src/vakata-jstree.js'], + dest: 'dist/<%= pkg.name %>.js' + } + }, + copy: { + libs : { + files : [ + { expand: true, cwd : 'libs/', src: ['*'], dest: 'dist/libs/' } + ] + }, + docs : { + files : [ + { expand: true, cwd : 'dist/', src: ['**/*'], dest: 'docs/assets/dist/' } + ] + } + }, + uglify: { + options: { + banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - <%= grunt.template.today("yyyy-mm-dd") %> - (<%= _.pluck(pkg.licenses, "type").join(", ") %>) */\n', + preserveComments: false, + //sourceMap: "dist/jstree.min.map", + //sourceMappingURL: "jstree.min.map", + report: "min", + beautify: { + ascii_only: true + }, + compress: { + hoist_funs: false, + loops: false, + unused: false + } + }, + dist: { + src: ['<%= concat.dist.dest %>'], + dest: 'dist/<%= pkg.name %>.min.js' + } + }, + qunit: { + files: ['test/unit/**/*.html'] + }, + jshint: { + options: { + 'curly' : true, + 'eqeqeq' : true, + 'latedef' : true, + 'newcap' : true, + 'noarg' : true, + 'sub' : true, + 'undef' : true, + 'boss' : true, + 'eqnull' : true, + 'browser' : true, + 'trailing' : true, + 'globals' : { + 'console' : true, + 'jQuery' : true, + 'browser' : true, + 'XSLTProcessor' : true, + 'ActiveXObject' : true + } + }, + beforeconcat: ['src/<%= pkg.name %>.js', 'src/<%= pkg.name %>.*.js'], + afterconcat: ['dist/<%= pkg.name %>.js'] + }, + dox: { + files: { + src: ['src/*.js'], + dest: 'docs' + } + }, + amd : { + files: { + src: ['dist/jstree.js'], + dest: 'dist/jstree.js' + } + }, + less: { + production: { + options : { + cleancss : true, + compress : true + }, + files: { + "dist/themes/default/style.min.css" : "src/themes/default/style.less", + "dist/themes/default-dark/style.min.css" : "src/themes/default-dark/style.less" + } + }, + development: { + files: { + "src/themes/default/style.css" : "src/themes/default/style.less", + "dist/themes/default/style.css" : "src/themes/default/style.less", + "src/themes/default-dark/style.css" : "src/themes/default-dark/style.less", + "dist/themes/default-dark/style.css" : "src/themes/default-dark/style.less" + } + } + }, + watch: { + js : { + files: ['src/**/*.js'], + tasks: ['js'], + options : { + atBegin : true + } + }, + css : { + files: ['src/**/*.less','src/**/*.png','src/**/*.gif'], + tasks: ['css'], + options : { + atBegin : true + } + }, + }, + resemble: { + options: { + screenshotRoot: 'test/visual/screenshots/', + url: 'http://127.0.0.1/jstree/test/visual/', + gm: false + }, + desktop: { + options: { + width: 1280, + }, + src: ['desktop'], + dest: 'desktop', + }, + mobile: { + options: { + width: 360, + }, + src: ['mobile'], + dest: 'mobile' + } + }, + imagemin: { + dynamic: { + options: { // Target options + optimizationLevel: 7, + pngquant : true + }, + files: [{ + expand: true, // Enable dynamic expansion + cwd: 'src/themes/default/', // Src matches are relative to this path + src: ['**/*.{png,jpg,gif}'], // Actual patterns to match + dest: 'dist/themes/default/' // Destination path prefix + },{ + expand: true, // Enable dynamic expansion + cwd: 'src/themes/default-dark/', // Src matches are relative to this path + src: ['**/*.{png,jpg,gif}'], // Actual patterns to match + dest: 'dist/themes/default-dark/' // Destination path prefix + }] + } + }, + replace: { + files: { + src: ['dist/*.js', 'bower.json', 'component.json', 'jstree.jquery.json'], + overwrite: true, + replacements: [ + { + from: '{{VERSION}}', + to: "<%= pkg.version %>" + }, + { + from: /"version": "[^"]+"/g, + to: "\"version\": \"<%= pkg.version %>\"" + }, + ] + } + } + }); + + grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-contrib-concat'); + grunt.loadNpmTasks('grunt-contrib-copy'); + grunt.loadNpmTasks('grunt-contrib-uglify'); + grunt.loadNpmTasks('grunt-contrib-less'); + grunt.loadNpmTasks('grunt-contrib-qunit'); + grunt.loadNpmTasks('grunt-resemble-cli'); + grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-contrib-imagemin'); + grunt.loadNpmTasks('grunt-text-replace'); + + grunt.registerMultiTask('amd', 'Clean up AMD', function () { + var s, d; + this.files.forEach(function (f) { + s = f.src; + d = f.dest; + }); + grunt.file.copy(s, d, { + process: function (contents) { + contents = contents.replace(/\s*if\(\$\.jstree\.plugins\.[a-z]+\)\s*\{\s*return;\s*\}/ig, ''); + contents = contents.replace(/\/\*globals[^\/]+\//ig, ''); + //contents = contents.replace(/\(function \(factory[\s\S]*?undefined/mig, '(function ($, undefined'); + //contents = contents.replace(/\}\)\);/g, '}(jQuery));'); + contents = contents.replace(/\(function \(factory[\s\S]*?undefined\s*\)[^\n]+/mig, ''); + contents = contents.replace(/\}\)\);/g, ''); + contents = contents.replace(/\s*("|')use strict("|');/g, ''); + contents = contents.replace(/\s*return \$\.fn\.jstree;/g, ''); + return grunt.file.read('src/intro.js') + contents + grunt.file.read('src/outro.js'); + } + }); + }); + + grunt.registerMultiTask('dox', 'Generate dox output ', function() { + var exec = require('child_process').exec, + path = require('path'), + done = this.async(), + doxPath = path.resolve(__dirname), + formatter = [doxPath, 'node_modules', '.bin', 'dox'].join(path.sep); + exec(formatter + ' < "dist/jstree.js" > "docs/jstree.json"', {maxBuffer: 5000*1024}, function(error, stout, sterr){ + if (error) { + grunt.log.error(formatter); + grunt.log.error("WARN: "+ error); + } + if (!error) { + grunt.log.writeln('dist/jstree.js doxxed.'); + done(); + } + }); + }); + + grunt.util.linefeed = "\n"; + + // Default task. + grunt.registerTask('default', ['jshint:beforeconcat','concat','amd','jshint:afterconcat','copy:libs','uglify','less','imagemin','replace','copy:docs','qunit','resemble','dox']); + grunt.registerTask('js', ['concat','amd','uglify']); + grunt.registerTask('css', ['copy','less']); + +}; diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/jstree.jquery.json b/mayan/apps/cabinets/static/cabinets/packages/jstree/jstree.jquery.json new file mode 100644 index 0000000000..c0e4945b59 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/jstree.jquery.json @@ -0,0 +1,28 @@ +{ + "name": "jstree", + "title": "jsTree", + "description": "Tree view for jQuery", + "version": "3.3.3", + "homepage": "http://jstree.com", + "keywords": [ + "ui", + "tree", + "jstree" + ], + "author": { + "name": "Ivan Bozhanov", + "email": "jstree@jstree.com", + "url": "http://vakata.com" + }, + "licenses": [ + { + "type": "MIT", + "url": "https://github.com/vakata/jstree/blob/master/LICENSE-MIT" + } + ], + "bugs": "https://github.com/vakata/jstree/issues", + "demo": "http://jstree.com/demo", + "dependencies": { + "jquery": ">=1.9.1" + } +} \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/package.json b/mayan/apps/cabinets/static/cabinets/packages/jstree/package.json new file mode 100644 index 0000000000..709242cba6 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/package.json @@ -0,0 +1,58 @@ +{ + "name": "jstree", + "title": "jsTree", + "description": "jQuery tree plugin", + "version": "3.3.3", + "homepage": "http://jstree.com", + "main": "./dist/jstree.js", + "author": { + "name": "Ivan Bozhanov", + "email": "jstree@jstree.com", + "url": "http://vakata.com" + }, + "repository": { + "type": "git", + "url": "git://github.com/vakata/jstree.git" + }, + "bugs": { + "url": "https://github.com/vakata/jstree/issues" + }, + "license": "MIT", + "licenses": [ + { + "type": "MIT", + "url": "https://github.com/vakata/jstree/blob/master/LICENSE-MIT" + } + ], + "keywords": [], + "devDependencies": { + "dox": "~0.4.4", + "grunt": "~0.4.0", + "grunt-contrib-concat": "*", + "grunt-contrib-copy": "*", + "grunt-contrib-imagemin": "~0.4.0", + "grunt-contrib-jshint": "*", + "grunt-contrib-less": "~0.8.2", + "grunt-contrib-qunit": "~v0.3.0", + "grunt-contrib-uglify": "*", + "grunt-contrib-watch": "~0.5.3", + "grunt-phantomcss-gitdiff": "0.0.7", + "grunt-resemble-cli": "0.0.8", + "grunt-text-replace": "~0.3.11" + }, + "dependencies": { + "jquery": ">=1.9.1" + }, + "npmName": "jstree", + "npmFileMap": [ + { + "basePath": "/dist/", + "files": [ + "jstree.min.js", + "themes/**/*.png", + "themes/**/*.gif", + "themes/**/*.min.css" + ] + } + ] +} diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/intro.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/intro.js new file mode 100644 index 0000000000..5c95a5cdfb --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/intro.js @@ -0,0 +1,14 @@ +/*globals jQuery, define, module, exports, require, window, document, postMessage */ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define(['jquery'], factory); + } + else if(typeof module !== 'undefined' && module.exports) { + module.exports = factory(require('jquery')); + } + else { + factory(jQuery); + } +}(function ($, undefined) { + "use strict"; diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.changed.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.changed.js new file mode 100644 index 0000000000..be8cfd7d12 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.changed.js @@ -0,0 +1,69 @@ +/** + * ### Changed plugin + * + * This plugin adds more information to the `changed.jstree` event. The new data is contained in the `changed` event data property, and contains a lists of `selected` and `deselected` nodes. + */ +/*globals jQuery, define, exports, require, document */ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define('jstree.changed', ['jquery','jstree'], factory); + } + else if(typeof exports === 'object') { + factory(require('jquery'), require('jstree')); + } + else { + factory(jQuery, jQuery.jstree); + } +}(function ($, jstree, undefined) { + "use strict"; + + if($.jstree.plugins.changed) { return; } + + $.jstree.plugins.changed = function (options, parent) { + var last = []; + this.trigger = function (ev, data) { + var i, j; + if(!data) { + data = {}; + } + if(ev.replace('.jstree','') === 'changed') { + data.changed = { selected : [], deselected : [] }; + var tmp = {}; + for(i = 0, j = last.length; i < j; i++) { + tmp[last[i]] = 1; + } + for(i = 0, j = data.selected.length; i < j; i++) { + if(!tmp[data.selected[i]]) { + data.changed.selected.push(data.selected[i]); + } + else { + tmp[data.selected[i]] = 2; + } + } + for(i = 0, j = last.length; i < j; i++) { + if(tmp[last[i]] === 1) { + data.changed.deselected.push(last[i]); + } + } + last = data.selected.slice(); + } + /** + * triggered when selection changes (the "changed" plugin enhances the original event with more data) + * @event + * @name changed.jstree + * @param {Object} node + * @param {Object} action the action that caused the selection to change + * @param {Array} selected the current selection + * @param {Object} changed an object containing two properties `selected` and `deselected` - both arrays of node IDs, which were selected or deselected since the last changed event + * @param {Object} event the event (if any) that triggered this changed event + * @plugin changed + */ + parent.trigger.call(this, ev, data); + }; + this.refresh = function (skip_loading, forget_state) { + last = []; + return parent.refresh.apply(this, arguments); + }; + }; +})); \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.checkbox.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.checkbox.js new file mode 100644 index 0000000000..5dd9837d75 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.checkbox.js @@ -0,0 +1,871 @@ +/** + * ### Checkbox plugin + * + * This plugin renders checkbox icons in front of each node, making multiple selection much easier. + * It also supports tri-state behavior, meaning that if a node has a few of its children checked it will be rendered as undetermined, and state will be propagated up. + */ +/*globals jQuery, define, exports, require, document */ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define('jstree.checkbox', ['jquery','jstree'], factory); + } + else if(typeof exports === 'object') { + factory(require('jquery'), require('jstree')); + } + else { + factory(jQuery, jQuery.jstree); + } +}(function ($, jstree, undefined) { + "use strict"; + + if($.jstree.plugins.checkbox) { return; } + + var _i = document.createElement('I'); + _i.className = 'jstree-icon jstree-checkbox'; + _i.setAttribute('role', 'presentation'); + /** + * stores all defaults for the checkbox plugin + * @name $.jstree.defaults.checkbox + * @plugin checkbox + */ + $.jstree.defaults.checkbox = { + /** + * a boolean indicating if checkboxes should be visible (can be changed at a later time using `show_checkboxes()` and `hide_checkboxes`). Defaults to `true`. + * @name $.jstree.defaults.checkbox.visible + * @plugin checkbox + */ + visible : true, + /** + * a boolean indicating if checkboxes should cascade down and have an undetermined state. Defaults to `true`. + * @name $.jstree.defaults.checkbox.three_state + * @plugin checkbox + */ + three_state : true, + /** + * a boolean indicating if clicking anywhere on the node should act as clicking on the checkbox. Defaults to `true`. + * @name $.jstree.defaults.checkbox.whole_node + * @plugin checkbox + */ + whole_node : true, + /** + * a boolean indicating if the selected style of a node should be kept, or removed. Defaults to `true`. + * @name $.jstree.defaults.checkbox.keep_selected_style + * @plugin checkbox + */ + keep_selected_style : true, + /** + * This setting controls how cascading and undetermined nodes are applied. + * If 'up' is in the string - cascading up is enabled, if 'down' is in the string - cascading down is enabled, if 'undetermined' is in the string - undetermined nodes will be used. + * If `three_state` is set to `true` this setting is automatically set to 'up+down+undetermined'. Defaults to ''. + * @name $.jstree.defaults.checkbox.cascade + * @plugin checkbox + */ + cascade : '', + /** + * This setting controls if checkbox are bound to the general tree selection or to an internal array maintained by the checkbox plugin. Defaults to `true`, only set to `false` if you know exactly what you are doing. + * @name $.jstree.defaults.checkbox.tie_selection + * @plugin checkbox + */ + tie_selection : true + }; + $.jstree.plugins.checkbox = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + this._data.checkbox.uto = false; + this._data.checkbox.selected = []; + if(this.settings.checkbox.three_state) { + this.settings.checkbox.cascade = 'up+down+undetermined'; + } + this.element + .on("init.jstree", $.proxy(function () { + this._data.checkbox.visible = this.settings.checkbox.visible; + if(!this.settings.checkbox.keep_selected_style) { + this.element.addClass('jstree-checkbox-no-clicked'); + } + if(this.settings.checkbox.tie_selection) { + this.element.addClass('jstree-checkbox-selection'); + } + }, this)) + .on("loading.jstree", $.proxy(function () { + this[ this._data.checkbox.visible ? 'show_checkboxes' : 'hide_checkboxes' ](); + }, this)); + if(this.settings.checkbox.cascade.indexOf('undetermined') !== -1) { + this.element + .on('changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree', $.proxy(function () { + // only if undetermined is in setting + if(this._data.checkbox.uto) { clearTimeout(this._data.checkbox.uto); } + this._data.checkbox.uto = setTimeout($.proxy(this._undetermined, this), 50); + }, this)); + } + if(!this.settings.checkbox.tie_selection) { + this.element + .on('model.jstree', $.proxy(function (e, data) { + var m = this._model.data, + p = m[data.parent], + dpc = data.nodes, + i, j; + for(i = 0, j = dpc.length; i < j; i++) { + m[dpc[i]].state.checked = m[dpc[i]].state.checked || (m[dpc[i]].original && m[dpc[i]].original.state && m[dpc[i]].original.state.checked); + if(m[dpc[i]].state.checked) { + this._data.checkbox.selected.push(dpc[i]); + } + } + }, this)); + } + if(this.settings.checkbox.cascade.indexOf('up') !== -1 || this.settings.checkbox.cascade.indexOf('down') !== -1) { + this.element + .on('model.jstree', $.proxy(function (e, data) { + var m = this._model.data, + p = m[data.parent], + dpc = data.nodes, + chd = [], + c, i, j, k, l, tmp, s = this.settings.checkbox.cascade, t = this.settings.checkbox.tie_selection; + + if(s.indexOf('down') !== -1) { + // apply down + if(p.state[ t ? 'selected' : 'checked' ]) { + for(i = 0, j = dpc.length; i < j; i++) { + m[dpc[i]].state[ t ? 'selected' : 'checked' ] = true; + } + this._data[ t ? 'core' : 'checkbox' ].selected = this._data[ t ? 'core' : 'checkbox' ].selected.concat(dpc); + } + else { + for(i = 0, j = dpc.length; i < j; i++) { + if(m[dpc[i]].state[ t ? 'selected' : 'checked' ]) { + for(k = 0, l = m[dpc[i]].children_d.length; k < l; k++) { + m[m[dpc[i]].children_d[k]].state[ t ? 'selected' : 'checked' ] = true; + } + this._data[ t ? 'core' : 'checkbox' ].selected = this._data[ t ? 'core' : 'checkbox' ].selected.concat(m[dpc[i]].children_d); + } + } + } + } + + if(s.indexOf('up') !== -1) { + // apply up + for(i = 0, j = p.children_d.length; i < j; i++) { + if(!m[p.children_d[i]].children.length) { + chd.push(m[p.children_d[i]].parent); + } + } + chd = $.vakata.array_unique(chd); + for(k = 0, l = chd.length; k < l; k++) { + p = m[chd[k]]; + while(p && p.id !== $.jstree.root) { + c = 0; + for(i = 0, j = p.children.length; i < j; i++) { + c += m[p.children[i]].state[ t ? 'selected' : 'checked' ]; + } + if(c === j) { + p.state[ t ? 'selected' : 'checked' ] = true; + this._data[ t ? 'core' : 'checkbox' ].selected.push(p.id); + tmp = this.get_node(p, true); + if(tmp && tmp.length) { + tmp.attr('aria-selected', true).children('.jstree-anchor').addClass( t ? 'jstree-clicked' : 'jstree-checked'); + } + } + else { + break; + } + p = this.get_node(p.parent); + } + } + } + + this._data[ t ? 'core' : 'checkbox' ].selected = $.vakata.array_unique(this._data[ t ? 'core' : 'checkbox' ].selected); + }, this)) + .on(this.settings.checkbox.tie_selection ? 'select_node.jstree' : 'check_node.jstree', $.proxy(function (e, data) { + var obj = data.node, + m = this._model.data, + par = this.get_node(obj.parent), + dom = this.get_node(obj, true), + i, j, c, tmp, s = this.settings.checkbox.cascade, t = this.settings.checkbox.tie_selection, + sel = {}, cur = this._data[ t ? 'core' : 'checkbox' ].selected; + + for (i = 0, j = cur.length; i < j; i++) { + sel[cur[i]] = true; + } + // apply down + if(s.indexOf('down') !== -1) { + //this._data[ t ? 'core' : 'checkbox' ].selected = $.vakata.array_unique(this._data[ t ? 'core' : 'checkbox' ].selected.concat(obj.children_d)); + for(i = 0, j = obj.children_d.length; i < j; i++) { + sel[obj.children_d[i]] = true; + tmp = m[obj.children_d[i]]; + tmp.state[ t ? 'selected' : 'checked' ] = true; + if(tmp && tmp.original && tmp.original.state && tmp.original.state.undetermined) { + tmp.original.state.undetermined = false; + } + } + } + + // apply up + if(s.indexOf('up') !== -1) { + while(par && par.id !== $.jstree.root) { + c = 0; + for(i = 0, j = par.children.length; i < j; i++) { + c += m[par.children[i]].state[ t ? 'selected' : 'checked' ]; + } + if(c === j) { + par.state[ t ? 'selected' : 'checked' ] = true; + sel[par.id] = true; + //this._data[ t ? 'core' : 'checkbox' ].selected.push(par.id); + tmp = this.get_node(par, true); + if(tmp && tmp.length) { + tmp.attr('aria-selected', true).children('.jstree-anchor').addClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + } + else { + break; + } + par = this.get_node(par.parent); + } + } + + cur = []; + for (i in sel) { + if (sel.hasOwnProperty(i)) { + cur.push(i); + } + } + this._data[ t ? 'core' : 'checkbox' ].selected = cur; + + // apply down (process .children separately?) + if(s.indexOf('down') !== -1 && dom.length) { + dom.find('.jstree-anchor').addClass(t ? 'jstree-clicked' : 'jstree-checked').parent().attr('aria-selected', true); + } + }, this)) + .on(this.settings.checkbox.tie_selection ? 'deselect_all.jstree' : 'uncheck_all.jstree', $.proxy(function (e, data) { + var obj = this.get_node($.jstree.root), + m = this._model.data, + i, j, tmp; + for(i = 0, j = obj.children_d.length; i < j; i++) { + tmp = m[obj.children_d[i]]; + if(tmp && tmp.original && tmp.original.state && tmp.original.state.undetermined) { + tmp.original.state.undetermined = false; + } + } + }, this)) + .on(this.settings.checkbox.tie_selection ? 'deselect_node.jstree' : 'uncheck_node.jstree', $.proxy(function (e, data) { + var obj = data.node, + dom = this.get_node(obj, true), + i, j, tmp, s = this.settings.checkbox.cascade, t = this.settings.checkbox.tie_selection, + cur = this._data[ t ? 'core' : 'checkbox' ].selected, sel = {}; + if(obj && obj.original && obj.original.state && obj.original.state.undetermined) { + obj.original.state.undetermined = false; + } + + // apply down + if(s.indexOf('down') !== -1) { + for(i = 0, j = obj.children_d.length; i < j; i++) { + tmp = this._model.data[obj.children_d[i]]; + tmp.state[ t ? 'selected' : 'checked' ] = false; + if(tmp && tmp.original && tmp.original.state && tmp.original.state.undetermined) { + tmp.original.state.undetermined = false; + } + } + } + + // apply up + if(s.indexOf('up') !== -1) { + for(i = 0, j = obj.parents.length; i < j; i++) { + tmp = this._model.data[obj.parents[i]]; + tmp.state[ t ? 'selected' : 'checked' ] = false; + if(tmp && tmp.original && tmp.original.state && tmp.original.state.undetermined) { + tmp.original.state.undetermined = false; + } + tmp = this.get_node(obj.parents[i], true); + if(tmp && tmp.length) { + tmp.attr('aria-selected', false).children('.jstree-anchor').removeClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + } + } + sel = {}; + for(i = 0, j = cur.length; i < j; i++) { + // apply down + apply up + if( + (s.indexOf('down') === -1 || $.inArray(cur[i], obj.children_d) === -1) && + (s.indexOf('up') === -1 || $.inArray(cur[i], obj.parents) === -1) + ) { + sel[cur[i]] = true; + } + } + cur = []; + for (i in sel) { + if (sel.hasOwnProperty(i)) { + cur.push(i); + } + } + this._data[ t ? 'core' : 'checkbox' ].selected = cur; + + // apply down (process .children separately?) + if(s.indexOf('down') !== -1 && dom.length) { + dom.find('.jstree-anchor').removeClass(t ? 'jstree-clicked' : 'jstree-checked').parent().attr('aria-selected', false); + } + }, this)); + } + if(this.settings.checkbox.cascade.indexOf('up') !== -1) { + this.element + .on('delete_node.jstree', $.proxy(function (e, data) { + // apply up (whole handler) + var p = this.get_node(data.parent), + m = this._model.data, + i, j, c, tmp, t = this.settings.checkbox.tie_selection; + while(p && p.id !== $.jstree.root && !p.state[ t ? 'selected' : 'checked' ]) { + c = 0; + for(i = 0, j = p.children.length; i < j; i++) { + c += m[p.children[i]].state[ t ? 'selected' : 'checked' ]; + } + if(j > 0 && c === j) { + p.state[ t ? 'selected' : 'checked' ] = true; + this._data[ t ? 'core' : 'checkbox' ].selected.push(p.id); + tmp = this.get_node(p, true); + if(tmp && tmp.length) { + tmp.attr('aria-selected', true).children('.jstree-anchor').addClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + } + else { + break; + } + p = this.get_node(p.parent); + } + }, this)) + .on('move_node.jstree', $.proxy(function (e, data) { + // apply up (whole handler) + var is_multi = data.is_multi, + old_par = data.old_parent, + new_par = this.get_node(data.parent), + m = this._model.data, + p, c, i, j, tmp, t = this.settings.checkbox.tie_selection; + if(!is_multi) { + p = this.get_node(old_par); + while(p && p.id !== $.jstree.root && !p.state[ t ? 'selected' : 'checked' ]) { + c = 0; + for(i = 0, j = p.children.length; i < j; i++) { + c += m[p.children[i]].state[ t ? 'selected' : 'checked' ]; + } + if(j > 0 && c === j) { + p.state[ t ? 'selected' : 'checked' ] = true; + this._data[ t ? 'core' : 'checkbox' ].selected.push(p.id); + tmp = this.get_node(p, true); + if(tmp && tmp.length) { + tmp.attr('aria-selected', true).children('.jstree-anchor').addClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + } + else { + break; + } + p = this.get_node(p.parent); + } + } + p = new_par; + while(p && p.id !== $.jstree.root) { + c = 0; + for(i = 0, j = p.children.length; i < j; i++) { + c += m[p.children[i]].state[ t ? 'selected' : 'checked' ]; + } + if(c === j) { + if(!p.state[ t ? 'selected' : 'checked' ]) { + p.state[ t ? 'selected' : 'checked' ] = true; + this._data[ t ? 'core' : 'checkbox' ].selected.push(p.id); + tmp = this.get_node(p, true); + if(tmp && tmp.length) { + tmp.attr('aria-selected', true).children('.jstree-anchor').addClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + } + } + else { + if(p.state[ t ? 'selected' : 'checked' ]) { + p.state[ t ? 'selected' : 'checked' ] = false; + this._data[ t ? 'core' : 'checkbox' ].selected = $.vakata.array_remove_item(this._data[ t ? 'core' : 'checkbox' ].selected, p.id); + tmp = this.get_node(p, true); + if(tmp && tmp.length) { + tmp.attr('aria-selected', false).children('.jstree-anchor').removeClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + } + else { + break; + } + } + p = this.get_node(p.parent); + } + }, this)); + } + }; + /** + * set the undetermined state where and if necessary. Used internally. + * @private + * @name _undetermined() + * @plugin checkbox + */ + this._undetermined = function () { + if(this.element === null) { return; } + var i, j, k, l, o = {}, m = this._model.data, t = this.settings.checkbox.tie_selection, s = this._data[ t ? 'core' : 'checkbox' ].selected, p = [], tt = this; + for(i = 0, j = s.length; i < j; i++) { + if(m[s[i]] && m[s[i]].parents) { + for(k = 0, l = m[s[i]].parents.length; k < l; k++) { + if(o[m[s[i]].parents[k]] !== undefined) { + break; + } + if(m[s[i]].parents[k] !== $.jstree.root) { + o[m[s[i]].parents[k]] = true; + p.push(m[s[i]].parents[k]); + } + } + } + } + // attempt for server side undetermined state + this.element.find('.jstree-closed').not(':has(.jstree-children)') + .each(function () { + var tmp = tt.get_node(this), tmp2; + if(!tmp.state.loaded) { + if(tmp.original && tmp.original.state && tmp.original.state.undetermined && tmp.original.state.undetermined === true) { + if(o[tmp.id] === undefined && tmp.id !== $.jstree.root) { + o[tmp.id] = true; + p.push(tmp.id); + } + for(k = 0, l = tmp.parents.length; k < l; k++) { + if(o[tmp.parents[k]] === undefined && tmp.parents[k] !== $.jstree.root) { + o[tmp.parents[k]] = true; + p.push(tmp.parents[k]); + } + } + } + } + else { + for(i = 0, j = tmp.children_d.length; i < j; i++) { + tmp2 = m[tmp.children_d[i]]; + if(!tmp2.state.loaded && tmp2.original && tmp2.original.state && tmp2.original.state.undetermined && tmp2.original.state.undetermined === true) { + if(o[tmp2.id] === undefined && tmp2.id !== $.jstree.root) { + o[tmp2.id] = true; + p.push(tmp2.id); + } + for(k = 0, l = tmp2.parents.length; k < l; k++) { + if(o[tmp2.parents[k]] === undefined && tmp2.parents[k] !== $.jstree.root) { + o[tmp2.parents[k]] = true; + p.push(tmp2.parents[k]); + } + } + } + } + } + }); + + this.element.find('.jstree-undetermined').removeClass('jstree-undetermined'); + for(i = 0, j = p.length; i < j; i++) { + if(!m[p[i]].state[ t ? 'selected' : 'checked' ]) { + s = this.get_node(p[i], true); + if(s && s.length) { + s.children('.jstree-anchor').children('.jstree-checkbox').addClass('jstree-undetermined'); + } + } + } + }; + this.redraw_node = function(obj, deep, is_callback, force_render) { + obj = parent.redraw_node.apply(this, arguments); + if(obj) { + var i, j, tmp = null, icon = null; + for(i = 0, j = obj.childNodes.length; i < j; i++) { + if(obj.childNodes[i] && obj.childNodes[i].className && obj.childNodes[i].className.indexOf("jstree-anchor") !== -1) { + tmp = obj.childNodes[i]; + break; + } + } + if(tmp) { + if(!this.settings.checkbox.tie_selection && this._model.data[obj.id].state.checked) { tmp.className += ' jstree-checked'; } + icon = _i.cloneNode(false); + if(this._model.data[obj.id].state.checkbox_disabled) { icon.className += ' jstree-checkbox-disabled'; } + tmp.insertBefore(icon, tmp.childNodes[0]); + } + } + if(!is_callback && this.settings.checkbox.cascade.indexOf('undetermined') !== -1) { + if(this._data.checkbox.uto) { clearTimeout(this._data.checkbox.uto); } + this._data.checkbox.uto = setTimeout($.proxy(this._undetermined, this), 50); + } + return obj; + }; + /** + * show the node checkbox icons + * @name show_checkboxes() + * @plugin checkbox + */ + this.show_checkboxes = function () { this._data.core.themes.checkboxes = true; this.get_container_ul().removeClass("jstree-no-checkboxes"); }; + /** + * hide the node checkbox icons + * @name hide_checkboxes() + * @plugin checkbox + */ + this.hide_checkboxes = function () { this._data.core.themes.checkboxes = false; this.get_container_ul().addClass("jstree-no-checkboxes"); }; + /** + * toggle the node icons + * @name toggle_checkboxes() + * @plugin checkbox + */ + this.toggle_checkboxes = function () { if(this._data.core.themes.checkboxes) { this.hide_checkboxes(); } else { this.show_checkboxes(); } }; + /** + * checks if a node is in an undetermined state + * @name is_undetermined(obj) + * @param {mixed} obj + * @return {Boolean} + */ + this.is_undetermined = function (obj) { + obj = this.get_node(obj); + var s = this.settings.checkbox.cascade, i, j, t = this.settings.checkbox.tie_selection, d = this._data[ t ? 'core' : 'checkbox' ].selected, m = this._model.data; + if(!obj || obj.state[ t ? 'selected' : 'checked' ] === true || s.indexOf('undetermined') === -1 || (s.indexOf('down') === -1 && s.indexOf('up') === -1)) { + return false; + } + if(!obj.state.loaded && obj.original.state.undetermined === true) { + return true; + } + for(i = 0, j = obj.children_d.length; i < j; i++) { + if($.inArray(obj.children_d[i], d) !== -1 || (!m[obj.children_d[i]].state.loaded && m[obj.children_d[i]].original.state.undetermined)) { + return true; + } + } + return false; + }; + /** + * disable a node's checkbox + * @name disable_checkbox(obj) + * @param {mixed} obj an array can be used too + * @trigger disable_checkbox.jstree + * @plugin checkbox + */ + this.disable_checkbox = function (obj) { + var t1, t2, dom; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.disable_checkbox(obj[t1]); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + dom = this.get_node(obj, true); + if(!obj.state.checkbox_disabled) { + obj.state.checkbox_disabled = true; + if(dom && dom.length) { + dom.children('.jstree-anchor').children('.jstree-checkbox').addClass('jstree-checkbox-disabled'); + } + /** + * triggered when an node's checkbox is disabled + * @event + * @name disable_checkbox.jstree + * @param {Object} node + * @plugin checkbox + */ + this.trigger('disable_checkbox', { 'node' : obj }); + } + }; + /** + * enable a node's checkbox + * @name disable_checkbox(obj) + * @param {mixed} obj an array can be used too + * @trigger enable_checkbox.jstree + * @plugin checkbox + */ + this.enable_checkbox = function (obj) { + var t1, t2, dom; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.enable_checkbox(obj[t1]); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + dom = this.get_node(obj, true); + if(obj.state.checkbox_disabled) { + obj.state.checkbox_disabled = false; + if(dom && dom.length) { + dom.children('.jstree-anchor').children('.jstree-checkbox').removeClass('jstree-checkbox-disabled'); + } + /** + * triggered when an node's checkbox is enabled + * @event + * @name enable_checkbox.jstree + * @param {Object} node + * @plugin checkbox + */ + this.trigger('enable_checkbox', { 'node' : obj }); + } + }; + + this.activate_node = function (obj, e) { + if($(e.target).hasClass('jstree-checkbox-disabled')) { + return false; + } + if(this.settings.checkbox.tie_selection && (this.settings.checkbox.whole_node || $(e.target).hasClass('jstree-checkbox'))) { + e.ctrlKey = true; + } + if(this.settings.checkbox.tie_selection || (!this.settings.checkbox.whole_node && !$(e.target).hasClass('jstree-checkbox'))) { + return parent.activate_node.call(this, obj, e); + } + if(this.is_disabled(obj)) { + return false; + } + if(this.is_checked(obj)) { + this.uncheck_node(obj, e); + } + else { + this.check_node(obj, e); + } + this.trigger('activate_node', { 'node' : this.get_node(obj) }); + }; + + /** + * check a node (only if tie_selection in checkbox settings is false, otherwise select_node will be called internally) + * @name check_node(obj) + * @param {mixed} obj an array can be used to check multiple nodes + * @trigger check_node.jstree + * @plugin checkbox + */ + this.check_node = function (obj, e) { + if(this.settings.checkbox.tie_selection) { return this.select_node(obj, false, true, e); } + var dom, t1, t2, th; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.check_node(obj[t1], e); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + dom = this.get_node(obj, true); + if(!obj.state.checked) { + obj.state.checked = true; + this._data.checkbox.selected.push(obj.id); + if(dom && dom.length) { + dom.children('.jstree-anchor').addClass('jstree-checked'); + } + /** + * triggered when an node is checked (only if tie_selection in checkbox settings is false) + * @event + * @name check_node.jstree + * @param {Object} node + * @param {Array} selected the current selection + * @param {Object} event the event (if any) that triggered this check_node + * @plugin checkbox + */ + this.trigger('check_node', { 'node' : obj, 'selected' : this._data.checkbox.selected, 'event' : e }); + } + }; + /** + * uncheck a node (only if tie_selection in checkbox settings is false, otherwise deselect_node will be called internally) + * @name uncheck_node(obj) + * @param {mixed} obj an array can be used to uncheck multiple nodes + * @trigger uncheck_node.jstree + * @plugin checkbox + */ + this.uncheck_node = function (obj, e) { + if(this.settings.checkbox.tie_selection) { return this.deselect_node(obj, false, e); } + var t1, t2, dom; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.uncheck_node(obj[t1], e); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + dom = this.get_node(obj, true); + if(obj.state.checked) { + obj.state.checked = false; + this._data.checkbox.selected = $.vakata.array_remove_item(this._data.checkbox.selected, obj.id); + if(dom.length) { + dom.children('.jstree-anchor').removeClass('jstree-checked'); + } + /** + * triggered when an node is unchecked (only if tie_selection in checkbox settings is false) + * @event + * @name uncheck_node.jstree + * @param {Object} node + * @param {Array} selected the current selection + * @param {Object} event the event (if any) that triggered this uncheck_node + * @plugin checkbox + */ + this.trigger('uncheck_node', { 'node' : obj, 'selected' : this._data.checkbox.selected, 'event' : e }); + } + }; + /** + * checks all nodes in the tree (only if tie_selection in checkbox settings is false, otherwise select_all will be called internally) + * @name check_all() + * @trigger check_all.jstree, changed.jstree + * @plugin checkbox + */ + this.check_all = function () { + if(this.settings.checkbox.tie_selection) { return this.select_all(); } + var tmp = this._data.checkbox.selected.concat([]), i, j; + this._data.checkbox.selected = this._model.data[$.jstree.root].children_d.concat(); + for(i = 0, j = this._data.checkbox.selected.length; i < j; i++) { + if(this._model.data[this._data.checkbox.selected[i]]) { + this._model.data[this._data.checkbox.selected[i]].state.checked = true; + } + } + this.redraw(true); + /** + * triggered when all nodes are checked (only if tie_selection in checkbox settings is false) + * @event + * @name check_all.jstree + * @param {Array} selected the current selection + * @plugin checkbox + */ + this.trigger('check_all', { 'selected' : this._data.checkbox.selected }); + }; + /** + * uncheck all checked nodes (only if tie_selection in checkbox settings is false, otherwise deselect_all will be called internally) + * @name uncheck_all() + * @trigger uncheck_all.jstree + * @plugin checkbox + */ + this.uncheck_all = function () { + if(this.settings.checkbox.tie_selection) { return this.deselect_all(); } + var tmp = this._data.checkbox.selected.concat([]), i, j; + for(i = 0, j = this._data.checkbox.selected.length; i < j; i++) { + if(this._model.data[this._data.checkbox.selected[i]]) { + this._model.data[this._data.checkbox.selected[i]].state.checked = false; + } + } + this._data.checkbox.selected = []; + this.element.find('.jstree-checked').removeClass('jstree-checked'); + /** + * triggered when all nodes are unchecked (only if tie_selection in checkbox settings is false) + * @event + * @name uncheck_all.jstree + * @param {Object} node the previous selection + * @param {Array} selected the current selection + * @plugin checkbox + */ + this.trigger('uncheck_all', { 'selected' : this._data.checkbox.selected, 'node' : tmp }); + }; + /** + * checks if a node is checked (if tie_selection is on in the settings this function will return the same as is_selected) + * @name is_checked(obj) + * @param {mixed} obj + * @return {Boolean} + * @plugin checkbox + */ + this.is_checked = function (obj) { + if(this.settings.checkbox.tie_selection) { return this.is_selected(obj); } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { return false; } + return obj.state.checked; + }; + /** + * get an array of all checked nodes (if tie_selection is on in the settings this function will return the same as get_selected) + * @name get_checked([full]) + * @param {mixed} full if set to `true` the returned array will consist of the full node objects, otherwise - only IDs will be returned + * @return {Array} + * @plugin checkbox + */ + this.get_checked = function (full) { + if(this.settings.checkbox.tie_selection) { return this.get_selected(full); } + return full ? $.map(this._data.checkbox.selected, $.proxy(function (i) { return this.get_node(i); }, this)) : this._data.checkbox.selected; + }; + /** + * get an array of all top level checked nodes (ignoring children of checked nodes) (if tie_selection is on in the settings this function will return the same as get_top_selected) + * @name get_top_checked([full]) + * @param {mixed} full if set to `true` the returned array will consist of the full node objects, otherwise - only IDs will be returned + * @return {Array} + * @plugin checkbox + */ + this.get_top_checked = function (full) { + if(this.settings.checkbox.tie_selection) { return this.get_top_selected(full); } + var tmp = this.get_checked(true), + obj = {}, i, j, k, l; + for(i = 0, j = tmp.length; i < j; i++) { + obj[tmp[i].id] = tmp[i]; + } + for(i = 0, j = tmp.length; i < j; i++) { + for(k = 0, l = tmp[i].children_d.length; k < l; k++) { + if(obj[tmp[i].children_d[k]]) { + delete obj[tmp[i].children_d[k]]; + } + } + } + tmp = []; + for(i in obj) { + if(obj.hasOwnProperty(i)) { + tmp.push(i); + } + } + return full ? $.map(tmp, $.proxy(function (i) { return this.get_node(i); }, this)) : tmp; + }; + /** + * get an array of all bottom level checked nodes (ignoring selected parents) (if tie_selection is on in the settings this function will return the same as get_bottom_selected) + * @name get_bottom_checked([full]) + * @param {mixed} full if set to `true` the returned array will consist of the full node objects, otherwise - only IDs will be returned + * @return {Array} + * @plugin checkbox + */ + this.get_bottom_checked = function (full) { + if(this.settings.checkbox.tie_selection) { return this.get_bottom_selected(full); } + var tmp = this.get_checked(true), + obj = [], i, j; + for(i = 0, j = tmp.length; i < j; i++) { + if(!tmp[i].children.length) { + obj.push(tmp[i].id); + } + } + return full ? $.map(obj, $.proxy(function (i) { return this.get_node(i); }, this)) : obj; + }; + this.load_node = function (obj, callback) { + var k, l, i, j, c, tmp; + if(!$.isArray(obj) && !this.settings.checkbox.tie_selection) { + tmp = this.get_node(obj); + if(tmp && tmp.state.loaded) { + for(k = 0, l = tmp.children_d.length; k < l; k++) { + if(this._model.data[tmp.children_d[k]].state.checked) { + c = true; + this._data.checkbox.selected = $.vakata.array_remove_item(this._data.checkbox.selected, tmp.children_d[k]); + } + } + } + } + return parent.load_node.apply(this, arguments); + }; + this.get_state = function () { + var state = parent.get_state.apply(this, arguments); + if(this.settings.checkbox.tie_selection) { return state; } + state.checkbox = this._data.checkbox.selected.slice(); + return state; + }; + this.set_state = function (state, callback) { + var res = parent.set_state.apply(this, arguments); + if(res && state.checkbox) { + if(!this.settings.checkbox.tie_selection) { + this.uncheck_all(); + var _this = this; + $.each(state.checkbox, function (i, v) { + _this.check_node(v); + }); + } + delete state.checkbox; + this.set_state(state, callback); + return false; + } + return res; + }; + this.refresh = function (skip_loading, forget_state) { + if(!this.settings.checkbox.tie_selection) { + this._data.checkbox.selected = []; + } + return parent.refresh.apply(this, arguments); + }; + }; + + // include the checkbox plugin by default + // $.jstree.defaults.plugins.push("checkbox"); +})); \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.conditionalselect.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.conditionalselect.js new file mode 100644 index 0000000000..012562ec10 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.conditionalselect.js @@ -0,0 +1,38 @@ +/** + * ### Conditionalselect plugin + * + * This plugin allows defining a callback to allow or deny node selection by user input (activate node method). + */ +/*globals jQuery, define, exports, require, document */ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define('jstree.conditionalselect', ['jquery','jstree'], factory); + } + else if(typeof exports === 'object') { + factory(require('jquery'), require('jstree')); + } + else { + factory(jQuery, jQuery.jstree); + } +}(function ($, jstree, undefined) { + "use strict"; + + if($.jstree.plugins.conditionalselect) { return; } + + /** + * a callback (function) which is invoked in the instance's scope and receives two arguments - the node and the event that triggered the `activate_node` call. Returning false prevents working with the node, returning true allows invoking activate_node. Defaults to returning `true`. + * @name $.jstree.defaults.checkbox.visible + * @plugin checkbox + */ + $.jstree.defaults.conditionalselect = function () { return true; }; + $.jstree.plugins.conditionalselect = function (options, parent) { + // own function + this.activate_node = function (obj, e) { + if(this.settings.conditionalselect.call(this, this.get_node(obj), e)) { + parent.activate_node.call(this, obj, e); + } + }; + }; + +})); \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.contextmenu.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.contextmenu.js new file mode 100644 index 0000000000..00f4517510 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.contextmenu.js @@ -0,0 +1,653 @@ +/** + * ### Contextmenu plugin + * + * Shows a context menu when a node is right-clicked. + */ +/*globals jQuery, define, exports, require, document */ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define('jstree.contextmenu', ['jquery','jstree'], factory); + } + else if(typeof exports === 'object') { + factory(require('jquery'), require('jstree')); + } + else { + factory(jQuery, jQuery.jstree); + } +}(function ($, jstree, undefined) { + "use strict"; + + if($.jstree.plugins.contextmenu) { return; } + + /** + * stores all defaults for the contextmenu plugin + * @name $.jstree.defaults.contextmenu + * @plugin contextmenu + */ + $.jstree.defaults.contextmenu = { + /** + * a boolean indicating if the node should be selected when the context menu is invoked on it. Defaults to `true`. + * @name $.jstree.defaults.contextmenu.select_node + * @plugin contextmenu + */ + select_node : true, + /** + * a boolean indicating if the menu should be shown aligned with the node. Defaults to `true`, otherwise the mouse coordinates are used. + * @name $.jstree.defaults.contextmenu.show_at_node + * @plugin contextmenu + */ + show_at_node : true, + /** + * an object of actions, or a function that accepts a node and a callback function and calls the callback function with an object of actions available for that node (you can also return the items too). + * + * Each action consists of a key (a unique name) and a value which is an object with the following properties (only label and action are required). Once a menu item is activated the `action` function will be invoked with an object containing the following keys: item - the contextmenu item definition as seen below, reference - the DOM node that was used (the tree node), element - the contextmenu DOM element, position - an object with x/y properties indicating the position of the menu. + * + * * `separator_before` - a boolean indicating if there should be a separator before this item + * * `separator_after` - a boolean indicating if there should be a separator after this item + * * `_disabled` - a boolean indicating if this action should be disabled + * * `label` - a string - the name of the action (could be a function returning a string) + * * `title` - a string - an optional tooltip for the item + * * `action` - a function to be executed if this item is chosen, the function will receive + * * `icon` - a string, can be a path to an icon or a className, if using an image that is in the current directory use a `./` prefix, otherwise it will be detected as a class + * * `shortcut` - keyCode which will trigger the action if the menu is open (for example `113` for rename, which equals F2) + * * `shortcut_label` - shortcut label (like for example `F2` for rename) + * * `submenu` - an object with the same structure as $.jstree.defaults.contextmenu.items which can be used to create a submenu - each key will be rendered as a separate option in a submenu that will appear once the current item is hovered + * + * @name $.jstree.defaults.contextmenu.items + * @plugin contextmenu + */ + items : function (o, cb) { // Could be an object directly + return { + "create" : { + "separator_before" : false, + "separator_after" : true, + "_disabled" : false, //(this.check("create_node", data.reference, {}, "last")), + "label" : "Create", + "action" : function (data) { + var inst = $.jstree.reference(data.reference), + obj = inst.get_node(data.reference); + inst.create_node(obj, {}, "last", function (new_node) { + setTimeout(function () { inst.edit(new_node); },0); + }); + } + }, + "rename" : { + "separator_before" : false, + "separator_after" : false, + "_disabled" : false, //(this.check("rename_node", data.reference, this.get_parent(data.reference), "")), + "label" : "Rename", + /*! + "shortcut" : 113, + "shortcut_label" : 'F2', + "icon" : "glyphicon glyphicon-leaf", + */ + "action" : function (data) { + var inst = $.jstree.reference(data.reference), + obj = inst.get_node(data.reference); + inst.edit(obj); + } + }, + "remove" : { + "separator_before" : false, + "icon" : false, + "separator_after" : false, + "_disabled" : false, //(this.check("delete_node", data.reference, this.get_parent(data.reference), "")), + "label" : "Delete", + "action" : function (data) { + var inst = $.jstree.reference(data.reference), + obj = inst.get_node(data.reference); + if(inst.is_selected(obj)) { + inst.delete_node(inst.get_selected()); + } + else { + inst.delete_node(obj); + } + } + }, + "ccp" : { + "separator_before" : true, + "icon" : false, + "separator_after" : false, + "label" : "Edit", + "action" : false, + "submenu" : { + "cut" : { + "separator_before" : false, + "separator_after" : false, + "label" : "Cut", + "action" : function (data) { + var inst = $.jstree.reference(data.reference), + obj = inst.get_node(data.reference); + if(inst.is_selected(obj)) { + inst.cut(inst.get_top_selected()); + } + else { + inst.cut(obj); + } + } + }, + "copy" : { + "separator_before" : false, + "icon" : false, + "separator_after" : false, + "label" : "Copy", + "action" : function (data) { + var inst = $.jstree.reference(data.reference), + obj = inst.get_node(data.reference); + if(inst.is_selected(obj)) { + inst.copy(inst.get_top_selected()); + } + else { + inst.copy(obj); + } + } + }, + "paste" : { + "separator_before" : false, + "icon" : false, + "_disabled" : function (data) { + return !$.jstree.reference(data.reference).can_paste(); + }, + "separator_after" : false, + "label" : "Paste", + "action" : function (data) { + var inst = $.jstree.reference(data.reference), + obj = inst.get_node(data.reference); + inst.paste(obj); + } + } + } + } + }; + } + }; + + $.jstree.plugins.contextmenu = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + + var last_ts = 0, cto = null, ex, ey; + this.element + .on("contextmenu.jstree", ".jstree-anchor", $.proxy(function (e, data) { + if (e.target.tagName.toLowerCase() === 'input') { + return; + } + e.preventDefault(); + last_ts = e.ctrlKey ? +new Date() : 0; + if(data || cto) { + last_ts = (+new Date()) + 10000; + } + if(cto) { + clearTimeout(cto); + } + if(!this.is_loading(e.currentTarget)) { + this.show_contextmenu(e.currentTarget, e.pageX, e.pageY, e); + } + }, this)) + .on("click.jstree", ".jstree-anchor", $.proxy(function (e) { + if(this._data.contextmenu.visible && (!last_ts || (+new Date()) - last_ts > 250)) { // work around safari & macOS ctrl+click + $.vakata.context.hide(); + } + last_ts = 0; + }, this)) + .on("touchstart.jstree", ".jstree-anchor", function (e) { + if(!e.originalEvent || !e.originalEvent.changedTouches || !e.originalEvent.changedTouches[0]) { + return; + } + ex = e.originalEvent.changedTouches[0].clientX; + ey = e.originalEvent.changedTouches[0].clientY; + cto = setTimeout(function () { + $(e.currentTarget).trigger('contextmenu', true); + }, 750); + }) + .on('touchmove.vakata.jstree', function (e) { + if(cto && e.originalEvent && e.originalEvent.changedTouches && e.originalEvent.changedTouches[0] && (Math.abs(ex - e.originalEvent.changedTouches[0].clientX) > 50 || Math.abs(ey - e.originalEvent.changedTouches[0].clientY) > 50)) { + clearTimeout(cto); + } + }) + .on('touchend.vakata.jstree', function (e) { + if(cto) { + clearTimeout(cto); + } + }); + + /*! + if(!('oncontextmenu' in document.body) && ('ontouchstart' in document.body)) { + var el = null, tm = null; + this.element + .on("touchstart", ".jstree-anchor", function (e) { + el = e.currentTarget; + tm = +new Date(); + $(document).one("touchend", function (e) { + e.target = document.elementFromPoint(e.originalEvent.targetTouches[0].pageX - window.pageXOffset, e.originalEvent.targetTouches[0].pageY - window.pageYOffset); + e.currentTarget = e.target; + tm = ((+(new Date())) - tm); + if(e.target === el && tm > 600 && tm < 1000) { + e.preventDefault(); + $(el).trigger('contextmenu', e); + } + el = null; + tm = null; + }); + }); + } + */ + $(document).on("context_hide.vakata.jstree", $.proxy(function (e, data) { + this._data.contextmenu.visible = false; + $(data.reference).removeClass('jstree-context'); + }, this)); + }; + this.teardown = function () { + if(this._data.contextmenu.visible) { + $.vakata.context.hide(); + } + parent.teardown.call(this); + }; + + /** + * prepare and show the context menu for a node + * @name show_contextmenu(obj [, x, y]) + * @param {mixed} obj the node + * @param {Number} x the x-coordinate relative to the document to show the menu at + * @param {Number} y the y-coordinate relative to the document to show the menu at + * @param {Object} e the event if available that triggered the contextmenu + * @plugin contextmenu + * @trigger show_contextmenu.jstree + */ + this.show_contextmenu = function (obj, x, y, e) { + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { return false; } + var s = this.settings.contextmenu, + d = this.get_node(obj, true), + a = d.children(".jstree-anchor"), + o = false, + i = false; + if(s.show_at_node || x === undefined || y === undefined) { + o = a.offset(); + x = o.left; + y = o.top + this._data.core.li_height; + } + if(this.settings.contextmenu.select_node && !this.is_selected(obj)) { + this.activate_node(obj, e); + } + + i = s.items; + if($.isFunction(i)) { + i = i.call(this, obj, $.proxy(function (i) { + this._show_contextmenu(obj, x, y, i); + }, this)); + } + if($.isPlainObject(i)) { + this._show_contextmenu(obj, x, y, i); + } + }; + /** + * show the prepared context menu for a node + * @name _show_contextmenu(obj, x, y, i) + * @param {mixed} obj the node + * @param {Number} x the x-coordinate relative to the document to show the menu at + * @param {Number} y the y-coordinate relative to the document to show the menu at + * @param {Number} i the object of items to show + * @plugin contextmenu + * @trigger show_contextmenu.jstree + * @private + */ + this._show_contextmenu = function (obj, x, y, i) { + var d = this.get_node(obj, true), + a = d.children(".jstree-anchor"); + $(document).one("context_show.vakata.jstree", $.proxy(function (e, data) { + var cls = 'jstree-contextmenu jstree-' + this.get_theme() + '-contextmenu'; + $(data.element).addClass(cls); + a.addClass('jstree-context'); + }, this)); + this._data.contextmenu.visible = true; + $.vakata.context.show(a, { 'x' : x, 'y' : y }, i); + /** + * triggered when the contextmenu is shown for a node + * @event + * @name show_contextmenu.jstree + * @param {Object} node the node + * @param {Number} x the x-coordinate of the menu relative to the document + * @param {Number} y the y-coordinate of the menu relative to the document + * @plugin contextmenu + */ + this.trigger('show_contextmenu', { "node" : obj, "x" : x, "y" : y }); + }; + }; + + // contextmenu helper + (function ($) { + var right_to_left = false, + vakata_context = { + element : false, + reference : false, + position_x : 0, + position_y : 0, + items : [], + html : "", + is_visible : false + }; + + $.vakata.context = { + settings : { + hide_onmouseleave : 0, + icons : true + }, + _trigger : function (event_name) { + $(document).triggerHandler("context_" + event_name + ".vakata", { + "reference" : vakata_context.reference, + "element" : vakata_context.element, + "position" : { + "x" : vakata_context.position_x, + "y" : vakata_context.position_y + } + }); + }, + _execute : function (i) { + i = vakata_context.items[i]; + return i && (!i._disabled || ($.isFunction(i._disabled) && !i._disabled({ "item" : i, "reference" : vakata_context.reference, "element" : vakata_context.element }))) && i.action ? i.action.call(null, { + "item" : i, + "reference" : vakata_context.reference, + "element" : vakata_context.element, + "position" : { + "x" : vakata_context.position_x, + "y" : vakata_context.position_y + } + }) : false; + }, + _parse : function (o, is_callback) { + if(!o) { return false; } + if(!is_callback) { + vakata_context.html = ""; + vakata_context.items = []; + } + var str = "", + sep = false, + tmp; + + if(is_callback) { str += "<"+"ul>"; } + $.each(o, function (i, val) { + if(!val) { return true; } + vakata_context.items.push(val); + if(!sep && val.separator_before) { + str += "<"+"li class='vakata-context-separator'><"+"a href='#' " + ($.vakata.context.settings.icons ? '' : 'style="margin-left:0px;"') + "> <"+"/a><"+"/li>"; + } + sep = false; + str += "<"+"li class='" + (val._class || "") + (val._disabled === true || ($.isFunction(val._disabled) && val._disabled({ "item" : val, "reference" : vakata_context.reference, "element" : vakata_context.element })) ? " vakata-contextmenu-disabled " : "") + "' "+(val.shortcut?" data-shortcut='"+val.shortcut+"' ":'')+">"; + str += "<"+"a href='#' rel='" + (vakata_context.items.length - 1) + "' " + (val.title ? "title='" + val.title + "'" : "") + ">"; + if($.vakata.context.settings.icons) { + str += "<"+"i "; + if(val.icon) { + if(val.icon.indexOf("/") !== -1 || val.icon.indexOf(".") !== -1) { str += " style='background:url(\"" + val.icon + "\") center center no-repeat' "; } + else { str += " class='" + val.icon + "' "; } + } + str += "><"+"/i><"+"span class='vakata-contextmenu-sep'> <"+"/span>"; + } + str += ($.isFunction(val.label) ? val.label({ "item" : i, "reference" : vakata_context.reference, "element" : vakata_context.element }) : val.label) + (val.shortcut?' '+ (val.shortcut_label || '') +'':'') + "<"+"/a>"; + if(val.submenu) { + tmp = $.vakata.context._parse(val.submenu, true); + if(tmp) { str += tmp; } + } + str += "<"+"/li>"; + if(val.separator_after) { + str += "<"+"li class='vakata-context-separator'><"+"a href='#' " + ($.vakata.context.settings.icons ? '' : 'style="margin-left:0px;"') + "> <"+"/a><"+"/li>"; + sep = true; + } + }); + str = str.replace(/
      • <\/li\>$/,""); + if(is_callback) { str += ""; } + /** + * triggered on the document when the contextmenu is parsed (HTML is built) + * @event + * @plugin contextmenu + * @name context_parse.vakata + * @param {jQuery} reference the element that was right clicked + * @param {jQuery} element the DOM element of the menu itself + * @param {Object} position the x & y coordinates of the menu + */ + if(!is_callback) { vakata_context.html = str; $.vakata.context._trigger("parse"); } + return str.length > 10 ? str : false; + }, + _show_submenu : function (o) { + o = $(o); + if(!o.length || !o.children("ul").length) { return; } + var e = o.children("ul"), + xl = o.offset().left, + x = xl + o.outerWidth(), + y = o.offset().top, + w = e.width(), + h = e.height(), + dw = $(window).width() + $(window).scrollLeft(), + dh = $(window).height() + $(window).scrollTop(); + // може да се спести е една проверка - дали няма някой от класовете вече нагоре + if(right_to_left) { + o[x - (w + 10 + o.outerWidth()) < 0 ? "addClass" : "removeClass"]("vakata-context-left"); + } + else { + o[x + w > dw && xl > dw - x ? "addClass" : "removeClass"]("vakata-context-right"); + } + if(y + h + 10 > dh) { + e.css("bottom","-1px"); + } + + //if does not fit - stick it to the side + if (o.hasClass('vakata-context-right')) { + if (xl < w) { + e.css("margin-right", xl - w); + } + } else { + if (dw - x < w) { + e.css("margin-left", dw - x - w); + } + } + + e.show(); + }, + show : function (reference, position, data) { + var o, e, x, y, w, h, dw, dh, cond = true; + if(vakata_context.element && vakata_context.element.length) { + vakata_context.element.width(''); + } + switch(cond) { + case (!position && !reference): + return false; + case (!!position && !!reference): + vakata_context.reference = reference; + vakata_context.position_x = position.x; + vakata_context.position_y = position.y; + break; + case (!position && !!reference): + vakata_context.reference = reference; + o = reference.offset(); + vakata_context.position_x = o.left + reference.outerHeight(); + vakata_context.position_y = o.top; + break; + case (!!position && !reference): + vakata_context.position_x = position.x; + vakata_context.position_y = position.y; + break; + } + if(!!reference && !data && $(reference).data('vakata_contextmenu')) { + data = $(reference).data('vakata_contextmenu'); + } + if($.vakata.context._parse(data)) { + vakata_context.element.html(vakata_context.html); + } + if(vakata_context.items.length) { + vakata_context.element.appendTo("body"); + e = vakata_context.element; + x = vakata_context.position_x; + y = vakata_context.position_y; + w = e.width(); + h = e.height(); + dw = $(window).width() + $(window).scrollLeft(); + dh = $(window).height() + $(window).scrollTop(); + if(right_to_left) { + x -= (e.outerWidth() - $(reference).outerWidth()); + if(x < $(window).scrollLeft() + 20) { + x = $(window).scrollLeft() + 20; + } + } + if(x + w + 20 > dw) { + x = dw - (w + 20); + } + if(y + h + 20 > dh) { + y = dh - (h + 20); + } + + vakata_context.element + .css({ "left" : x, "top" : y }) + .show() + .find('a').first().focus().parent().addClass("vakata-context-hover"); + vakata_context.is_visible = true; + /** + * triggered on the document when the contextmenu is shown + * @event + * @plugin contextmenu + * @name context_show.vakata + * @param {jQuery} reference the element that was right clicked + * @param {jQuery} element the DOM element of the menu itself + * @param {Object} position the x & y coordinates of the menu + */ + $.vakata.context._trigger("show"); + } + }, + hide : function () { + if(vakata_context.is_visible) { + vakata_context.element.hide().find("ul").hide().end().find(':focus').blur().end().detach(); + vakata_context.is_visible = false; + /** + * triggered on the document when the contextmenu is hidden + * @event + * @plugin contextmenu + * @name context_hide.vakata + * @param {jQuery} reference the element that was right clicked + * @param {jQuery} element the DOM element of the menu itself + * @param {Object} position the x & y coordinates of the menu + */ + $.vakata.context._trigger("hide"); + } + } + }; + $(function () { + right_to_left = $("body").css("direction") === "rtl"; + var to = false; + + vakata_context.element = $("
          "); + vakata_context.element + .on("mouseenter", "li", function (e) { + e.stopImmediatePropagation(); + + if($.contains(this, e.relatedTarget)) { + // премахнато заради delegate mouseleave по-долу + // $(this).find(".vakata-context-hover").removeClass("vakata-context-hover"); + return; + } + + if(to) { clearTimeout(to); } + vakata_context.element.find(".vakata-context-hover").removeClass("vakata-context-hover").end(); + + $(this) + .siblings().find("ul").hide().end().end() + .parentsUntil(".vakata-context", "li").addBack().addClass("vakata-context-hover"); + $.vakata.context._show_submenu(this); + }) + // тестово - дали не натоварва? + .on("mouseleave", "li", function (e) { + if($.contains(this, e.relatedTarget)) { return; } + $(this).find(".vakata-context-hover").addBack().removeClass("vakata-context-hover"); + }) + .on("mouseleave", function (e) { + $(this).find(".vakata-context-hover").removeClass("vakata-context-hover"); + if($.vakata.context.settings.hide_onmouseleave) { + to = setTimeout( + (function (t) { + return function () { $.vakata.context.hide(); }; + }(this)), $.vakata.context.settings.hide_onmouseleave); + } + }) + .on("click", "a", function (e) { + e.preventDefault(); + //}) + //.on("mouseup", "a", function (e) { + if(!$(this).blur().parent().hasClass("vakata-context-disabled") && $.vakata.context._execute($(this).attr("rel")) !== false) { + $.vakata.context.hide(); + } + }) + .on('keydown', 'a', function (e) { + var o = null; + switch(e.which) { + case 13: + case 32: + e.type = "click"; + e.preventDefault(); + $(e.currentTarget).trigger(e); + break; + case 37: + if(vakata_context.is_visible) { + vakata_context.element.find(".vakata-context-hover").last().closest("li").first().find("ul").hide().find(".vakata-context-hover").removeClass("vakata-context-hover").end().end().children('a').focus(); + e.stopImmediatePropagation(); + e.preventDefault(); + } + break; + case 38: + if(vakata_context.is_visible) { + o = vakata_context.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").prevAll("li:not(.vakata-context-separator)").first(); + if(!o.length) { o = vakata_context.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").last(); } + o.addClass("vakata-context-hover").children('a').focus(); + e.stopImmediatePropagation(); + e.preventDefault(); + } + break; + case 39: + if(vakata_context.is_visible) { + vakata_context.element.find(".vakata-context-hover").last().children("ul").show().children("li:not(.vakata-context-separator)").removeClass("vakata-context-hover").first().addClass("vakata-context-hover").children('a').focus(); + e.stopImmediatePropagation(); + e.preventDefault(); + } + break; + case 40: + if(vakata_context.is_visible) { + o = vakata_context.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").nextAll("li:not(.vakata-context-separator)").first(); + if(!o.length) { o = vakata_context.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").first(); } + o.addClass("vakata-context-hover").children('a').focus(); + e.stopImmediatePropagation(); + e.preventDefault(); + } + break; + case 27: + $.vakata.context.hide(); + e.preventDefault(); + break; + default: + //console.log(e.which); + break; + } + }) + .on('keydown', function (e) { + e.preventDefault(); + var a = vakata_context.element.find('.vakata-contextmenu-shortcut-' + e.which).parent(); + if(a.parent().not('.vakata-context-disabled')) { + a.click(); + } + }); + + $(document) + .on("mousedown.vakata.jstree", function (e) { + if(vakata_context.is_visible && !$.contains(vakata_context.element[0], e.target)) { + $.vakata.context.hide(); + } + }) + .on("context_show.vakata.jstree", function (e, data) { + vakata_context.element.find("li:has(ul)").children("a").addClass("vakata-context-parent"); + if(right_to_left) { + vakata_context.element.addClass("vakata-context-rtl").css("direction", "rtl"); + } + // also apply a RTL class? + vakata_context.element.find("ul").hide().end(); + }); + }); + }($)); + // $.jstree.defaults.plugins.push("contextmenu"); +})); diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.dnd.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.dnd.js new file mode 100644 index 0000000000..a8a4cec2ec --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.dnd.js @@ -0,0 +1,653 @@ +/** + * ### Drag'n'drop plugin + * + * Enables dragging and dropping of nodes in the tree, resulting in a move or copy operations. + */ +/*globals jQuery, define, exports, require, document */ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define('jstree.dnd', ['jquery','jstree'], factory); + } + else if(typeof exports === 'object') { + factory(require('jquery'), require('jstree')); + } + else { + factory(jQuery, jQuery.jstree); + } +}(function ($, jstree, undefined) { + "use strict"; + + if($.jstree.plugins.dnd) { return; } + + /** + * stores all defaults for the drag'n'drop plugin + * @name $.jstree.defaults.dnd + * @plugin dnd + */ + $.jstree.defaults.dnd = { + /** + * a boolean indicating if a copy should be possible while dragging (by pressint the meta key or Ctrl). Defaults to `true`. + * @name $.jstree.defaults.dnd.copy + * @plugin dnd + */ + copy : true, + /** + * a number indicating how long a node should remain hovered while dragging to be opened. Defaults to `500`. + * @name $.jstree.defaults.dnd.open_timeout + * @plugin dnd + */ + open_timeout : 500, + /** + * a function invoked each time a node is about to be dragged, invoked in the tree's scope and receives the nodes about to be dragged as an argument (array) and the event that started the drag - return `false` to prevent dragging + * @name $.jstree.defaults.dnd.is_draggable + * @plugin dnd + */ + is_draggable : true, + /** + * a boolean indicating if checks should constantly be made while the user is dragging the node (as opposed to checking only on drop), default is `true` + * @name $.jstree.defaults.dnd.check_while_dragging + * @plugin dnd + */ + check_while_dragging : true, + /** + * a boolean indicating if nodes from this tree should only be copied with dnd (as opposed to moved), default is `false` + * @name $.jstree.defaults.dnd.always_copy + * @plugin dnd + */ + always_copy : false, + /** + * when dropping a node "inside", this setting indicates the position the node should go to - it can be an integer or a string: "first" (same as 0) or "last", default is `0` + * @name $.jstree.defaults.dnd.inside_pos + * @plugin dnd + */ + inside_pos : 0, + /** + * when starting the drag on a node that is selected this setting controls if all selected nodes are dragged or only the single node, default is `true`, which means all selected nodes are dragged when the drag is started on a selected node + * @name $.jstree.defaults.dnd.drag_selection + * @plugin dnd + */ + drag_selection : true, + /** + * controls whether dnd works on touch devices. If left as boolean true dnd will work the same as in desktop browsers, which in some cases may impair scrolling. If set to boolean false dnd will not work on touch devices. There is a special third option - string "selected" which means only selected nodes can be dragged on touch devices. + * @name $.jstree.defaults.dnd.touch + * @plugin dnd + */ + touch : true, + /** + * controls whether items can be dropped anywhere on the node, not just on the anchor, by default only the node anchor is a valid drop target. Works best with the wholerow plugin. If enabled on mobile depending on the interface it might be hard for the user to cancel the drop, since the whole tree container will be a valid drop target. + * @name $.jstree.defaults.dnd.large_drop_target + * @plugin dnd + */ + large_drop_target : false, + /** + * controls whether a drag can be initiated from any part of the node and not just the text/icon part, works best with the wholerow plugin. Keep in mind it can cause problems with tree scrolling on mobile depending on the interface - in that case set the touch option to "selected". + * @name $.jstree.defaults.dnd.large_drag_target + * @plugin dnd + */ + large_drag_target : false, + /** + * controls whether use HTML5 dnd api instead of classical. That will allow better integration of dnd events with other HTML5 controls. + * @reference http://caniuse.com/#feat=dragndrop + * @name $.jstree.defaults.dnd.use_html5 + * @plugin dnd + */ + use_html5: false + }; + var drg, elm; + // TODO: now check works by checking for each node individually, how about max_children, unique, etc? + $.jstree.plugins.dnd = function (options, parent) { + this.init = function (el, options) { + parent.init.call(this, el, options); + this.settings.dnd.use_html5 = this.settings.dnd.use_html5 && ('draggable' in document.createElement('span')); + }; + this.bind = function () { + parent.bind.call(this); + + this.element + .on(this.settings.dnd.use_html5 ? 'dragstart.jstree' : 'mousedown.jstree touchstart.jstree', this.settings.dnd.large_drag_target ? '.jstree-node' : '.jstree-anchor', $.proxy(function (e) { + if(this.settings.dnd.large_drag_target && $(e.target).closest('.jstree-node')[0] !== e.currentTarget) { + return true; + } + if(e.type === "touchstart" && (!this.settings.dnd.touch || (this.settings.dnd.touch === 'selected' && !$(e.currentTarget).closest('.jstree-node').children('.jstree-anchor').hasClass('jstree-clicked')))) { + return true; + } + var obj = this.get_node(e.target), + mlt = this.is_selected(obj) && this.settings.dnd.drag_selection ? this.get_top_selected().length : 1, + txt = (mlt > 1 ? mlt + ' ' + this.get_string('nodes') : this.get_text(e.currentTarget)); + if(this.settings.core.force_text) { + txt = $.vakata.html.escape(txt); + } + if(obj && obj.id && obj.id !== $.jstree.root && (e.which === 1 || e.type === "touchstart" || e.type === "dragstart") && + (this.settings.dnd.is_draggable === true || ($.isFunction(this.settings.dnd.is_draggable) && this.settings.dnd.is_draggable.call(this, (mlt > 1 ? this.get_top_selected(true) : [obj]), e))) + ) { + drg = { 'jstree' : true, 'origin' : this, 'obj' : this.get_node(obj,true), 'nodes' : mlt > 1 ? this.get_top_selected() : [obj.id] }; + elm = e.currentTarget; + if (this.settings.dnd.use_html5) { + $.vakata.dnd._trigger('start', e, { 'helper': $(), 'element': elm, 'data': drg }); + } else { + this.element.trigger('mousedown.jstree'); + return $.vakata.dnd.start(e, drg, '
          ' + txt + '
          '); + } + } + }, this)); + if (this.settings.dnd.use_html5) { + this.element + .on('dragover.jstree', function (e) { + e.preventDefault(); + $.vakata.dnd._trigger('move', e, { 'helper': $(), 'element': elm, 'data': drg }); + return false; + }) + //.on('dragenter.jstree', this.settings.dnd.large_drop_target ? '.jstree-node' : '.jstree-anchor', $.proxy(function (e) { + // e.preventDefault(); + // $.vakata.dnd._trigger('move', e, { 'helper': $(), 'element': elm, 'data': drg }); + // return false; + // }, this)) + .on('drop.jstree', $.proxy(function (e) { + e.preventDefault(); + $.vakata.dnd._trigger('stop', e, { 'helper': $(), 'element': elm, 'data': drg }); + return false; + }, this)); + } + }; + this.redraw_node = function(obj, deep, callback, force_render) { + obj = parent.redraw_node.apply(this, arguments); + if (obj && this.settings.dnd.use_html5) { + if (this.settings.dnd.large_drag_target) { + obj.setAttribute('draggable', true); + } else { + var i, j, tmp = null; + for(i = 0, j = obj.childNodes.length; i < j; i++) { + if(obj.childNodes[i] && obj.childNodes[i].className && obj.childNodes[i].className.indexOf("jstree-anchor") !== -1) { + tmp = obj.childNodes[i]; + break; + } + } + if(tmp) { + tmp.setAttribute('draggable', true); + } + } + } + return obj; + }; + }; + + $(function() { + // bind only once for all instances + var lastmv = false, + laster = false, + lastev = false, + opento = false, + marker = $('
           
          ').hide(); //.appendTo('body'); + + $(document) + .on('dnd_start.vakata.jstree', function (e, data) { + lastmv = false; + lastev = false; + if(!data || !data.data || !data.data.jstree) { return; } + marker.appendTo('body'); //.show(); + }) + .on('dnd_move.vakata.jstree', function (e, data) { + if(opento) { + if (!data.event || data.event.type !== 'dragover' || data.event.target !== lastev.target) { + clearTimeout(opento); + } + } + if(!data || !data.data || !data.data.jstree) { return; } + + // if we are hovering the marker image do nothing (can happen on "inside" drags) + if(data.event.target.id && data.event.target.id === 'jstree-marker') { + return; + } + lastev = data.event; + + var ins = $.jstree.reference(data.event.target), + ref = false, + off = false, + rel = false, + tmp, l, t, h, p, i, o, ok, t1, t2, op, ps, pr, ip, tm, is_copy, pn; + // if we are over an instance + if(ins && ins._data && ins._data.dnd) { + marker.attr('class', 'jstree-' + ins.get_theme() + ( ins.settings.core.themes.responsive ? ' jstree-dnd-responsive' : '' )); + is_copy = data.data.origin && (data.data.origin.settings.dnd.always_copy || (data.data.origin.settings.dnd.copy && (data.event.metaKey || data.event.ctrlKey))); + data.helper + .children().attr('class', 'jstree-' + ins.get_theme() + ' jstree-' + ins.get_theme() + '-' + ins.get_theme_variant() + ' ' + ( ins.settings.core.themes.responsive ? ' jstree-dnd-responsive' : '' )) + .find('.jstree-copy').first()[ is_copy ? 'show' : 'hide' ](); + + // if are hovering the container itself add a new root node + //console.log(data.event); + if( (data.event.target === ins.element[0] || data.event.target === ins.get_container_ul()[0]) && ins.get_container_ul().children().length === 0) { + ok = true; + for(t1 = 0, t2 = data.data.nodes.length; t1 < t2; t1++) { + ok = ok && ins.check( (data.data.origin && (data.data.origin.settings.dnd.always_copy || (data.data.origin.settings.dnd.copy && (data.event.metaKey || data.event.ctrlKey)) ) ? "copy_node" : "move_node"), (data.data.origin && data.data.origin !== ins ? data.data.origin.get_node(data.data.nodes[t1]) : data.data.nodes[t1]), $.jstree.root, 'last', { 'dnd' : true, 'ref' : ins.get_node($.jstree.root), 'pos' : 'i', 'origin' : data.data.origin, 'is_multi' : (data.data.origin && data.data.origin !== ins), 'is_foreign' : (!data.data.origin) }); + if(!ok) { break; } + } + if(ok) { + lastmv = { 'ins' : ins, 'par' : $.jstree.root, 'pos' : 'last' }; + marker.hide(); + data.helper.find('.jstree-icon').first().removeClass('jstree-er').addClass('jstree-ok'); + if (data.event.originalEvent && data.event.originalEvent.dataTransfer) { + data.event.originalEvent.dataTransfer.dropEffect = is_copy ? 'copy' : 'move'; + } + return; + } + } + else { + // if we are hovering a tree node + ref = ins.settings.dnd.large_drop_target ? $(data.event.target).closest('.jstree-node').children('.jstree-anchor') : $(data.event.target).closest('.jstree-anchor'); + if(ref && ref.length && ref.parent().is('.jstree-closed, .jstree-open, .jstree-leaf')) { + off = ref.offset(); + rel = (data.event.pageY !== undefined ? data.event.pageY : data.event.originalEvent.pageY) - off.top; + h = ref.outerHeight(); + if(rel < h / 3) { + o = ['b', 'i', 'a']; + } + else if(rel > h - h / 3) { + o = ['a', 'i', 'b']; + } + else { + o = rel > h / 2 ? ['i', 'a', 'b'] : ['i', 'b', 'a']; + } + $.each(o, function (j, v) { + switch(v) { + case 'b': + l = off.left - 6; + t = off.top; + p = ins.get_parent(ref); + i = ref.parent().index(); + break; + case 'i': + ip = ins.settings.dnd.inside_pos; + tm = ins.get_node(ref.parent()); + l = off.left - 2; + t = off.top + h / 2 + 1; + p = tm.id; + i = ip === 'first' ? 0 : (ip === 'last' ? tm.children.length : Math.min(ip, tm.children.length)); + break; + case 'a': + l = off.left - 6; + t = off.top + h; + p = ins.get_parent(ref); + i = ref.parent().index() + 1; + break; + } + ok = true; + for(t1 = 0, t2 = data.data.nodes.length; t1 < t2; t1++) { + op = data.data.origin && (data.data.origin.settings.dnd.always_copy || (data.data.origin.settings.dnd.copy && (data.event.metaKey || data.event.ctrlKey))) ? "copy_node" : "move_node"; + ps = i; + if(op === "move_node" && v === 'a' && (data.data.origin && data.data.origin === ins) && p === ins.get_parent(data.data.nodes[t1])) { + pr = ins.get_node(p); + if(ps > $.inArray(data.data.nodes[t1], pr.children)) { + ps -= 1; + } + } + ok = ok && ( (ins && ins.settings && ins.settings.dnd && ins.settings.dnd.check_while_dragging === false) || ins.check(op, (data.data.origin && data.data.origin !== ins ? data.data.origin.get_node(data.data.nodes[t1]) : data.data.nodes[t1]), p, ps, { 'dnd' : true, 'ref' : ins.get_node(ref.parent()), 'pos' : v, 'origin' : data.data.origin, 'is_multi' : (data.data.origin && data.data.origin !== ins), 'is_foreign' : (!data.data.origin) }) ); + if(!ok) { + if(ins && ins.last_error) { laster = ins.last_error(); } + break; + } + } + if(v === 'i' && ref.parent().is('.jstree-closed') && ins.settings.dnd.open_timeout) { + opento = setTimeout((function (x, z) { return function () { x.open_node(z); }; }(ins, ref)), ins.settings.dnd.open_timeout); + } + if(ok) { + pn = ins.get_node(p, true); + if (!pn.hasClass('.jstree-dnd-parent')) { + $('.jstree-dnd-parent').removeClass('jstree-dnd-parent'); + pn.addClass('jstree-dnd-parent'); + } + lastmv = { 'ins' : ins, 'par' : p, 'pos' : v === 'i' && ip === 'last' && i === 0 && !ins.is_loaded(tm) ? 'last' : i }; + marker.css({ 'left' : l + 'px', 'top' : t + 'px' }).show(); + data.helper.find('.jstree-icon').first().removeClass('jstree-er').addClass('jstree-ok'); + if (data.event.originalEvent && data.event.originalEvent.dataTransfer) { + data.event.originalEvent.dataTransfer.dropEffect = is_copy ? 'copy' : 'move'; + } + laster = {}; + o = true; + return false; + } + }); + if(o === true) { return; } + } + } + } + $('.jstree-dnd-parent').removeClass('jstree-dnd-parent'); + lastmv = false; + data.helper.find('.jstree-icon').removeClass('jstree-ok').addClass('jstree-er'); + if (data.event.originalEvent && data.event.originalEvent.dataTransfer) { + data.event.originalEvent.dataTransfer.dropEffect = 'none'; + } + marker.hide(); + }) + .on('dnd_scroll.vakata.jstree', function (e, data) { + if(!data || !data.data || !data.data.jstree) { return; } + marker.hide(); + lastmv = false; + lastev = false; + data.helper.find('.jstree-icon').first().removeClass('jstree-ok').addClass('jstree-er'); + }) + .on('dnd_stop.vakata.jstree', function (e, data) { + $('.jstree-dnd-parent').removeClass('jstree-dnd-parent'); + if(opento) { clearTimeout(opento); } + if(!data || !data.data || !data.data.jstree) { return; } + marker.hide().detach(); + var i, j, nodes = []; + if(lastmv) { + for(i = 0, j = data.data.nodes.length; i < j; i++) { + nodes[i] = data.data.origin ? data.data.origin.get_node(data.data.nodes[i]) : data.data.nodes[i]; + } + lastmv.ins[ data.data.origin && (data.data.origin.settings.dnd.always_copy || (data.data.origin.settings.dnd.copy && (data.event.metaKey || data.event.ctrlKey))) ? 'copy_node' : 'move_node' ](nodes, lastmv.par, lastmv.pos, false, false, false, data.data.origin); + } + else { + i = $(data.event.target).closest('.jstree'); + if(i.length && laster && laster.error && laster.error === 'check') { + i = i.jstree(true); + if(i) { + i.settings.core.error.call(this, laster); + } + } + } + lastev = false; + lastmv = false; + }) + .on('keyup.jstree keydown.jstree', function (e, data) { + data = $.vakata.dnd._get(); + if(data && data.data && data.data.jstree) { + if (e.type === "keyup" && e.which === 27) { + if (opento) { clearTimeout(opento); } + lastmv = false; + laster = false; + lastev = false; + opento = false; + marker.hide().detach(); + $.vakata.dnd._clean(); + } else { + data.helper.find('.jstree-copy').first()[ data.data.origin && (data.data.origin.settings.dnd.always_copy || (data.data.origin.settings.dnd.copy && (e.metaKey || e.ctrlKey))) ? 'show' : 'hide' ](); + if(lastev) { + lastev.metaKey = e.metaKey; + lastev.ctrlKey = e.ctrlKey; + $.vakata.dnd._trigger('move', lastev); + } + } + } + }); + }); + + // helpers + (function ($) { + $.vakata.html = { + div : $('
          '), + escape : function (str) { + return $.vakata.html.div.text(str).html(); + }, + strip : function (str) { + return $.vakata.html.div.empty().append($.parseHTML(str)).text(); + } + }; + // private variable + var vakata_dnd = { + element : false, + target : false, + is_down : false, + is_drag : false, + helper : false, + helper_w: 0, + data : false, + init_x : 0, + init_y : 0, + scroll_l: 0, + scroll_t: 0, + scroll_e: false, + scroll_i: false, + is_touch: false + }; + $.vakata.dnd = { + settings : { + scroll_speed : 10, + scroll_proximity : 20, + helper_left : 5, + helper_top : 10, + threshold : 5, + threshold_touch : 50 + }, + _trigger : function (event_name, e, data) { + if (data === undefined) { + data = $.vakata.dnd._get(); + } + data.event = e; + $(document).triggerHandler("dnd_" + event_name + ".vakata", data); + }, + _get : function () { + return { + "data" : vakata_dnd.data, + "element" : vakata_dnd.element, + "helper" : vakata_dnd.helper + }; + }, + _clean : function () { + if(vakata_dnd.helper) { vakata_dnd.helper.remove(); } + if(vakata_dnd.scroll_i) { clearInterval(vakata_dnd.scroll_i); vakata_dnd.scroll_i = false; } + vakata_dnd = { + element : false, + target : false, + is_down : false, + is_drag : false, + helper : false, + helper_w: 0, + data : false, + init_x : 0, + init_y : 0, + scroll_l: 0, + scroll_t: 0, + scroll_e: false, + scroll_i: false, + is_touch: false + }; + $(document).off("mousemove.vakata.jstree touchmove.vakata.jstree", $.vakata.dnd.drag); + $(document).off("mouseup.vakata.jstree touchend.vakata.jstree", $.vakata.dnd.stop); + }, + _scroll : function (init_only) { + if(!vakata_dnd.scroll_e || (!vakata_dnd.scroll_l && !vakata_dnd.scroll_t)) { + if(vakata_dnd.scroll_i) { clearInterval(vakata_dnd.scroll_i); vakata_dnd.scroll_i = false; } + return false; + } + if(!vakata_dnd.scroll_i) { + vakata_dnd.scroll_i = setInterval($.vakata.dnd._scroll, 100); + return false; + } + if(init_only === true) { return false; } + + var i = vakata_dnd.scroll_e.scrollTop(), + j = vakata_dnd.scroll_e.scrollLeft(); + vakata_dnd.scroll_e.scrollTop(i + vakata_dnd.scroll_t * $.vakata.dnd.settings.scroll_speed); + vakata_dnd.scroll_e.scrollLeft(j + vakata_dnd.scroll_l * $.vakata.dnd.settings.scroll_speed); + if(i !== vakata_dnd.scroll_e.scrollTop() || j !== vakata_dnd.scroll_e.scrollLeft()) { + /** + * triggered on the document when a drag causes an element to scroll + * @event + * @plugin dnd + * @name dnd_scroll.vakata + * @param {Mixed} data any data supplied with the call to $.vakata.dnd.start + * @param {DOM} element the DOM element being dragged + * @param {jQuery} helper the helper shown next to the mouse + * @param {jQuery} event the element that is scrolling + */ + $.vakata.dnd._trigger("scroll", vakata_dnd.scroll_e); + } + }, + start : function (e, data, html) { + if(e.type === "touchstart" && e.originalEvent && e.originalEvent.changedTouches && e.originalEvent.changedTouches[0]) { + e.pageX = e.originalEvent.changedTouches[0].pageX; + e.pageY = e.originalEvent.changedTouches[0].pageY; + e.target = document.elementFromPoint(e.originalEvent.changedTouches[0].pageX - window.pageXOffset, e.originalEvent.changedTouches[0].pageY - window.pageYOffset); + } + if(vakata_dnd.is_drag) { $.vakata.dnd.stop({}); } + try { + e.currentTarget.unselectable = "on"; + e.currentTarget.onselectstart = function() { return false; }; + if(e.currentTarget.style) { + e.currentTarget.style.touchAction = "none"; + e.currentTarget.style.msTouchAction = "none"; + e.currentTarget.style.MozUserSelect = "none"; + } + } catch(ignore) { } + vakata_dnd.init_x = e.pageX; + vakata_dnd.init_y = e.pageY; + vakata_dnd.data = data; + vakata_dnd.is_down = true; + vakata_dnd.element = e.currentTarget; + vakata_dnd.target = e.target; + vakata_dnd.is_touch = e.type === "touchstart"; + if(html !== false) { + vakata_dnd.helper = $("
          ").html(html).css({ + "display" : "block", + "margin" : "0", + "padding" : "0", + "position" : "absolute", + "top" : "-2000px", + "lineHeight" : "16px", + "zIndex" : "10000" + }); + } + $(document).on("mousemove.vakata.jstree touchmove.vakata.jstree", $.vakata.dnd.drag); + $(document).on("mouseup.vakata.jstree touchend.vakata.jstree", $.vakata.dnd.stop); + return false; + }, + drag : function (e) { + if(e.type === "touchmove" && e.originalEvent && e.originalEvent.changedTouches && e.originalEvent.changedTouches[0]) { + e.pageX = e.originalEvent.changedTouches[0].pageX; + e.pageY = e.originalEvent.changedTouches[0].pageY; + e.target = document.elementFromPoint(e.originalEvent.changedTouches[0].pageX - window.pageXOffset, e.originalEvent.changedTouches[0].pageY - window.pageYOffset); + } + if(!vakata_dnd.is_down) { return; } + if(!vakata_dnd.is_drag) { + if( + Math.abs(e.pageX - vakata_dnd.init_x) > (vakata_dnd.is_touch ? $.vakata.dnd.settings.threshold_touch : $.vakata.dnd.settings.threshold) || + Math.abs(e.pageY - vakata_dnd.init_y) > (vakata_dnd.is_touch ? $.vakata.dnd.settings.threshold_touch : $.vakata.dnd.settings.threshold) + ) { + if(vakata_dnd.helper) { + vakata_dnd.helper.appendTo("body"); + vakata_dnd.helper_w = vakata_dnd.helper.outerWidth(); + } + vakata_dnd.is_drag = true; + $(vakata_dnd.target).one('click.vakata', false); + /** + * triggered on the document when a drag starts + * @event + * @plugin dnd + * @name dnd_start.vakata + * @param {Mixed} data any data supplied with the call to $.vakata.dnd.start + * @param {DOM} element the DOM element being dragged + * @param {jQuery} helper the helper shown next to the mouse + * @param {Object} event the event that caused the start (probably mousemove) + */ + $.vakata.dnd._trigger("start", e); + } + else { return; } + } + + var d = false, w = false, + dh = false, wh = false, + dw = false, ww = false, + dt = false, dl = false, + ht = false, hl = false; + + vakata_dnd.scroll_t = 0; + vakata_dnd.scroll_l = 0; + vakata_dnd.scroll_e = false; + $($(e.target).parentsUntil("body").addBack().get().reverse()) + .filter(function () { + return (/^auto|scroll$/).test($(this).css("overflow")) && + (this.scrollHeight > this.offsetHeight || this.scrollWidth > this.offsetWidth); + }) + .each(function () { + var t = $(this), o = t.offset(); + if(this.scrollHeight > this.offsetHeight) { + if(o.top + t.height() - e.pageY < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_t = 1; } + if(e.pageY - o.top < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_t = -1; } + } + if(this.scrollWidth > this.offsetWidth) { + if(o.left + t.width() - e.pageX < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_l = 1; } + if(e.pageX - o.left < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_l = -1; } + } + if(vakata_dnd.scroll_t || vakata_dnd.scroll_l) { + vakata_dnd.scroll_e = $(this); + return false; + } + }); + + if(!vakata_dnd.scroll_e) { + d = $(document); w = $(window); + dh = d.height(); wh = w.height(); + dw = d.width(); ww = w.width(); + dt = d.scrollTop(); dl = d.scrollLeft(); + if(dh > wh && e.pageY - dt < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_t = -1; } + if(dh > wh && wh - (e.pageY - dt) < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_t = 1; } + if(dw > ww && e.pageX - dl < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_l = -1; } + if(dw > ww && ww - (e.pageX - dl) < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_l = 1; } + if(vakata_dnd.scroll_t || vakata_dnd.scroll_l) { + vakata_dnd.scroll_e = d; + } + } + if(vakata_dnd.scroll_e) { $.vakata.dnd._scroll(true); } + + if(vakata_dnd.helper) { + ht = parseInt(e.pageY + $.vakata.dnd.settings.helper_top, 10); + hl = parseInt(e.pageX + $.vakata.dnd.settings.helper_left, 10); + if(dh && ht + 25 > dh) { ht = dh - 50; } + if(dw && hl + vakata_dnd.helper_w > dw) { hl = dw - (vakata_dnd.helper_w + 2); } + vakata_dnd.helper.css({ + left : hl + "px", + top : ht + "px" + }); + } + /** + * triggered on the document when a drag is in progress + * @event + * @plugin dnd + * @name dnd_move.vakata + * @param {Mixed} data any data supplied with the call to $.vakata.dnd.start + * @param {DOM} element the DOM element being dragged + * @param {jQuery} helper the helper shown next to the mouse + * @param {Object} event the event that caused this to trigger (most likely mousemove) + */ + $.vakata.dnd._trigger("move", e); + return false; + }, + stop : function (e) { + if(e.type === "touchend" && e.originalEvent && e.originalEvent.changedTouches && e.originalEvent.changedTouches[0]) { + e.pageX = e.originalEvent.changedTouches[0].pageX; + e.pageY = e.originalEvent.changedTouches[0].pageY; + e.target = document.elementFromPoint(e.originalEvent.changedTouches[0].pageX - window.pageXOffset, e.originalEvent.changedTouches[0].pageY - window.pageYOffset); + } + if(vakata_dnd.is_drag) { + /** + * triggered on the document when a drag stops (the dragged element is dropped) + * @event + * @plugin dnd + * @name dnd_stop.vakata + * @param {Mixed} data any data supplied with the call to $.vakata.dnd.start + * @param {DOM} element the DOM element being dragged + * @param {jQuery} helper the helper shown next to the mouse + * @param {Object} event the event that caused the stop + */ + if (e.target !== vakata_dnd.target) { + $(vakata_dnd.target).off('click.vakata'); + } + $.vakata.dnd._trigger("stop", e); + } + else { + if(e.type === "touchend" && e.target === vakata_dnd.target) { + var to = setTimeout(function () { $(e.target).click(); }, 100); + $(e.target).one('click', function() { if(to) { clearTimeout(to); } }); + } + } + $.vakata.dnd._clean(); + return false; + } + }; + }($)); + + // include the dnd plugin by default + // $.jstree.defaults.plugins.push("dnd"); +})); diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.js new file mode 100644 index 0000000000..a867704590 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.js @@ -0,0 +1,4810 @@ +/*! + * jsTree {{VERSION}} + * http://jstree.com/ + * + * Copyright (c) 2014 Ivan Bozhanov (http://vakata.com) + * + * Licensed same as jquery - under the terms of the MIT License + * http://www.opensource.org/licenses/mit-license.php + */ +/*! + * if using jslint please allow for the jQuery global and use following options: + * jslint: loopfunc: true, browser: true, ass: true, bitwise: true, continue: true, nomen: true, plusplus: true, regexp: true, unparam: true, todo: true, white: true + */ +/*jshint -W083 */ +/*globals jQuery, define, module, exports, require, window, document, postMessage */ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define(['jquery'], factory); + } + else if(typeof module !== 'undefined' && module.exports) { + module.exports = factory(require('jquery')); + } + else { + factory(jQuery); + } +}(function ($, undefined) { + "use strict"; + + // prevent another load? maybe there is a better way? + if($.jstree) { + return; + } + + /** + * ### jsTree core functionality + */ + + // internal variables + var instance_counter = 0, + ccp_node = false, + ccp_mode = false, + ccp_inst = false, + themes_loaded = [], + src = $('script:last').attr('src'), + document = window.document; // local variable is always faster to access then a global + + /** + * holds all jstree related functions and variables, including the actual class and methods to create, access and manipulate instances. + * @name $.jstree + */ + $.jstree = { + /** + * specifies the jstree version in use + * @name $.jstree.version + */ + version : '{{VERSION}}', + /** + * holds all the default options used when creating new instances + * @name $.jstree.defaults + */ + defaults : { + /** + * configure which plugins will be active on an instance. Should be an array of strings, where each element is a plugin name. The default is `[]` + * @name $.jstree.defaults.plugins + */ + plugins : [] + }, + /** + * stores all loaded jstree plugins (used internally) + * @name $.jstree.plugins + */ + plugins : {}, + path : src && src.indexOf('/') !== -1 ? src.replace(/\/[^\/]+$/,'') : '', + idregex : /[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%?`]/g, + root : '#' + }; + + /** + * creates a jstree instance + * @name $.jstree.create(el [, options]) + * @param {DOMElement|jQuery|String} el the element to create the instance on, can be jQuery extended or a selector + * @param {Object} options options for this instance (extends `$.jstree.defaults`) + * @return {jsTree} the new instance + */ + $.jstree.create = function (el, options) { + var tmp = new $.jstree.core(++instance_counter), + opt = options; + options = $.extend(true, {}, $.jstree.defaults, options); + if(opt && opt.plugins) { + options.plugins = opt.plugins; + } + $.each(options.plugins, function (i, k) { + if(i !== 'core') { + tmp = tmp.plugin(k, options[k]); + } + }); + $(el).data('jstree', tmp); + tmp.init(el, options); + return tmp; + }; + /** + * remove all traces of jstree from the DOM and destroy all instances + * @name $.jstree.destroy() + */ + $.jstree.destroy = function () { + $('.jstree:jstree').jstree('destroy'); + $(document).off('.jstree'); + }; + /** + * the jstree class constructor, used only internally + * @private + * @name $.jstree.core(id) + * @param {Number} id this instance's index + */ + $.jstree.core = function (id) { + this._id = id; + this._cnt = 0; + this._wrk = null; + this._data = { + core : { + themes : { + name : false, + dots : false, + icons : false, + ellipsis : false + }, + selected : [], + last_error : {}, + working : false, + worker_queue : [], + focused : null + } + }; + }; + /** + * get a reference to an existing instance + * + * __Examples__ + * + * // provided a container with an ID of "tree", and a nested node with an ID of "branch" + * // all of there will return the same instance + * $.jstree.reference('tree'); + * $.jstree.reference('#tree'); + * $.jstree.reference($('#tree')); + * $.jstree.reference(document.getElementByID('tree')); + * $.jstree.reference('branch'); + * $.jstree.reference('#branch'); + * $.jstree.reference($('#branch')); + * $.jstree.reference(document.getElementByID('branch')); + * + * @name $.jstree.reference(needle) + * @param {DOMElement|jQuery|String} needle + * @return {jsTree|null} the instance or `null` if not found + */ + $.jstree.reference = function (needle) { + var tmp = null, + obj = null; + if(needle && needle.id && (!needle.tagName || !needle.nodeType)) { needle = needle.id; } + + if(!obj || !obj.length) { + try { obj = $(needle); } catch (ignore) { } + } + if(!obj || !obj.length) { + try { obj = $('#' + needle.replace($.jstree.idregex,'\\$&')); } catch (ignore) { } + } + if(obj && obj.length && (obj = obj.closest('.jstree')).length && (obj = obj.data('jstree'))) { + tmp = obj; + } + else { + $('.jstree').each(function () { + var inst = $(this).data('jstree'); + if(inst && inst._model.data[needle]) { + tmp = inst; + return false; + } + }); + } + return tmp; + }; + /** + * Create an instance, get an instance or invoke a command on a instance. + * + * If there is no instance associated with the current node a new one is created and `arg` is used to extend `$.jstree.defaults` for this new instance. There would be no return value (chaining is not broken). + * + * If there is an existing instance and `arg` is a string the command specified by `arg` is executed on the instance, with any additional arguments passed to the function. If the function returns a value it will be returned (chaining could break depending on function). + * + * If there is an existing instance and `arg` is not a string the instance itself is returned (similar to `$.jstree.reference`). + * + * In any other case - nothing is returned and chaining is not broken. + * + * __Examples__ + * + * $('#tree1').jstree(); // creates an instance + * $('#tree2').jstree({ plugins : [] }); // create an instance with some options + * $('#tree1').jstree('open_node', '#branch_1'); // call a method on an existing instance, passing additional arguments + * $('#tree2').jstree(); // get an existing instance (or create an instance) + * $('#tree2').jstree(true); // get an existing instance (will not create new instance) + * $('#branch_1').jstree().select_node('#branch_1'); // get an instance (using a nested element and call a method) + * + * @name $().jstree([arg]) + * @param {String|Object} arg + * @return {Mixed} + */ + $.fn.jstree = function (arg) { + // check for string argument + var is_method = (typeof arg === 'string'), + args = Array.prototype.slice.call(arguments, 1), + result = null; + if(arg === true && !this.length) { return false; } + this.each(function () { + // get the instance (if there is one) and method (if it exists) + var instance = $.jstree.reference(this), + method = is_method && instance ? instance[arg] : null; + // if calling a method, and method is available - execute on the instance + result = is_method && method ? + method.apply(instance, args) : + null; + // if there is no instance and no method is being called - create one + if(!instance && !is_method && (arg === undefined || $.isPlainObject(arg))) { + $.jstree.create(this, arg); + } + // if there is an instance and no method is called - return the instance + if( (instance && !is_method) || arg === true ) { + result = instance || false; + } + // if there was a method call which returned a result - break and return the value + if(result !== null && result !== undefined) { + return false; + } + }); + // if there was a method call with a valid return value - return that, otherwise continue the chain + return result !== null && result !== undefined ? + result : this; + }; + /** + * used to find elements containing an instance + * + * __Examples__ + * + * $('div:jstree').each(function () { + * $(this).jstree('destroy'); + * }); + * + * @name $(':jstree') + * @return {jQuery} + */ + $.expr.pseudos.jstree = $.expr.createPseudo(function(search) { + return function(a) { + return $(a).hasClass('jstree') && + $(a).data('jstree') !== undefined; + }; + }); + + /** + * stores all defaults for the core + * @name $.jstree.defaults.core + */ + $.jstree.defaults.core = { + /** + * data configuration + * + * If left as `false` the HTML inside the jstree container element is used to populate the tree (that should be an unordered list with list items). + * + * You can also pass in a HTML string or a JSON array here. + * + * It is possible to pass in a standard jQuery-like AJAX config and jstree will automatically determine if the response is JSON or HTML and use that to populate the tree. + * In addition to the standard jQuery ajax options here you can suppy functions for `data` and `url`, the functions will be run in the current instance's scope and a param will be passed indicating which node is being loaded, the return value of those functions will be used. + * + * The last option is to specify a function, that function will receive the node being loaded as argument and a second param which is a function which should be called with the result. + * + * __Examples__ + * + * // AJAX + * $('#tree').jstree({ + * 'core' : { + * 'data' : { + * 'url' : '/get/children/', + * 'data' : function (node) { + * return { 'id' : node.id }; + * } + * } + * }); + * + * // direct data + * $('#tree').jstree({ + * 'core' : { + * 'data' : [ + * 'Simple root node', + * { + * 'id' : 'node_2', + * 'text' : 'Root node with options', + * 'state' : { 'opened' : true, 'selected' : true }, + * 'children' : [ { 'text' : 'Child 1' }, 'Child 2'] + * } + * ] + * } + * }); + * + * // function + * $('#tree').jstree({ + * 'core' : { + * 'data' : function (obj, callback) { + * callback.call(this, ['Root 1', 'Root 2']); + * } + * }); + * + * @name $.jstree.defaults.core.data + */ + data : false, + /** + * configure the various strings used throughout the tree + * + * You can use an object where the key is the string you need to replace and the value is your replacement. + * Another option is to specify a function which will be called with an argument of the needed string and should return the replacement. + * If left as `false` no replacement is made. + * + * __Examples__ + * + * $('#tree').jstree({ + * 'core' : { + * 'strings' : { + * 'Loading ...' : 'Please wait ...' + * } + * } + * }); + * + * @name $.jstree.defaults.core.strings + */ + strings : false, + /** + * determines what happens when a user tries to modify the structure of the tree + * If left as `false` all operations like create, rename, delete, move or copy are prevented. + * You can set this to `true` to allow all interactions or use a function to have better control. + * + * __Examples__ + * + * $('#tree').jstree({ + * 'core' : { + * 'check_callback' : function (operation, node, node_parent, node_position, more) { + * // operation can be 'create_node', 'rename_node', 'delete_node', 'move_node' or 'copy_node' + * // in case of 'rename_node' node_position is filled with the new node name + * return operation === 'rename_node' ? true : false; + * } + * } + * }); + * + * @name $.jstree.defaults.core.check_callback + */ + check_callback : false, + /** + * a callback called with a single object parameter in the instance's scope when something goes wrong (operation prevented, ajax failed, etc) + * @name $.jstree.defaults.core.error + */ + error : $.noop, + /** + * the open / close animation duration in milliseconds - set this to `false` to disable the animation (default is `200`) + * @name $.jstree.defaults.core.animation + */ + animation : 200, + /** + * a boolean indicating if multiple nodes can be selected + * @name $.jstree.defaults.core.multiple + */ + multiple : true, + /** + * theme configuration object + * @name $.jstree.defaults.core.themes + */ + themes : { + /** + * the name of the theme to use (if left as `false` the default theme is used) + * @name $.jstree.defaults.core.themes.name + */ + name : false, + /** + * the URL of the theme's CSS file, leave this as `false` if you have manually included the theme CSS (recommended). You can set this to `true` too which will try to autoload the theme. + * @name $.jstree.defaults.core.themes.url + */ + url : false, + /** + * the location of all jstree themes - only used if `url` is set to `true` + * @name $.jstree.defaults.core.themes.dir + */ + dir : false, + /** + * a boolean indicating if connecting dots are shown + * @name $.jstree.defaults.core.themes.dots + */ + dots : true, + /** + * a boolean indicating if node icons are shown + * @name $.jstree.defaults.core.themes.icons + */ + icons : true, + /** + * a boolean indicating if node ellipsis should be shown - this only works with a fixed with on the container + * @name $.jstree.defaults.core.themes.ellipsis + */ + ellipsis : false, + /** + * a boolean indicating if the tree background is striped + * @name $.jstree.defaults.core.themes.stripes + */ + stripes : false, + /** + * a string (or boolean `false`) specifying the theme variant to use (if the theme supports variants) + * @name $.jstree.defaults.core.themes.variant + */ + variant : false, + /** + * a boolean specifying if a reponsive version of the theme should kick in on smaller screens (if the theme supports it). Defaults to `false`. + * @name $.jstree.defaults.core.themes.responsive + */ + responsive : false + }, + /** + * if left as `true` all parents of all selected nodes will be opened once the tree loads (so that all selected nodes are visible to the user) + * @name $.jstree.defaults.core.expand_selected_onload + */ + expand_selected_onload : true, + /** + * if left as `true` web workers will be used to parse incoming JSON data where possible, so that the UI will not be blocked by large requests. Workers are however about 30% slower. Defaults to `true` + * @name $.jstree.defaults.core.worker + */ + worker : true, + /** + * Force node text to plain text (and escape HTML). Defaults to `false` + * @name $.jstree.defaults.core.force_text + */ + force_text : false, + /** + * Should the node should be toggled if the text is double clicked . Defaults to `true` + * @name $.jstree.defaults.core.dblclick_toggle + */ + dblclick_toggle : true + }; + $.jstree.core.prototype = { + /** + * used to decorate an instance with a plugin. Used internally. + * @private + * @name plugin(deco [, opts]) + * @param {String} deco the plugin to decorate with + * @param {Object} opts options for the plugin + * @return {jsTree} + */ + plugin : function (deco, opts) { + var Child = $.jstree.plugins[deco]; + if(Child) { + this._data[deco] = {}; + Child.prototype = this; + return new Child(opts, this); + } + return this; + }, + /** + * initialize the instance. Used internally. + * @private + * @name init(el, optons) + * @param {DOMElement|jQuery|String} el the element we are transforming + * @param {Object} options options for this instance + * @trigger init.jstree, loading.jstree, loaded.jstree, ready.jstree, changed.jstree + */ + init : function (el, options) { + this._model = { + data : {}, + changed : [], + force_full_redraw : false, + redraw_timeout : false, + default_state : { + loaded : true, + opened : false, + selected : false, + disabled : false + } + }; + this._model.data[$.jstree.root] = { + id : $.jstree.root, + parent : null, + parents : [], + children : [], + children_d : [], + state : { loaded : false } + }; + + this.element = $(el).addClass('jstree jstree-' + this._id); + this.settings = options; + + this._data.core.ready = false; + this._data.core.loaded = false; + this._data.core.rtl = (this.element.css("direction") === "rtl"); + this.element[this._data.core.rtl ? 'addClass' : 'removeClass']("jstree-rtl"); + this.element.attr('role','tree'); + if(this.settings.core.multiple) { + this.element.attr('aria-multiselectable', true); + } + if(!this.element.attr('tabindex')) { + this.element.attr('tabindex','0'); + } + + this.bind(); + /** + * triggered after all events are bound + * @event + * @name init.jstree + */ + this.trigger("init"); + + this._data.core.original_container_html = this.element.find(" > ul > li").clone(true); + this._data.core.original_container_html + .find("li").addBack() + .contents().filter(function() { + return this.nodeType === 3 && (!this.nodeValue || /^\s+$/.test(this.nodeValue)); + }) + .remove(); + this.element.html("<"+"ul class='jstree-container-ul jstree-children' role='group'><"+"li id='j"+this._id+"_loading' class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='tree-item'><"+"a class='jstree-anchor' href='#'>" + this.get_string("Loading ...") + "
        • "); + this.element.attr('aria-activedescendant','j' + this._id + '_loading'); + this._data.core.li_height = this.get_container_ul().children("li").first().height() || 24; + this._data.core.node = this._create_prototype_node(); + /** + * triggered after the loading text is shown and before loading starts + * @event + * @name loading.jstree + */ + this.trigger("loading"); + this.load_node($.jstree.root); + }, + /** + * destroy an instance + * @name destroy() + * @param {Boolean} keep_html if not set to `true` the container will be emptied, otherwise the current DOM elements will be kept intact + */ + destroy : function (keep_html) { + if(this._wrk) { + try { + window.URL.revokeObjectURL(this._wrk); + this._wrk = null; + } + catch (ignore) { } + } + if(!keep_html) { this.element.empty(); } + this.teardown(); + }, + /** + * Create prototype node + */ + _create_prototype_node : function () { + var _node = document.createElement('LI'), _temp1, _temp2; + _node.setAttribute('role', 'treeitem'); + _temp1 = document.createElement('I'); + _temp1.className = 'jstree-icon jstree-ocl'; + _temp1.setAttribute('role', 'presentation'); + _node.appendChild(_temp1); + _temp1 = document.createElement('A'); + _temp1.className = 'jstree-anchor'; + _temp1.setAttribute('href','#'); + _temp1.setAttribute('tabindex','-1'); + _temp2 = document.createElement('I'); + _temp2.className = 'jstree-icon jstree-themeicon'; + _temp2.setAttribute('role', 'presentation'); + _temp1.appendChild(_temp2); + _node.appendChild(_temp1); + _temp1 = _temp2 = null; + + return _node; + }, + /** + * part of the destroying of an instance. Used internally. + * @private + * @name teardown() + */ + teardown : function () { + this.unbind(); + this.element + .removeClass('jstree') + .removeData('jstree') + .find("[class^='jstree']") + .addBack() + .attr("class", function () { return this.className.replace(/jstree[^ ]*|$/ig,''); }); + this.element = null; + }, + /** + * bind all events. Used internally. + * @private + * @name bind() + */ + bind : function () { + var word = '', + tout = null, + was_click = 0; + this.element + .on("dblclick.jstree", function (e) { + if(e.target.tagName && e.target.tagName.toLowerCase() === "input") { return true; } + if(document.selection && document.selection.empty) { + document.selection.empty(); + } + else { + if(window.getSelection) { + var sel = window.getSelection(); + try { + sel.removeAllRanges(); + sel.collapse(); + } catch (ignore) { } + } + } + }) + .on("mousedown.jstree", $.proxy(function (e) { + if(e.target === this.element[0]) { + e.preventDefault(); // prevent losing focus when clicking scroll arrows (FF, Chrome) + was_click = +(new Date()); // ie does not allow to prevent losing focus + } + }, this)) + .on("mousedown.jstree", ".jstree-ocl", function (e) { + e.preventDefault(); // prevent any node inside from losing focus when clicking the open/close icon + }) + .on("click.jstree", ".jstree-ocl", $.proxy(function (e) { + this.toggle_node(e.target); + }, this)) + .on("dblclick.jstree", ".jstree-anchor", $.proxy(function (e) { + if(e.target.tagName && e.target.tagName.toLowerCase() === "input") { return true; } + if(this.settings.core.dblclick_toggle) { + this.toggle_node(e.target); + } + }, this)) + .on("click.jstree", ".jstree-anchor", $.proxy(function (e) { + e.preventDefault(); + if(e.currentTarget !== document.activeElement) { $(e.currentTarget).focus(); } + this.activate_node(e.currentTarget, e); + }, this)) + .on('keydown.jstree', '.jstree-anchor', $.proxy(function (e) { + if(e.target.tagName && e.target.tagName.toLowerCase() === "input") { return true; } + if(e.which !== 32 && e.which !== 13 && (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey)) { return true; } + var o = null; + if(this._data.core.rtl) { + if(e.which === 37) { e.which = 39; } + else if(e.which === 39) { e.which = 37; } + } + switch(e.which) { + case 32: // aria defines space only with Ctrl + if(e.ctrlKey) { + e.type = "click"; + $(e.currentTarget).trigger(e); + } + break; + case 13: // enter + e.type = "click"; + $(e.currentTarget).trigger(e); + break; + case 37: // left + e.preventDefault(); + if(this.is_open(e.currentTarget)) { + this.close_node(e.currentTarget); + } + else { + o = this.get_parent(e.currentTarget); + if(o && o.id !== $.jstree.root) { this.get_node(o, true).children('.jstree-anchor').focus(); } + } + break; + case 38: // up + e.preventDefault(); + o = this.get_prev_dom(e.currentTarget); + if(o && o.length) { o.children('.jstree-anchor').focus(); } + break; + case 39: // right + e.preventDefault(); + if(this.is_closed(e.currentTarget)) { + this.open_node(e.currentTarget, function (o) { this.get_node(o, true).children('.jstree-anchor').focus(); }); + } + else if (this.is_open(e.currentTarget)) { + o = this.get_node(e.currentTarget, true).children('.jstree-children')[0]; + if(o) { $(this._firstChild(o)).children('.jstree-anchor').focus(); } + } + break; + case 40: // down + e.preventDefault(); + o = this.get_next_dom(e.currentTarget); + if(o && o.length) { o.children('.jstree-anchor').focus(); } + break; + case 106: // aria defines * on numpad as open_all - not very common + this.open_all(); + break; + case 36: // home + e.preventDefault(); + o = this._firstChild(this.get_container_ul()[0]); + if(o) { $(o).children('.jstree-anchor').filter(':visible').focus(); } + break; + case 35: // end + e.preventDefault(); + this.element.find('.jstree-anchor').filter(':visible').last().focus(); + break; + case 113: // f2 - safe to include - if check_callback is false it will fail + e.preventDefault(); + this.edit(e.currentTarget); + break; + default: + break; + /*! + // delete + case 46: + e.preventDefault(); + o = this.get_node(e.currentTarget); + if(o && o.id && o.id !== $.jstree.root) { + o = this.is_selected(o) ? this.get_selected() : o; + this.delete_node(o); + } + break; + + */ + } + }, this)) + .on("load_node.jstree", $.proxy(function (e, data) { + if(data.status) { + if(data.node.id === $.jstree.root && !this._data.core.loaded) { + this._data.core.loaded = true; + if(this._firstChild(this.get_container_ul()[0])) { + this.element.attr('aria-activedescendant',this._firstChild(this.get_container_ul()[0]).id); + } + /** + * triggered after the root node is loaded for the first time + * @event + * @name loaded.jstree + */ + this.trigger("loaded"); + } + if(!this._data.core.ready) { + setTimeout($.proxy(function() { + if(this.element && !this.get_container_ul().find('.jstree-loading').length) { + this._data.core.ready = true; + if(this._data.core.selected.length) { + if(this.settings.core.expand_selected_onload) { + var tmp = [], i, j; + for(i = 0, j = this._data.core.selected.length; i < j; i++) { + tmp = tmp.concat(this._model.data[this._data.core.selected[i]].parents); + } + tmp = $.vakata.array_unique(tmp); + for(i = 0, j = tmp.length; i < j; i++) { + this.open_node(tmp[i], false, 0); + } + } + this.trigger('changed', { 'action' : 'ready', 'selected' : this._data.core.selected }); + } + /** + * triggered after all nodes are finished loading + * @event + * @name ready.jstree + */ + this.trigger("ready"); + } + }, this), 0); + } + } + }, this)) + // quick searching when the tree is focused + .on('keypress.jstree', $.proxy(function (e) { + if(e.target.tagName && e.target.tagName.toLowerCase() === "input") { return true; } + if(tout) { clearTimeout(tout); } + tout = setTimeout(function () { + word = ''; + }, 500); + + var chr = String.fromCharCode(e.which).toLowerCase(), + col = this.element.find('.jstree-anchor').filter(':visible'), + ind = col.index(document.activeElement) || 0, + end = false; + word += chr; + + // match for whole word from current node down (including the current node) + if(word.length > 1) { + col.slice(ind).each($.proxy(function (i, v) { + if($(v).text().toLowerCase().indexOf(word) === 0) { + $(v).focus(); + end = true; + return false; + } + }, this)); + if(end) { return; } + + // match for whole word from the beginning of the tree + col.slice(0, ind).each($.proxy(function (i, v) { + if($(v).text().toLowerCase().indexOf(word) === 0) { + $(v).focus(); + end = true; + return false; + } + }, this)); + if(end) { return; } + } + // list nodes that start with that letter (only if word consists of a single char) + if(new RegExp('^' + chr.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&') + '+$').test(word)) { + // search for the next node starting with that letter + col.slice(ind + 1).each($.proxy(function (i, v) { + if($(v).text().toLowerCase().charAt(0) === chr) { + $(v).focus(); + end = true; + return false; + } + }, this)); + if(end) { return; } + + // search from the beginning + col.slice(0, ind + 1).each($.proxy(function (i, v) { + if($(v).text().toLowerCase().charAt(0) === chr) { + $(v).focus(); + end = true; + return false; + } + }, this)); + if(end) { return; } + } + }, this)) + // THEME RELATED + .on("init.jstree", $.proxy(function () { + var s = this.settings.core.themes; + this._data.core.themes.dots = s.dots; + this._data.core.themes.stripes = s.stripes; + this._data.core.themes.icons = s.icons; + this._data.core.themes.ellipsis = s.ellipsis; + this.set_theme(s.name || "default", s.url); + this.set_theme_variant(s.variant); + }, this)) + .on("loading.jstree", $.proxy(function () { + this[ this._data.core.themes.dots ? "show_dots" : "hide_dots" ](); + this[ this._data.core.themes.icons ? "show_icons" : "hide_icons" ](); + this[ this._data.core.themes.stripes ? "show_stripes" : "hide_stripes" ](); + this[ this._data.core.themes.ellipsis ? "show_ellipsis" : "hide_ellipsis" ](); + }, this)) + .on('blur.jstree', '.jstree-anchor', $.proxy(function (e) { + this._data.core.focused = null; + $(e.currentTarget).filter('.jstree-hovered').mouseleave(); + this.element.attr('tabindex', '0'); + }, this)) + .on('focus.jstree', '.jstree-anchor', $.proxy(function (e) { + var tmp = this.get_node(e.currentTarget); + if(tmp && tmp.id) { + this._data.core.focused = tmp.id; + } + this.element.find('.jstree-hovered').not(e.currentTarget).mouseleave(); + $(e.currentTarget).mouseenter(); + this.element.attr('tabindex', '-1'); + }, this)) + .on('focus.jstree', $.proxy(function () { + if(+(new Date()) - was_click > 500 && !this._data.core.focused) { + was_click = 0; + var act = this.get_node(this.element.attr('aria-activedescendant'), true); + if(act) { + act.find('> .jstree-anchor').focus(); + } + } + }, this)) + .on('mouseenter.jstree', '.jstree-anchor', $.proxy(function (e) { + this.hover_node(e.currentTarget); + }, this)) + .on('mouseleave.jstree', '.jstree-anchor', $.proxy(function (e) { + this.dehover_node(e.currentTarget); + }, this)); + }, + /** + * part of the destroying of an instance. Used internally. + * @private + * @name unbind() + */ + unbind : function () { + this.element.off('.jstree'); + $(document).off('.jstree-' + this._id); + }, + /** + * trigger an event. Used internally. + * @private + * @name trigger(ev [, data]) + * @param {String} ev the name of the event to trigger + * @param {Object} data additional data to pass with the event + */ + trigger : function (ev, data) { + if(!data) { + data = {}; + } + data.instance = this; + this.element.triggerHandler(ev.replace('.jstree','') + '.jstree', data); + }, + /** + * returns the jQuery extended instance container + * @name get_container() + * @return {jQuery} + */ + get_container : function () { + return this.element; + }, + /** + * returns the jQuery extended main UL node inside the instance container. Used internally. + * @private + * @name get_container_ul() + * @return {jQuery} + */ + get_container_ul : function () { + return this.element.children(".jstree-children").first(); + }, + /** + * gets string replacements (localization). Used internally. + * @private + * @name get_string(key) + * @param {String} key + * @return {String} + */ + get_string : function (key) { + var a = this.settings.core.strings; + if($.isFunction(a)) { return a.call(this, key); } + if(a && a[key]) { return a[key]; } + return key; + }, + /** + * gets the first child of a DOM node. Used internally. + * @private + * @name _firstChild(dom) + * @param {DOMElement} dom + * @return {DOMElement} + */ + _firstChild : function (dom) { + dom = dom ? dom.firstChild : null; + while(dom !== null && dom.nodeType !== 1) { + dom = dom.nextSibling; + } + return dom; + }, + /** + * gets the next sibling of a DOM node. Used internally. + * @private + * @name _nextSibling(dom) + * @param {DOMElement} dom + * @return {DOMElement} + */ + _nextSibling : function (dom) { + dom = dom ? dom.nextSibling : null; + while(dom !== null && dom.nodeType !== 1) { + dom = dom.nextSibling; + } + return dom; + }, + /** + * gets the previous sibling of a DOM node. Used internally. + * @private + * @name _previousSibling(dom) + * @param {DOMElement} dom + * @return {DOMElement} + */ + _previousSibling : function (dom) { + dom = dom ? dom.previousSibling : null; + while(dom !== null && dom.nodeType !== 1) { + dom = dom.previousSibling; + } + return dom; + }, + /** + * get the JSON representation of a node (or the actual jQuery extended DOM node) by using any input (child DOM element, ID string, selector, etc) + * @name get_node(obj [, as_dom]) + * @param {mixed} obj + * @param {Boolean} as_dom + * @return {Object|jQuery} + */ + get_node : function (obj, as_dom) { + if(obj && obj.id) { + obj = obj.id; + } + var dom; + try { + if(this._model.data[obj]) { + obj = this._model.data[obj]; + } + else if(typeof obj === "string" && this._model.data[obj.replace(/^#/, '')]) { + obj = this._model.data[obj.replace(/^#/, '')]; + } + else if(typeof obj === "string" && (dom = $('#' + obj.replace($.jstree.idregex,'\\$&'), this.element)).length && this._model.data[dom.closest('.jstree-node').attr('id')]) { + obj = this._model.data[dom.closest('.jstree-node').attr('id')]; + } + else if((dom = $(obj, this.element)).length && this._model.data[dom.closest('.jstree-node').attr('id')]) { + obj = this._model.data[dom.closest('.jstree-node').attr('id')]; + } + else if((dom = $(obj, this.element)).length && dom.hasClass('jstree')) { + obj = this._model.data[$.jstree.root]; + } + else { + return false; + } + + if(as_dom) { + obj = obj.id === $.jstree.root ? this.element : $('#' + obj.id.replace($.jstree.idregex,'\\$&'), this.element); + } + return obj; + } catch (ex) { return false; } + }, + /** + * get the path to a node, either consisting of node texts, or of node IDs, optionally glued together (otherwise an array) + * @name get_path(obj [, glue, ids]) + * @param {mixed} obj the node + * @param {String} glue if you want the path as a string - pass the glue here (for example '/'), if a falsy value is supplied here, an array is returned + * @param {Boolean} ids if set to true build the path using ID, otherwise node text is used + * @return {mixed} + */ + get_path : function (obj, glue, ids) { + obj = obj.parents ? obj : this.get_node(obj); + if(!obj || obj.id === $.jstree.root || !obj.parents) { + return false; + } + var i, j, p = []; + p.push(ids ? obj.id : obj.text); + for(i = 0, j = obj.parents.length; i < j; i++) { + p.push(ids ? obj.parents[i] : this.get_text(obj.parents[i])); + } + p = p.reverse().slice(1); + return glue ? p.join(glue) : p; + }, + /** + * get the next visible node that is below the `obj` node. If `strict` is set to `true` only sibling nodes are returned. + * @name get_next_dom(obj [, strict]) + * @param {mixed} obj + * @param {Boolean} strict + * @return {jQuery} + */ + get_next_dom : function (obj, strict) { + var tmp; + obj = this.get_node(obj, true); + if(obj[0] === this.element[0]) { + tmp = this._firstChild(this.get_container_ul()[0]); + while (tmp && tmp.offsetHeight === 0) { + tmp = this._nextSibling(tmp); + } + return tmp ? $(tmp) : false; + } + if(!obj || !obj.length) { + return false; + } + if(strict) { + tmp = obj[0]; + do { + tmp = this._nextSibling(tmp); + } while (tmp && tmp.offsetHeight === 0); + return tmp ? $(tmp) : false; + } + if(obj.hasClass("jstree-open")) { + tmp = this._firstChild(obj.children('.jstree-children')[0]); + while (tmp && tmp.offsetHeight === 0) { + tmp = this._nextSibling(tmp); + } + if(tmp !== null) { + return $(tmp); + } + } + tmp = obj[0]; + do { + tmp = this._nextSibling(tmp); + } while (tmp && tmp.offsetHeight === 0); + if(tmp !== null) { + return $(tmp); + } + return obj.parentsUntil(".jstree",".jstree-node").nextAll(".jstree-node:visible").first(); + }, + /** + * get the previous visible node that is above the `obj` node. If `strict` is set to `true` only sibling nodes are returned. + * @name get_prev_dom(obj [, strict]) + * @param {mixed} obj + * @param {Boolean} strict + * @return {jQuery} + */ + get_prev_dom : function (obj, strict) { + var tmp; + obj = this.get_node(obj, true); + if(obj[0] === this.element[0]) { + tmp = this.get_container_ul()[0].lastChild; + while (tmp && tmp.offsetHeight === 0) { + tmp = this._previousSibling(tmp); + } + return tmp ? $(tmp) : false; + } + if(!obj || !obj.length) { + return false; + } + if(strict) { + tmp = obj[0]; + do { + tmp = this._previousSibling(tmp); + } while (tmp && tmp.offsetHeight === 0); + return tmp ? $(tmp) : false; + } + tmp = obj[0]; + do { + tmp = this._previousSibling(tmp); + } while (tmp && tmp.offsetHeight === 0); + if(tmp !== null) { + obj = $(tmp); + while(obj.hasClass("jstree-open")) { + obj = obj.children(".jstree-children").first().children(".jstree-node:visible:last"); + } + return obj; + } + tmp = obj[0].parentNode.parentNode; + return tmp && tmp.className && tmp.className.indexOf('jstree-node') !== -1 ? $(tmp) : false; + }, + /** + * get the parent ID of a node + * @name get_parent(obj) + * @param {mixed} obj + * @return {String} + */ + get_parent : function (obj) { + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + return obj.parent; + }, + /** + * get a jQuery collection of all the children of a node (node must be rendered) + * @name get_children_dom(obj) + * @param {mixed} obj + * @return {jQuery} + */ + get_children_dom : function (obj) { + obj = this.get_node(obj, true); + if(obj[0] === this.element[0]) { + return this.get_container_ul().children(".jstree-node"); + } + if(!obj || !obj.length) { + return false; + } + return obj.children(".jstree-children").children(".jstree-node"); + }, + /** + * checks if a node has children + * @name is_parent(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_parent : function (obj) { + obj = this.get_node(obj); + return obj && (obj.state.loaded === false || obj.children.length > 0); + }, + /** + * checks if a node is loaded (its children are available) + * @name is_loaded(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_loaded : function (obj) { + obj = this.get_node(obj); + return obj && obj.state.loaded; + }, + /** + * check if a node is currently loading (fetching children) + * @name is_loading(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_loading : function (obj) { + obj = this.get_node(obj); + return obj && obj.state && obj.state.loading; + }, + /** + * check if a node is opened + * @name is_open(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_open : function (obj) { + obj = this.get_node(obj); + return obj && obj.state.opened; + }, + /** + * check if a node is in a closed state + * @name is_closed(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_closed : function (obj) { + obj = this.get_node(obj); + return obj && this.is_parent(obj) && !obj.state.opened; + }, + /** + * check if a node has no children + * @name is_leaf(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_leaf : function (obj) { + return !this.is_parent(obj); + }, + /** + * loads a node (fetches its children using the `core.data` setting). Multiple nodes can be passed to by using an array. + * @name load_node(obj [, callback]) + * @param {mixed} obj + * @param {function} callback a function to be executed once loading is complete, the function is executed in the instance's scope and receives two arguments - the node and a boolean status + * @return {Boolean} + * @trigger load_node.jstree + */ + load_node : function (obj, callback) { + var k, l, i, j, c; + if($.isArray(obj)) { + this._load_nodes(obj.slice(), callback); + return true; + } + obj = this.get_node(obj); + if(!obj) { + if(callback) { callback.call(this, obj, false); } + return false; + } + // if(obj.state.loading) { } // the node is already loading - just wait for it to load and invoke callback? but if called implicitly it should be loaded again? + if(obj.state.loaded) { + obj.state.loaded = false; + for(i = 0, j = obj.parents.length; i < j; i++) { + this._model.data[obj.parents[i]].children_d = $.vakata.array_filter(this._model.data[obj.parents[i]].children_d, function (v) { + return $.inArray(v, obj.children_d) === -1; + }); + } + for(k = 0, l = obj.children_d.length; k < l; k++) { + if(this._model.data[obj.children_d[k]].state.selected) { + c = true; + } + delete this._model.data[obj.children_d[k]]; + } + if (c) { + this._data.core.selected = $.vakata.array_filter(this._data.core.selected, function (v) { + return $.inArray(v, obj.children_d) === -1; + }); + } + obj.children = []; + obj.children_d = []; + if(c) { + this.trigger('changed', { 'action' : 'load_node', 'node' : obj, 'selected' : this._data.core.selected }); + } + } + obj.state.failed = false; + obj.state.loading = true; + this.get_node(obj, true).addClass("jstree-loading").attr('aria-busy',true); + this._load_node(obj, $.proxy(function (status) { + obj = this._model.data[obj.id]; + obj.state.loading = false; + obj.state.loaded = status; + obj.state.failed = !obj.state.loaded; + var dom = this.get_node(obj, true), i = 0, j = 0, m = this._model.data, has_children = false; + for(i = 0, j = obj.children.length; i < j; i++) { + if(m[obj.children[i]] && !m[obj.children[i]].state.hidden) { + has_children = true; + break; + } + } + if(obj.state.loaded && dom && dom.length) { + dom.removeClass('jstree-closed jstree-open jstree-leaf'); + if (!has_children) { + dom.addClass('jstree-leaf'); + } + else { + if (obj.id !== '#') { + dom.addClass(obj.state.opened ? 'jstree-open' : 'jstree-closed'); + } + } + } + dom.removeClass("jstree-loading").attr('aria-busy',false); + /** + * triggered after a node is loaded + * @event + * @name load_node.jstree + * @param {Object} node the node that was loading + * @param {Boolean} status was the node loaded successfully + */ + this.trigger('load_node', { "node" : obj, "status" : status }); + if(callback) { + callback.call(this, obj, status); + } + }, this)); + return true; + }, + /** + * load an array of nodes (will also load unavailable nodes as soon as the appear in the structure). Used internally. + * @private + * @name _load_nodes(nodes [, callback]) + * @param {array} nodes + * @param {function} callback a function to be executed once loading is complete, the function is executed in the instance's scope and receives one argument - the array passed to _load_nodes + */ + _load_nodes : function (nodes, callback, is_callback, force_reload) { + var r = true, + c = function () { this._load_nodes(nodes, callback, true); }, + m = this._model.data, i, j, tmp = []; + for(i = 0, j = nodes.length; i < j; i++) { + if(m[nodes[i]] && ( (!m[nodes[i]].state.loaded && !m[nodes[i]].state.failed) || (!is_callback && force_reload) )) { + if(!this.is_loading(nodes[i])) { + this.load_node(nodes[i], c); + } + r = false; + } + } + if(r) { + for(i = 0, j = nodes.length; i < j; i++) { + if(m[nodes[i]] && m[nodes[i]].state.loaded) { + tmp.push(nodes[i]); + } + } + if(callback && !callback.done) { + callback.call(this, tmp); + callback.done = true; + } + } + }, + /** + * loads all unloaded nodes + * @name load_all([obj, callback]) + * @param {mixed} obj the node to load recursively, omit to load all nodes in the tree + * @param {function} callback a function to be executed once loading all the nodes is complete, + * @trigger load_all.jstree + */ + load_all : function (obj, callback) { + if(!obj) { obj = $.jstree.root; } + obj = this.get_node(obj); + if(!obj) { return false; } + var to_load = [], + m = this._model.data, + c = m[obj.id].children_d, + i, j; + if(obj.state && !obj.state.loaded) { + to_load.push(obj.id); + } + for(i = 0, j = c.length; i < j; i++) { + if(m[c[i]] && m[c[i]].state && !m[c[i]].state.loaded) { + to_load.push(c[i]); + } + } + if(to_load.length) { + this._load_nodes(to_load, function () { + this.load_all(obj, callback); + }); + } + else { + /** + * triggered after a load_all call completes + * @event + * @name load_all.jstree + * @param {Object} node the recursively loaded node + */ + if(callback) { callback.call(this, obj); } + this.trigger('load_all', { "node" : obj }); + } + }, + /** + * handles the actual loading of a node. Used only internally. + * @private + * @name _load_node(obj [, callback]) + * @param {mixed} obj + * @param {function} callback a function to be executed once loading is complete, the function is executed in the instance's scope and receives one argument - a boolean status + * @return {Boolean} + */ + _load_node : function (obj, callback) { + var s = this.settings.core.data, t; + var notTextOrCommentNode = function notTextOrCommentNode () { + return this.nodeType !== 3 && this.nodeType !== 8; + }; + // use original HTML + if(!s) { + if(obj.id === $.jstree.root) { + return this._append_html_data(obj, this._data.core.original_container_html.clone(true), function (status) { + callback.call(this, status); + }); + } + else { + return callback.call(this, false); + } + // return callback.call(this, obj.id === $.jstree.root ? this._append_html_data(obj, this._data.core.original_container_html.clone(true)) : false); + } + if($.isFunction(s)) { + return s.call(this, obj, $.proxy(function (d) { + if(d === false) { + callback.call(this, false); + } + else { + this[typeof d === 'string' ? '_append_html_data' : '_append_json_data'](obj, typeof d === 'string' ? $($.parseHTML(d)).filter(notTextOrCommentNode) : d, function (status) { + callback.call(this, status); + }); + } + // return d === false ? callback.call(this, false) : callback.call(this, this[typeof d === 'string' ? '_append_html_data' : '_append_json_data'](obj, typeof d === 'string' ? $(d) : d)); + }, this)); + } + if(typeof s === 'object') { + if(s.url) { + s = $.extend(true, {}, s); + if($.isFunction(s.url)) { + s.url = s.url.call(this, obj); + } + if($.isFunction(s.data)) { + s.data = s.data.call(this, obj); + } + return $.ajax(s) + .done($.proxy(function (d,t,x) { + var type = x.getResponseHeader('Content-Type'); + if((type && type.indexOf('json') !== -1) || typeof d === "object") { + return this._append_json_data(obj, d, function (status) { callback.call(this, status); }); + //return callback.call(this, this._append_json_data(obj, d)); + } + if((type && type.indexOf('html') !== -1) || typeof d === "string") { + return this._append_html_data(obj, $($.parseHTML(d)).filter(notTextOrCommentNode), function (status) { callback.call(this, status); }); + // return callback.call(this, this._append_html_data(obj, $(d))); + } + this._data.core.last_error = { 'error' : 'ajax', 'plugin' : 'core', 'id' : 'core_04', 'reason' : 'Could not load node', 'data' : JSON.stringify({ 'id' : obj.id, 'xhr' : x }) }; + this.settings.core.error.call(this, this._data.core.last_error); + return callback.call(this, false); + }, this)) + .fail($.proxy(function (f) { + callback.call(this, false); + this._data.core.last_error = { 'error' : 'ajax', 'plugin' : 'core', 'id' : 'core_04', 'reason' : 'Could not load node', 'data' : JSON.stringify({ 'id' : obj.id, 'xhr' : f }) }; + this.settings.core.error.call(this, this._data.core.last_error); + }, this)); + } + t = ($.isArray(s) || $.isPlainObject(s)) ? JSON.parse(JSON.stringify(s)) : s; + if(obj.id === $.jstree.root) { + return this._append_json_data(obj, t, function (status) { + callback.call(this, status); + }); + } + else { + this._data.core.last_error = { 'error' : 'nodata', 'plugin' : 'core', 'id' : 'core_05', 'reason' : 'Could not load node', 'data' : JSON.stringify({ 'id' : obj.id }) }; + this.settings.core.error.call(this, this._data.core.last_error); + return callback.call(this, false); + } + //return callback.call(this, (obj.id === $.jstree.root ? this._append_json_data(obj, t) : false) ); + } + if(typeof s === 'string') { + if(obj.id === $.jstree.root) { + return this._append_html_data(obj, $($.parseHTML(s)).filter(notTextOrCommentNode), function (status) { + callback.call(this, status); + }); + } + else { + this._data.core.last_error = { 'error' : 'nodata', 'plugin' : 'core', 'id' : 'core_06', 'reason' : 'Could not load node', 'data' : JSON.stringify({ 'id' : obj.id }) }; + this.settings.core.error.call(this, this._data.core.last_error); + return callback.call(this, false); + } + //return callback.call(this, (obj.id === $.jstree.root ? this._append_html_data(obj, $(s)) : false) ); + } + return callback.call(this, false); + }, + /** + * adds a node to the list of nodes to redraw. Used only internally. + * @private + * @name _node_changed(obj [, callback]) + * @param {mixed} obj + */ + _node_changed : function (obj) { + obj = this.get_node(obj); + if(obj) { + this._model.changed.push(obj.id); + } + }, + /** + * appends HTML content to the tree. Used internally. + * @private + * @name _append_html_data(obj, data) + * @param {mixed} obj the node to append to + * @param {String} data the HTML string to parse and append + * @trigger model.jstree, changed.jstree + */ + _append_html_data : function (dom, data, cb) { + dom = this.get_node(dom); + dom.children = []; + dom.children_d = []; + var dat = data.is('ul') ? data.children() : data, + par = dom.id, + chd = [], + dpc = [], + m = this._model.data, + p = m[par], + s = this._data.core.selected.length, + tmp, i, j; + dat.each($.proxy(function (i, v) { + tmp = this._parse_model_from_html($(v), par, p.parents.concat()); + if(tmp) { + chd.push(tmp); + dpc.push(tmp); + if(m[tmp].children_d.length) { + dpc = dpc.concat(m[tmp].children_d); + } + } + }, this)); + p.children = chd; + p.children_d = dpc; + for(i = 0, j = p.parents.length; i < j; i++) { + m[p.parents[i]].children_d = m[p.parents[i]].children_d.concat(dpc); + } + /** + * triggered when new data is inserted to the tree model + * @event + * @name model.jstree + * @param {Array} nodes an array of node IDs + * @param {String} parent the parent ID of the nodes + */ + this.trigger('model', { "nodes" : dpc, 'parent' : par }); + if(par !== $.jstree.root) { + this._node_changed(par); + this.redraw(); + } + else { + this.get_container_ul().children('.jstree-initial-node').remove(); + this.redraw(true); + } + if(this._data.core.selected.length !== s) { + this.trigger('changed', { 'action' : 'model', 'selected' : this._data.core.selected }); + } + cb.call(this, true); + }, + /** + * appends JSON content to the tree. Used internally. + * @private + * @name _append_json_data(obj, data) + * @param {mixed} obj the node to append to + * @param {String} data the JSON object to parse and append + * @param {Boolean} force_processing internal param - do not set + * @trigger model.jstree, changed.jstree + */ + _append_json_data : function (dom, data, cb, force_processing) { + if(this.element === null) { return; } + dom = this.get_node(dom); + dom.children = []; + dom.children_d = []; + // *%$@!!! + if(data.d) { + data = data.d; + if(typeof data === "string") { + data = JSON.parse(data); + } + } + if(!$.isArray(data)) { data = [data]; } + var w = null, + args = { + 'df' : this._model.default_state, + 'dat' : data, + 'par' : dom.id, + 'm' : this._model.data, + 't_id' : this._id, + 't_cnt' : this._cnt, + 'sel' : this._data.core.selected + }, + func = function (data, undefined) { + if(data.data) { data = data.data; } + var dat = data.dat, + par = data.par, + chd = [], + dpc = [], + add = [], + df = data.df, + t_id = data.t_id, + t_cnt = data.t_cnt, + m = data.m, + p = m[par], + sel = data.sel, + tmp, i, j, rslt, + parse_flat = function (d, p, ps) { + if(!ps) { ps = []; } + else { ps = ps.concat(); } + if(p) { ps.unshift(p); } + var tid = d.id.toString(), + i, j, c, e, + tmp = { + id : tid, + text : d.text || '', + icon : d.icon !== undefined ? d.icon : true, + parent : p, + parents : ps, + children : d.children || [], + children_d : d.children_d || [], + data : d.data, + state : { }, + li_attr : { id : false }, + a_attr : { href : '#' }, + original : false + }; + for(i in df) { + if(df.hasOwnProperty(i)) { + tmp.state[i] = df[i]; + } + } + if(d && d.data && d.data.jstree && d.data.jstree.icon) { + tmp.icon = d.data.jstree.icon; + } + if(tmp.icon === undefined || tmp.icon === null || tmp.icon === "") { + tmp.icon = true; + } + if(d && d.data) { + tmp.data = d.data; + if(d.data.jstree) { + for(i in d.data.jstree) { + if(d.data.jstree.hasOwnProperty(i)) { + tmp.state[i] = d.data.jstree[i]; + } + } + } + } + if(d && typeof d.state === 'object') { + for (i in d.state) { + if(d.state.hasOwnProperty(i)) { + tmp.state[i] = d.state[i]; + } + } + } + if(d && typeof d.li_attr === 'object') { + for (i in d.li_attr) { + if(d.li_attr.hasOwnProperty(i)) { + tmp.li_attr[i] = d.li_attr[i]; + } + } + } + if(!tmp.li_attr.id) { + tmp.li_attr.id = tid; + } + if(d && typeof d.a_attr === 'object') { + for (i in d.a_attr) { + if(d.a_attr.hasOwnProperty(i)) { + tmp.a_attr[i] = d.a_attr[i]; + } + } + } + if(d && d.children && d.children === true) { + tmp.state.loaded = false; + tmp.children = []; + tmp.children_d = []; + } + m[tmp.id] = tmp; + for(i = 0, j = tmp.children.length; i < j; i++) { + c = parse_flat(m[tmp.children[i]], tmp.id, ps); + e = m[c]; + tmp.children_d.push(c); + if(e.children_d.length) { + tmp.children_d = tmp.children_d.concat(e.children_d); + } + } + delete d.data; + delete d.children; + m[tmp.id].original = d; + if(tmp.state.selected) { + add.push(tmp.id); + } + return tmp.id; + }, + parse_nest = function (d, p, ps) { + if(!ps) { ps = []; } + else { ps = ps.concat(); } + if(p) { ps.unshift(p); } + var tid = false, i, j, c, e, tmp; + do { + tid = 'j' + t_id + '_' + (++t_cnt); + } while(m[tid]); + + tmp = { + id : false, + text : typeof d === 'string' ? d : '', + icon : typeof d === 'object' && d.icon !== undefined ? d.icon : true, + parent : p, + parents : ps, + children : [], + children_d : [], + data : null, + state : { }, + li_attr : { id : false }, + a_attr : { href : '#' }, + original : false + }; + for(i in df) { + if(df.hasOwnProperty(i)) { + tmp.state[i] = df[i]; + } + } + if(d && d.id) { tmp.id = d.id.toString(); } + if(d && d.text) { tmp.text = d.text; } + if(d && d.data && d.data.jstree && d.data.jstree.icon) { + tmp.icon = d.data.jstree.icon; + } + if(tmp.icon === undefined || tmp.icon === null || tmp.icon === "") { + tmp.icon = true; + } + if(d && d.data) { + tmp.data = d.data; + if(d.data.jstree) { + for(i in d.data.jstree) { + if(d.data.jstree.hasOwnProperty(i)) { + tmp.state[i] = d.data.jstree[i]; + } + } + } + } + if(d && typeof d.state === 'object') { + for (i in d.state) { + if(d.state.hasOwnProperty(i)) { + tmp.state[i] = d.state[i]; + } + } + } + if(d && typeof d.li_attr === 'object') { + for (i in d.li_attr) { + if(d.li_attr.hasOwnProperty(i)) { + tmp.li_attr[i] = d.li_attr[i]; + } + } + } + if(tmp.li_attr.id && !tmp.id) { + tmp.id = tmp.li_attr.id.toString(); + } + if(!tmp.id) { + tmp.id = tid; + } + if(!tmp.li_attr.id) { + tmp.li_attr.id = tmp.id; + } + if(d && typeof d.a_attr === 'object') { + for (i in d.a_attr) { + if(d.a_attr.hasOwnProperty(i)) { + tmp.a_attr[i] = d.a_attr[i]; + } + } + } + if(d && d.children && d.children.length) { + for(i = 0, j = d.children.length; i < j; i++) { + c = parse_nest(d.children[i], tmp.id, ps); + e = m[c]; + tmp.children.push(c); + if(e.children_d.length) { + tmp.children_d = tmp.children_d.concat(e.children_d); + } + } + tmp.children_d = tmp.children_d.concat(tmp.children); + } + if(d && d.children && d.children === true) { + tmp.state.loaded = false; + tmp.children = []; + tmp.children_d = []; + } + delete d.data; + delete d.children; + tmp.original = d; + m[tmp.id] = tmp; + if(tmp.state.selected) { + add.push(tmp.id); + } + return tmp.id; + }; + + if(dat.length && dat[0].id !== undefined && dat[0].parent !== undefined) { + // Flat JSON support (for easy import from DB): + // 1) convert to object (foreach) + for(i = 0, j = dat.length; i < j; i++) { + if(!dat[i].children) { + dat[i].children = []; + } + m[dat[i].id.toString()] = dat[i]; + } + // 2) populate children (foreach) + for(i = 0, j = dat.length; i < j; i++) { + m[dat[i].parent.toString()].children.push(dat[i].id.toString()); + // populate parent.children_d + p.children_d.push(dat[i].id.toString()); + } + // 3) normalize && populate parents and children_d with recursion + for(i = 0, j = p.children.length; i < j; i++) { + tmp = parse_flat(m[p.children[i]], par, p.parents.concat()); + dpc.push(tmp); + if(m[tmp].children_d.length) { + dpc = dpc.concat(m[tmp].children_d); + } + } + for(i = 0, j = p.parents.length; i < j; i++) { + m[p.parents[i]].children_d = m[p.parents[i]].children_d.concat(dpc); + } + // ?) three_state selection - p.state.selected && t - (if three_state foreach(dat => ch) -> foreach(parents) if(parent.selected) child.selected = true; + rslt = { + 'cnt' : t_cnt, + 'mod' : m, + 'sel' : sel, + 'par' : par, + 'dpc' : dpc, + 'add' : add + }; + } + else { + for(i = 0, j = dat.length; i < j; i++) { + tmp = parse_nest(dat[i], par, p.parents.concat()); + if(tmp) { + chd.push(tmp); + dpc.push(tmp); + if(m[tmp].children_d.length) { + dpc = dpc.concat(m[tmp].children_d); + } + } + } + p.children = chd; + p.children_d = dpc; + for(i = 0, j = p.parents.length; i < j; i++) { + m[p.parents[i]].children_d = m[p.parents[i]].children_d.concat(dpc); + } + rslt = { + 'cnt' : t_cnt, + 'mod' : m, + 'sel' : sel, + 'par' : par, + 'dpc' : dpc, + 'add' : add + }; + } + if(typeof window === 'undefined' || typeof window.document === 'undefined') { + postMessage(rslt); + } + else { + return rslt; + } + }, + rslt = function (rslt, worker) { + if(this.element === null) { return; } + this._cnt = rslt.cnt; + var i, m = this._model.data; + for (i in m) { + if (m.hasOwnProperty(i) && m[i].state && m[i].state.loading && rslt.mod[i]) { + rslt.mod[i].state.loading = true; + } + } + this._model.data = rslt.mod; // breaks the reference in load_node - careful + + if(worker) { + var j, a = rslt.add, r = rslt.sel, s = this._data.core.selected.slice(); + m = this._model.data; + // if selection was changed while calculating in worker + if(r.length !== s.length || $.vakata.array_unique(r.concat(s)).length !== r.length) { + // deselect nodes that are no longer selected + for(i = 0, j = r.length; i < j; i++) { + if($.inArray(r[i], a) === -1 && $.inArray(r[i], s) === -1) { + m[r[i]].state.selected = false; + } + } + // select nodes that were selected in the mean time + for(i = 0, j = s.length; i < j; i++) { + if($.inArray(s[i], r) === -1) { + m[s[i]].state.selected = true; + } + } + } + } + if(rslt.add.length) { + this._data.core.selected = this._data.core.selected.concat(rslt.add); + } + + this.trigger('model', { "nodes" : rslt.dpc, 'parent' : rslt.par }); + + if(rslt.par !== $.jstree.root) { + this._node_changed(rslt.par); + this.redraw(); + } + else { + // this.get_container_ul().children('.jstree-initial-node').remove(); + this.redraw(true); + } + if(rslt.add.length) { + this.trigger('changed', { 'action' : 'model', 'selected' : this._data.core.selected }); + } + cb.call(this, true); + }; + if(this.settings.core.worker && window.Blob && window.URL && window.Worker) { + try { + if(this._wrk === null) { + this._wrk = window.URL.createObjectURL( + new window.Blob( + ['self.onmessage = ' + func.toString()], + {type:"text/javascript"} + ) + ); + } + if(!this._data.core.working || force_processing) { + this._data.core.working = true; + w = new window.Worker(this._wrk); + w.onmessage = $.proxy(function (e) { + rslt.call(this, e.data, true); + try { w.terminate(); w = null; } catch(ignore) { } + if(this._data.core.worker_queue.length) { + this._append_json_data.apply(this, this._data.core.worker_queue.shift()); + } + else { + this._data.core.working = false; + } + }, this); + if(!args.par) { + if(this._data.core.worker_queue.length) { + this._append_json_data.apply(this, this._data.core.worker_queue.shift()); + } + else { + this._data.core.working = false; + } + } + else { + w.postMessage(args); + } + } + else { + this._data.core.worker_queue.push([dom, data, cb, true]); + } + } + catch(e) { + rslt.call(this, func(args), false); + if(this._data.core.worker_queue.length) { + this._append_json_data.apply(this, this._data.core.worker_queue.shift()); + } + else { + this._data.core.working = false; + } + } + } + else { + rslt.call(this, func(args), false); + } + }, + /** + * parses a node from a jQuery object and appends them to the in memory tree model. Used internally. + * @private + * @name _parse_model_from_html(d [, p, ps]) + * @param {jQuery} d the jQuery object to parse + * @param {String} p the parent ID + * @param {Array} ps list of all parents + * @return {String} the ID of the object added to the model + */ + _parse_model_from_html : function (d, p, ps) { + if(!ps) { ps = []; } + else { ps = [].concat(ps); } + if(p) { ps.unshift(p); } + var c, e, m = this._model.data, + data = { + id : false, + text : false, + icon : true, + parent : p, + parents : ps, + children : [], + children_d : [], + data : null, + state : { }, + li_attr : { id : false }, + a_attr : { href : '#' }, + original : false + }, i, tmp, tid; + for(i in this._model.default_state) { + if(this._model.default_state.hasOwnProperty(i)) { + data.state[i] = this._model.default_state[i]; + } + } + tmp = $.vakata.attributes(d, true); + $.each(tmp, function (i, v) { + v = $.trim(v); + if(!v.length) { return true; } + data.li_attr[i] = v; + if(i === 'id') { + data.id = v.toString(); + } + }); + tmp = d.children('a').first(); + if(tmp.length) { + tmp = $.vakata.attributes(tmp, true); + $.each(tmp, function (i, v) { + v = $.trim(v); + if(v.length) { + data.a_attr[i] = v; + } + }); + } + tmp = d.children("a").first().length ? d.children("a").first().clone() : d.clone(); + tmp.children("ins, i, ul").remove(); + tmp = tmp.html(); + tmp = $('
          ').html(tmp); + data.text = this.settings.core.force_text ? tmp.text() : tmp.html(); + tmp = d.data(); + data.data = tmp ? $.extend(true, {}, tmp) : null; + data.state.opened = d.hasClass('jstree-open'); + data.state.selected = d.children('a').hasClass('jstree-clicked'); + data.state.disabled = d.children('a').hasClass('jstree-disabled'); + if(data.data && data.data.jstree) { + for(i in data.data.jstree) { + if(data.data.jstree.hasOwnProperty(i)) { + data.state[i] = data.data.jstree[i]; + } + } + } + tmp = d.children("a").children(".jstree-themeicon"); + if(tmp.length) { + data.icon = tmp.hasClass('jstree-themeicon-hidden') ? false : tmp.attr('rel'); + } + if(data.state.icon !== undefined) { + data.icon = data.state.icon; + } + if(data.icon === undefined || data.icon === null || data.icon === "") { + data.icon = true; + } + tmp = d.children("ul").children("li"); + do { + tid = 'j' + this._id + '_' + (++this._cnt); + } while(m[tid]); + data.id = data.li_attr.id ? data.li_attr.id.toString() : tid; + if(tmp.length) { + tmp.each($.proxy(function (i, v) { + c = this._parse_model_from_html($(v), data.id, ps); + e = this._model.data[c]; + data.children.push(c); + if(e.children_d.length) { + data.children_d = data.children_d.concat(e.children_d); + } + }, this)); + data.children_d = data.children_d.concat(data.children); + } + else { + if(d.hasClass('jstree-closed')) { + data.state.loaded = false; + } + } + if(data.li_attr['class']) { + data.li_attr['class'] = data.li_attr['class'].replace('jstree-closed','').replace('jstree-open',''); + } + if(data.a_attr['class']) { + data.a_attr['class'] = data.a_attr['class'].replace('jstree-clicked','').replace('jstree-disabled',''); + } + m[data.id] = data; + if(data.state.selected) { + this._data.core.selected.push(data.id); + } + return data.id; + }, + /** + * parses a node from a JSON object (used when dealing with flat data, which has no nesting of children, but has id and parent properties) and appends it to the in memory tree model. Used internally. + * @private + * @name _parse_model_from_flat_json(d [, p, ps]) + * @param {Object} d the JSON object to parse + * @param {String} p the parent ID + * @param {Array} ps list of all parents + * @return {String} the ID of the object added to the model + */ + _parse_model_from_flat_json : function (d, p, ps) { + if(!ps) { ps = []; } + else { ps = ps.concat(); } + if(p) { ps.unshift(p); } + var tid = d.id.toString(), + m = this._model.data, + df = this._model.default_state, + i, j, c, e, + tmp = { + id : tid, + text : d.text || '', + icon : d.icon !== undefined ? d.icon : true, + parent : p, + parents : ps, + children : d.children || [], + children_d : d.children_d || [], + data : d.data, + state : { }, + li_attr : { id : false }, + a_attr : { href : '#' }, + original : false + }; + for(i in df) { + if(df.hasOwnProperty(i)) { + tmp.state[i] = df[i]; + } + } + if(d && d.data && d.data.jstree && d.data.jstree.icon) { + tmp.icon = d.data.jstree.icon; + } + if(tmp.icon === undefined || tmp.icon === null || tmp.icon === "") { + tmp.icon = true; + } + if(d && d.data) { + tmp.data = d.data; + if(d.data.jstree) { + for(i in d.data.jstree) { + if(d.data.jstree.hasOwnProperty(i)) { + tmp.state[i] = d.data.jstree[i]; + } + } + } + } + if(d && typeof d.state === 'object') { + for (i in d.state) { + if(d.state.hasOwnProperty(i)) { + tmp.state[i] = d.state[i]; + } + } + } + if(d && typeof d.li_attr === 'object') { + for (i in d.li_attr) { + if(d.li_attr.hasOwnProperty(i)) { + tmp.li_attr[i] = d.li_attr[i]; + } + } + } + if(!tmp.li_attr.id) { + tmp.li_attr.id = tid; + } + if(d && typeof d.a_attr === 'object') { + for (i in d.a_attr) { + if(d.a_attr.hasOwnProperty(i)) { + tmp.a_attr[i] = d.a_attr[i]; + } + } + } + if(d && d.children && d.children === true) { + tmp.state.loaded = false; + tmp.children = []; + tmp.children_d = []; + } + m[tmp.id] = tmp; + for(i = 0, j = tmp.children.length; i < j; i++) { + c = this._parse_model_from_flat_json(m[tmp.children[i]], tmp.id, ps); + e = m[c]; + tmp.children_d.push(c); + if(e.children_d.length) { + tmp.children_d = tmp.children_d.concat(e.children_d); + } + } + delete d.data; + delete d.children; + m[tmp.id].original = d; + if(tmp.state.selected) { + this._data.core.selected.push(tmp.id); + } + return tmp.id; + }, + /** + * parses a node from a JSON object and appends it to the in memory tree model. Used internally. + * @private + * @name _parse_model_from_json(d [, p, ps]) + * @param {Object} d the JSON object to parse + * @param {String} p the parent ID + * @param {Array} ps list of all parents + * @return {String} the ID of the object added to the model + */ + _parse_model_from_json : function (d, p, ps) { + if(!ps) { ps = []; } + else { ps = ps.concat(); } + if(p) { ps.unshift(p); } + var tid = false, i, j, c, e, m = this._model.data, df = this._model.default_state, tmp; + do { + tid = 'j' + this._id + '_' + (++this._cnt); + } while(m[tid]); + + tmp = { + id : false, + text : typeof d === 'string' ? d : '', + icon : typeof d === 'object' && d.icon !== undefined ? d.icon : true, + parent : p, + parents : ps, + children : [], + children_d : [], + data : null, + state : { }, + li_attr : { id : false }, + a_attr : { href : '#' }, + original : false + }; + for(i in df) { + if(df.hasOwnProperty(i)) { + tmp.state[i] = df[i]; + } + } + if(d && d.id) { tmp.id = d.id.toString(); } + if(d && d.text) { tmp.text = d.text; } + if(d && d.data && d.data.jstree && d.data.jstree.icon) { + tmp.icon = d.data.jstree.icon; + } + if(tmp.icon === undefined || tmp.icon === null || tmp.icon === "") { + tmp.icon = true; + } + if(d && d.data) { + tmp.data = d.data; + if(d.data.jstree) { + for(i in d.data.jstree) { + if(d.data.jstree.hasOwnProperty(i)) { + tmp.state[i] = d.data.jstree[i]; + } + } + } + } + if(d && typeof d.state === 'object') { + for (i in d.state) { + if(d.state.hasOwnProperty(i)) { + tmp.state[i] = d.state[i]; + } + } + } + if(d && typeof d.li_attr === 'object') { + for (i in d.li_attr) { + if(d.li_attr.hasOwnProperty(i)) { + tmp.li_attr[i] = d.li_attr[i]; + } + } + } + if(tmp.li_attr.id && !tmp.id) { + tmp.id = tmp.li_attr.id.toString(); + } + if(!tmp.id) { + tmp.id = tid; + } + if(!tmp.li_attr.id) { + tmp.li_attr.id = tmp.id; + } + if(d && typeof d.a_attr === 'object') { + for (i in d.a_attr) { + if(d.a_attr.hasOwnProperty(i)) { + tmp.a_attr[i] = d.a_attr[i]; + } + } + } + if(d && d.children && d.children.length) { + for(i = 0, j = d.children.length; i < j; i++) { + c = this._parse_model_from_json(d.children[i], tmp.id, ps); + e = m[c]; + tmp.children.push(c); + if(e.children_d.length) { + tmp.children_d = tmp.children_d.concat(e.children_d); + } + } + tmp.children_d = tmp.children_d.concat(tmp.children); + } + if(d && d.children && d.children === true) { + tmp.state.loaded = false; + tmp.children = []; + tmp.children_d = []; + } + delete d.data; + delete d.children; + tmp.original = d; + m[tmp.id] = tmp; + if(tmp.state.selected) { + this._data.core.selected.push(tmp.id); + } + return tmp.id; + }, + /** + * redraws all nodes that need to be redrawn. Used internally. + * @private + * @name _redraw() + * @trigger redraw.jstree + */ + _redraw : function () { + var nodes = this._model.force_full_redraw ? this._model.data[$.jstree.root].children.concat([]) : this._model.changed.concat([]), + f = document.createElement('UL'), tmp, i, j, fe = this._data.core.focused; + for(i = 0, j = nodes.length; i < j; i++) { + tmp = this.redraw_node(nodes[i], true, this._model.force_full_redraw); + if(tmp && this._model.force_full_redraw) { + f.appendChild(tmp); + } + } + if(this._model.force_full_redraw) { + f.className = this.get_container_ul()[0].className; + f.setAttribute('role','group'); + this.element.empty().append(f); + //this.get_container_ul()[0].appendChild(f); + } + if(fe !== null) { + tmp = this.get_node(fe, true); + if(tmp && tmp.length && tmp.children('.jstree-anchor')[0] !== document.activeElement) { + tmp.children('.jstree-anchor').focus(); + } + else { + this._data.core.focused = null; + } + } + this._model.force_full_redraw = false; + this._model.changed = []; + /** + * triggered after nodes are redrawn + * @event + * @name redraw.jstree + * @param {array} nodes the redrawn nodes + */ + this.trigger('redraw', { "nodes" : nodes }); + }, + /** + * redraws all nodes that need to be redrawn or optionally - the whole tree + * @name redraw([full]) + * @param {Boolean} full if set to `true` all nodes are redrawn. + */ + redraw : function (full) { + if(full) { + this._model.force_full_redraw = true; + } + //if(this._model.redraw_timeout) { + // clearTimeout(this._model.redraw_timeout); + //} + //this._model.redraw_timeout = setTimeout($.proxy(this._redraw, this),0); + this._redraw(); + }, + /** + * redraws a single node's children. Used internally. + * @private + * @name draw_children(node) + * @param {mixed} node the node whose children will be redrawn + */ + draw_children : function (node) { + var obj = this.get_node(node), + i = false, + j = false, + k = false, + d = document; + if(!obj) { return false; } + if(obj.id === $.jstree.root) { return this.redraw(true); } + node = this.get_node(node, true); + if(!node || !node.length) { return false; } // TODO: quick toggle + + node.children('.jstree-children').remove(); + node = node[0]; + if(obj.children.length && obj.state.loaded) { + k = d.createElement('UL'); + k.setAttribute('role', 'group'); + k.className = 'jstree-children'; + for(i = 0, j = obj.children.length; i < j; i++) { + k.appendChild(this.redraw_node(obj.children[i], true, true)); + } + node.appendChild(k); + } + }, + /** + * redraws a single node. Used internally. + * @private + * @name redraw_node(node, deep, is_callback, force_render) + * @param {mixed} node the node to redraw + * @param {Boolean} deep should child nodes be redrawn too + * @param {Boolean} is_callback is this a recursion call + * @param {Boolean} force_render should children of closed parents be drawn anyway + */ + redraw_node : function (node, deep, is_callback, force_render) { + var obj = this.get_node(node), + par = false, + ind = false, + old = false, + i = false, + j = false, + k = false, + c = '', + d = document, + m = this._model.data, + f = false, + s = false, + tmp = null, + t = 0, + l = 0, + has_children = false, + last_sibling = false; + if(!obj) { return false; } + if(obj.id === $.jstree.root) { return this.redraw(true); } + deep = deep || obj.children.length === 0; + node = !document.querySelector ? document.getElementById(obj.id) : this.element[0].querySelector('#' + ("0123456789".indexOf(obj.id[0]) !== -1 ? '\\3' + obj.id[0] + ' ' + obj.id.substr(1).replace($.jstree.idregex,'\\$&') : obj.id.replace($.jstree.idregex,'\\$&')) ); //, this.element); + if(!node) { + deep = true; + //node = d.createElement('LI'); + if(!is_callback) { + par = obj.parent !== $.jstree.root ? $('#' + obj.parent.replace($.jstree.idregex,'\\$&'), this.element)[0] : null; + if(par !== null && (!par || !m[obj.parent].state.opened)) { + return false; + } + ind = $.inArray(obj.id, par === null ? m[$.jstree.root].children : m[obj.parent].children); + } + } + else { + node = $(node); + if(!is_callback) { + par = node.parent().parent()[0]; + if(par === this.element[0]) { + par = null; + } + ind = node.index(); + } + // m[obj.id].data = node.data(); // use only node's data, no need to touch jquery storage + if(!deep && obj.children.length && !node.children('.jstree-children').length) { + deep = true; + } + if(!deep) { + old = node.children('.jstree-children')[0]; + } + f = node.children('.jstree-anchor')[0] === document.activeElement; + node.remove(); + //node = d.createElement('LI'); + //node = node[0]; + } + node = this._data.core.node.cloneNode(true); + // node is DOM, deep is boolean + + c = 'jstree-node '; + for(i in obj.li_attr) { + if(obj.li_attr.hasOwnProperty(i)) { + if(i === 'id') { continue; } + if(i !== 'class') { + node.setAttribute(i, obj.li_attr[i]); + } + else { + c += obj.li_attr[i]; + } + } + } + if(!obj.a_attr.id) { + obj.a_attr.id = obj.id + '_anchor'; + } + node.setAttribute('aria-selected', !!obj.state.selected); + node.setAttribute('aria-level', obj.parents.length); + node.setAttribute('aria-labelledby', obj.a_attr.id); + if(obj.state.disabled) { + node.setAttribute('aria-disabled', true); + } + + for(i = 0, j = obj.children.length; i < j; i++) { + if(!m[obj.children[i]].state.hidden) { + has_children = true; + break; + } + } + if(obj.parent !== null && m[obj.parent] && !obj.state.hidden) { + i = $.inArray(obj.id, m[obj.parent].children); + last_sibling = obj.id; + if(i !== -1) { + i++; + for(j = m[obj.parent].children.length; i < j; i++) { + if(!m[m[obj.parent].children[i]].state.hidden) { + last_sibling = m[obj.parent].children[i]; + } + if(last_sibling !== obj.id) { + break; + } + } + } + } + + if(obj.state.hidden) { + c += ' jstree-hidden'; + } + if(obj.state.loaded && !has_children) { + c += ' jstree-leaf'; + } + else { + c += obj.state.opened && obj.state.loaded ? ' jstree-open' : ' jstree-closed'; + node.setAttribute('aria-expanded', (obj.state.opened && obj.state.loaded) ); + } + if(last_sibling === obj.id) { + c += ' jstree-last'; + } + node.id = obj.id; + node.className = c; + c = ( obj.state.selected ? ' jstree-clicked' : '') + ( obj.state.disabled ? ' jstree-disabled' : ''); + for(j in obj.a_attr) { + if(obj.a_attr.hasOwnProperty(j)) { + if(j === 'href' && obj.a_attr[j] === '#') { continue; } + if(j !== 'class') { + node.childNodes[1].setAttribute(j, obj.a_attr[j]); + } + else { + c += ' ' + obj.a_attr[j]; + } + } + } + if(c.length) { + node.childNodes[1].className = 'jstree-anchor ' + c; + } + if((obj.icon && obj.icon !== true) || obj.icon === false) { + if(obj.icon === false) { + node.childNodes[1].childNodes[0].className += ' jstree-themeicon-hidden'; + } + else if(obj.icon.indexOf('/') === -1 && obj.icon.indexOf('.') === -1) { + node.childNodes[1].childNodes[0].className += ' ' + obj.icon + ' jstree-themeicon-custom'; + } + else { + node.childNodes[1].childNodes[0].style.backgroundImage = 'url("'+obj.icon+'")'; + node.childNodes[1].childNodes[0].style.backgroundPosition = 'center center'; + node.childNodes[1].childNodes[0].style.backgroundSize = 'auto'; + node.childNodes[1].childNodes[0].className += ' jstree-themeicon-custom'; + } + } + + if(this.settings.core.force_text) { + node.childNodes[1].appendChild(d.createTextNode(obj.text)); + } + else { + node.childNodes[1].innerHTML += obj.text; + } + + + if(deep && obj.children.length && (obj.state.opened || force_render) && obj.state.loaded) { + k = d.createElement('UL'); + k.setAttribute('role', 'group'); + k.className = 'jstree-children'; + for(i = 0, j = obj.children.length; i < j; i++) { + k.appendChild(this.redraw_node(obj.children[i], deep, true)); + } + node.appendChild(k); + } + if(old) { + node.appendChild(old); + } + if(!is_callback) { + // append back using par / ind + if(!par) { + par = this.element[0]; + } + for(i = 0, j = par.childNodes.length; i < j; i++) { + if(par.childNodes[i] && par.childNodes[i].className && par.childNodes[i].className.indexOf('jstree-children') !== -1) { + tmp = par.childNodes[i]; + break; + } + } + if(!tmp) { + tmp = d.createElement('UL'); + tmp.setAttribute('role', 'group'); + tmp.className = 'jstree-children'; + par.appendChild(tmp); + } + par = tmp; + + if(ind < par.childNodes.length) { + par.insertBefore(node, par.childNodes[ind]); + } + else { + par.appendChild(node); + } + if(f) { + t = this.element[0].scrollTop; + l = this.element[0].scrollLeft; + node.childNodes[1].focus(); + this.element[0].scrollTop = t; + this.element[0].scrollLeft = l; + } + } + if(obj.state.opened && !obj.state.loaded) { + obj.state.opened = false; + setTimeout($.proxy(function () { + this.open_node(obj.id, false, 0); + }, this), 0); + } + return node; + }, + /** + * opens a node, revaling its children. If the node is not loaded it will be loaded and opened once ready. + * @name open_node(obj [, callback, animation]) + * @param {mixed} obj the node to open + * @param {Function} callback a function to execute once the node is opened + * @param {Number} animation the animation duration in milliseconds when opening the node (overrides the `core.animation` setting). Use `false` for no animation. + * @trigger open_node.jstree, after_open.jstree, before_open.jstree + */ + open_node : function (obj, callback, animation) { + var t1, t2, d, t; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.open_node(obj[t1], callback, animation); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + animation = animation === undefined ? this.settings.core.animation : animation; + if(!this.is_closed(obj)) { + if(callback) { + callback.call(this, obj, false); + } + return false; + } + if(!this.is_loaded(obj)) { + if(this.is_loading(obj)) { + return setTimeout($.proxy(function () { + this.open_node(obj, callback, animation); + }, this), 500); + } + this.load_node(obj, function (o, ok) { + return ok ? this.open_node(o, callback, animation) : (callback ? callback.call(this, o, false) : false); + }); + } + else { + d = this.get_node(obj, true); + t = this; + if(d.length) { + if(animation && d.children(".jstree-children").length) { + d.children(".jstree-children").stop(true, true); + } + if(obj.children.length && !this._firstChild(d.children('.jstree-children')[0])) { + this.draw_children(obj); + //d = this.get_node(obj, true); + } + if(!animation) { + this.trigger('before_open', { "node" : obj }); + d[0].className = d[0].className.replace('jstree-closed', 'jstree-open'); + d[0].setAttribute("aria-expanded", true); + } + else { + this.trigger('before_open', { "node" : obj }); + d + .children(".jstree-children").css("display","none").end() + .removeClass("jstree-closed").addClass("jstree-open").attr("aria-expanded", true) + .children(".jstree-children").stop(true, true) + .slideDown(animation, function () { + this.style.display = ""; + if (t.element) { + t.trigger("after_open", { "node" : obj }); + } + }); + } + } + obj.state.opened = true; + if(callback) { + callback.call(this, obj, true); + } + if(!d.length) { + /** + * triggered when a node is about to be opened (if the node is supposed to be in the DOM, it will be, but it won't be visible yet) + * @event + * @name before_open.jstree + * @param {Object} node the opened node + */ + this.trigger('before_open', { "node" : obj }); + } + /** + * triggered when a node is opened (if there is an animation it will not be completed yet) + * @event + * @name open_node.jstree + * @param {Object} node the opened node + */ + this.trigger('open_node', { "node" : obj }); + if(!animation || !d.length) { + /** + * triggered when a node is opened and the animation is complete + * @event + * @name after_open.jstree + * @param {Object} node the opened node + */ + this.trigger("after_open", { "node" : obj }); + } + return true; + } + }, + /** + * opens every parent of a node (node should be loaded) + * @name _open_to(obj) + * @param {mixed} obj the node to reveal + * @private + */ + _open_to : function (obj) { + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + var i, j, p = obj.parents; + for(i = 0, j = p.length; i < j; i+=1) { + if(i !== $.jstree.root) { + this.open_node(p[i], false, 0); + } + } + return $('#' + obj.id.replace($.jstree.idregex,'\\$&'), this.element); + }, + /** + * closes a node, hiding its children + * @name close_node(obj [, animation]) + * @param {mixed} obj the node to close + * @param {Number} animation the animation duration in milliseconds when closing the node (overrides the `core.animation` setting). Use `false` for no animation. + * @trigger close_node.jstree, after_close.jstree + */ + close_node : function (obj, animation) { + var t1, t2, t, d; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.close_node(obj[t1], animation); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + if(this.is_closed(obj)) { + return false; + } + animation = animation === undefined ? this.settings.core.animation : animation; + t = this; + d = this.get_node(obj, true); + + obj.state.opened = false; + /** + * triggered when a node is closed (if there is an animation it will not be complete yet) + * @event + * @name close_node.jstree + * @param {Object} node the closed node + */ + this.trigger('close_node',{ "node" : obj }); + if(!d.length) { + /** + * triggered when a node is closed and the animation is complete + * @event + * @name after_close.jstree + * @param {Object} node the closed node + */ + this.trigger("after_close", { "node" : obj }); + } + else { + if(!animation) { + d[0].className = d[0].className.replace('jstree-open', 'jstree-closed'); + d.attr("aria-expanded", false).children('.jstree-children').remove(); + this.trigger("after_close", { "node" : obj }); + } + else { + d + .children(".jstree-children").attr("style","display:block !important").end() + .removeClass("jstree-open").addClass("jstree-closed").attr("aria-expanded", false) + .children(".jstree-children").stop(true, true).slideUp(animation, function () { + this.style.display = ""; + d.children('.jstree-children').remove(); + if (t.element) { + t.trigger("after_close", { "node" : obj }); + } + }); + } + } + }, + /** + * toggles a node - closing it if it is open, opening it if it is closed + * @name toggle_node(obj) + * @param {mixed} obj the node to toggle + */ + toggle_node : function (obj) { + var t1, t2; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.toggle_node(obj[t1]); + } + return true; + } + if(this.is_closed(obj)) { + return this.open_node(obj); + } + if(this.is_open(obj)) { + return this.close_node(obj); + } + }, + /** + * opens all nodes within a node (or the tree), revaling their children. If the node is not loaded it will be loaded and opened once ready. + * @name open_all([obj, animation, original_obj]) + * @param {mixed} obj the node to open recursively, omit to open all nodes in the tree + * @param {Number} animation the animation duration in milliseconds when opening the nodes, the default is no animation + * @param {jQuery} reference to the node that started the process (internal use) + * @trigger open_all.jstree + */ + open_all : function (obj, animation, original_obj) { + if(!obj) { obj = $.jstree.root; } + obj = this.get_node(obj); + if(!obj) { return false; } + var dom = obj.id === $.jstree.root ? this.get_container_ul() : this.get_node(obj, true), i, j, _this; + if(!dom.length) { + for(i = 0, j = obj.children_d.length; i < j; i++) { + if(this.is_closed(this._model.data[obj.children_d[i]])) { + this._model.data[obj.children_d[i]].state.opened = true; + } + } + return this.trigger('open_all', { "node" : obj }); + } + original_obj = original_obj || dom; + _this = this; + dom = this.is_closed(obj) ? dom.find('.jstree-closed').addBack() : dom.find('.jstree-closed'); + dom.each(function () { + _this.open_node( + this, + function(node, status) { if(status && this.is_parent(node)) { this.open_all(node, animation, original_obj); } }, + animation || 0 + ); + }); + if(original_obj.find('.jstree-closed').length === 0) { + /** + * triggered when an `open_all` call completes + * @event + * @name open_all.jstree + * @param {Object} node the opened node + */ + this.trigger('open_all', { "node" : this.get_node(original_obj) }); + } + }, + /** + * closes all nodes within a node (or the tree), revaling their children + * @name close_all([obj, animation]) + * @param {mixed} obj the node to close recursively, omit to close all nodes in the tree + * @param {Number} animation the animation duration in milliseconds when closing the nodes, the default is no animation + * @trigger close_all.jstree + */ + close_all : function (obj, animation) { + if(!obj) { obj = $.jstree.root; } + obj = this.get_node(obj); + if(!obj) { return false; } + var dom = obj.id === $.jstree.root ? this.get_container_ul() : this.get_node(obj, true), + _this = this, i, j; + if(dom.length) { + dom = this.is_open(obj) ? dom.find('.jstree-open').addBack() : dom.find('.jstree-open'); + $(dom.get().reverse()).each(function () { _this.close_node(this, animation || 0); }); + } + for(i = 0, j = obj.children_d.length; i < j; i++) { + this._model.data[obj.children_d[i]].state.opened = false; + } + /** + * triggered when an `close_all` call completes + * @event + * @name close_all.jstree + * @param {Object} node the closed node + */ + this.trigger('close_all', { "node" : obj }); + }, + /** + * checks if a node is disabled (not selectable) + * @name is_disabled(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_disabled : function (obj) { + obj = this.get_node(obj); + return obj && obj.state && obj.state.disabled; + }, + /** + * enables a node - so that it can be selected + * @name enable_node(obj) + * @param {mixed} obj the node to enable + * @trigger enable_node.jstree + */ + enable_node : function (obj) { + var t1, t2; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.enable_node(obj[t1]); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + obj.state.disabled = false; + this.get_node(obj,true).children('.jstree-anchor').removeClass('jstree-disabled').attr('aria-disabled', false); + /** + * triggered when an node is enabled + * @event + * @name enable_node.jstree + * @param {Object} node the enabled node + */ + this.trigger('enable_node', { 'node' : obj }); + }, + /** + * disables a node - so that it can not be selected + * @name disable_node(obj) + * @param {mixed} obj the node to disable + * @trigger disable_node.jstree + */ + disable_node : function (obj) { + var t1, t2; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.disable_node(obj[t1]); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + obj.state.disabled = true; + this.get_node(obj,true).children('.jstree-anchor').addClass('jstree-disabled').attr('aria-disabled', true); + /** + * triggered when an node is disabled + * @event + * @name disable_node.jstree + * @param {Object} node the disabled node + */ + this.trigger('disable_node', { 'node' : obj }); + }, + /** + * determines if a node is hidden + * @name is_hidden(obj) + * @param {mixed} obj the node + */ + is_hidden : function (obj) { + obj = this.get_node(obj); + return obj.state.hidden === true; + }, + /** + * hides a node - it is still in the structure but will not be visible + * @name hide_node(obj) + * @param {mixed} obj the node to hide + * @param {Boolean} skip_redraw internal parameter controlling if redraw is called + * @trigger hide_node.jstree + */ + hide_node : function (obj, skip_redraw) { + var t1, t2; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.hide_node(obj[t1], true); + } + if (!skip_redraw) { + this.redraw(); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + if(!obj.state.hidden) { + obj.state.hidden = true; + this._node_changed(obj.parent); + if(!skip_redraw) { + this.redraw(); + } + /** + * triggered when an node is hidden + * @event + * @name hide_node.jstree + * @param {Object} node the hidden node + */ + this.trigger('hide_node', { 'node' : obj }); + } + }, + /** + * shows a node + * @name show_node(obj) + * @param {mixed} obj the node to show + * @param {Boolean} skip_redraw internal parameter controlling if redraw is called + * @trigger show_node.jstree + */ + show_node : function (obj, skip_redraw) { + var t1, t2; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.show_node(obj[t1], true); + } + if (!skip_redraw) { + this.redraw(); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + if(obj.state.hidden) { + obj.state.hidden = false; + this._node_changed(obj.parent); + if(!skip_redraw) { + this.redraw(); + } + /** + * triggered when an node is shown + * @event + * @name show_node.jstree + * @param {Object} node the shown node + */ + this.trigger('show_node', { 'node' : obj }); + } + }, + /** + * hides all nodes + * @name hide_all() + * @trigger hide_all.jstree + */ + hide_all : function (skip_redraw) { + var i, m = this._model.data, ids = []; + for(i in m) { + if(m.hasOwnProperty(i) && i !== $.jstree.root && !m[i].state.hidden) { + m[i].state.hidden = true; + ids.push(i); + } + } + this._model.force_full_redraw = true; + if(!skip_redraw) { + this.redraw(); + } + /** + * triggered when all nodes are hidden + * @event + * @name hide_all.jstree + * @param {Array} nodes the IDs of all hidden nodes + */ + this.trigger('hide_all', { 'nodes' : ids }); + return ids; + }, + /** + * shows all nodes + * @name show_all() + * @trigger show_all.jstree + */ + show_all : function (skip_redraw) { + var i, m = this._model.data, ids = []; + for(i in m) { + if(m.hasOwnProperty(i) && i !== $.jstree.root && m[i].state.hidden) { + m[i].state.hidden = false; + ids.push(i); + } + } + this._model.force_full_redraw = true; + if(!skip_redraw) { + this.redraw(); + } + /** + * triggered when all nodes are shown + * @event + * @name show_all.jstree + * @param {Array} nodes the IDs of all shown nodes + */ + this.trigger('show_all', { 'nodes' : ids }); + return ids; + }, + /** + * called when a node is selected by the user. Used internally. + * @private + * @name activate_node(obj, e) + * @param {mixed} obj the node + * @param {Object} e the related event + * @trigger activate_node.jstree, changed.jstree + */ + activate_node : function (obj, e) { + if(this.is_disabled(obj)) { + return false; + } + if(!e || typeof e !== 'object') { + e = {}; + } + + // ensure last_clicked is still in the DOM, make it fresh (maybe it was moved?) and make sure it is still selected, if not - make last_clicked the last selected node + this._data.core.last_clicked = this._data.core.last_clicked && this._data.core.last_clicked.id !== undefined ? this.get_node(this._data.core.last_clicked.id) : null; + if(this._data.core.last_clicked && !this._data.core.last_clicked.state.selected) { this._data.core.last_clicked = null; } + if(!this._data.core.last_clicked && this._data.core.selected.length) { this._data.core.last_clicked = this.get_node(this._data.core.selected[this._data.core.selected.length - 1]); } + + if(!this.settings.core.multiple || (!e.metaKey && !e.ctrlKey && !e.shiftKey) || (e.shiftKey && (!this._data.core.last_clicked || !this.get_parent(obj) || this.get_parent(obj) !== this._data.core.last_clicked.parent ) )) { + if(!this.settings.core.multiple && (e.metaKey || e.ctrlKey || e.shiftKey) && this.is_selected(obj)) { + this.deselect_node(obj, false, e); + } + else { + this.deselect_all(true); + this.select_node(obj, false, false, e); + this._data.core.last_clicked = this.get_node(obj); + } + } + else { + if(e.shiftKey) { + var o = this.get_node(obj).id, + l = this._data.core.last_clicked.id, + p = this.get_node(this._data.core.last_clicked.parent).children, + c = false, + i, j; + for(i = 0, j = p.length; i < j; i += 1) { + // separate IFs work whem o and l are the same + if(p[i] === o) { + c = !c; + } + if(p[i] === l) { + c = !c; + } + if(!this.is_disabled(p[i]) && (c || p[i] === o || p[i] === l)) { + if (!this.is_hidden(p[i])) { + this.select_node(p[i], true, false, e); + } + } + else { + this.deselect_node(p[i], true, e); + } + } + this.trigger('changed', { 'action' : 'select_node', 'node' : this.get_node(obj), 'selected' : this._data.core.selected, 'event' : e }); + } + else { + if(!this.is_selected(obj)) { + this.select_node(obj, false, false, e); + } + else { + this.deselect_node(obj, false, e); + } + } + } + /** + * triggered when an node is clicked or intercated with by the user + * @event + * @name activate_node.jstree + * @param {Object} node + * @param {Object} event the ooriginal event (if any) which triggered the call (may be an empty object) + */ + this.trigger('activate_node', { 'node' : this.get_node(obj), 'event' : e }); + }, + /** + * applies the hover state on a node, called when a node is hovered by the user. Used internally. + * @private + * @name hover_node(obj) + * @param {mixed} obj + * @trigger hover_node.jstree + */ + hover_node : function (obj) { + obj = this.get_node(obj, true); + if(!obj || !obj.length || obj.children('.jstree-hovered').length) { + return false; + } + var o = this.element.find('.jstree-hovered'), t = this.element; + if(o && o.length) { this.dehover_node(o); } + + obj.children('.jstree-anchor').addClass('jstree-hovered'); + /** + * triggered when an node is hovered + * @event + * @name hover_node.jstree + * @param {Object} node + */ + this.trigger('hover_node', { 'node' : this.get_node(obj) }); + setTimeout(function () { t.attr('aria-activedescendant', obj[0].id); }, 0); + }, + /** + * removes the hover state from a nodecalled when a node is no longer hovered by the user. Used internally. + * @private + * @name dehover_node(obj) + * @param {mixed} obj + * @trigger dehover_node.jstree + */ + dehover_node : function (obj) { + obj = this.get_node(obj, true); + if(!obj || !obj.length || !obj.children('.jstree-hovered').length) { + return false; + } + obj.children('.jstree-anchor').removeClass('jstree-hovered'); + /** + * triggered when an node is no longer hovered + * @event + * @name dehover_node.jstree + * @param {Object} node + */ + this.trigger('dehover_node', { 'node' : this.get_node(obj) }); + }, + /** + * select a node + * @name select_node(obj [, supress_event, prevent_open]) + * @param {mixed} obj an array can be used to select multiple nodes + * @param {Boolean} supress_event if set to `true` the `changed.jstree` event won't be triggered + * @param {Boolean} prevent_open if set to `true` parents of the selected node won't be opened + * @trigger select_node.jstree, changed.jstree + */ + select_node : function (obj, supress_event, prevent_open, e) { + var dom, t1, t2, th; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.select_node(obj[t1], supress_event, prevent_open, e); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + dom = this.get_node(obj, true); + if(!obj.state.selected) { + obj.state.selected = true; + this._data.core.selected.push(obj.id); + if(!prevent_open) { + dom = this._open_to(obj); + } + if(dom && dom.length) { + dom.attr('aria-selected', true).children('.jstree-anchor').addClass('jstree-clicked'); + } + /** + * triggered when an node is selected + * @event + * @name select_node.jstree + * @param {Object} node + * @param {Array} selected the current selection + * @param {Object} event the event (if any) that triggered this select_node + */ + this.trigger('select_node', { 'node' : obj, 'selected' : this._data.core.selected, 'event' : e }); + if(!supress_event) { + /** + * triggered when selection changes + * @event + * @name changed.jstree + * @param {Object} node + * @param {Object} action the action that caused the selection to change + * @param {Array} selected the current selection + * @param {Object} event the event (if any) that triggered this changed event + */ + this.trigger('changed', { 'action' : 'select_node', 'node' : obj, 'selected' : this._data.core.selected, 'event' : e }); + } + } + }, + /** + * deselect a node + * @name deselect_node(obj [, supress_event]) + * @param {mixed} obj an array can be used to deselect multiple nodes + * @param {Boolean} supress_event if set to `true` the `changed.jstree` event won't be triggered + * @trigger deselect_node.jstree, changed.jstree + */ + deselect_node : function (obj, supress_event, e) { + var t1, t2, dom; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.deselect_node(obj[t1], supress_event, e); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + dom = this.get_node(obj, true); + if(obj.state.selected) { + obj.state.selected = false; + this._data.core.selected = $.vakata.array_remove_item(this._data.core.selected, obj.id); + if(dom.length) { + dom.attr('aria-selected', false).children('.jstree-anchor').removeClass('jstree-clicked'); + } + /** + * triggered when an node is deselected + * @event + * @name deselect_node.jstree + * @param {Object} node + * @param {Array} selected the current selection + * @param {Object} event the event (if any) that triggered this deselect_node + */ + this.trigger('deselect_node', { 'node' : obj, 'selected' : this._data.core.selected, 'event' : e }); + if(!supress_event) { + this.trigger('changed', { 'action' : 'deselect_node', 'node' : obj, 'selected' : this._data.core.selected, 'event' : e }); + } + } + }, + /** + * select all nodes in the tree + * @name select_all([supress_event]) + * @param {Boolean} supress_event if set to `true` the `changed.jstree` event won't be triggered + * @trigger select_all.jstree, changed.jstree + */ + select_all : function (supress_event) { + var tmp = this._data.core.selected.concat([]), i, j; + this._data.core.selected = this._model.data[$.jstree.root].children_d.concat(); + for(i = 0, j = this._data.core.selected.length; i < j; i++) { + if(this._model.data[this._data.core.selected[i]]) { + this._model.data[this._data.core.selected[i]].state.selected = true; + } + } + this.redraw(true); + /** + * triggered when all nodes are selected + * @event + * @name select_all.jstree + * @param {Array} selected the current selection + */ + this.trigger('select_all', { 'selected' : this._data.core.selected }); + if(!supress_event) { + this.trigger('changed', { 'action' : 'select_all', 'selected' : this._data.core.selected, 'old_selection' : tmp }); + } + }, + /** + * deselect all selected nodes + * @name deselect_all([supress_event]) + * @param {Boolean} supress_event if set to `true` the `changed.jstree` event won't be triggered + * @trigger deselect_all.jstree, changed.jstree + */ + deselect_all : function (supress_event) { + var tmp = this._data.core.selected.concat([]), i, j; + for(i = 0, j = this._data.core.selected.length; i < j; i++) { + if(this._model.data[this._data.core.selected[i]]) { + this._model.data[this._data.core.selected[i]].state.selected = false; + } + } + this._data.core.selected = []; + this.element.find('.jstree-clicked').removeClass('jstree-clicked').parent().attr('aria-selected', false); + /** + * triggered when all nodes are deselected + * @event + * @name deselect_all.jstree + * @param {Object} node the previous selection + * @param {Array} selected the current selection + */ + this.trigger('deselect_all', { 'selected' : this._data.core.selected, 'node' : tmp }); + if(!supress_event) { + this.trigger('changed', { 'action' : 'deselect_all', 'selected' : this._data.core.selected, 'old_selection' : tmp }); + } + }, + /** + * checks if a node is selected + * @name is_selected(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_selected : function (obj) { + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + return obj.state.selected; + }, + /** + * get an array of all selected nodes + * @name get_selected([full]) + * @param {mixed} full if set to `true` the returned array will consist of the full node objects, otherwise - only IDs will be returned + * @return {Array} + */ + get_selected : function (full) { + return full ? $.map(this._data.core.selected, $.proxy(function (i) { return this.get_node(i); }, this)) : this._data.core.selected.slice(); + }, + /** + * get an array of all top level selected nodes (ignoring children of selected nodes) + * @name get_top_selected([full]) + * @param {mixed} full if set to `true` the returned array will consist of the full node objects, otherwise - only IDs will be returned + * @return {Array} + */ + get_top_selected : function (full) { + var tmp = this.get_selected(true), + obj = {}, i, j, k, l; + for(i = 0, j = tmp.length; i < j; i++) { + obj[tmp[i].id] = tmp[i]; + } + for(i = 0, j = tmp.length; i < j; i++) { + for(k = 0, l = tmp[i].children_d.length; k < l; k++) { + if(obj[tmp[i].children_d[k]]) { + delete obj[tmp[i].children_d[k]]; + } + } + } + tmp = []; + for(i in obj) { + if(obj.hasOwnProperty(i)) { + tmp.push(i); + } + } + return full ? $.map(tmp, $.proxy(function (i) { return this.get_node(i); }, this)) : tmp; + }, + /** + * get an array of all bottom level selected nodes (ignoring selected parents) + * @name get_bottom_selected([full]) + * @param {mixed} full if set to `true` the returned array will consist of the full node objects, otherwise - only IDs will be returned + * @return {Array} + */ + get_bottom_selected : function (full) { + var tmp = this.get_selected(true), + obj = [], i, j; + for(i = 0, j = tmp.length; i < j; i++) { + if(!tmp[i].children.length) { + obj.push(tmp[i].id); + } + } + return full ? $.map(obj, $.proxy(function (i) { return this.get_node(i); }, this)) : obj; + }, + /** + * gets the current state of the tree so that it can be restored later with `set_state(state)`. Used internally. + * @name get_state() + * @private + * @return {Object} + */ + get_state : function () { + var state = { + 'core' : { + 'open' : [], + 'scroll' : { + 'left' : this.element.scrollLeft(), + 'top' : this.element.scrollTop() + }, + /*! + 'themes' : { + 'name' : this.get_theme(), + 'icons' : this._data.core.themes.icons, + 'dots' : this._data.core.themes.dots + }, + */ + 'selected' : [] + } + }, i; + for(i in this._model.data) { + if(this._model.data.hasOwnProperty(i)) { + if(i !== $.jstree.root) { + if(this._model.data[i].state.opened) { + state.core.open.push(i); + } + if(this._model.data[i].state.selected) { + state.core.selected.push(i); + } + } + } + } + return state; + }, + /** + * sets the state of the tree. Used internally. + * @name set_state(state [, callback]) + * @private + * @param {Object} state the state to restore. Keep in mind this object is passed by reference and jstree will modify it. + * @param {Function} callback an optional function to execute once the state is restored. + * @trigger set_state.jstree + */ + set_state : function (state, callback) { + if(state) { + if(state.core) { + var res, n, t, _this, i; + if(state.core.open) { + if(!$.isArray(state.core.open) || !state.core.open.length) { + delete state.core.open; + this.set_state(state, callback); + } + else { + this._load_nodes(state.core.open, function (nodes) { + this.open_node(nodes, false, 0); + delete state.core.open; + this.set_state(state, callback); + }); + } + return false; + } + if(state.core.scroll) { + if(state.core.scroll && state.core.scroll.left !== undefined) { + this.element.scrollLeft(state.core.scroll.left); + } + if(state.core.scroll && state.core.scroll.top !== undefined) { + this.element.scrollTop(state.core.scroll.top); + } + delete state.core.scroll; + this.set_state(state, callback); + return false; + } + if(state.core.selected) { + _this = this; + this.deselect_all(); + $.each(state.core.selected, function (i, v) { + _this.select_node(v, false, true); + }); + delete state.core.selected; + this.set_state(state, callback); + return false; + } + for(i in state) { + if(state.hasOwnProperty(i) && i !== "core" && $.inArray(i, this.settings.plugins) === -1) { + delete state[i]; + } + } + if($.isEmptyObject(state.core)) { + delete state.core; + this.set_state(state, callback); + return false; + } + } + if($.isEmptyObject(state)) { + state = null; + if(callback) { callback.call(this); } + /** + * triggered when a `set_state` call completes + * @event + * @name set_state.jstree + */ + this.trigger('set_state'); + return false; + } + return true; + } + return false; + }, + /** + * refreshes the tree - all nodes are reloaded with calls to `load_node`. + * @name refresh() + * @param {Boolean} skip_loading an option to skip showing the loading indicator + * @param {Mixed} forget_state if set to `true` state will not be reapplied, if set to a function (receiving the current state as argument) the result of that function will be used as state + * @trigger refresh.jstree + */ + refresh : function (skip_loading, forget_state) { + this._data.core.state = forget_state === true ? {} : this.get_state(); + if(forget_state && $.isFunction(forget_state)) { this._data.core.state = forget_state.call(this, this._data.core.state); } + this._cnt = 0; + this._model.data = {}; + this._model.data[$.jstree.root] = { + id : $.jstree.root, + parent : null, + parents : [], + children : [], + children_d : [], + state : { loaded : false } + }; + this._data.core.selected = []; + this._data.core.last_clicked = null; + this._data.core.focused = null; + + var c = this.get_container_ul()[0].className; + if(!skip_loading) { + this.element.html("<"+"ul class='"+c+"' role='group'><"+"li class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='treeitem' id='j"+this._id+"_loading'><"+"a class='jstree-anchor' href='#'>" + this.get_string("Loading ...") + ""); + this.element.attr('aria-activedescendant','j'+this._id+'_loading'); + } + this.load_node($.jstree.root, function (o, s) { + if(s) { + this.get_container_ul()[0].className = c; + if(this._firstChild(this.get_container_ul()[0])) { + this.element.attr('aria-activedescendant',this._firstChild(this.get_container_ul()[0]).id); + } + this.set_state($.extend(true, {}, this._data.core.state), function () { + /** + * triggered when a `refresh` call completes + * @event + * @name refresh.jstree + */ + this.trigger('refresh'); + }); + } + this._data.core.state = null; + }); + }, + /** + * refreshes a node in the tree (reload its children) all opened nodes inside that node are reloaded with calls to `load_node`. + * @name refresh_node(obj) + * @param {mixed} obj the node + * @trigger refresh_node.jstree + */ + refresh_node : function (obj) { + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { return false; } + var opened = [], to_load = [], s = this._data.core.selected.concat([]); + to_load.push(obj.id); + if(obj.state.opened === true) { opened.push(obj.id); } + this.get_node(obj, true).find('.jstree-open').each(function() { to_load.push(this.id); opened.push(this.id); }); + this._load_nodes(to_load, $.proxy(function (nodes) { + this.open_node(opened, false, 0); + this.select_node(s); + /** + * triggered when a node is refreshed + * @event + * @name refresh_node.jstree + * @param {Object} node - the refreshed node + * @param {Array} nodes - an array of the IDs of the nodes that were reloaded + */ + this.trigger('refresh_node', { 'node' : obj, 'nodes' : nodes }); + }, this), false, true); + }, + /** + * set (change) the ID of a node + * @name set_id(obj, id) + * @param {mixed} obj the node + * @param {String} id the new ID + * @return {Boolean} + * @trigger set_id.jstree + */ + set_id : function (obj, id) { + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { return false; } + var i, j, m = this._model.data, old = obj.id; + id = id.toString(); + // update parents (replace current ID with new one in children and children_d) + m[obj.parent].children[$.inArray(obj.id, m[obj.parent].children)] = id; + for(i = 0, j = obj.parents.length; i < j; i++) { + m[obj.parents[i]].children_d[$.inArray(obj.id, m[obj.parents[i]].children_d)] = id; + } + // update children (replace current ID with new one in parent and parents) + for(i = 0, j = obj.children.length; i < j; i++) { + m[obj.children[i]].parent = id; + } + for(i = 0, j = obj.children_d.length; i < j; i++) { + m[obj.children_d[i]].parents[$.inArray(obj.id, m[obj.children_d[i]].parents)] = id; + } + i = $.inArray(obj.id, this._data.core.selected); + if(i !== -1) { this._data.core.selected[i] = id; } + // update model and obj itself (obj.id, this._model.data[KEY]) + i = this.get_node(obj.id, true); + if(i) { + i.attr('id', id); //.children('.jstree-anchor').attr('id', id + '_anchor').end().attr('aria-labelledby', id + '_anchor'); + if(this.element.attr('aria-activedescendant') === obj.id) { + this.element.attr('aria-activedescendant', id); + } + } + delete m[obj.id]; + obj.id = id; + obj.li_attr.id = id; + m[id] = obj; + /** + * triggered when a node id value is changed + * @event + * @name set_id.jstree + * @param {Object} node + * @param {String} old the old id + */ + this.trigger('set_id',{ "node" : obj, "new" : obj.id, "old" : old }); + return true; + }, + /** + * get the text value of a node + * @name get_text(obj) + * @param {mixed} obj the node + * @return {String} + */ + get_text : function (obj) { + obj = this.get_node(obj); + return (!obj || obj.id === $.jstree.root) ? false : obj.text; + }, + /** + * set the text value of a node. Used internally, please use `rename_node(obj, val)`. + * @private + * @name set_text(obj, val) + * @param {mixed} obj the node, you can pass an array to set the text on multiple nodes + * @param {String} val the new text value + * @return {Boolean} + * @trigger set_text.jstree + */ + set_text : function (obj, val) { + var t1, t2; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.set_text(obj[t1], val); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { return false; } + obj.text = val; + if(this.get_node(obj, true).length) { + this.redraw_node(obj.id); + } + /** + * triggered when a node text value is changed + * @event + * @name set_text.jstree + * @param {Object} obj + * @param {String} text the new value + */ + this.trigger('set_text',{ "obj" : obj, "text" : val }); + return true; + }, + /** + * gets a JSON representation of a node (or the whole tree) + * @name get_json([obj, options]) + * @param {mixed} obj + * @param {Object} options + * @param {Boolean} options.no_state do not return state information + * @param {Boolean} options.no_id do not return ID + * @param {Boolean} options.no_children do not include children + * @param {Boolean} options.no_data do not include node data + * @param {Boolean} options.no_li_attr do not include LI attributes + * @param {Boolean} options.no_a_attr do not include A attributes + * @param {Boolean} options.flat return flat JSON instead of nested + * @return {Object} + */ + get_json : function (obj, options, flat) { + obj = this.get_node(obj || $.jstree.root); + if(!obj) { return false; } + if(options && options.flat && !flat) { flat = []; } + var tmp = { + 'id' : obj.id, + 'text' : obj.text, + 'icon' : this.get_icon(obj), + 'li_attr' : $.extend(true, {}, obj.li_attr), + 'a_attr' : $.extend(true, {}, obj.a_attr), + 'state' : {}, + 'data' : options && options.no_data ? false : $.extend(true, {}, obj.data) + //( this.get_node(obj, true).length ? this.get_node(obj, true).data() : obj.data ), + }, i, j; + if(options && options.flat) { + tmp.parent = obj.parent; + } + else { + tmp.children = []; + } + if(!options || !options.no_state) { + for(i in obj.state) { + if(obj.state.hasOwnProperty(i)) { + tmp.state[i] = obj.state[i]; + } + } + } else { + delete tmp.state; + } + if(options && options.no_li_attr) { + delete tmp.li_attr; + } + if(options && options.no_a_attr) { + delete tmp.a_attr; + } + if(options && options.no_id) { + delete tmp.id; + if(tmp.li_attr && tmp.li_attr.id) { + delete tmp.li_attr.id; + } + if(tmp.a_attr && tmp.a_attr.id) { + delete tmp.a_attr.id; + } + } + if(options && options.flat && obj.id !== $.jstree.root) { + flat.push(tmp); + } + if(!options || !options.no_children) { + for(i = 0, j = obj.children.length; i < j; i++) { + if(options && options.flat) { + this.get_json(obj.children[i], options, flat); + } + else { + tmp.children.push(this.get_json(obj.children[i], options)); + } + } + } + return options && options.flat ? flat : (obj.id === $.jstree.root ? tmp.children : tmp); + }, + /** + * create a new node (do not confuse with load_node) + * @name create_node([par, node, pos, callback, is_loaded]) + * @param {mixed} par the parent node (to create a root node use either "#" (string) or `null`) + * @param {mixed} node the data for the new node (a valid JSON object, or a simple string with the name) + * @param {mixed} pos the index at which to insert the node, "first" and "last" are also supported, default is "last" + * @param {Function} callback a function to be called once the node is created + * @param {Boolean} is_loaded internal argument indicating if the parent node was succesfully loaded + * @return {String} the ID of the newly create node + * @trigger model.jstree, create_node.jstree + */ + create_node : function (par, node, pos, callback, is_loaded) { + if(par === null) { par = $.jstree.root; } + par = this.get_node(par); + if(!par) { return false; } + pos = pos === undefined ? "last" : pos; + if(!pos.toString().match(/^(before|after)$/) && !is_loaded && !this.is_loaded(par)) { + return this.load_node(par, function () { this.create_node(par, node, pos, callback, true); }); + } + if(!node) { node = { "text" : this.get_string('New node') }; } + if(typeof node === "string") { node = { "text" : node }; } + if(node.text === undefined) { node.text = this.get_string('New node'); } + var tmp, dpc, i, j; + + if(par.id === $.jstree.root) { + if(pos === "before") { pos = "first"; } + if(pos === "after") { pos = "last"; } + } + switch(pos) { + case "before": + tmp = this.get_node(par.parent); + pos = $.inArray(par.id, tmp.children); + par = tmp; + break; + case "after" : + tmp = this.get_node(par.parent); + pos = $.inArray(par.id, tmp.children) + 1; + par = tmp; + break; + case "inside": + case "first": + pos = 0; + break; + case "last": + pos = par.children.length; + break; + default: + if(!pos) { pos = 0; } + break; + } + if(pos > par.children.length) { pos = par.children.length; } + if(!node.id) { node.id = true; } + if(!this.check("create_node", node, par, pos)) { + this.settings.core.error.call(this, this._data.core.last_error); + return false; + } + if(node.id === true) { delete node.id; } + node = this._parse_model_from_json(node, par.id, par.parents.concat()); + if(!node) { return false; } + tmp = this.get_node(node); + dpc = []; + dpc.push(node); + dpc = dpc.concat(tmp.children_d); + this.trigger('model', { "nodes" : dpc, "parent" : par.id }); + + par.children_d = par.children_d.concat(dpc); + for(i = 0, j = par.parents.length; i < j; i++) { + this._model.data[par.parents[i]].children_d = this._model.data[par.parents[i]].children_d.concat(dpc); + } + node = tmp; + tmp = []; + for(i = 0, j = par.children.length; i < j; i++) { + tmp[i >= pos ? i+1 : i] = par.children[i]; + } + tmp[pos] = node.id; + par.children = tmp; + + this.redraw_node(par, true); + if(callback) { callback.call(this, this.get_node(node)); } + /** + * triggered when a node is created + * @event + * @name create_node.jstree + * @param {Object} node + * @param {String} parent the parent's ID + * @param {Number} position the position of the new node among the parent's children + */ + this.trigger('create_node', { "node" : this.get_node(node), "parent" : par.id, "position" : pos }); + return node.id; + }, + /** + * set the text value of a node + * @name rename_node(obj, val) + * @param {mixed} obj the node, you can pass an array to rename multiple nodes to the same name + * @param {String} val the new text value + * @return {Boolean} + * @trigger rename_node.jstree + */ + rename_node : function (obj, val) { + var t1, t2, old; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.rename_node(obj[t1], val); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { return false; } + old = obj.text; + if(!this.check("rename_node", obj, this.get_parent(obj), val)) { + this.settings.core.error.call(this, this._data.core.last_error); + return false; + } + this.set_text(obj, val); // .apply(this, Array.prototype.slice.call(arguments)) + /** + * triggered when a node is renamed + * @event + * @name rename_node.jstree + * @param {Object} node + * @param {String} text the new value + * @param {String} old the old value + */ + this.trigger('rename_node', { "node" : obj, "text" : val, "old" : old }); + return true; + }, + /** + * remove a node + * @name delete_node(obj) + * @param {mixed} obj the node, you can pass an array to delete multiple nodes + * @return {Boolean} + * @trigger delete_node.jstree, changed.jstree + */ + delete_node : function (obj) { + var t1, t2, par, pos, tmp, i, j, k, l, c, top, lft; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.delete_node(obj[t1]); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { return false; } + par = this.get_node(obj.parent); + pos = $.inArray(obj.id, par.children); + c = false; + if(!this.check("delete_node", obj, par, pos)) { + this.settings.core.error.call(this, this._data.core.last_error); + return false; + } + if(pos !== -1) { + par.children = $.vakata.array_remove(par.children, pos); + } + tmp = obj.children_d.concat([]); + tmp.push(obj.id); + for(i = 0, j = obj.parents.length; i < j; i++) { + this._model.data[obj.parents[i]].children_d = $.vakata.array_filter(this._model.data[obj.parents[i]].children_d, function (v) { + return $.inArray(v, tmp) === -1; + }); + } + for(k = 0, l = tmp.length; k < l; k++) { + if(this._model.data[tmp[k]].state.selected) { + c = true; + break; + } + } + if (c) { + this._data.core.selected = $.vakata.array_filter(this._data.core.selected, function (v) { + return $.inArray(v, tmp) === -1; + }); + } + /** + * triggered when a node is deleted + * @event + * @name delete_node.jstree + * @param {Object} node + * @param {String} parent the parent's ID + */ + this.trigger('delete_node', { "node" : obj, "parent" : par.id }); + if(c) { + this.trigger('changed', { 'action' : 'delete_node', 'node' : obj, 'selected' : this._data.core.selected, 'parent' : par.id }); + } + for(k = 0, l = tmp.length; k < l; k++) { + delete this._model.data[tmp[k]]; + } + if($.inArray(this._data.core.focused, tmp) !== -1) { + this._data.core.focused = null; + top = this.element[0].scrollTop; + lft = this.element[0].scrollLeft; + if(par.id === $.jstree.root) { + if (this._model.data[$.jstree.root].children[0]) { + this.get_node(this._model.data[$.jstree.root].children[0], true).children('.jstree-anchor').focus(); + } + } + else { + this.get_node(par, true).children('.jstree-anchor').focus(); + } + this.element[0].scrollTop = top; + this.element[0].scrollLeft = lft; + } + this.redraw_node(par, true); + return true; + }, + /** + * check if an operation is premitted on the tree. Used internally. + * @private + * @name check(chk, obj, par, pos) + * @param {String} chk the operation to check, can be "create_node", "rename_node", "delete_node", "copy_node" or "move_node" + * @param {mixed} obj the node + * @param {mixed} par the parent + * @param {mixed} pos the position to insert at, or if "rename_node" - the new name + * @param {mixed} more some various additional information, for example if a "move_node" operations is triggered by DND this will be the hovered node + * @return {Boolean} + */ + check : function (chk, obj, par, pos, more) { + obj = obj && obj.id ? obj : this.get_node(obj); + par = par && par.id ? par : this.get_node(par); + var tmp = chk.match(/^move_node|copy_node|create_node$/i) ? par : obj, + chc = this.settings.core.check_callback; + if(chk === "move_node" || chk === "copy_node") { + if((!more || !more.is_multi) && (obj.id === par.id || (chk === "move_node" && $.inArray(obj.id, par.children) === pos) || $.inArray(par.id, obj.children_d) !== -1)) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'core', 'id' : 'core_01', 'reason' : 'Moving parent inside child', 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + return false; + } + } + if(tmp && tmp.data) { tmp = tmp.data; } + if(tmp && tmp.functions && (tmp.functions[chk] === false || tmp.functions[chk] === true)) { + if(tmp.functions[chk] === false) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'core', 'id' : 'core_02', 'reason' : 'Node data prevents function: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + } + return tmp.functions[chk]; + } + if(chc === false || ($.isFunction(chc) && chc.call(this, chk, obj, par, pos, more) === false) || (chc && chc[chk] === false)) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'core', 'id' : 'core_03', 'reason' : 'User config for core.check_callback prevents function: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + return false; + } + return true; + }, + /** + * get the last error + * @name last_error() + * @return {Object} + */ + last_error : function () { + return this._data.core.last_error; + }, + /** + * move a node to a new parent + * @name move_node(obj, par [, pos, callback, is_loaded]) + * @param {mixed} obj the node to move, pass an array to move multiple nodes + * @param {mixed} par the new parent + * @param {mixed} pos the position to insert at (besides integer values, "first" and "last" are supported, as well as "before" and "after"), defaults to integer `0` + * @param {function} callback a function to call once the move is completed, receives 3 arguments - the node, the new parent and the position + * @param {Boolean} is_loaded internal parameter indicating if the parent node has been loaded + * @param {Boolean} skip_redraw internal parameter indicating if the tree should be redrawn + * @param {Boolean} instance internal parameter indicating if the node comes from another instance + * @trigger move_node.jstree + */ + move_node : function (obj, par, pos, callback, is_loaded, skip_redraw, origin) { + var t1, t2, old_par, old_pos, new_par, old_ins, is_multi, dpc, tmp, i, j, k, l, p; + + par = this.get_node(par); + pos = pos === undefined ? 0 : pos; + if(!par) { return false; } + if(!pos.toString().match(/^(before|after)$/) && !is_loaded && !this.is_loaded(par)) { + return this.load_node(par, function () { this.move_node(obj, par, pos, callback, true, false, origin); }); + } + + if($.isArray(obj)) { + if(obj.length === 1) { + obj = obj[0]; + } + else { + //obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + if((tmp = this.move_node(obj[t1], par, pos, callback, is_loaded, false, origin))) { + par = tmp; + pos = "after"; + } + } + this.redraw(); + return true; + } + } + obj = obj && obj.id ? obj : this.get_node(obj); + + if(!obj || obj.id === $.jstree.root) { return false; } + + old_par = (obj.parent || $.jstree.root).toString(); + new_par = (!pos.toString().match(/^(before|after)$/) || par.id === $.jstree.root) ? par : this.get_node(par.parent); + old_ins = origin ? origin : (this._model.data[obj.id] ? this : $.jstree.reference(obj.id)); + is_multi = !old_ins || !old_ins._id || (this._id !== old_ins._id); + old_pos = old_ins && old_ins._id && old_par && old_ins._model.data[old_par] && old_ins._model.data[old_par].children ? $.inArray(obj.id, old_ins._model.data[old_par].children) : -1; + if(old_ins && old_ins._id) { + obj = old_ins._model.data[obj.id]; + } + + if(is_multi) { + if((tmp = this.copy_node(obj, par, pos, callback, is_loaded, false, origin))) { + if(old_ins) { old_ins.delete_node(obj); } + return tmp; + } + return false; + } + //var m = this._model.data; + if(par.id === $.jstree.root) { + if(pos === "before") { pos = "first"; } + if(pos === "after") { pos = "last"; } + } + switch(pos) { + case "before": + pos = $.inArray(par.id, new_par.children); + break; + case "after" : + pos = $.inArray(par.id, new_par.children) + 1; + break; + case "inside": + case "first": + pos = 0; + break; + case "last": + pos = new_par.children.length; + break; + default: + if(!pos) { pos = 0; } + break; + } + if(pos > new_par.children.length) { pos = new_par.children.length; } + if(!this.check("move_node", obj, new_par, pos, { 'core' : true, 'origin' : origin, 'is_multi' : (old_ins && old_ins._id && old_ins._id !== this._id), 'is_foreign' : (!old_ins || !old_ins._id) })) { + this.settings.core.error.call(this, this._data.core.last_error); + return false; + } + if(obj.parent === new_par.id) { + dpc = new_par.children.concat(); + tmp = $.inArray(obj.id, dpc); + if(tmp !== -1) { + dpc = $.vakata.array_remove(dpc, tmp); + if(pos > tmp) { pos--; } + } + tmp = []; + for(i = 0, j = dpc.length; i < j; i++) { + tmp[i >= pos ? i+1 : i] = dpc[i]; + } + tmp[pos] = obj.id; + new_par.children = tmp; + this._node_changed(new_par.id); + this.redraw(new_par.id === $.jstree.root); + } + else { + // clean old parent and up + tmp = obj.children_d.concat(); + tmp.push(obj.id); + for(i = 0, j = obj.parents.length; i < j; i++) { + dpc = []; + p = old_ins._model.data[obj.parents[i]].children_d; + for(k = 0, l = p.length; k < l; k++) { + if($.inArray(p[k], tmp) === -1) { + dpc.push(p[k]); + } + } + old_ins._model.data[obj.parents[i]].children_d = dpc; + } + old_ins._model.data[old_par].children = $.vakata.array_remove_item(old_ins._model.data[old_par].children, obj.id); + + // insert into new parent and up + for(i = 0, j = new_par.parents.length; i < j; i++) { + this._model.data[new_par.parents[i]].children_d = this._model.data[new_par.parents[i]].children_d.concat(tmp); + } + dpc = []; + for(i = 0, j = new_par.children.length; i < j; i++) { + dpc[i >= pos ? i+1 : i] = new_par.children[i]; + } + dpc[pos] = obj.id; + new_par.children = dpc; + new_par.children_d.push(obj.id); + new_par.children_d = new_par.children_d.concat(obj.children_d); + + // update object + obj.parent = new_par.id; + tmp = new_par.parents.concat(); + tmp.unshift(new_par.id); + p = obj.parents.length; + obj.parents = tmp; + + // update object children + tmp = tmp.concat(); + for(i = 0, j = obj.children_d.length; i < j; i++) { + this._model.data[obj.children_d[i]].parents = this._model.data[obj.children_d[i]].parents.slice(0,p*-1); + Array.prototype.push.apply(this._model.data[obj.children_d[i]].parents, tmp); + } + + if(old_par === $.jstree.root || new_par.id === $.jstree.root) { + this._model.force_full_redraw = true; + } + if(!this._model.force_full_redraw) { + this._node_changed(old_par); + this._node_changed(new_par.id); + } + if(!skip_redraw) { + this.redraw(); + } + } + if(callback) { callback.call(this, obj, new_par, pos); } + /** + * triggered when a node is moved + * @event + * @name move_node.jstree + * @param {Object} node + * @param {String} parent the parent's ID + * @param {Number} position the position of the node among the parent's children + * @param {String} old_parent the old parent of the node + * @param {Number} old_position the old position of the node + * @param {Boolean} is_multi do the node and new parent belong to different instances + * @param {jsTree} old_instance the instance the node came from + * @param {jsTree} new_instance the instance of the new parent + */ + this.trigger('move_node', { "node" : obj, "parent" : new_par.id, "position" : pos, "old_parent" : old_par, "old_position" : old_pos, 'is_multi' : (old_ins && old_ins._id && old_ins._id !== this._id), 'is_foreign' : (!old_ins || !old_ins._id), 'old_instance' : old_ins, 'new_instance' : this }); + return obj.id; + }, + /** + * copy a node to a new parent + * @name copy_node(obj, par [, pos, callback, is_loaded]) + * @param {mixed} obj the node to copy, pass an array to copy multiple nodes + * @param {mixed} par the new parent + * @param {mixed} pos the position to insert at (besides integer values, "first" and "last" are supported, as well as "before" and "after"), defaults to integer `0` + * @param {function} callback a function to call once the move is completed, receives 3 arguments - the node, the new parent and the position + * @param {Boolean} is_loaded internal parameter indicating if the parent node has been loaded + * @param {Boolean} skip_redraw internal parameter indicating if the tree should be redrawn + * @param {Boolean} instance internal parameter indicating if the node comes from another instance + * @trigger model.jstree copy_node.jstree + */ + copy_node : function (obj, par, pos, callback, is_loaded, skip_redraw, origin) { + var t1, t2, dpc, tmp, i, j, node, old_par, new_par, old_ins, is_multi; + + par = this.get_node(par); + pos = pos === undefined ? 0 : pos; + if(!par) { return false; } + if(!pos.toString().match(/^(before|after)$/) && !is_loaded && !this.is_loaded(par)) { + return this.load_node(par, function () { this.copy_node(obj, par, pos, callback, true, false, origin); }); + } + + if($.isArray(obj)) { + if(obj.length === 1) { + obj = obj[0]; + } + else { + //obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + if((tmp = this.copy_node(obj[t1], par, pos, callback, is_loaded, true, origin))) { + par = tmp; + pos = "after"; + } + } + this.redraw(); + return true; + } + } + obj = obj && obj.id ? obj : this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { return false; } + + old_par = (obj.parent || $.jstree.root).toString(); + new_par = (!pos.toString().match(/^(before|after)$/) || par.id === $.jstree.root) ? par : this.get_node(par.parent); + old_ins = origin ? origin : (this._model.data[obj.id] ? this : $.jstree.reference(obj.id)); + is_multi = !old_ins || !old_ins._id || (this._id !== old_ins._id); + + if(old_ins && old_ins._id) { + obj = old_ins._model.data[obj.id]; + } + + if(par.id === $.jstree.root) { + if(pos === "before") { pos = "first"; } + if(pos === "after") { pos = "last"; } + } + switch(pos) { + case "before": + pos = $.inArray(par.id, new_par.children); + break; + case "after" : + pos = $.inArray(par.id, new_par.children) + 1; + break; + case "inside": + case "first": + pos = 0; + break; + case "last": + pos = new_par.children.length; + break; + default: + if(!pos) { pos = 0; } + break; + } + if(pos > new_par.children.length) { pos = new_par.children.length; } + if(!this.check("copy_node", obj, new_par, pos, { 'core' : true, 'origin' : origin, 'is_multi' : (old_ins && old_ins._id && old_ins._id !== this._id), 'is_foreign' : (!old_ins || !old_ins._id) })) { + this.settings.core.error.call(this, this._data.core.last_error); + return false; + } + node = old_ins ? old_ins.get_json(obj, { no_id : true, no_data : true, no_state : true }) : obj; + if(!node) { return false; } + if(node.id === true) { delete node.id; } + node = this._parse_model_from_json(node, new_par.id, new_par.parents.concat()); + if(!node) { return false; } + tmp = this.get_node(node); + if(obj && obj.state && obj.state.loaded === false) { tmp.state.loaded = false; } + dpc = []; + dpc.push(node); + dpc = dpc.concat(tmp.children_d); + this.trigger('model', { "nodes" : dpc, "parent" : new_par.id }); + + // insert into new parent and up + for(i = 0, j = new_par.parents.length; i < j; i++) { + this._model.data[new_par.parents[i]].children_d = this._model.data[new_par.parents[i]].children_d.concat(dpc); + } + dpc = []; + for(i = 0, j = new_par.children.length; i < j; i++) { + dpc[i >= pos ? i+1 : i] = new_par.children[i]; + } + dpc[pos] = tmp.id; + new_par.children = dpc; + new_par.children_d.push(tmp.id); + new_par.children_d = new_par.children_d.concat(tmp.children_d); + + if(new_par.id === $.jstree.root) { + this._model.force_full_redraw = true; + } + if(!this._model.force_full_redraw) { + this._node_changed(new_par.id); + } + if(!skip_redraw) { + this.redraw(new_par.id === $.jstree.root); + } + if(callback) { callback.call(this, tmp, new_par, pos); } + /** + * triggered when a node is copied + * @event + * @name copy_node.jstree + * @param {Object} node the copied node + * @param {Object} original the original node + * @param {String} parent the parent's ID + * @param {Number} position the position of the node among the parent's children + * @param {String} old_parent the old parent of the node + * @param {Number} old_position the position of the original node + * @param {Boolean} is_multi do the node and new parent belong to different instances + * @param {jsTree} old_instance the instance the node came from + * @param {jsTree} new_instance the instance of the new parent + */ + this.trigger('copy_node', { "node" : tmp, "original" : obj, "parent" : new_par.id, "position" : pos, "old_parent" : old_par, "old_position" : old_ins && old_ins._id && old_par && old_ins._model.data[old_par] && old_ins._model.data[old_par].children ? $.inArray(obj.id, old_ins._model.data[old_par].children) : -1,'is_multi' : (old_ins && old_ins._id && old_ins._id !== this._id), 'is_foreign' : (!old_ins || !old_ins._id), 'old_instance' : old_ins, 'new_instance' : this }); + return tmp.id; + }, + /** + * cut a node (a later call to `paste(obj)` would move the node) + * @name cut(obj) + * @param {mixed} obj multiple objects can be passed using an array + * @trigger cut.jstree + */ + cut : function (obj) { + if(!obj) { obj = this._data.core.selected.concat(); } + if(!$.isArray(obj)) { obj = [obj]; } + if(!obj.length) { return false; } + var tmp = [], o, t1, t2; + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + o = this.get_node(obj[t1]); + if(o && o.id && o.id !== $.jstree.root) { tmp.push(o); } + } + if(!tmp.length) { return false; } + ccp_node = tmp; + ccp_inst = this; + ccp_mode = 'move_node'; + /** + * triggered when nodes are added to the buffer for moving + * @event + * @name cut.jstree + * @param {Array} node + */ + this.trigger('cut', { "node" : obj }); + }, + /** + * copy a node (a later call to `paste(obj)` would copy the node) + * @name copy(obj) + * @param {mixed} obj multiple objects can be passed using an array + * @trigger copy.jstree + */ + copy : function (obj) { + if(!obj) { obj = this._data.core.selected.concat(); } + if(!$.isArray(obj)) { obj = [obj]; } + if(!obj.length) { return false; } + var tmp = [], o, t1, t2; + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + o = this.get_node(obj[t1]); + if(o && o.id && o.id !== $.jstree.root) { tmp.push(o); } + } + if(!tmp.length) { return false; } + ccp_node = tmp; + ccp_inst = this; + ccp_mode = 'copy_node'; + /** + * triggered when nodes are added to the buffer for copying + * @event + * @name copy.jstree + * @param {Array} node + */ + this.trigger('copy', { "node" : obj }); + }, + /** + * get the current buffer (any nodes that are waiting for a paste operation) + * @name get_buffer() + * @return {Object} an object consisting of `mode` ("copy_node" or "move_node"), `node` (an array of objects) and `inst` (the instance) + */ + get_buffer : function () { + return { 'mode' : ccp_mode, 'node' : ccp_node, 'inst' : ccp_inst }; + }, + /** + * check if there is something in the buffer to paste + * @name can_paste() + * @return {Boolean} + */ + can_paste : function () { + return ccp_mode !== false && ccp_node !== false; // && ccp_inst._model.data[ccp_node]; + }, + /** + * copy or move the previously cut or copied nodes to a new parent + * @name paste(obj [, pos]) + * @param {mixed} obj the new parent + * @param {mixed} pos the position to insert at (besides integer, "first" and "last" are supported), defaults to integer `0` + * @trigger paste.jstree + */ + paste : function (obj, pos) { + obj = this.get_node(obj); + if(!obj || !ccp_mode || !ccp_mode.match(/^(copy_node|move_node)$/) || !ccp_node) { return false; } + if(this[ccp_mode](ccp_node, obj, pos, false, false, false, ccp_inst)) { + /** + * triggered when paste is invoked + * @event + * @name paste.jstree + * @param {String} parent the ID of the receiving node + * @param {Array} node the nodes in the buffer + * @param {String} mode the performed operation - "copy_node" or "move_node" + */ + this.trigger('paste', { "parent" : obj.id, "node" : ccp_node, "mode" : ccp_mode }); + } + ccp_node = false; + ccp_mode = false; + ccp_inst = false; + }, + /** + * clear the buffer of previously copied or cut nodes + * @name clear_buffer() + * @trigger clear_buffer.jstree + */ + clear_buffer : function () { + ccp_node = false; + ccp_mode = false; + ccp_inst = false; + /** + * triggered when the copy / cut buffer is cleared + * @event + * @name clear_buffer.jstree + */ + this.trigger('clear_buffer'); + }, + /** + * put a node in edit mode (input field to rename the node) + * @name edit(obj [, default_text, callback]) + * @param {mixed} obj + * @param {String} default_text the text to populate the input with (if omitted or set to a non-string value the node's text value is used) + * @param {Function} callback a function to be called once the text box is blurred, it is called in the instance's scope and receives the node, a status parameter (true if the rename is successful, false otherwise) and a boolean indicating if the user cancelled the edit. You can access the node's title using .text + */ + edit : function (obj, default_text, callback) { + var rtl, w, a, s, t, h1, h2, fn, tmp, cancel = false; + obj = this.get_node(obj); + if(!obj) { return false; } + if(this.settings.core.check_callback === false) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'core', 'id' : 'core_07', 'reason' : 'Could not edit node because of check_callback' }; + this.settings.core.error.call(this, this._data.core.last_error); + return false; + } + tmp = obj; + default_text = typeof default_text === 'string' ? default_text : obj.text; + this.set_text(obj, ""); + obj = this._open_to(obj); + tmp.text = default_text; + + rtl = this._data.core.rtl; + w = this.element.width(); + this._data.core.focused = tmp.id; + a = obj.children('.jstree-anchor').focus(); + s = $(''); + /*! + oi = obj.children("i:visible"), + ai = a.children("i:visible"), + w1 = oi.width() * oi.length, + w2 = ai.width() * ai.length, + */ + t = default_text; + h1 = $("<"+"div />", { css : { "position" : "absolute", "top" : "-200px", "left" : (rtl ? "0px" : "-1000px"), "visibility" : "hidden" } }).appendTo("body"); + h2 = $("<"+"input />", { + "value" : t, + "class" : "jstree-rename-input", + // "size" : t.length, + "css" : { + "padding" : "0", + "border" : "1px solid silver", + "box-sizing" : "border-box", + "display" : "inline-block", + "height" : (this._data.core.li_height) + "px", + "lineHeight" : (this._data.core.li_height) + "px", + "width" : "150px" // will be set a bit further down + }, + "blur" : $.proxy(function (e) { + e.stopImmediatePropagation(); + e.preventDefault(); + var i = s.children(".jstree-rename-input"), + v = i.val(), + f = this.settings.core.force_text, + nv; + if(v === "") { v = t; } + h1.remove(); + s.replaceWith(a); + s.remove(); + t = f ? t : $('
          ').append($.parseHTML(t)).html(); + this.set_text(obj, t); + nv = !!this.rename_node(obj, f ? $('
          ').text(v).text() : $('
          ').append($.parseHTML(v)).html()); + if(!nv) { + this.set_text(obj, t); // move this up? and fix #483 + } + this._data.core.focused = tmp.id; + setTimeout($.proxy(function () { + var node = this.get_node(tmp.id, true); + if(node.length) { + this._data.core.focused = tmp.id; + node.children('.jstree-anchor').focus(); + } + }, this), 0); + if(callback) { + callback.call(this, tmp, nv, cancel); + } + h2 = null; + }, this), + "keydown" : function (e) { + var key = e.which; + if(key === 27) { + cancel = true; + this.value = t; + } + if(key === 27 || key === 13 || key === 37 || key === 38 || key === 39 || key === 40 || key === 32) { + e.stopImmediatePropagation(); + } + if(key === 27 || key === 13) { + e.preventDefault(); + this.blur(); + } + }, + "click" : function (e) { e.stopImmediatePropagation(); }, + "mousedown" : function (e) { e.stopImmediatePropagation(); }, + "keyup" : function (e) { + h2.width(Math.min(h1.text("pW" + this.value).width(),w)); + }, + "keypress" : function(e) { + if(e.which === 13) { return false; } + } + }); + fn = { + fontFamily : a.css('fontFamily') || '', + fontSize : a.css('fontSize') || '', + fontWeight : a.css('fontWeight') || '', + fontStyle : a.css('fontStyle') || '', + fontStretch : a.css('fontStretch') || '', + fontVariant : a.css('fontVariant') || '', + letterSpacing : a.css('letterSpacing') || '', + wordSpacing : a.css('wordSpacing') || '' + }; + s.attr('class', a.attr('class')).append(a.contents().clone()).append(h2); + a.replaceWith(s); + h1.css(fn); + h2.css(fn).width(Math.min(h1.text("pW" + h2[0].value).width(),w))[0].select(); + $(document).one('mousedown.jstree touchstart.jstree dnd_start.vakata', function (e) { + if (h2 && e.target !== h2) { + $(h2).blur(); + } + }); + }, + + + /** + * changes the theme + * @name set_theme(theme_name [, theme_url]) + * @param {String} theme_name the name of the new theme to apply + * @param {mixed} theme_url the location of the CSS file for this theme. Omit or set to `false` if you manually included the file. Set to `true` to autoload from the `core.themes.dir` directory. + * @trigger set_theme.jstree + */ + set_theme : function (theme_name, theme_url) { + if(!theme_name) { return false; } + if(theme_url === true) { + var dir = this.settings.core.themes.dir; + if(!dir) { dir = $.jstree.path + '/themes'; } + theme_url = dir + '/' + theme_name + '/style.css'; + } + if(theme_url && $.inArray(theme_url, themes_loaded) === -1) { + $('head').append('<'+'link rel="stylesheet" href="' + theme_url + '" type="text/css" />'); + themes_loaded.push(theme_url); + } + if(this._data.core.themes.name) { + this.element.removeClass('jstree-' + this._data.core.themes.name); + } + this._data.core.themes.name = theme_name; + this.element.addClass('jstree-' + theme_name); + this.element[this.settings.core.themes.responsive ? 'addClass' : 'removeClass' ]('jstree-' + theme_name + '-responsive'); + /** + * triggered when a theme is set + * @event + * @name set_theme.jstree + * @param {String} theme the new theme + */ + this.trigger('set_theme', { 'theme' : theme_name }); + }, + /** + * gets the name of the currently applied theme name + * @name get_theme() + * @return {String} + */ + get_theme : function () { return this._data.core.themes.name; }, + /** + * changes the theme variant (if the theme has variants) + * @name set_theme_variant(variant_name) + * @param {String|Boolean} variant_name the variant to apply (if `false` is used the current variant is removed) + */ + set_theme_variant : function (variant_name) { + if(this._data.core.themes.variant) { + this.element.removeClass('jstree-' + this._data.core.themes.name + '-' + this._data.core.themes.variant); + } + this._data.core.themes.variant = variant_name; + if(variant_name) { + this.element.addClass('jstree-' + this._data.core.themes.name + '-' + this._data.core.themes.variant); + } + }, + /** + * gets the name of the currently applied theme variant + * @name get_theme() + * @return {String} + */ + get_theme_variant : function () { return this._data.core.themes.variant; }, + /** + * shows a striped background on the container (if the theme supports it) + * @name show_stripes() + */ + show_stripes : function () { + this._data.core.themes.stripes = true; + this.get_container_ul().addClass("jstree-striped"); + /** + * triggered when stripes are shown + * @event + * @name show_stripes.jstree + */ + this.trigger('show_stripes'); + }, + /** + * hides the striped background on the container + * @name hide_stripes() + */ + hide_stripes : function () { + this._data.core.themes.stripes = false; + this.get_container_ul().removeClass("jstree-striped"); + /** + * triggered when stripes are hidden + * @event + * @name hide_stripes.jstree + */ + this.trigger('hide_stripes'); + }, + /** + * toggles the striped background on the container + * @name toggle_stripes() + */ + toggle_stripes : function () { if(this._data.core.themes.stripes) { this.hide_stripes(); } else { this.show_stripes(); } }, + /** + * shows the connecting dots (if the theme supports it) + * @name show_dots() + */ + show_dots : function () { + this._data.core.themes.dots = true; + this.get_container_ul().removeClass("jstree-no-dots"); + /** + * triggered when dots are shown + * @event + * @name show_dots.jstree + */ + this.trigger('show_dots'); + }, + /** + * hides the connecting dots + * @name hide_dots() + */ + hide_dots : function () { + this._data.core.themes.dots = false; + this.get_container_ul().addClass("jstree-no-dots"); + /** + * triggered when dots are hidden + * @event + * @name hide_dots.jstree + */ + this.trigger('hide_dots'); + }, + /** + * toggles the connecting dots + * @name toggle_dots() + */ + toggle_dots : function () { if(this._data.core.themes.dots) { this.hide_dots(); } else { this.show_dots(); } }, + /** + * show the node icons + * @name show_icons() + */ + show_icons : function () { + this._data.core.themes.icons = true; + this.get_container_ul().removeClass("jstree-no-icons"); + /** + * triggered when icons are shown + * @event + * @name show_icons.jstree + */ + this.trigger('show_icons'); + }, + /** + * hide the node icons + * @name hide_icons() + */ + hide_icons : function () { + this._data.core.themes.icons = false; + this.get_container_ul().addClass("jstree-no-icons"); + /** + * triggered when icons are hidden + * @event + * @name hide_icons.jstree + */ + this.trigger('hide_icons'); + }, + /** + * toggle the node icons + * @name toggle_icons() + */ + toggle_icons : function () { if(this._data.core.themes.icons) { this.hide_icons(); } else { this.show_icons(); } }, + /** + * show the node ellipsis + * @name show_icons() + */ + show_ellipsis : function () { + this._data.core.themes.ellipsis = true; + this.get_container_ul().addClass("jstree-ellipsis"); + /** + * triggered when ellisis is shown + * @event + * @name show_ellipsis.jstree + */ + this.trigger('show_ellipsis'); + }, + /** + * hide the node ellipsis + * @name hide_ellipsis() + */ + hide_ellipsis : function () { + this._data.core.themes.ellipsis = false; + this.get_container_ul().removeClass("jstree-ellipsis"); + /** + * triggered when ellisis is hidden + * @event + * @name hide_ellipsis.jstree + */ + this.trigger('hide_ellipsis'); + }, + /** + * toggle the node ellipsis + * @name toggle_icons() + */ + toggle_ellipsis : function () { if(this._data.core.themes.ellipsis) { this.hide_ellipsis(); } else { this.show_ellipsis(); } }, + /** + * set the node icon for a node + * @name set_icon(obj, icon) + * @param {mixed} obj + * @param {String} icon the new icon - can be a path to an icon or a className, if using an image that is in the current directory use a `./` prefix, otherwise it will be detected as a class + */ + set_icon : function (obj, icon) { + var t1, t2, dom, old; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.set_icon(obj[t1], icon); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { return false; } + old = obj.icon; + obj.icon = icon === true || icon === null || icon === undefined || icon === '' ? true : icon; + dom = this.get_node(obj, true).children(".jstree-anchor").children(".jstree-themeicon"); + if(icon === false) { + this.hide_icon(obj); + } + else if(icon === true || icon === null || icon === undefined || icon === '') { + dom.removeClass('jstree-themeicon-custom ' + old).css("background","").removeAttr("rel"); + if(old === false) { this.show_icon(obj); } + } + else if(icon.indexOf("/") === -1 && icon.indexOf(".") === -1) { + dom.removeClass(old).css("background",""); + dom.addClass(icon + ' jstree-themeicon-custom').attr("rel",icon); + if(old === false) { this.show_icon(obj); } + } + else { + dom.removeClass(old).css("background",""); + dom.addClass('jstree-themeicon-custom').css("background", "url('" + icon + "') center center no-repeat").attr("rel",icon); + if(old === false) { this.show_icon(obj); } + } + return true; + }, + /** + * get the node icon for a node + * @name get_icon(obj) + * @param {mixed} obj + * @return {String} + */ + get_icon : function (obj) { + obj = this.get_node(obj); + return (!obj || obj.id === $.jstree.root) ? false : obj.icon; + }, + /** + * hide the icon on an individual node + * @name hide_icon(obj) + * @param {mixed} obj + */ + hide_icon : function (obj) { + var t1, t2; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.hide_icon(obj[t1]); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj === $.jstree.root) { return false; } + obj.icon = false; + this.get_node(obj, true).children(".jstree-anchor").children(".jstree-themeicon").addClass('jstree-themeicon-hidden'); + return true; + }, + /** + * show the icon on an individual node + * @name show_icon(obj) + * @param {mixed} obj + */ + show_icon : function (obj) { + var t1, t2, dom; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.show_icon(obj[t1]); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj === $.jstree.root) { return false; } + dom = this.get_node(obj, true); + obj.icon = dom.length ? dom.children(".jstree-anchor").children(".jstree-themeicon").attr('rel') : true; + if(!obj.icon) { obj.icon = true; } + dom.children(".jstree-anchor").children(".jstree-themeicon").removeClass('jstree-themeicon-hidden'); + return true; + } + }; + + // helpers + $.vakata = {}; + // collect attributes + $.vakata.attributes = function(node, with_values) { + node = $(node)[0]; + var attr = with_values ? {} : []; + if(node && node.attributes) { + $.each(node.attributes, function (i, v) { + if($.inArray(v.name.toLowerCase(),['style','contenteditable','hasfocus','tabindex']) !== -1) { return; } + if(v.value !== null && $.trim(v.value) !== '') { + if(with_values) { attr[v.name] = v.value; } + else { attr.push(v.name); } + } + }); + } + return attr; + }; + $.vakata.array_unique = function(array) { + var a = [], i, j, l, o = {}; + for(i = 0, l = array.length; i < l; i++) { + if(o[array[i]] === undefined) { + a.push(array[i]); + o[array[i]] = true; + } + } + return a; + }; + // remove item from array + $.vakata.array_remove = function(array, from) { + array.splice(from, 1); + return array; + //var rest = array.slice((to || from) + 1 || array.length); + //array.length = from < 0 ? array.length + from : from; + //array.push.apply(array, rest); + //return array; + }; + // remove item from array + $.vakata.array_remove_item = function(array, item) { + var tmp = $.inArray(item, array); + return tmp !== -1 ? $.vakata.array_remove(array, tmp) : array; + }; + $.vakata.array_filter = function(c,a,b,d,e) { + if (c.filter) { + return c.filter(a, b); + } + d=[]; + for (e in c) { + if (~~e+''===e+'' && e>=0 && a.call(b,c[e],+e,c)) { + d.push(c[e]); + } + } + return d; + }; +})); diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.massload.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.massload.js new file mode 100644 index 0000000000..d202a3eca5 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.massload.js @@ -0,0 +1,137 @@ +/** + * ### Massload plugin + * + * Adds massload functionality to jsTree, so that multiple nodes can be loaded in a single request (only useful with lazy loading). + */ +/*globals jQuery, define, exports, require, document */ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define('jstree.massload', ['jquery','jstree'], factory); + } + else if(typeof exports === 'object') { + factory(require('jquery'), require('jstree')); + } + else { + factory(jQuery, jQuery.jstree); + } +}(function ($, jstree, undefined) { + "use strict"; + + if($.jstree.plugins.massload) { return; } + + /** + * massload configuration + * + * It is possible to set this to a standard jQuery-like AJAX config. + * In addition to the standard jQuery ajax options here you can supply functions for `data` and `url`, the functions will be run in the current instance's scope and a param will be passed indicating which node IDs need to be loaded, the return value of those functions will be used. + * + * You can also set this to a function, that function will receive the node IDs being loaded as argument and a second param which is a function (callback) which should be called with the result. + * + * Both the AJAX and the function approach rely on the same return value - an object where the keys are the node IDs, and the value is the children of that node as an array. + * + * { + * "id1" : [{ "text" : "Child of ID1", "id" : "c1" }, { "text" : "Another child of ID1", "id" : "c2" }], + * "id2" : [{ "text" : "Child of ID2", "id" : "c3" }] + * } + * + * @name $.jstree.defaults.massload + * @plugin massload + */ + $.jstree.defaults.massload = null; + $.jstree.plugins.massload = function (options, parent) { + this.init = function (el, options) { + this._data.massload = {}; + parent.init.call(this, el, options); + }; + this._load_nodes = function (nodes, callback, is_callback, force_reload) { + var s = this.settings.massload, + nodesString = JSON.stringify(nodes), + toLoad = [], + m = this._model.data, + i, j, dom; + if (!is_callback) { + for(i = 0, j = nodes.length; i < j; i++) { + if(!m[nodes[i]] || ( (!m[nodes[i]].state.loaded && !m[nodes[i]].state.failed) || force_reload) ) { + toLoad.push(nodes[i]); + dom = this.get_node(nodes[i], true); + if (dom && dom.length) { + dom.addClass("jstree-loading").attr('aria-busy',true); + } + } + } + this._data.massload = {}; + if (toLoad.length) { + if($.isFunction(s)) { + return s.call(this, toLoad, $.proxy(function (data) { + var i, j; + if(data) { + for(i in data) { + if(data.hasOwnProperty(i)) { + this._data.massload[i] = data[i]; + } + } + } + for(i = 0, j = nodes.length; i < j; i++) { + dom = this.get_node(nodes[i], true); + if (dom && dom.length) { + dom.removeClass("jstree-loading").attr('aria-busy',false); + } + } + parent._load_nodes.call(this, nodes, callback, is_callback, force_reload); + }, this)); + } + if(typeof s === 'object' && s && s.url) { + s = $.extend(true, {}, s); + if($.isFunction(s.url)) { + s.url = s.url.call(this, toLoad); + } + if($.isFunction(s.data)) { + s.data = s.data.call(this, toLoad); + } + return $.ajax(s) + .done($.proxy(function (data,t,x) { + var i, j; + if(data) { + for(i in data) { + if(data.hasOwnProperty(i)) { + this._data.massload[i] = data[i]; + } + } + } + for(i = 0, j = nodes.length; i < j; i++) { + dom = this.get_node(nodes[i], true); + if (dom && dom.length) { + dom.removeClass("jstree-loading").attr('aria-busy',false); + } + } + parent._load_nodes.call(this, nodes, callback, is_callback, force_reload); + }, this)) + .fail($.proxy(function (f) { + parent._load_nodes.call(this, nodes, callback, is_callback, force_reload); + }, this)); + } + } + } + return parent._load_nodes.call(this, nodes, callback, is_callback, force_reload); + }; + this._load_node = function (obj, callback) { + var data = this._data.massload[obj.id], + rslt = null, dom; + if(data) { + rslt = this[typeof data === 'string' ? '_append_html_data' : '_append_json_data']( + obj, + typeof data === 'string' ? $($.parseHTML(data)).filter(function () { return this.nodeType !== 3; }) : data, + function (status) { callback.call(this, status); } + ); + dom = this.get_node(obj.id, true); + if (dom && dom.length) { + dom.removeClass("jstree-loading").attr('aria-busy',false); + } + delete this._data.massload[obj.id]; + return rslt; + } + return parent._load_node.call(this, obj, callback); + }; + }; +})); \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.search.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.search.js new file mode 100644 index 0000000000..21c3e7923a --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.search.js @@ -0,0 +1,421 @@ +/** + * ### Search plugin + * + * Adds search functionality to jsTree. + */ +/*globals jQuery, define, exports, require, document */ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define('jstree.search', ['jquery','jstree'], factory); + } + else if(typeof exports === 'object') { + factory(require('jquery'), require('jstree')); + } + else { + factory(jQuery, jQuery.jstree); + } +}(function ($, jstree, undefined) { + "use strict"; + + if($.jstree.plugins.search) { return; } + + /** + * stores all defaults for the search plugin + * @name $.jstree.defaults.search + * @plugin search + */ + $.jstree.defaults.search = { + /** + * a jQuery-like AJAX config, which jstree uses if a server should be queried for results. + * + * A `str` (which is the search string) parameter will be added with the request, an optional `inside` parameter will be added if the search is limited to a node id. The expected result is a JSON array with nodes that need to be opened so that matching nodes will be revealed. + * Leave this setting as `false` to not query the server. You can also set this to a function, which will be invoked in the instance's scope and receive 3 parameters - the search string, the callback to call with the array of nodes to load, and the optional node ID to limit the search to + * @name $.jstree.defaults.search.ajax + * @plugin search + */ + ajax : false, + /** + * Indicates if the search should be fuzzy or not (should `chnd3` match `child node 3`). Default is `false`. + * @name $.jstree.defaults.search.fuzzy + * @plugin search + */ + fuzzy : false, + /** + * Indicates if the search should be case sensitive. Default is `false`. + * @name $.jstree.defaults.search.case_sensitive + * @plugin search + */ + case_sensitive : false, + /** + * Indicates if the tree should be filtered (by default) to show only matching nodes (keep in mind this can be a heavy on large trees in old browsers). + * This setting can be changed at runtime when calling the search method. Default is `false`. + * @name $.jstree.defaults.search.show_only_matches + * @plugin search + */ + show_only_matches : false, + /** + * Indicates if the children of matched element are shown (when show_only_matches is true) + * This setting can be changed at runtime when calling the search method. Default is `false`. + * @name $.jstree.defaults.search.show_only_matches_children + * @plugin search + */ + show_only_matches_children : false, + /** + * Indicates if all nodes opened to reveal the search result, should be closed when the search is cleared or a new search is performed. Default is `true`. + * @name $.jstree.defaults.search.close_opened_onclear + * @plugin search + */ + close_opened_onclear : true, + /** + * Indicates if only leaf nodes should be included in search results. Default is `false`. + * @name $.jstree.defaults.search.search_leaves_only + * @plugin search + */ + search_leaves_only : false, + /** + * If set to a function it wil be called in the instance's scope with two arguments - search string and node (where node will be every node in the structure, so use with caution). + * If the function returns a truthy value the node will be considered a match (it might not be displayed if search_only_leaves is set to true and the node is not a leaf). Default is `false`. + * @name $.jstree.defaults.search.search_callback + * @plugin search + */ + search_callback : false + }; + + $.jstree.plugins.search = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + + this._data.search.str = ""; + this._data.search.dom = $(); + this._data.search.res = []; + this._data.search.opn = []; + this._data.search.som = false; + this._data.search.smc = false; + this._data.search.hdn = []; + + this.element + .on("search.jstree", $.proxy(function (e, data) { + if(this._data.search.som && data.res.length) { + var m = this._model.data, i, j, p = [], k, l; + for(i = 0, j = data.res.length; i < j; i++) { + if(m[data.res[i]] && !m[data.res[i]].state.hidden) { + p.push(data.res[i]); + p = p.concat(m[data.res[i]].parents); + if(this._data.search.smc) { + for (k = 0, l = m[data.res[i]].children_d.length; k < l; k++) { + if (m[m[data.res[i]].children_d[k]] && !m[m[data.res[i]].children_d[k]].state.hidden) { + p.push(m[data.res[i]].children_d[k]); + } + } + } + } + } + p = $.vakata.array_remove_item($.vakata.array_unique(p), $.jstree.root); + this._data.search.hdn = this.hide_all(true); + this.show_node(p, true); + this.redraw(true); + } + }, this)) + .on("clear_search.jstree", $.proxy(function (e, data) { + if(this._data.search.som && data.res.length) { + this.show_node(this._data.search.hdn, true); + this.redraw(true); + } + }, this)); + }; + /** + * used to search the tree nodes for a given string + * @name search(str [, skip_async]) + * @param {String} str the search string + * @param {Boolean} skip_async if set to true server will not be queried even if configured + * @param {Boolean} show_only_matches if set to true only matching nodes will be shown (keep in mind this can be very slow on large trees or old browsers) + * @param {mixed} inside an optional node to whose children to limit the search + * @param {Boolean} append if set to true the results of this search are appended to the previous search + * @plugin search + * @trigger search.jstree + */ + this.search = function (str, skip_async, show_only_matches, inside, append, show_only_matches_children) { + if(str === false || $.trim(str.toString()) === "") { + return this.clear_search(); + } + inside = this.get_node(inside); + inside = inside && inside.id ? inside.id : null; + str = str.toString(); + var s = this.settings.search, + a = s.ajax ? s.ajax : false, + m = this._model.data, + f = null, + r = [], + p = [], i, j; + if(this._data.search.res.length && !append) { + this.clear_search(); + } + if(show_only_matches === undefined) { + show_only_matches = s.show_only_matches; + } + if(show_only_matches_children === undefined) { + show_only_matches_children = s.show_only_matches_children; + } + if(!skip_async && a !== false) { + if($.isFunction(a)) { + return a.call(this, str, $.proxy(function (d) { + if(d && d.d) { d = d.d; } + this._load_nodes(!$.isArray(d) ? [] : $.vakata.array_unique(d), function () { + this.search(str, true, show_only_matches, inside, append, show_only_matches_children); + }); + }, this), inside); + } + else { + a = $.extend({}, a); + if(!a.data) { a.data = {}; } + a.data.str = str; + if(inside) { + a.data.inside = inside; + } + if (this._data.search.lastRequest) { + this._data.search.lastRequest.abort(); + } + this._data.search.lastRequest = $.ajax(a) + .fail($.proxy(function () { + this._data.core.last_error = { 'error' : 'ajax', 'plugin' : 'search', 'id' : 'search_01', 'reason' : 'Could not load search parents', 'data' : JSON.stringify(a) }; + this.settings.core.error.call(this, this._data.core.last_error); + }, this)) + .done($.proxy(function (d) { + if(d && d.d) { d = d.d; } + this._load_nodes(!$.isArray(d) ? [] : $.vakata.array_unique(d), function () { + this.search(str, true, show_only_matches, inside, append, show_only_matches_children); + }); + }, this)); + return this._data.search.lastRequest; + } + } + if(!append) { + this._data.search.str = str; + this._data.search.dom = $(); + this._data.search.res = []; + this._data.search.opn = []; + this._data.search.som = show_only_matches; + this._data.search.smc = show_only_matches_children; + } + + f = new $.vakata.search(str, true, { caseSensitive : s.case_sensitive, fuzzy : s.fuzzy }); + $.each(m[inside ? inside : $.jstree.root].children_d, function (ii, i) { + var v = m[i]; + if(v.text && !v.state.hidden && (!s.search_leaves_only || (v.state.loaded && v.children.length === 0)) && ( (s.search_callback && s.search_callback.call(this, str, v)) || (!s.search_callback && f.search(v.text).isMatch) ) ) { + r.push(i); + p = p.concat(v.parents); + } + }); + if(r.length) { + p = $.vakata.array_unique(p); + for(i = 0, j = p.length; i < j; i++) { + if(p[i] !== $.jstree.root && m[p[i]] && this.open_node(p[i], null, 0) === true) { + this._data.search.opn.push(p[i]); + } + } + if(!append) { + this._data.search.dom = $(this.element[0].querySelectorAll('#' + $.map(r, function (v) { return "0123456789".indexOf(v[0]) !== -1 ? '\\3' + v[0] + ' ' + v.substr(1).replace($.jstree.idregex,'\\$&') : v.replace($.jstree.idregex,'\\$&'); }).join(', #'))); + this._data.search.res = r; + } + else { + this._data.search.dom = this._data.search.dom.add($(this.element[0].querySelectorAll('#' + $.map(r, function (v) { return "0123456789".indexOf(v[0]) !== -1 ? '\\3' + v[0] + ' ' + v.substr(1).replace($.jstree.idregex,'\\$&') : v.replace($.jstree.idregex,'\\$&'); }).join(', #')))); + this._data.search.res = $.vakata.array_unique(this._data.search.res.concat(r)); + } + this._data.search.dom.children(".jstree-anchor").addClass('jstree-search'); + } + /** + * triggered after search is complete + * @event + * @name search.jstree + * @param {jQuery} nodes a jQuery collection of matching nodes + * @param {String} str the search string + * @param {Array} res a collection of objects represeing the matching nodes + * @plugin search + */ + this.trigger('search', { nodes : this._data.search.dom, str : str, res : this._data.search.res, show_only_matches : show_only_matches }); + }; + /** + * used to clear the last search (removes classes and shows all nodes if filtering is on) + * @name clear_search() + * @plugin search + * @trigger clear_search.jstree + */ + this.clear_search = function () { + if(this.settings.search.close_opened_onclear) { + this.close_node(this._data.search.opn, 0); + } + /** + * triggered after search is complete + * @event + * @name clear_search.jstree + * @param {jQuery} nodes a jQuery collection of matching nodes (the result from the last search) + * @param {String} str the search string (the last search string) + * @param {Array} res a collection of objects represeing the matching nodes (the result from the last search) + * @plugin search + */ + this.trigger('clear_search', { 'nodes' : this._data.search.dom, str : this._data.search.str, res : this._data.search.res }); + if(this._data.search.res.length) { + this._data.search.dom = $(this.element[0].querySelectorAll('#' + $.map(this._data.search.res, function (v) { + return "0123456789".indexOf(v[0]) !== -1 ? '\\3' + v[0] + ' ' + v.substr(1).replace($.jstree.idregex,'\\$&') : v.replace($.jstree.idregex,'\\$&'); + }).join(', #'))); + this._data.search.dom.children(".jstree-anchor").removeClass("jstree-search"); + } + this._data.search.str = ""; + this._data.search.res = []; + this._data.search.opn = []; + this._data.search.dom = $(); + }; + + this.redraw_node = function(obj, deep, callback, force_render) { + obj = parent.redraw_node.apply(this, arguments); + if(obj) { + if($.inArray(obj.id, this._data.search.res) !== -1) { + var i, j, tmp = null; + for(i = 0, j = obj.childNodes.length; i < j; i++) { + if(obj.childNodes[i] && obj.childNodes[i].className && obj.childNodes[i].className.indexOf("jstree-anchor") !== -1) { + tmp = obj.childNodes[i]; + break; + } + } + if(tmp) { + tmp.className += ' jstree-search'; + } + } + } + return obj; + }; + }; + + // helpers + (function ($) { + // from http://kiro.me/projects/fuse.html + $.vakata.search = function(pattern, txt, options) { + options = options || {}; + options = $.extend({}, $.vakata.search.defaults, options); + if(options.fuzzy !== false) { + options.fuzzy = true; + } + pattern = options.caseSensitive ? pattern : pattern.toLowerCase(); + var MATCH_LOCATION = options.location, + MATCH_DISTANCE = options.distance, + MATCH_THRESHOLD = options.threshold, + patternLen = pattern.length, + matchmask, pattern_alphabet, match_bitapScore, search; + if(patternLen > 32) { + options.fuzzy = false; + } + if(options.fuzzy) { + matchmask = 1 << (patternLen - 1); + pattern_alphabet = (function () { + var mask = {}, + i = 0; + for (i = 0; i < patternLen; i++) { + mask[pattern.charAt(i)] = 0; + } + for (i = 0; i < patternLen; i++) { + mask[pattern.charAt(i)] |= 1 << (patternLen - i - 1); + } + return mask; + }()); + match_bitapScore = function (e, x) { + var accuracy = e / patternLen, + proximity = Math.abs(MATCH_LOCATION - x); + if(!MATCH_DISTANCE) { + return proximity ? 1.0 : accuracy; + } + return accuracy + (proximity / MATCH_DISTANCE); + }; + } + search = function (text) { + text = options.caseSensitive ? text : text.toLowerCase(); + if(pattern === text || text.indexOf(pattern) !== -1) { + return { + isMatch: true, + score: 0 + }; + } + if(!options.fuzzy) { + return { + isMatch: false, + score: 1 + }; + } + var i, j, + textLen = text.length, + scoreThreshold = MATCH_THRESHOLD, + bestLoc = text.indexOf(pattern, MATCH_LOCATION), + binMin, binMid, + binMax = patternLen + textLen, + lastRd, start, finish, rd, charMatch, + score = 1, + locations = []; + if (bestLoc !== -1) { + scoreThreshold = Math.min(match_bitapScore(0, bestLoc), scoreThreshold); + bestLoc = text.lastIndexOf(pattern, MATCH_LOCATION + patternLen); + if (bestLoc !== -1) { + scoreThreshold = Math.min(match_bitapScore(0, bestLoc), scoreThreshold); + } + } + bestLoc = -1; + for (i = 0; i < patternLen; i++) { + binMin = 0; + binMid = binMax; + while (binMin < binMid) { + if (match_bitapScore(i, MATCH_LOCATION + binMid) <= scoreThreshold) { + binMin = binMid; + } else { + binMax = binMid; + } + binMid = Math.floor((binMax - binMin) / 2 + binMin); + } + binMax = binMid; + start = Math.max(1, MATCH_LOCATION - binMid + 1); + finish = Math.min(MATCH_LOCATION + binMid, textLen) + patternLen; + rd = new Array(finish + 2); + rd[finish + 1] = (1 << i) - 1; + for (j = finish; j >= start; j--) { + charMatch = pattern_alphabet[text.charAt(j - 1)]; + if (i === 0) { + rd[j] = ((rd[j + 1] << 1) | 1) & charMatch; + } else { + rd[j] = ((rd[j + 1] << 1) | 1) & charMatch | (((lastRd[j + 1] | lastRd[j]) << 1) | 1) | lastRd[j + 1]; + } + if (rd[j] & matchmask) { + score = match_bitapScore(i, j - 1); + if (score <= scoreThreshold) { + scoreThreshold = score; + bestLoc = j - 1; + locations.push(bestLoc); + if (bestLoc > MATCH_LOCATION) { + start = Math.max(1, 2 * MATCH_LOCATION - bestLoc); + } else { + break; + } + } + } + } + if (match_bitapScore(i + 1, MATCH_LOCATION) > scoreThreshold) { + break; + } + lastRd = rd; + } + return { + isMatch: bestLoc >= 0, + score: score + }; + }; + return txt === true ? { 'search' : search } : search(txt); + }; + $.vakata.search.defaults = { + location : 0, + distance : 100, + threshold : 0.6, + fuzzy : false, + caseSensitive : false + }; + }($)); + + // include the search plugin by default + // $.jstree.defaults.plugins.push("search"); +})); diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.sort.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.sort.js new file mode 100644 index 0000000000..94f8b39014 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.sort.js @@ -0,0 +1,74 @@ +/** + * ### Sort plugin + * + * Automatically sorts all siblings in the tree according to a sorting function. + */ +/*globals jQuery, define, exports, require */ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define('jstree.sort', ['jquery','jstree'], factory); + } + else if(typeof exports === 'object') { + factory(require('jquery'), require('jstree')); + } + else { + factory(jQuery, jQuery.jstree); + } +}(function ($, jstree, undefined) { + "use strict"; + + if($.jstree.plugins.sort) { return; } + + /** + * the settings function used to sort the nodes. + * It is executed in the tree's context, accepts two nodes as arguments and should return `1` or `-1`. + * @name $.jstree.defaults.sort + * @plugin sort + */ + $.jstree.defaults.sort = function (a, b) { + //return this.get_type(a) === this.get_type(b) ? (this.get_text(a) > this.get_text(b) ? 1 : -1) : this.get_type(a) >= this.get_type(b); + return this.get_text(a) > this.get_text(b) ? 1 : -1; + }; + $.jstree.plugins.sort = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + this.element + .on("model.jstree", $.proxy(function (e, data) { + this.sort(data.parent, true); + }, this)) + .on("rename_node.jstree create_node.jstree", $.proxy(function (e, data) { + this.sort(data.parent || data.node.parent, false); + this.redraw_node(data.parent || data.node.parent, true); + }, this)) + .on("move_node.jstree copy_node.jstree", $.proxy(function (e, data) { + this.sort(data.parent, false); + this.redraw_node(data.parent, true); + }, this)); + }; + /** + * used to sort a node's children + * @private + * @name sort(obj [, deep]) + * @param {mixed} obj the node + * @param {Boolean} deep if set to `true` nodes are sorted recursively. + * @plugin sort + * @trigger search.jstree + */ + this.sort = function (obj, deep) { + var i, j; + obj = this.get_node(obj); + if(obj && obj.children && obj.children.length) { + obj.children.sort($.proxy(this.settings.sort, this)); + if(deep) { + for(i = 0, j = obj.children_d.length; i < j; i++) { + this.sort(obj.children_d[i], false); + } + } + } + }; + }; + + // include the sort plugin by default + // $.jstree.defaults.plugins.push("sort"); +})); \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.state.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.state.js new file mode 100644 index 0000000000..f87cf4fb64 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.state.js @@ -0,0 +1,125 @@ +/** + * ### State plugin + * + * Saves the state of the tree (selected nodes, opened nodes) on the user's computer using available options (localStorage, cookies, etc) + */ +/*globals jQuery, define, exports, require */ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define('jstree.state', ['jquery','jstree'], factory); + } + else if(typeof exports === 'object') { + factory(require('jquery'), require('jstree')); + } + else { + factory(jQuery, jQuery.jstree); + } +}(function ($, jstree, undefined) { + "use strict"; + + if($.jstree.plugins.state) { return; } + + var to = false; + /** + * stores all defaults for the state plugin + * @name $.jstree.defaults.state + * @plugin state + */ + $.jstree.defaults.state = { + /** + * A string for the key to use when saving the current tree (change if using multiple trees in your project). Defaults to `jstree`. + * @name $.jstree.defaults.state.key + * @plugin state + */ + key : 'jstree', + /** + * A space separated list of events that trigger a state save. Defaults to `changed.jstree open_node.jstree close_node.jstree`. + * @name $.jstree.defaults.state.events + * @plugin state + */ + events : 'changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree', + /** + * Time in milliseconds after which the state will expire. Defaults to 'false' meaning - no expire. + * @name $.jstree.defaults.state.ttl + * @plugin state + */ + ttl : false, + /** + * A function that will be executed prior to restoring state with one argument - the state object. Can be used to clear unwanted parts of the state. + * @name $.jstree.defaults.state.filter + * @plugin state + */ + filter : false + }; + $.jstree.plugins.state = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + var bind = $.proxy(function () { + this.element.on(this.settings.state.events, $.proxy(function () { + if(to) { clearTimeout(to); } + to = setTimeout($.proxy(function () { this.save_state(); }, this), 100); + }, this)); + /** + * triggered when the state plugin is finished restoring the state (and immediately after ready if there is no state to restore). + * @event + * @name state_ready.jstree + * @plugin state + */ + this.trigger('state_ready'); + }, this); + this.element + .on("ready.jstree", $.proxy(function (e, data) { + this.element.one("restore_state.jstree", bind); + if(!this.restore_state()) { bind(); } + }, this)); + }; + /** + * save the state + * @name save_state() + * @plugin state + */ + this.save_state = function () { + var st = { 'state' : this.get_state(), 'ttl' : this.settings.state.ttl, 'sec' : +(new Date()) }; + $.vakata.storage.set(this.settings.state.key, JSON.stringify(st)); + }; + /** + * restore the state from the user's computer + * @name restore_state() + * @plugin state + */ + this.restore_state = function () { + var k = $.vakata.storage.get(this.settings.state.key); + if(!!k) { try { k = JSON.parse(k); } catch(ex) { return false; } } + if(!!k && k.ttl && k.sec && +(new Date()) - k.sec > k.ttl) { return false; } + if(!!k && k.state) { k = k.state; } + if(!!k && $.isFunction(this.settings.state.filter)) { k = this.settings.state.filter.call(this, k); } + if(!!k) { + this.element.one("set_state.jstree", function (e, data) { data.instance.trigger('restore_state', { 'state' : $.extend(true, {}, k) }); }); + this.set_state(k); + return true; + } + return false; + }; + /** + * clear the state on the user's computer + * @name clear_state() + * @plugin state + */ + this.clear_state = function () { + return $.vakata.storage.del(this.settings.state.key); + }; + }; + + (function ($, undefined) { + $.vakata.storage = { + // simply specifying the functions in FF throws an error + set : function (key, val) { return window.localStorage.setItem(key, val); }, + get : function (key) { return window.localStorage.getItem(key); }, + del : function (key) { return window.localStorage.removeItem(key); } + }; + }($)); + + // include the state plugin by default + // $.jstree.defaults.plugins.push("state"); +})); \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.types.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.types.js new file mode 100644 index 0000000000..706829a9d0 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.types.js @@ -0,0 +1,372 @@ +/** + * ### Types plugin + * + * Makes it possible to add predefined types for groups of nodes, which make it possible to easily control nesting rules and icon for each group. + */ +/*globals jQuery, define, exports, require */ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define('jstree.types', ['jquery','jstree'], factory); + } + else if(typeof exports === 'object') { + factory(require('jquery'), require('jstree')); + } + else { + factory(jQuery, jQuery.jstree); + } +}(function ($, jstree, undefined) { + "use strict"; + + if($.jstree.plugins.types) { return; } + + /** + * An object storing all types as key value pairs, where the key is the type name and the value is an object that could contain following keys (all optional). + * + * * `max_children` the maximum number of immediate children this node type can have. Do not specify or set to `-1` for unlimited. + * * `max_depth` the maximum number of nesting this node type can have. A value of `1` would mean that the node can have children, but no grandchildren. Do not specify or set to `-1` for unlimited. + * * `valid_children` an array of node type strings, that nodes of this type can have as children. Do not specify or set to `-1` for no limits. + * * `icon` a string - can be a path to an icon or a className, if using an image that is in the current directory use a `./` prefix, otherwise it will be detected as a class. Omit to use the default icon from your theme. + * * `li_attr` an object of values which will be used to add HTML attributes on the resulting LI DOM node (merged with the node's own data) + * * `a_attr` an object of values which will be used to add HTML attributes on the resulting A DOM node (merged with the node's own data) + * + * There are two predefined types: + * + * * `#` represents the root of the tree, for example `max_children` would control the maximum number of root nodes. + * * `default` represents the default node - any settings here will be applied to all nodes that do not have a type specified. + * + * @name $.jstree.defaults.types + * @plugin types + */ + $.jstree.defaults.types = { + 'default' : {} + }; + $.jstree.defaults.types[$.jstree.root] = {}; + + $.jstree.plugins.types = function (options, parent) { + this.init = function (el, options) { + var i, j; + if(options && options.types && options.types['default']) { + for(i in options.types) { + if(i !== "default" && i !== $.jstree.root && options.types.hasOwnProperty(i)) { + for(j in options.types['default']) { + if(options.types['default'].hasOwnProperty(j) && options.types[i][j] === undefined) { + options.types[i][j] = options.types['default'][j]; + } + } + } + } + } + parent.init.call(this, el, options); + this._model.data[$.jstree.root].type = $.jstree.root; + }; + this.refresh = function (skip_loading, forget_state) { + parent.refresh.call(this, skip_loading, forget_state); + this._model.data[$.jstree.root].type = $.jstree.root; + }; + this.bind = function () { + this.element + .on('model.jstree', $.proxy(function (e, data) { + var m = this._model.data, + dpc = data.nodes, + t = this.settings.types, + i, j, c = 'default', k; + for(i = 0, j = dpc.length; i < j; i++) { + c = 'default'; + if(m[dpc[i]].original && m[dpc[i]].original.type && t[m[dpc[i]].original.type]) { + c = m[dpc[i]].original.type; + } + if(m[dpc[i]].data && m[dpc[i]].data.jstree && m[dpc[i]].data.jstree.type && t[m[dpc[i]].data.jstree.type]) { + c = m[dpc[i]].data.jstree.type; + } + m[dpc[i]].type = c; + if(m[dpc[i]].icon === true && t[c].icon !== undefined) { + m[dpc[i]].icon = t[c].icon; + } + if(t[c].li_attr !== undefined && typeof t[c].li_attr === 'object') { + for (k in t[c].li_attr) { + if (t[c].li_attr.hasOwnProperty(k)) { + if (k === 'id') { + continue; + } + else if (m[dpc[i]].li_attr[k] === undefined) { + m[dpc[i]].li_attr[k] = t[c].li_attr[k]; + } + else if (k === 'class') { + m[dpc[i]].li_attr['class'] = t[c].li_attr['class'] + ' ' + m[dpc[i]].li_attr['class']; + } + } + } + } + if(t[c].a_attr !== undefined && typeof t[c].a_attr === 'object') { + for (k in t[c].a_attr) { + if (t[c].a_attr.hasOwnProperty(k)) { + if (k === 'id') { + continue; + } + else if (m[dpc[i]].a_attr[k] === undefined) { + m[dpc[i]].a_attr[k] = t[c].a_attr[k]; + } + else if (k === 'href' && m[dpc[i]].a_attr[k] === '#') { + m[dpc[i]].a_attr['href'] = t[c].a_attr['href']; + } + else if (k === 'class') { + m[dpc[i]].a_attr['class'] = t[c].a_attr['class'] + ' ' + m[dpc[i]].a_attr['class']; + } + } + } + } + } + m[$.jstree.root].type = $.jstree.root; + }, this)); + parent.bind.call(this); + }; + this.get_json = function (obj, options, flat) { + var i, j, + m = this._model.data, + opt = options ? $.extend(true, {}, options, {no_id:false}) : {}, + tmp = parent.get_json.call(this, obj, opt, flat); + if(tmp === false) { return false; } + if($.isArray(tmp)) { + for(i = 0, j = tmp.length; i < j; i++) { + tmp[i].type = tmp[i].id && m[tmp[i].id] && m[tmp[i].id].type ? m[tmp[i].id].type : "default"; + if(options && options.no_id) { + delete tmp[i].id; + if(tmp[i].li_attr && tmp[i].li_attr.id) { + delete tmp[i].li_attr.id; + } + if(tmp[i].a_attr && tmp[i].a_attr.id) { + delete tmp[i].a_attr.id; + } + } + } + } + else { + tmp.type = tmp.id && m[tmp.id] && m[tmp.id].type ? m[tmp.id].type : "default"; + if(options && options.no_id) { + tmp = this._delete_ids(tmp); + } + } + return tmp; + }; + this._delete_ids = function (tmp) { + if($.isArray(tmp)) { + for(var i = 0, j = tmp.length; i < j; i++) { + tmp[i] = this._delete_ids(tmp[i]); + } + return tmp; + } + delete tmp.id; + if(tmp.li_attr && tmp.li_attr.id) { + delete tmp.li_attr.id; + } + if(tmp.a_attr && tmp.a_attr.id) { + delete tmp.a_attr.id; + } + if(tmp.children && $.isArray(tmp.children)) { + tmp.children = this._delete_ids(tmp.children); + } + return tmp; + }; + this.check = function (chk, obj, par, pos, more) { + if(parent.check.call(this, chk, obj, par, pos, more) === false) { return false; } + obj = obj && obj.id ? obj : this.get_node(obj); + par = par && par.id ? par : this.get_node(par); + var m = obj && obj.id ? (more && more.origin ? more.origin : $.jstree.reference(obj.id)) : null, tmp, d, i, j; + m = m && m._model && m._model.data ? m._model.data : null; + switch(chk) { + case "create_node": + case "move_node": + case "copy_node": + if(chk !== 'move_node' || $.inArray(obj.id, par.children) === -1) { + tmp = this.get_rules(par); + if(tmp.max_children !== undefined && tmp.max_children !== -1 && tmp.max_children === par.children.length) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'types', 'id' : 'types_01', 'reason' : 'max_children prevents function: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + return false; + } + if(tmp.valid_children !== undefined && tmp.valid_children !== -1 && $.inArray((obj.type || 'default'), tmp.valid_children) === -1) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'types', 'id' : 'types_02', 'reason' : 'valid_children prevents function: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + return false; + } + if(m && obj.children_d && obj.parents) { + d = 0; + for(i = 0, j = obj.children_d.length; i < j; i++) { + d = Math.max(d, m[obj.children_d[i]].parents.length); + } + d = d - obj.parents.length + 1; + } + if(d <= 0 || d === undefined) { d = 1; } + do { + if(tmp.max_depth !== undefined && tmp.max_depth !== -1 && tmp.max_depth < d) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'types', 'id' : 'types_03', 'reason' : 'max_depth prevents function: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + return false; + } + par = this.get_node(par.parent); + tmp = this.get_rules(par); + d++; + } while(par); + } + break; + } + return true; + }; + /** + * used to retrieve the type settings object for a node + * @name get_rules(obj) + * @param {mixed} obj the node to find the rules for + * @return {Object} + * @plugin types + */ + this.get_rules = function (obj) { + obj = this.get_node(obj); + if(!obj) { return false; } + var tmp = this.get_type(obj, true); + if(tmp.max_depth === undefined) { tmp.max_depth = -1; } + if(tmp.max_children === undefined) { tmp.max_children = -1; } + if(tmp.valid_children === undefined) { tmp.valid_children = -1; } + return tmp; + }; + /** + * used to retrieve the type string or settings object for a node + * @name get_type(obj [, rules]) + * @param {mixed} obj the node to find the rules for + * @param {Boolean} rules if set to `true` instead of a string the settings object will be returned + * @return {String|Object} + * @plugin types + */ + this.get_type = function (obj, rules) { + obj = this.get_node(obj); + return (!obj) ? false : ( rules ? $.extend({ 'type' : obj.type }, this.settings.types[obj.type]) : obj.type); + }; + /** + * used to change a node's type + * @name set_type(obj, type) + * @param {mixed} obj the node to change + * @param {String} type the new type + * @plugin types + */ + this.set_type = function (obj, type) { + var m = this._model.data, t, t1, t2, old_type, old_icon, k, d, a; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.set_type(obj[t1], type); + } + return true; + } + t = this.settings.types; + obj = this.get_node(obj); + if(!t[type] || !obj) { return false; } + d = this.get_node(obj, true); + if (d && d.length) { + a = d.children('.jstree-anchor'); + } + old_type = obj.type; + old_icon = this.get_icon(obj); + obj.type = type; + if(old_icon === true || !t[old_type] || (t[old_type].icon !== undefined && old_icon === t[old_type].icon)) { + this.set_icon(obj, t[type].icon !== undefined ? t[type].icon : true); + } + + // remove old type props + if(t[old_type] && t[old_type].li_attr !== undefined && typeof t[old_type].li_attr === 'object') { + for (k in t[old_type].li_attr) { + if (t[old_type].li_attr.hasOwnProperty(k)) { + if (k === 'id') { + continue; + } + else if (k === 'class') { + m[obj.id].li_attr['class'] = (m[obj.id].li_attr['class'] || '').replace(t[old_type].li_attr[k], ''); + if (d) { d.removeClass(t[old_type].li_attr[k]); } + } + else if (m[obj.id].li_attr[k] === t[old_type].li_attr[k]) { + m[obj.id].li_attr[k] = null; + if (d) { d.removeAttr(k); } + } + } + } + } + if(t[old_type] && t[old_type].a_attr !== undefined && typeof t[old_type].a_attr === 'object') { + for (k in t[old_type].a_attr) { + if (t[old_type].a_attr.hasOwnProperty(k)) { + if (k === 'id') { + continue; + } + else if (k === 'class') { + m[obj.id].a_attr['class'] = (m[obj.id].a_attr['class'] || '').replace(t[old_type].a_attr[k], ''); + if (a) { a.removeClass(t[old_type].a_attr[k]); } + } + else if (m[obj.id].a_attr[k] === t[old_type].a_attr[k]) { + if (k === 'href') { + m[obj.id].a_attr[k] = '#'; + if (a) { a.attr('href', '#'); } + } + else { + delete m[obj.id].a_attr[k]; + if (a) { a.removeAttr(k); } + } + } + } + } + } + + // add new props + if(t[type].li_attr !== undefined && typeof t[type].li_attr === 'object') { + for (k in t[type].li_attr) { + if (t[type].li_attr.hasOwnProperty(k)) { + if (k === 'id') { + continue; + } + else if (m[obj.id].li_attr[k] === undefined) { + m[obj.id].li_attr[k] = t[type].li_attr[k]; + if (d) { + if (k === 'class') { + d.addClass(t[type].li_attr[k]); + } + else { + d.attr(k, t[type].li_attr[k]); + } + } + } + else if (k === 'class') { + m[obj.id].li_attr['class'] = t[type].li_attr[k] + ' ' + m[obj.id].li_attr['class']; + if (d) { d.addClass(t[type].li_attr[k]); } + } + } + } + } + if(t[type].a_attr !== undefined && typeof t[type].a_attr === 'object') { + for (k in t[type].a_attr) { + if (t[type].a_attr.hasOwnProperty(k)) { + if (k === 'id') { + continue; + } + else if (m[obj.id].a_attr[k] === undefined) { + m[obj.id].a_attr[k] = t[type].a_attr[k]; + if (a) { + if (k === 'class') { + a.addClass(t[type].a_attr[k]); + } + else { + a.attr(k, t[type].a_attr[k]); + } + } + } + else if (k === 'href' && m[obj.id].a_attr[k] === '#') { + m[obj.id].a_attr['href'] = t[type].a_attr['href']; + if (a) { a.attr('href', t[type].a_attr['href']); } + } + else if (k === 'class') { + m[obj.id].a_attr['class'] = t[type].a_attr['class'] + ' ' + m[obj.id].a_attr['class']; + if (a) { a.addClass(t[type].a_attr[k]); } + } + } + } + } + + return true; + }; + }; + // include the types plugin by default + // $.jstree.defaults.plugins.push("types"); +})); diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.unique.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.unique.js new file mode 100644 index 0000000000..bfe2f1b8f8 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.unique.js @@ -0,0 +1,121 @@ +/** + * ### Unique plugin + * + * Enforces that no nodes with the same name can coexist as siblings. + */ +/*globals jQuery, define, exports, require */ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define('jstree.unique', ['jquery','jstree'], factory); + } + else if(typeof exports === 'object') { + factory(require('jquery'), require('jstree')); + } + else { + factory(jQuery, jQuery.jstree); + } +}(function ($, jstree, undefined) { + "use strict"; + + if($.jstree.plugins.unique) { return; } + + /** + * stores all defaults for the unique plugin + * @name $.jstree.defaults.unique + * @plugin unique + */ + $.jstree.defaults.unique = { + /** + * Indicates if the comparison should be case sensitive. Default is `false`. + * @name $.jstree.defaults.unique.case_sensitive + * @plugin unique + */ + case_sensitive : false, + /** + * A callback executed in the instance's scope when a new node is created and the name is already taken, the two arguments are the conflicting name and the counter. The default will produce results like `New node (2)`. + * @name $.jstree.defaults.unique.duplicate + * @plugin unique + */ + duplicate : function (name, counter) { + return name + ' (' + counter + ')'; + } + }; + + $.jstree.plugins.unique = function (options, parent) { + this.check = function (chk, obj, par, pos, more) { + if(parent.check.call(this, chk, obj, par, pos, more) === false) { return false; } + obj = obj && obj.id ? obj : this.get_node(obj); + par = par && par.id ? par : this.get_node(par); + if(!par || !par.children) { return true; } + var n = chk === "rename_node" ? pos : obj.text, + c = [], + s = this.settings.unique.case_sensitive, + m = this._model.data, i, j; + for(i = 0, j = par.children.length; i < j; i++) { + c.push(s ? m[par.children[i]].text : m[par.children[i]].text.toLowerCase()); + } + if(!s) { n = n.toLowerCase(); } + switch(chk) { + case "delete_node": + return true; + case "rename_node": + i = ($.inArray(n, c) === -1 || (obj.text && obj.text[ s ? 'toString' : 'toLowerCase']() === n)); + if(!i) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'unique', 'id' : 'unique_01', 'reason' : 'Child with name ' + n + ' already exists. Preventing: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + } + return i; + case "create_node": + i = ($.inArray(n, c) === -1); + if(!i) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'unique', 'id' : 'unique_04', 'reason' : 'Child with name ' + n + ' already exists. Preventing: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + } + return i; + case "copy_node": + i = ($.inArray(n, c) === -1); + if(!i) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'unique', 'id' : 'unique_02', 'reason' : 'Child with name ' + n + ' already exists. Preventing: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + } + return i; + case "move_node": + i = ( (obj.parent === par.id && (!more || !more.is_multi)) || $.inArray(n, c) === -1); + if(!i) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'unique', 'id' : 'unique_03', 'reason' : 'Child with name ' + n + ' already exists. Preventing: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + } + return i; + } + return true; + }; + this.create_node = function (par, node, pos, callback, is_loaded) { + if(!node || node.text === undefined) { + if(par === null) { + par = $.jstree.root; + } + par = this.get_node(par); + if(!par) { + return parent.create_node.call(this, par, node, pos, callback, is_loaded); + } + pos = pos === undefined ? "last" : pos; + if(!pos.toString().match(/^(before|after)$/) && !is_loaded && !this.is_loaded(par)) { + return parent.create_node.call(this, par, node, pos, callback, is_loaded); + } + if(!node) { node = {}; } + var tmp, n, dpc, i, j, m = this._model.data, s = this.settings.unique.case_sensitive, cb = this.settings.unique.duplicate; + n = tmp = this.get_string('New node'); + dpc = []; + for(i = 0, j = par.children.length; i < j; i++) { + dpc.push(s ? m[par.children[i]].text : m[par.children[i]].text.toLowerCase()); + } + i = 1; + while($.inArray(s ? n : n.toLowerCase(), dpc) !== -1) { + n = cb.call(this, tmp, (++i)).toString(); + } + node.text = n; + } + return parent.create_node.call(this, par, node, pos, callback, is_loaded); + }; + }; + + // include the unique plugin by default + // $.jstree.defaults.plugins.push("unique"); +})); diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.wholerow.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.wholerow.js new file mode 100644 index 0000000000..e8fe3e6d54 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/jstree.wholerow.js @@ -0,0 +1,122 @@ +/** + * ### Wholerow plugin + * + * Makes each node appear block level. Making selection easier. May cause slow down for large trees in old browsers. + */ +/*globals jQuery, define, exports, require */ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define('jstree.wholerow', ['jquery','jstree'], factory); + } + else if(typeof exports === 'object') { + factory(require('jquery'), require('jstree')); + } + else { + factory(jQuery, jQuery.jstree); + } +}(function ($, jstree, undefined) { + "use strict"; + + if($.jstree.plugins.wholerow) { return; } + + var div = document.createElement('DIV'); + div.setAttribute('unselectable','on'); + div.setAttribute('role','presentation'); + div.className = 'jstree-wholerow'; + div.innerHTML = ' '; + $.jstree.plugins.wholerow = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + + this.element + .on('ready.jstree set_state.jstree', $.proxy(function () { + this.hide_dots(); + }, this)) + .on("init.jstree loading.jstree ready.jstree", $.proxy(function () { + //div.style.height = this._data.core.li_height + 'px'; + this.get_container_ul().addClass('jstree-wholerow-ul'); + }, this)) + .on("deselect_all.jstree", $.proxy(function (e, data) { + this.element.find('.jstree-wholerow-clicked').removeClass('jstree-wholerow-clicked'); + }, this)) + .on("changed.jstree", $.proxy(function (e, data) { + this.element.find('.jstree-wholerow-clicked').removeClass('jstree-wholerow-clicked'); + var tmp = false, i, j; + for(i = 0, j = data.selected.length; i < j; i++) { + tmp = this.get_node(data.selected[i], true); + if(tmp && tmp.length) { + tmp.children('.jstree-wholerow').addClass('jstree-wholerow-clicked'); + } + } + }, this)) + .on("open_node.jstree", $.proxy(function (e, data) { + this.get_node(data.node, true).find('.jstree-clicked').parent().children('.jstree-wholerow').addClass('jstree-wholerow-clicked'); + }, this)) + .on("hover_node.jstree dehover_node.jstree", $.proxy(function (e, data) { + if(e.type === "hover_node" && this.is_disabled(data.node)) { return; } + this.get_node(data.node, true).children('.jstree-wholerow')[e.type === "hover_node"?"addClass":"removeClass"]('jstree-wholerow-hovered'); + }, this)) + .on("contextmenu.jstree", ".jstree-wholerow", $.proxy(function (e) { + if (this._data.contextmenu) { + e.preventDefault(); + var tmp = $.Event('contextmenu', { metaKey : e.metaKey, ctrlKey : e.ctrlKey, altKey : e.altKey, shiftKey : e.shiftKey, pageX : e.pageX, pageY : e.pageY }); + $(e.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(tmp); + } + }, this)) + /*! + .on("mousedown.jstree touchstart.jstree", ".jstree-wholerow", function (e) { + if(e.target === e.currentTarget) { + var a = $(e.currentTarget).closest(".jstree-node").children(".jstree-anchor"); + e.target = a[0]; + a.trigger(e); + } + }) + */ + .on("click.jstree", ".jstree-wholerow", function (e) { + e.stopImmediatePropagation(); + var tmp = $.Event('click', { metaKey : e.metaKey, ctrlKey : e.ctrlKey, altKey : e.altKey, shiftKey : e.shiftKey }); + $(e.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(tmp).focus(); + }) + .on("dblclick.jstree", ".jstree-wholerow", function (e) { + e.stopImmediatePropagation(); + var tmp = $.Event('dblclick', { metaKey : e.metaKey, ctrlKey : e.ctrlKey, altKey : e.altKey, shiftKey : e.shiftKey }); + $(e.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(tmp).focus(); + }) + .on("click.jstree", ".jstree-leaf > .jstree-ocl", $.proxy(function (e) { + e.stopImmediatePropagation(); + var tmp = $.Event('click', { metaKey : e.metaKey, ctrlKey : e.ctrlKey, altKey : e.altKey, shiftKey : e.shiftKey }); + $(e.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(tmp).focus(); + }, this)) + .on("mouseover.jstree", ".jstree-wholerow, .jstree-icon", $.proxy(function (e) { + e.stopImmediatePropagation(); + if(!this.is_disabled(e.currentTarget)) { + this.hover_node(e.currentTarget); + } + return false; + }, this)) + .on("mouseleave.jstree", ".jstree-node", $.proxy(function (e) { + this.dehover_node(e.currentTarget); + }, this)); + }; + this.teardown = function () { + if(this.settings.wholerow) { + this.element.find(".jstree-wholerow").remove(); + } + parent.teardown.call(this); + }; + this.redraw_node = function(obj, deep, callback, force_render) { + obj = parent.redraw_node.apply(this, arguments); + if(obj) { + var tmp = div.cloneNode(true); + //tmp.style.height = this._data.core.li_height + 'px'; + if($.inArray(obj.id, this._data.core.selected) !== -1) { tmp.className += ' jstree-wholerow-clicked'; } + if(this._data.core.focused && this._data.core.focused === obj.id) { tmp.className += ' jstree-wholerow-hovered'; } + obj.insertBefore(tmp, obj.childNodes[0]); + } + return obj; + }; + }; + // include the wholerow plugin by default + // $.jstree.defaults.plugins.push("wholerow"); +})); diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/misc.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/misc.js new file mode 100644 index 0000000000..d2d789b1f3 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/misc.js @@ -0,0 +1,601 @@ +/* global jQuery */ + +// disable all events +(function ($, undefined) { + "use strict"; + $.jstree.plugins.trigger = function (options, parent) { + this.init = function (el, options) { + // do not forget parent + parent.init.call(this, el, options); + this._data.trigger.disabled = false; + }; + this.trigger = function (ev, data) { + if(!this._data.trigger.disabled) { + parent.trigger.call(this, ev, data); + } + }; + this.disable_events = function () { this._data.trigger.disabled = true; }; + this.enable_events = function () { this._data.trigger.disabled = false; }; + }; +})(jQuery); + +// mapping +(function ($, undefined) { + "use strict"; + // use this if you need any options + $.jstree.defaults.mapper = { + option_key : "option_value" + }; + $.jstree.plugins.mapper = function () { + this._parse_model_from_json = function (d, p, ps) { + // d is the node from the server, it will be called recursively for children, + // so you do not need to process at once + /* // for example + for(var i in d) { + if(d.hasOwnProperty(i)) { + d[i.toLowerCase()] = d[i]; + } + } + */ + return parent._parse_model_from_json.call(this, d, p, ps); + }; + }; +})(jQuery); + +// no hover +(function ($, undefined) { + "use strict"; + $.jstree.plugins.nohover = function () { + this.hover_node = $.noop; + }; +})(jQuery); + +// force multiple select +(function ($, undefined) { + "use strict"; + $.jstree.defaults.multiselect = {}; + $.jstree.plugins.multiselect = function (options, parent) { + this.activate_node = function (obj, e) { + e.ctrlKey = true; + parent.activate_node.call(this, obj, e); + }; + }; +})(jQuery); + +// real checkboxes +(function ($, undefined) { + "use strict"; + + var inp = document.createElement("INPUT"); + inp.type = "checkbox"; + inp.className = "jstree-checkbox jstree-realcheckbox"; + + $.jstree.defaults.realcheckboxes = {}; + + $.jstree.plugins.realcheckboxes = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + this._data.realcheckboxes.uto = false; + this.element + .on('changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree ready.jstree loaded.jstree', $.proxy(function () { + // only if undetermined is in setting + if(this._data.realcheckboxes.uto) { clearTimeout(this._data.realcheckboxes.uto); } + this._data.realcheckboxes.uto = setTimeout($.proxy(this._realcheckboxes, this), 50); + }, this)); + }; + this.redraw_node = function(obj, deep, callback, force_draw) { + obj = parent.redraw_node.call(this, obj, deep, callback, force_draw); + if(obj) { + var i, j, tmp = null, chk = inp.cloneNode(true); + for(i = 0, j = obj.childNodes.length; i < j; i++) { + if(obj.childNodes[i] && obj.childNodes[i].className && obj.childNodes[i].className.indexOf("jstree-anchor") !== -1) { + tmp = obj.childNodes[i]; + break; + } + } + if(tmp) { + for(i = 0, j = tmp.childNodes.length; i < j; i++) { + if(tmp.childNodes[i] && tmp.childNodes[i].className && tmp.childNodes[i].className.indexOf("jstree-checkbox") !== -1) { + tmp = tmp.childNodes[i]; + break; + } + } + } + if(tmp && tmp.tagName === "I") { + tmp.style.backgroundColor = "transparent"; + tmp.style.backgroundImage = "none"; + tmp.appendChild(chk); + } + } + return obj; + }; + this._realcheckboxes = function () { + var ts = this.settings.checkbox.tie_selection; + console.log(ts); + $('.jstree-realcheckbox').each(function () { + this.checked = (!ts && this.parentNode.parentNode.className.indexOf("jstree-checked") !== -1) || (ts && this.parentNode.parentNode.className.indexOf('jstree-clicked') !== -1); + this.indeterminate = this.parentNode.className.indexOf("jstree-undetermined") !== -1; + this.disabled = this.parentNode.parentNode.className.indexOf("disabled") !== -1; + }); + }; + }; +})(jQuery); + +// no state +(function ($, undefined) { + "use strict"; + $.jstree.plugins.nostate = function () { + this.set_state = function (state, callback) { + if(callback) { callback.call(this); } + this.trigger('set_state'); + }; + }; +})(jQuery); + +// no selected in state +(function ($, undefined) { + "use strict"; + $.jstree.plugins.noselectedstate = function (options, parent) { + this.get_state = function () { + var state = parent.get_state.call(this); + delete state.core.selected; + return state; + }; + }; +})(jQuery); + +// additional icon on node (outside of anchor) +(function ($, undefined) { + "use strict"; + var img = document.createElement('IMG'); + //img.src = "http://www.dpcd.vic.gov.au/__data/assets/image/0004/30667/help.gif"; + img.className = "jstree-questionmark"; + + $.jstree.defaults.questionmark = $.noop; + $.jstree.plugins.questionmark = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + this.element + .on("click.jstree", ".jstree-questionmark", $.proxy(function (e) { + e.stopImmediatePropagation(); + this.settings.questionmark.call(this, this.get_node(e.target)); + }, this)); + }; + this.teardown = function () { + if(this.settings.questionmark) { + this.element.find(".jstree-questionmark").remove(); + } + parent.teardown.call(this); + }; + this.redraw_node = function(obj, deep, callback, force_draw) { + obj = parent.redraw_node.call(this, obj, deep, callback, force_draw); + if(obj) { + var tmp = img.cloneNode(true); + obj.insertBefore(tmp, obj.childNodes[2]); + } + return obj; + }; + }; +})(jQuery); + +// auto numbering +(function ($, undefined) { + "use strict"; + var span = document.createElement('SPAN'); + span.className = "jstree-numbering"; + + $.jstree.defaults.numbering = {}; + $.jstree.plugins.numbering = function (options, parent) { + this.teardown = function () { + if(this.settings.questionmark) { + this.element.find(".jstree-numbering").remove(); + } + parent.teardown.call(this); + }; + this.get_number = function (obj) { + obj = this.get_node(obj); + var ind = $.inArray(obj.id, this.get_node(obj.parent).children) + 1; + return obj.parent === '#' ? ind : this.get_number(obj.parent) + '.' + ind; + }; + this.redraw_node = function(obj, deep, callback, force_draw) { + var i, j, tmp = null, elm = null, org = this.get_number(obj); + obj = parent.redraw_node.call(this, obj, deep, callback, force_draw); + if(obj) { + for(i = 0, j = obj.childNodes.length; i < j; i++) { + if(obj.childNodes[i] && obj.childNodes[i].className && obj.childNodes[i].className.indexOf("jstree-anchor") !== -1) { + tmp = obj.childNodes[i]; + break; + } + } + if(tmp) { + elm = span.cloneNode(true); + elm.innerHTML = org + '. '; + tmp.insertBefore(elm, tmp.childNodes[tmp.childNodes.length - 1]); + } + } + return obj; + }; + }; +})(jQuery); + +// additional icon on node (inside anchor) +(function ($, undefined) { + "use strict"; + var _s = document.createElement('SPAN'); + _s.className = 'fa-stack jstree-stackedicon'; + var _i = document.createElement('I'); + _i.className = 'jstree-icon'; + _i.setAttribute('role', 'presentation'); + + $.jstree.plugins.stackedicon = function (options, parent) { + this.teardown = function () { + this.element.find(".jstree-stackedicon").remove(); + parent.teardown.call(this); + }; + this.redraw_node = function(obj, deep, is_callback, force_render) { + obj = parent.redraw_node.apply(this, arguments); + if(obj) { + var i, j, tmp = null, icon = null, temp = null; + for(i = 0, j = obj.childNodes.length; i < j; i++) { + if(obj.childNodes[i] && obj.childNodes[i].className && obj.childNodes[i].className.indexOf("jstree-anchor") !== -1) { + tmp = obj.childNodes[i]; + break; + } + } + if(tmp) { + if(this._model.data[obj.id].state.icons && this._model.data[obj.id].state.icons.length) { + icon = _s.cloneNode(false); + for(i = 0, j = this._model.data[obj.id].state.icons.length; i < j; i++) { + temp = _i.cloneNode(false); + temp.className += ' ' + this._model.data[obj.id].state.icons[i]; + icon.appendChild(temp); + } + tmp.insertBefore(icon, tmp.childNodes[0]); + } + } + } + return obj; + }; + }; +})(jQuery); + +// selecting a node opens it +(function ($, undefined) { + "use strict"; + $.jstree.plugins.selectopens = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + this.element.on('select_node.jstree', function (e, data) { data.instance.open_node(data.node); }); + }; + }; +})(jQuery); + +// object as data +(function ($, undefined) { + "use strict"; + $.jstree.defaults.datamodel = {}; + $.jstree.plugins.datamodel = function (options, parent) { + this.init = function (el, options) { + this._data.datamodel = {}; + parent.init.call(this, el, options); + }; + this._datamodel = function (id, nodes, callback) { + var i = 0, j = nodes.length, tmp = [], obj = null; + for(; i < j; i++) { + this._data.datamodel[nodes[i].getID()] = nodes[i]; + obj = { + id : nodes[i].getID(), + text : nodes[i].getText(), + children : nodes[i].hasChildren() + }; + if(nodes[i].getExtra) { + obj = nodes[i].getExtra(obj); // icon, type + } + tmp.push(obj); + } + return this._append_json_data(id, tmp, $.proxy(function (status) { + callback.call(this, status); + }, this)); + }; + this._load_node = function (obj, callback) { + var id = obj.id; + var nd = obj.id === "#" ? this.settings.core.data : this._data.datamodel[obj.id].getChildren($.proxy(function (nodes) { + this._datamodel(id, nodes, callback); + }, this)); + if($.isArray(nd)) { + this._datamodel(id, nd, callback); + } + }; + }; +})(jQuery); +/* + demo of the above + function treeNode(val) { + var id = ++treeNode.counter; + this.getID = function () { + return id; + }; + this.getText = function () { + return val.toString(); + }; + this.getExtra = function (obj) { + obj.icon = false; + return obj; + }; + this.hasChildren = function () { + return true; + }; + this.getChildren = function () { + return [ + new treeNode(Math.pow(val, 2)), + new treeNode(Math.sqrt(val)), + ]; + }; + } + treeNode.counter = 0; + + $('#jstree').jstree({ + 'core': { + 'data': [ + new treeNode(2), + new treeNode(3), + new treeNode(4), + new treeNode(5) + ] + }, + plugins : ['datamodel'] + }); +*/ + +// untested sample plugin to keep all nodes in the DOM +(function ($, undefined) { + "use strict"; + $.jstree.plugins.dom = function (options, parent) { + this.redraw_node = function (node, deep, is_callback, force_render) { + return parent.redraw_node.call(this, node, deep, is_callback, true); + }; + this.close_node = function (obj, animation) { + var t1, t2, t, d; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.close_node(obj[t1], animation); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === $.jstree.root) { + return false; + } + if(this.is_closed(obj)) { + return false; + } + animation = animation === undefined ? this.settings.core.animation : animation; + t = this; + d = this.get_node(obj, true); + if(d.length) { + if(!animation) { + d[0].className = d[0].className.replace('jstree-open', 'jstree-closed'); + d.attr("aria-expanded", false); + } + else { + d + .children(".jstree-children").attr("style","display:block !important").end() + .removeClass("jstree-open").addClass("jstree-closed").attr("aria-expanded", false) + .children(".jstree-children").stop(true, true).slideUp(animation, function () { + this.style.display = ""; + t.trigger("after_close", { "node" : obj }); + }); + } + } + obj.state.opened = false; + this.trigger('close_node',{ "node" : obj }); + if(!animation || !d.length) { + this.trigger("after_close", { "node" : obj }); + } + }; + }; +})(jQuery); + +// customize plugin by @Lusito +// https://github.com/Lusito/jstree/blob/node-customize/src/jstree-node-customize.js +/** + * ### Node Customize plugin + * + * Allows to customize nodes when they are drawn. + */ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define('jstree.node_customize', ['jquery','jstree'], factory); + } + else if(typeof exports === 'object') { + factory(require('jquery'), require('jstree')); + } + else { + factory(jQuery, jQuery.jstree); + } +}(function ($, jstree, undefined) { + "use strict"; + + if($.jstree.plugins.node_customize) { return; } + + /** + * the settings object. + * key is the attribute name to select the customizer function from switch. + * switch is a key => function(el, node) map. + * default: function(el, node) will be called if the type could not be mapped + * @name $.jstree.defaults.node_customize + * @plugin node_customize + */ + $.jstree.defaults.node_customize = { + "key": "type", + "switch": {}, + "default": null + }; + + $.jstree.plugins.node_customize = function (options, parent) { + this.redraw_node = function (obj, deep, callback, force_draw) { + var node_id = obj; + var el = parent.redraw_node.apply(this, arguments); + if (el) { + var node = this._model.data[node_id]; + var cfg = this.settings.node_customize; + var key = cfg.key; + var type = (node && node.original && node.original[key]); + var customizer = (type && cfg.switch[type]) || cfg.default; + if(customizer) + customizer(el, node); + } + return el; + }; + } +})); + + +// parentsload plugin by @ashl1 +/** + * ### Parentsload plugin + * + * Change load_node() functionality in jsTree, to possible load not yes downloaded node with all it parent in a single request (only useful with lazy loading). + * + * version 1.0.0 (Alexey Shildyakov - ashl1future@gmail.com) + * 2015: Compatible with jsTree-3.2.1 + */ +/*globals jQuery, define, exports, require, document */ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define('jstree.parentsload', ['jquery','jstree'], factory); + } + else if(typeof exports === 'object') { + factory(require('jquery'), require('jstree')); + } + else { + factory(jQuery, jQuery.jstree); + } +}(function ($, jstree, undefined) { + "use strict"; + + if($.jstree.plugins.parentsload) { return; } + + /** + * parentsload configuration + * + * The configuration syntax is almost the same as for core.data option. You must set parenstload.data the following: + * + * parentsload: { + * data: function(){} // this function overwrites core data.data options + * } + * + * OR + * + * parentsload: { + * data: { + * url: function(node){} OR string, + * data: function(node){} OR associative array as json{data} jQuery parameter + * } + * } + * + * In last case at least on of 'url' or 'data' must be presented. + * + * At first, the plugin load_node() detects if the node already downloaded. If is - uses the core.data settings, if not - uses parentsload.data settings + * to fetch in one query the specified node and all its parent. The data must be in the first mentioned JSON format with set nested children[]. + * Each node level should consist of all nodes on the level to properly work with the tree in the future. Otherwise, you must manually call load_node + * on every parent node to fetch all children nodes on that level. + * + * @name $.jstree.defaults.parentsload + * @plugin parentsload + */ + $.jstree.defaults.parentsload = null; + $.jstree.plugins.parentsload = function (options, parent) { + this.init = function (el, options) { + parent.init.call(this, el, options); + this.patch_data() + }; + this.patch_data = function(){ + var parentsloadSettings = this.settings.parentsload; + var jsTreeDataSettings = this.settings.core.data; + var self = this; + + var callError = function(number, message) { + self._data.core.last_error = { 'error' : 'configuration', 'plugin' : 'parentsload', 'id' : 'parentsload_' + number, 'reason' : message, 'data' : JSON.stringify({config: parentsloadSettings}) }; + self.settings.core.error.call(self, self._data.core.last_error); + } + + if(!parentsloadSettings) { + callError('01', 'The configuration must be presented') + return + } + parentsloadSettings = parentsloadSettings.data; + + var patchSettingsProperty = function (propertyName) { + var property = parentsloadSettings[propertyName], + coreProperty = jsTreeDataSettings[propertyName]; + if (property) { + jsTreeDataSettings[propertyName] = function(node) { + if (this.get_node(node).parentsload_required) { + if ($.isFunction(property)) { + return property.call(this, node) + } else {// (typeof property === 'string') + return property + } + } else { + if ($.isFunction(coreProperty)) { + return coreProperty.call(this, node) + } else { // (typeof coreProperty === 'string') + return coreProperty + } + } + } + } /* else { + use jstree the same data[propertyName] settings + }*/ + } + + if($.isFunction(parentsloadSettings)) { + this.settings.data = parentsloadSettings + } else if (typeof parentsloadSettings === 'object') { + if (! (parentsloadSettings.url || parentsloadSettings.data)) { + callError('02', 'The "data.url" or "data.data" must be presented in configuration') + return + } + patchSettingsProperty('url') + patchSettingsProperty('data') + + } else { + callError('03', 'The appropriate "data.url" or "data.data" must be presented in configuration') + } + } + + this.load_node = function (obj, callback) { + if($.isArray(obj)) { + // FIXME: _load_nodes will not load nodes not presented in the tree + this._load_nodes(obj.slice(), callback); + return true; + } + var foundObj = this.get_node(obj); + if (foundObj) { + return parent.load_node.apply(this, arguments) + } else { + // node hasn't been loaded + var id = obj.id? obj.id: obj; + this._model.data[id] = { + id : id, + parent : '#', + parents : [], + children : [], + children_d : [], + state : { loaded : false }, + li_attr : {}, + a_attr : {}, + parentsload_required : true, + }; + return parent.load_node.call(this, obj, function(obj, status){ + obj.parentsload_required = !status + callback.call(this, obj, status) + }) + } + } + }; +})); diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/outro.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/outro.js new file mode 100644 index 0000000000..57d3e4820a --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/outro.js @@ -0,0 +1 @@ +})); \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/sample.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/sample.js new file mode 100644 index 0000000000..2811e75ca0 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/sample.js @@ -0,0 +1,93 @@ +/*global jQuery */ +// wrap in IIFE and pass jQuery as $ +(function ($, undefined) { + "use strict"; + + // some private plugin stuff if needed + var private_var = null; + + // extending the defaults + $.jstree.defaults.sample = { + sample_option : 'sample_val' + }; + + // the actual plugin code + $.jstree.plugins.sample = function (options, parent) { + // own function + this.sample_function = function (arg) { + // you can chain this method if needed and available + if(parent.sample_function) { parent.sample_function.call(this, arg); } + }; + + // *SPECIAL* FUNCTIONS + this.init = function (el, options) { + // do not forget parent + parent.init.call(this, el, options); + }; + // bind events if needed + this.bind = function () { + // call parent function first + parent.bind.call(this); + // do(stuff); + }; + // unbind events if needed (all in jquery namespace are taken care of by the core) + this.unbind = function () { + // do(stuff); + // call parent function last + parent.unbind.call(this); + }; + this.teardown = function () { + // do not forget parent + parent.teardown.call(this); + }; + // state management - get and restore + this.get_state = function () { + // always get state from parent first + var state = parent.get_state.call(this); + // add own stuff to state + state.sample = { 'var' : 'val' }; + return state; + }; + this.set_state = function (state, callback) { + // only process your part if parent returns true + // there will be multiple times with false + if(parent.set_state.call(this, state, callback)) { + // check the key you set above + if(state.sample) { + // do(stuff); // like calling this.sample_function(state.sample.var); + // remove your part of the state, call again and RETURN FALSE, the next cycle will be TRUE + delete state.sample; + this.set_state(state, callback); + return false; + } + // return true if your state is gone (cleared in the previous step) + return true; + } + // parent was false - return false too + return false; + }; + // node transportation + this.get_json = function (obj, options, flat) { + // get the node from the parent + var tmp = parent.get_json.call(this, obj, options, flat), i, j; + if($.isArray(tmp)) { + for(i = 0, j = tmp.length; i < j; i++) { + tmp[i].sample = 'value'; + } + } + else { + tmp.sample = 'value'; + } + // return the original / modified node + return tmp; + }; + }; + + // attach to document ready if needed + $(function () { + // do(stuff); + }); + + // you can include the sample plugin in all instances by default + $.jstree.defaults.plugins.push("sample"); +})(jQuery); \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/base.less b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/base.less new file mode 100644 index 0000000000..097e9997a8 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/base.less @@ -0,0 +1,88 @@ +// base jstree +.jstree-node, .jstree-children, .jstree-container-ul { display:block; margin:0; padding:0; list-style-type:none; list-style-image:none; } +.jstree-node { white-space:nowrap; } +.jstree-anchor { display:inline-block; color:black; white-space:nowrap; padding:0 4px 0 1px; margin:0; vertical-align:top; } +.jstree-anchor:focus { outline:0; } +.jstree-anchor, .jstree-anchor:link, .jstree-anchor:visited, .jstree-anchor:hover, .jstree-anchor:active { text-decoration:none; color:inherit; } +.jstree-icon { display:inline-block; text-decoration:none; margin:0; padding:0; vertical-align:top; text-align:center; } +.jstree-icon:empty { display:inline-block; text-decoration:none; margin:0; padding:0; vertical-align:top; text-align:center; } +.jstree-ocl { cursor:pointer; } +.jstree-leaf > .jstree-ocl { cursor:default; } +.jstree .jstree-open > .jstree-children { display:block; } +.jstree .jstree-closed > .jstree-children, +.jstree .jstree-leaf > .jstree-children { display:none; } +.jstree-anchor > .jstree-themeicon { margin-right:2px; } +.jstree-no-icons .jstree-themeicon, +.jstree-anchor > .jstree-themeicon-hidden { display:none; } +.jstree-hidden, .jstree-node.jstree-hidden { display:none; } + +// base jstree rtl +.jstree-rtl { + .jstree-anchor { padding:0 1px 0 4px; } + .jstree-anchor > .jstree-themeicon { margin-left:2px; margin-right:0; } + .jstree-node { margin-left:0; } + .jstree-container-ul > .jstree-node { margin-right:0; } +} + +// base jstree wholerow +.jstree-wholerow-ul { + position:relative; + display:inline-block; + min-width:100%; + .jstree-leaf > .jstree-ocl { cursor:pointer; } + .jstree-anchor, .jstree-icon { position:relative; } + .jstree-wholerow { width:100%; cursor:pointer; position:absolute; left:0; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; } +} + +// base contextmenu +.vakata-context { + display:none; + &, ul { margin:0; padding:2px; position:absolute; background:#f5f5f5; border:1px solid #979797; box-shadow:2px 2px 2px #999999; } + ul { list-style:none; left:100%; margin-top:-2.7em; margin-left:-4px; } + .vakata-context-right ul { left:auto; right:100%; margin-left:auto; margin-right:-4px; } + li { + list-style:none; + > a { + display:block; padding:0 2em 0 2em; text-decoration:none; width:auto; color:black; white-space:nowrap; line-height:2.4em; text-shadow:1px 1px 0 white; border-radius:1px; + &:hover { position:relative; background-color:#e8eff7; box-shadow:0 0 2px #0a6aa1; } + &.vakata-context-parent { background-image:url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw=="); background-position:right center; background-repeat:no-repeat; } + } + > a:focus { outline:0; } + } + .vakata-context-hover > a { position:relative; background-color:#e8eff7; box-shadow:0 0 2px #0a6aa1; } + .vakata-context-separator { + > a, > a:hover { background:white; border:0; border-top:1px solid #e2e3e3; height:1px; min-height:1px; max-height:1px; padding:0; margin:0 0 0 2.4em; border-left:1px solid #e0e0e0; text-shadow:0 0 0 transparent; box-shadow:0 0 0 transparent; border-radius:0; } + } + .vakata-contextmenu-disabled { + a, a:hover { color:silver; background-color:transparent; border:0; box-shadow:0 0 0; } + } + li > a { + > i { text-decoration:none; display:inline-block; width:2.4em; height:2.4em; background:transparent; margin:0 0 0 -2em; vertical-align:top; text-align:center; line-height:2.4em; } + > i:empty { width:2.4em; line-height:2.4em; } + .vakata-contextmenu-sep { display:inline-block; width:1px; height:2.4em; background:white; margin:0 0.5em 0 0; border-left:1px solid #e2e3e3; } + } + .vakata-contextmenu-shortcut { font-size:0.8em; color:silver; opacity:0.5; display:none; } +} +.vakata-context-rtl { + ul { left:auto; right:100%; margin-left:auto; margin-right:-4px; } + li > a.vakata-context-parent { background-image:url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7"); background-position:left center; background-repeat:no-repeat; } + .vakata-context-separator > a { margin:0 2.4em 0 0; border-left:0; border-right:1px solid #e2e3e3;} + .vakata-context-left ul { right:auto; left:100%; margin-left:-4px; margin-right:auto; } + li > a { + > i { margin:0 -2em 0 0; } + .vakata-contextmenu-sep { margin:0 0 0 0.5em; border-left-color:white; background:#e2e3e3; } + } +} + +// base drag'n'drop +#jstree-marker { position: absolute; top:0; left:0; margin:-5px 0 0 0; padding:0; border-right:0; border-top:5px solid transparent; border-bottom:5px solid transparent; border-left:5px solid; width:0; height:0; font-size:0; line-height:0; } +#jstree-dnd { + line-height:16px; + margin:0; + padding:4px; + .jstree-icon, + .jstree-copy { display:inline-block; text-decoration:none; margin:0 2px 0 0; padding:0; width:16px; height:16px; } + .jstree-ok { background:green; } + .jstree-er { background:red; } + .jstree-copy { margin:0 2px 0 2px; } +} diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default-dark/32px.png b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default-dark/32px.png new file mode 100644 index 0000000000000000000000000000000000000000..60395729ef6cfda914b211d5a45c9d2c083b3175 GIT binary patch literal 1525 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 Az5oCK literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default-dark/style.css b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default-dark/style.css new file mode 100644 index 0000000000..3af003f2d5 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default-dark/style.css @@ -0,0 +1,1146 @@ +/* jsTree default dark theme */ +.jstree-node, +.jstree-children, +.jstree-container-ul { + display: block; + margin: 0; + padding: 0; + list-style-type: none; + list-style-image: none; +} +.jstree-node { + white-space: nowrap; +} +.jstree-anchor { + display: inline-block; + color: black; + white-space: nowrap; + padding: 0 4px 0 1px; + margin: 0; + vertical-align: top; +} +.jstree-anchor:focus { + outline: 0; +} +.jstree-anchor, +.jstree-anchor:link, +.jstree-anchor:visited, +.jstree-anchor:hover, +.jstree-anchor:active { + text-decoration: none; + color: inherit; +} +.jstree-icon { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0; + vertical-align: top; + text-align: center; +} +.jstree-icon:empty { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0; + vertical-align: top; + text-align: center; +} +.jstree-ocl { + cursor: pointer; +} +.jstree-leaf > .jstree-ocl { + cursor: default; +} +.jstree .jstree-open > .jstree-children { + display: block; +} +.jstree .jstree-closed > .jstree-children, +.jstree .jstree-leaf > .jstree-children { + display: none; +} +.jstree-anchor > .jstree-themeicon { + margin-right: 2px; +} +.jstree-no-icons .jstree-themeicon, +.jstree-anchor > .jstree-themeicon-hidden { + display: none; +} +.jstree-hidden, +.jstree-node.jstree-hidden { + display: none; +} +.jstree-rtl .jstree-anchor { + padding: 0 1px 0 4px; +} +.jstree-rtl .jstree-anchor > .jstree-themeicon { + margin-left: 2px; + margin-right: 0; +} +.jstree-rtl .jstree-node { + margin-left: 0; +} +.jstree-rtl .jstree-container-ul > .jstree-node { + margin-right: 0; +} +.jstree-wholerow-ul { + position: relative; + display: inline-block; + min-width: 100%; +} +.jstree-wholerow-ul .jstree-leaf > .jstree-ocl { + cursor: pointer; +} +.jstree-wholerow-ul .jstree-anchor, +.jstree-wholerow-ul .jstree-icon { + position: relative; +} +.jstree-wholerow-ul .jstree-wholerow { + width: 100%; + cursor: pointer; + position: absolute; + left: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.vakata-context { + display: none; +} +.vakata-context, +.vakata-context ul { + margin: 0; + padding: 2px; + position: absolute; + background: #f5f5f5; + border: 1px solid #979797; + box-shadow: 2px 2px 2px #999999; +} +.vakata-context ul { + list-style: none; + left: 100%; + margin-top: -2.7em; + margin-left: -4px; +} +.vakata-context .vakata-context-right ul { + left: auto; + right: 100%; + margin-left: auto; + margin-right: -4px; +} +.vakata-context li { + list-style: none; +} +.vakata-context li > a { + display: block; + padding: 0 2em 0 2em; + text-decoration: none; + width: auto; + color: black; + white-space: nowrap; + line-height: 2.4em; + text-shadow: 1px 1px 0 white; + border-radius: 1px; +} +.vakata-context li > a:hover { + position: relative; + background-color: #e8eff7; + box-shadow: 0 0 2px #0a6aa1; +} +.vakata-context li > a.vakata-context-parent { + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw=="); + background-position: right center; + background-repeat: no-repeat; +} +.vakata-context li > a:focus { + outline: 0; +} +.vakata-context .vakata-context-hover > a { + position: relative; + background-color: #e8eff7; + box-shadow: 0 0 2px #0a6aa1; +} +.vakata-context .vakata-context-separator > a, +.vakata-context .vakata-context-separator > a:hover { + background: white; + border: 0; + border-top: 1px solid #e2e3e3; + height: 1px; + min-height: 1px; + max-height: 1px; + padding: 0; + margin: 0 0 0 2.4em; + border-left: 1px solid #e0e0e0; + text-shadow: 0 0 0 transparent; + box-shadow: 0 0 0 transparent; + border-radius: 0; +} +.vakata-context .vakata-contextmenu-disabled a, +.vakata-context .vakata-contextmenu-disabled a:hover { + color: silver; + background-color: transparent; + border: 0; + box-shadow: 0 0 0; +} +.vakata-context li > a > i { + text-decoration: none; + display: inline-block; + width: 2.4em; + height: 2.4em; + background: transparent; + margin: 0 0 0 -2em; + vertical-align: top; + text-align: center; + line-height: 2.4em; +} +.vakata-context li > a > i:empty { + width: 2.4em; + line-height: 2.4em; +} +.vakata-context li > a .vakata-contextmenu-sep { + display: inline-block; + width: 1px; + height: 2.4em; + background: white; + margin: 0 0.5em 0 0; + border-left: 1px solid #e2e3e3; +} +.vakata-context .vakata-contextmenu-shortcut { + font-size: 0.8em; + color: silver; + opacity: 0.5; + display: none; +} +.vakata-context-rtl ul { + left: auto; + right: 100%; + margin-left: auto; + margin-right: -4px; +} +.vakata-context-rtl li > a.vakata-context-parent { + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7"); + background-position: left center; + background-repeat: no-repeat; +} +.vakata-context-rtl .vakata-context-separator > a { + margin: 0 2.4em 0 0; + border-left: 0; + border-right: 1px solid #e2e3e3; +} +.vakata-context-rtl .vakata-context-left ul { + right: auto; + left: 100%; + margin-left: -4px; + margin-right: auto; +} +.vakata-context-rtl li > a > i { + margin: 0 -2em 0 0; +} +.vakata-context-rtl li > a .vakata-contextmenu-sep { + margin: 0 0 0 0.5em; + border-left-color: white; + background: #e2e3e3; +} +#jstree-marker { + position: absolute; + top: 0; + left: 0; + margin: -5px 0 0 0; + padding: 0; + border-right: 0; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-left: 5px solid; + width: 0; + height: 0; + font-size: 0; + line-height: 0; +} +#jstree-dnd { + line-height: 16px; + margin: 0; + padding: 4px; +} +#jstree-dnd .jstree-icon, +#jstree-dnd .jstree-copy { + display: inline-block; + text-decoration: none; + margin: 0 2px 0 0; + padding: 0; + width: 16px; + height: 16px; +} +#jstree-dnd .jstree-ok { + background: green; +} +#jstree-dnd .jstree-er { + background: red; +} +#jstree-dnd .jstree-copy { + margin: 0 2px 0 2px; +} +.jstree-default-dark .jstree-node, +.jstree-default-dark .jstree-icon { + background-repeat: no-repeat; + background-color: transparent; +} +.jstree-default-dark .jstree-anchor, +.jstree-default-dark .jstree-animated, +.jstree-default-dark .jstree-wholerow { + transition: background-color 0.15s, box-shadow 0.15s; +} +.jstree-default-dark .jstree-hovered { + background: #555555; + border-radius: 2px; + box-shadow: inset 0 0 1px #555555; +} +.jstree-default-dark .jstree-context { + background: #555555; + border-radius: 2px; + box-shadow: inset 0 0 1px #555555; +} +.jstree-default-dark .jstree-clicked { + background: #5fa2db; + border-radius: 2px; + box-shadow: inset 0 0 1px #666666; +} +.jstree-default-dark .jstree-no-icons .jstree-anchor > .jstree-themeicon { + display: none; +} +.jstree-default-dark .jstree-disabled { + background: transparent; + color: #666666; +} +.jstree-default-dark .jstree-disabled.jstree-hovered { + background: transparent; + box-shadow: none; +} +.jstree-default-dark .jstree-disabled.jstree-clicked { + background: #333333; +} +.jstree-default-dark .jstree-disabled > .jstree-icon { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ +} +.jstree-default-dark .jstree-search { + font-style: italic; + color: #ffffff; + font-weight: bold; +} +.jstree-default-dark .jstree-no-checkboxes .jstree-checkbox { + display: none !important; +} +.jstree-default-dark.jstree-checkbox-no-clicked .jstree-clicked { + background: transparent; + box-shadow: none; +} +.jstree-default-dark.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered { + background: #555555; +} +.jstree-default-dark.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked { + background: transparent; +} +.jstree-default-dark.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered { + background: #555555; +} +.jstree-default-dark > .jstree-striped { + min-width: 100%; + display: inline-block; + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat; +} +.jstree-default-dark > .jstree-wholerow-ul .jstree-hovered, +.jstree-default-dark > .jstree-wholerow-ul .jstree-clicked { + background: transparent; + box-shadow: none; + border-radius: 0; +} +.jstree-default-dark .jstree-wholerow { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.jstree-default-dark .jstree-wholerow-hovered { + background: #555555; +} +.jstree-default-dark .jstree-wholerow-clicked { + background: #5fa2db; + background: -webkit-linear-gradient(top, #5fa2db 0%, #5fa2db 100%); + background: linear-gradient(to bottom, #5fa2db 0%, #5fa2db 100%); +} +.jstree-default-dark .jstree-node { + min-height: 24px; + line-height: 24px; + margin-left: 24px; + min-width: 24px; +} +.jstree-default-dark .jstree-anchor { + line-height: 24px; + height: 24px; +} +.jstree-default-dark .jstree-icon { + width: 24px; + height: 24px; + line-height: 24px; +} +.jstree-default-dark .jstree-icon:empty { + width: 24px; + height: 24px; + line-height: 24px; +} +.jstree-default-dark.jstree-rtl .jstree-node { + margin-right: 24px; +} +.jstree-default-dark .jstree-wholerow { + height: 24px; +} +.jstree-default-dark .jstree-node, +.jstree-default-dark .jstree-icon { + background-image: url("32px.png"); +} +.jstree-default-dark .jstree-node { + background-position: -292px -4px; + background-repeat: repeat-y; +} +.jstree-default-dark .jstree-last { + background: transparent; +} +.jstree-default-dark .jstree-open > .jstree-ocl { + background-position: -132px -4px; +} +.jstree-default-dark .jstree-closed > .jstree-ocl { + background-position: -100px -4px; +} +.jstree-default-dark .jstree-leaf > .jstree-ocl { + background-position: -68px -4px; +} +.jstree-default-dark .jstree-themeicon { + background-position: -260px -4px; +} +.jstree-default-dark > .jstree-no-dots .jstree-node, +.jstree-default-dark > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-dark > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -36px -4px; +} +.jstree-default-dark > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -4px -4px; +} +.jstree-default-dark .jstree-disabled { + background: transparent; +} +.jstree-default-dark .jstree-disabled.jstree-hovered { + background: transparent; +} +.jstree-default-dark .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default-dark .jstree-checkbox { + background-position: -164px -4px; +} +.jstree-default-dark .jstree-checkbox:hover { + background-position: -164px -36px; +} +.jstree-default-dark.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, +.jstree-default-dark .jstree-checked > .jstree-checkbox { + background-position: -228px -4px; +} +.jstree-default-dark.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, +.jstree-default-dark .jstree-checked > .jstree-checkbox:hover { + background-position: -228px -36px; +} +.jstree-default-dark .jstree-anchor > .jstree-undetermined { + background-position: -196px -4px; +} +.jstree-default-dark .jstree-anchor > .jstree-undetermined:hover { + background-position: -196px -36px; +} +.jstree-default-dark .jstree-checkbox-disabled { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ +} +.jstree-default-dark > .jstree-striped { + background-size: auto 48px; +} +.jstree-default-dark.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default-dark.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-dark.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -132px -36px; +} +.jstree-default-dark.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -100px -36px; +} +.jstree-default-dark.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -68px -36px; +} +.jstree-default-dark.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default-dark.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-dark.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -36px -36px; +} +.jstree-default-dark.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -4px -36px; +} +.jstree-default-dark .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; +} +.jstree-default-dark > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url("throbber.gif") center center no-repeat; +} +.jstree-default-dark .jstree-file { + background: url("32px.png") -100px -68px no-repeat; +} +.jstree-default-dark .jstree-folder { + background: url("32px.png") -260px -4px no-repeat; +} +.jstree-default-dark > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; +} +#jstree-dnd.jstree-default-dark { + line-height: 24px; + padding: 0 4px; +} +#jstree-dnd.jstree-default-dark .jstree-ok, +#jstree-dnd.jstree-default-dark .jstree-er { + background-image: url("32px.png"); + background-repeat: no-repeat; + background-color: transparent; +} +#jstree-dnd.jstree-default-dark i { + background: transparent; + width: 24px; + height: 24px; + line-height: 24px; +} +#jstree-dnd.jstree-default-dark .jstree-ok { + background-position: -4px -68px; +} +#jstree-dnd.jstree-default-dark .jstree-er { + background-position: -36px -68px; +} +.jstree-default-dark .jstree-ellipsis { + overflow: hidden; +} +.jstree-default-dark .jstree-ellipsis .jstree-anchor { + width: calc(100% - 29px); + text-overflow: ellipsis; + overflow: hidden; +} +.jstree-default-dark .jstree-ellipsis.jstree-no-icons .jstree-anchor { + width: calc(100% - 5px); +} +.jstree-default-dark.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); +} +.jstree-default-dark.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-dark-small .jstree-node { + min-height: 18px; + line-height: 18px; + margin-left: 18px; + min-width: 18px; +} +.jstree-default-dark-small .jstree-anchor { + line-height: 18px; + height: 18px; +} +.jstree-default-dark-small .jstree-icon { + width: 18px; + height: 18px; + line-height: 18px; +} +.jstree-default-dark-small .jstree-icon:empty { + width: 18px; + height: 18px; + line-height: 18px; +} +.jstree-default-dark-small.jstree-rtl .jstree-node { + margin-right: 18px; +} +.jstree-default-dark-small .jstree-wholerow { + height: 18px; +} +.jstree-default-dark-small .jstree-node, +.jstree-default-dark-small .jstree-icon { + background-image: url("32px.png"); +} +.jstree-default-dark-small .jstree-node { + background-position: -295px -7px; + background-repeat: repeat-y; +} +.jstree-default-dark-small .jstree-last { + background: transparent; +} +.jstree-default-dark-small .jstree-open > .jstree-ocl { + background-position: -135px -7px; +} +.jstree-default-dark-small .jstree-closed > .jstree-ocl { + background-position: -103px -7px; +} +.jstree-default-dark-small .jstree-leaf > .jstree-ocl { + background-position: -71px -7px; +} +.jstree-default-dark-small .jstree-themeicon { + background-position: -263px -7px; +} +.jstree-default-dark-small > .jstree-no-dots .jstree-node, +.jstree-default-dark-small > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-dark-small > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -39px -7px; +} +.jstree-default-dark-small > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -7px -7px; +} +.jstree-default-dark-small .jstree-disabled { + background: transparent; +} +.jstree-default-dark-small .jstree-disabled.jstree-hovered { + background: transparent; +} +.jstree-default-dark-small .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default-dark-small .jstree-checkbox { + background-position: -167px -7px; +} +.jstree-default-dark-small .jstree-checkbox:hover { + background-position: -167px -39px; +} +.jstree-default-dark-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, +.jstree-default-dark-small .jstree-checked > .jstree-checkbox { + background-position: -231px -7px; +} +.jstree-default-dark-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, +.jstree-default-dark-small .jstree-checked > .jstree-checkbox:hover { + background-position: -231px -39px; +} +.jstree-default-dark-small .jstree-anchor > .jstree-undetermined { + background-position: -199px -7px; +} +.jstree-default-dark-small .jstree-anchor > .jstree-undetermined:hover { + background-position: -199px -39px; +} +.jstree-default-dark-small .jstree-checkbox-disabled { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ +} +.jstree-default-dark-small > .jstree-striped { + background-size: auto 36px; +} +.jstree-default-dark-small.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default-dark-small.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-dark-small.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -135px -39px; +} +.jstree-default-dark-small.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -103px -39px; +} +.jstree-default-dark-small.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -71px -39px; +} +.jstree-default-dark-small.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default-dark-small.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-dark-small.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -39px -39px; +} +.jstree-default-dark-small.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -7px -39px; +} +.jstree-default-dark-small .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; +} +.jstree-default-dark-small > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url("throbber.gif") center center no-repeat; +} +.jstree-default-dark-small .jstree-file { + background: url("32px.png") -103px -71px no-repeat; +} +.jstree-default-dark-small .jstree-folder { + background: url("32px.png") -263px -7px no-repeat; +} +.jstree-default-dark-small > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; +} +#jstree-dnd.jstree-default-dark-small { + line-height: 18px; + padding: 0 4px; +} +#jstree-dnd.jstree-default-dark-small .jstree-ok, +#jstree-dnd.jstree-default-dark-small .jstree-er { + background-image: url("32px.png"); + background-repeat: no-repeat; + background-color: transparent; +} +#jstree-dnd.jstree-default-dark-small i { + background: transparent; + width: 18px; + height: 18px; + line-height: 18px; +} +#jstree-dnd.jstree-default-dark-small .jstree-ok { + background-position: -7px -71px; +} +#jstree-dnd.jstree-default-dark-small .jstree-er { + background-position: -39px -71px; +} +.jstree-default-dark-small .jstree-ellipsis { + overflow: hidden; +} +.jstree-default-dark-small .jstree-ellipsis .jstree-anchor { + width: calc(100% - 23px); + text-overflow: ellipsis; + overflow: hidden; +} +.jstree-default-dark-small .jstree-ellipsis.jstree-no-icons .jstree-anchor { + width: calc(100% - 5px); +} +.jstree-default-dark-small.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); +} +.jstree-default-dark-small.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-dark-large .jstree-node { + min-height: 32px; + line-height: 32px; + margin-left: 32px; + min-width: 32px; +} +.jstree-default-dark-large .jstree-anchor { + line-height: 32px; + height: 32px; +} +.jstree-default-dark-large .jstree-icon { + width: 32px; + height: 32px; + line-height: 32px; +} +.jstree-default-dark-large .jstree-icon:empty { + width: 32px; + height: 32px; + line-height: 32px; +} +.jstree-default-dark-large.jstree-rtl .jstree-node { + margin-right: 32px; +} +.jstree-default-dark-large .jstree-wholerow { + height: 32px; +} +.jstree-default-dark-large .jstree-node, +.jstree-default-dark-large .jstree-icon { + background-image: url("32px.png"); +} +.jstree-default-dark-large .jstree-node { + background-position: -288px 0px; + background-repeat: repeat-y; +} +.jstree-default-dark-large .jstree-last { + background: transparent; +} +.jstree-default-dark-large .jstree-open > .jstree-ocl { + background-position: -128px 0px; +} +.jstree-default-dark-large .jstree-closed > .jstree-ocl { + background-position: -96px 0px; +} +.jstree-default-dark-large .jstree-leaf > .jstree-ocl { + background-position: -64px 0px; +} +.jstree-default-dark-large .jstree-themeicon { + background-position: -256px 0px; +} +.jstree-default-dark-large > .jstree-no-dots .jstree-node, +.jstree-default-dark-large > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-dark-large > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -32px 0px; +} +.jstree-default-dark-large > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: 0px 0px; +} +.jstree-default-dark-large .jstree-disabled { + background: transparent; +} +.jstree-default-dark-large .jstree-disabled.jstree-hovered { + background: transparent; +} +.jstree-default-dark-large .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default-dark-large .jstree-checkbox { + background-position: -160px 0px; +} +.jstree-default-dark-large .jstree-checkbox:hover { + background-position: -160px -32px; +} +.jstree-default-dark-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, +.jstree-default-dark-large .jstree-checked > .jstree-checkbox { + background-position: -224px 0px; +} +.jstree-default-dark-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, +.jstree-default-dark-large .jstree-checked > .jstree-checkbox:hover { + background-position: -224px -32px; +} +.jstree-default-dark-large .jstree-anchor > .jstree-undetermined { + background-position: -192px 0px; +} +.jstree-default-dark-large .jstree-anchor > .jstree-undetermined:hover { + background-position: -192px -32px; +} +.jstree-default-dark-large .jstree-checkbox-disabled { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ +} +.jstree-default-dark-large > .jstree-striped { + background-size: auto 64px; +} +.jstree-default-dark-large.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default-dark-large.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-dark-large.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -128px -32px; +} +.jstree-default-dark-large.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -96px -32px; +} +.jstree-default-dark-large.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -64px -32px; +} +.jstree-default-dark-large.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default-dark-large.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-dark-large.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -32px -32px; +} +.jstree-default-dark-large.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: 0px -32px; +} +.jstree-default-dark-large .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; +} +.jstree-default-dark-large > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url("throbber.gif") center center no-repeat; +} +.jstree-default-dark-large .jstree-file { + background: url("32px.png") -96px -64px no-repeat; +} +.jstree-default-dark-large .jstree-folder { + background: url("32px.png") -256px 0px no-repeat; +} +.jstree-default-dark-large > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; +} +#jstree-dnd.jstree-default-dark-large { + line-height: 32px; + padding: 0 4px; +} +#jstree-dnd.jstree-default-dark-large .jstree-ok, +#jstree-dnd.jstree-default-dark-large .jstree-er { + background-image: url("32px.png"); + background-repeat: no-repeat; + background-color: transparent; +} +#jstree-dnd.jstree-default-dark-large i { + background: transparent; + width: 32px; + height: 32px; + line-height: 32px; +} +#jstree-dnd.jstree-default-dark-large .jstree-ok { + background-position: 0px -64px; +} +#jstree-dnd.jstree-default-dark-large .jstree-er { + background-position: -32px -64px; +} +.jstree-default-dark-large .jstree-ellipsis { + overflow: hidden; +} +.jstree-default-dark-large .jstree-ellipsis .jstree-anchor { + width: calc(100% - 37px); + text-overflow: ellipsis; + overflow: hidden; +} +.jstree-default-dark-large .jstree-ellipsis.jstree-no-icons .jstree-anchor { + width: calc(100% - 5px); +} +.jstree-default-dark-large.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); +} +.jstree-default-dark-large.jstree-rtl .jstree-last { + background: transparent; +} +@media (max-width: 768px) { + #jstree-dnd.jstree-dnd-responsive { + line-height: 40px; + font-weight: bold; + font-size: 1.1em; + text-shadow: 1px 1px white; + } + #jstree-dnd.jstree-dnd-responsive > i { + background: transparent; + width: 40px; + height: 40px; + } + #jstree-dnd.jstree-dnd-responsive > .jstree-ok { + background-image: url("40px.png"); + background-position: 0 -200px; + background-size: 120px 240px; + } + #jstree-dnd.jstree-dnd-responsive > .jstree-er { + background-image: url("40px.png"); + background-position: -40px -200px; + background-size: 120px 240px; + } + #jstree-marker.jstree-dnd-responsive { + border-left-width: 10px; + border-top-width: 10px; + border-bottom-width: 10px; + margin-top: -10px; + } +} +@media (max-width: 768px) { + .jstree-default-dark-responsive { + /* + .jstree-open > .jstree-ocl, + .jstree-closed > .jstree-ocl { border-radius:20px; background-color:white; } + */ + } + .jstree-default-dark-responsive .jstree-icon { + background-image: url("40px.png"); + } + .jstree-default-dark-responsive .jstree-node, + .jstree-default-dark-responsive .jstree-leaf > .jstree-ocl { + background: transparent; + } + .jstree-default-dark-responsive .jstree-node { + min-height: 40px; + line-height: 40px; + margin-left: 40px; + min-width: 40px; + white-space: nowrap; + } + .jstree-default-dark-responsive .jstree-anchor { + line-height: 40px; + height: 40px; + } + .jstree-default-dark-responsive .jstree-icon, + .jstree-default-dark-responsive .jstree-icon:empty { + width: 40px; + height: 40px; + line-height: 40px; + } + .jstree-default-dark-responsive > .jstree-container-ul > .jstree-node { + margin-left: 0; + } + .jstree-default-dark-responsive.jstree-rtl .jstree-node { + margin-left: 0; + margin-right: 40px; + background: transparent; + } + .jstree-default-dark-responsive.jstree-rtl .jstree-container-ul > .jstree-node { + margin-right: 0; + } + .jstree-default-dark-responsive .jstree-ocl, + .jstree-default-dark-responsive .jstree-themeicon, + .jstree-default-dark-responsive .jstree-checkbox { + background-size: 120px 240px; + } + .jstree-default-dark-responsive .jstree-leaf > .jstree-ocl, + .jstree-default-dark-responsive.jstree-rtl .jstree-leaf > .jstree-ocl { + background: transparent; + } + .jstree-default-dark-responsive .jstree-open > .jstree-ocl { + background-position: 0 0px !important; + } + .jstree-default-dark-responsive .jstree-closed > .jstree-ocl { + background-position: 0 -40px !important; + } + .jstree-default-dark-responsive.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -40px 0px !important; + } + .jstree-default-dark-responsive .jstree-themeicon { + background-position: -40px -40px; + } + .jstree-default-dark-responsive .jstree-checkbox, + .jstree-default-dark-responsive .jstree-checkbox:hover { + background-position: -40px -80px; + } + .jstree-default-dark-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, + .jstree-default-dark-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, + .jstree-default-dark-responsive .jstree-checked > .jstree-checkbox, + .jstree-default-dark-responsive .jstree-checked > .jstree-checkbox:hover { + background-position: 0 -80px; + } + .jstree-default-dark-responsive .jstree-anchor > .jstree-undetermined, + .jstree-default-dark-responsive .jstree-anchor > .jstree-undetermined:hover { + background-position: 0 -120px; + } + .jstree-default-dark-responsive .jstree-anchor { + font-weight: bold; + font-size: 1.1em; + text-shadow: 1px 1px white; + } + .jstree-default-dark-responsive > .jstree-striped { + background: transparent; + } + .jstree-default-dark-responsive .jstree-wholerow { + border-top: 1px solid #666666; + border-bottom: 1px solid #000000; + background: #333333; + height: 40px; + } + .jstree-default-dark-responsive .jstree-wholerow-hovered { + background: #555555; + } + .jstree-default-dark-responsive .jstree-wholerow-clicked { + background: #5fa2db; + } + .jstree-default-dark-responsive .jstree-children .jstree-last > .jstree-wholerow { + box-shadow: inset 0 -6px 3px -5px #111111; + } + .jstree-default-dark-responsive .jstree-children .jstree-open > .jstree-wholerow { + box-shadow: inset 0 6px 3px -5px #111111; + border-top: 0; + } + .jstree-default-dark-responsive .jstree-children .jstree-open + .jstree-open { + box-shadow: none; + } + .jstree-default-dark-responsive .jstree-node, + .jstree-default-dark-responsive .jstree-icon, + .jstree-default-dark-responsive .jstree-node > .jstree-ocl, + .jstree-default-dark-responsive .jstree-themeicon, + .jstree-default-dark-responsive .jstree-checkbox { + background-image: url("40px.png"); + background-size: 120px 240px; + } + .jstree-default-dark-responsive .jstree-node { + background-position: -80px 0; + background-repeat: repeat-y; + } + .jstree-default-dark-responsive .jstree-last { + background: transparent; + } + .jstree-default-dark-responsive .jstree-leaf > .jstree-ocl { + background-position: -40px -120px; + } + .jstree-default-dark-responsive .jstree-last > .jstree-ocl { + background-position: -40px -160px; + } + .jstree-default-dark-responsive .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; + } + .jstree-default-dark-responsive .jstree-file { + background: url("40px.png") 0 -160px no-repeat; + background-size: 120px 240px; + } + .jstree-default-dark-responsive .jstree-folder { + background: url("40px.png") -40px -40px no-repeat; + background-size: 120px 240px; + } + .jstree-default-dark-responsive > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; + } +} +.jstree-default-dark { + background: #333; +} +.jstree-default-dark .jstree-anchor { + color: #999; + text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5); +} +.jstree-default-dark .jstree-clicked, +.jstree-default-dark .jstree-checked { + color: white; +} +.jstree-default-dark .jstree-hovered { + color: white; +} +#jstree-marker.jstree-default-dark { + border-left-color: #999; + background: transparent; +} +.jstree-default-dark .jstree-anchor > .jstree-icon { + opacity: 0.75; +} +.jstree-default-dark .jstree-clicked > .jstree-icon, +.jstree-default-dark .jstree-hovered > .jstree-icon, +.jstree-default-dark .jstree-checked > .jstree-icon { + opacity: 1; +} +.jstree-default-dark.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); +} +.jstree-default-dark.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-dark-small.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); +} +.jstree-default-dark-small.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-dark-large.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); +} +.jstree-default-dark-large.jstree-rtl .jstree-last { + background: transparent; +} diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default-dark/style.less b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default-dark/style.less new file mode 100644 index 0000000000..0f9a3963d1 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default-dark/style.less @@ -0,0 +1,50 @@ +/* jsTree default dark theme */ +@theme-name: default-dark; +@hovered-bg-color: #555; +@hovered-shadow-color: #555; +@disabled-color: #666666; +@disabled-bg-color: #333333; +@clicked-bg-color: #5fa2db; +@clicked-shadow-color: #666666; +@clicked-gradient-color-1: #5fa2db; +@clicked-gradient-color-2: #5fa2db; +@search-result-color: #ffffff; +@mobile-wholerow-bg-color: #333333; +@mobile-wholerow-shadow: #111111; +@mobile-wholerow-bordert: #666; +@mobile-wholerow-borderb: #000; +@responsive: true; +@image-path: ""; +@base-height: 40px; + +@import "../mixins.less"; +@import "../base.less"; +@import "../main.less"; + +.jstree-@{theme-name} { + background:#333; + .jstree-anchor { color:#999; text-shadow:1px 1px 0 rgba(0,0,0,0.5); } + .jstree-clicked, .jstree-checked { color:white; } + .jstree-hovered { color:white; } + #jstree-marker& { + border-left-color:#999; + background:transparent; + } + .jstree-anchor > .jstree-icon { opacity:0.75; } + .jstree-clicked > .jstree-icon, + .jstree-hovered > .jstree-icon, + .jstree-checked > .jstree-icon { opacity:1; } +} +// theme variants +.jstree-@{theme-name} { + &.jstree-rtl .jstree-node { background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); } + &.jstree-rtl .jstree-last { background:transparent; } +} +.jstree-@{theme-name}-small { + &.jstree-rtl .jstree-node { background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); } + &.jstree-rtl .jstree-last { background:transparent; } +} +.jstree-@{theme-name}-large { + &.jstree-rtl .jstree-node { background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); } + &.jstree-rtl .jstree-last { background:transparent; } +} \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default-dark/throbber.gif b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default-dark/throbber.gif new file mode 100644 index 0000000000000000000000000000000000000000..2e310e8be219965cda00a2e1e9f3077838152c73 GIT binary patch literal 1849 zcmb8wdr(tX9tZI2z31lM+(&YVNJFGf2tkvOm_Q%|vGyi_Ah2wp3Y14l#IS@y4OAp; z5y=A~$Wy6`)ru`G2-*TZrrRxukr{0}wleGNPItF6+F^IJb-S=_r#jPD!XN!B{iDA> z&zv*oGvD9&&B@-e-I!*B2t>X`5WQYMF)@*rmR4I^%W<6F?{_+#!Ik#*_7f*gl$MrS zES8ax5v$cYHa6DZ-|up{kl$0WKhp(SJD##M!v#~!(GMenRefB-l7RSC? zsjbfDs^4qdv)S=N&0Zw-G2m0dUFy&+AtZvgNTn#skNx*JnrS9)mDS)RxE~8&ep=o<;ILrQ!#lhLr`Z7)AhbGuF z)4i}VFNn}iMq8b=a&d2lEuNF&JvSaWbIy_EX*lJY-Hy5g&CmEFp?8fdt^;QQ2yDLk zx$n@kku`l0ARn!gVL0Wa^k#2~8$dvJRkr5y*b2juS6W{_X*``;o*I_o3Q;~|f)tQR zX35C@nQotVKB-AP`NT-0Wg)T?ZAT)-b(aFxWh3MfUx@-7B#pbHaztvWYVix5So1c! z+_1ew{Pj}WY`$eQOP_#JP~kz%GL}cz^uE%iGM7|o{RdH&tCIUYZFx=ZR8v!U%xW&5 zB?mFSSTbit_OVLTzn;Eb*stZh(_Im8mo*z7Tw42Tw>gldDwHXW} zhOoKRueL}W%0))rSlJMybgrkF**OH${LQG#0V2liHxj*{fY5VKUm%H}nB~_J_{r~fxV*jPYx<8cwJGZYnN2_hIKHcH3X^T7JKV}#@ z8W$GO76SZP9Rzq}q<2NKprQ_?GtQ!m@u+VqPRAQPX+0~Qmu$LTJ**gw!iI7=E@s2k zC$3!l?0X*WgTPw z$L~i-8Q=fnxeEZ|E$7RWQs{HmV+yLj(|zYcA4xWT*Q{C_MG!?Bt9g)5SP7w0sbC0< zc=2FW?f~f8R#hP&HVLvDQpp~9c+KiSuWC@0`mj{7pqf+sU`{C)C5qR~NZ%@(`Rfi_ zZ7eVQ_=MdhetG6$uCB{|)i596id%P0;$S8D{VSObGad1A!L8T6a*7#>UqRs62&!`x zgm^I@#`{CPDYo0Z_cUzMmyfC_f4vd?3Bc9!VamCEx>gj8DBBJL8N2WiHn!B}jX;Hx! z5jSV2o|FQbQdLg-Da)-I&|~BSUs(EH9}dx;qb<{9 literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default/32px.png b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default/32px.png new file mode 100644 index 0000000000000000000000000000000000000000..ac74418d2843d0233fc67c04a59462caa82bd860 GIT binary patch literal 8740 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 literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default/40px.png b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default/40px.png new file mode 100644 index 0000000000000000000000000000000000000000..29273260075f1654bb86a9e3f42c3f32ab5a2d23 GIT binary patch literal 6055 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 B1Y7_B literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default/style.css b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default/style.css new file mode 100644 index 0000000000..616be241be --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default/style.css @@ -0,0 +1,1102 @@ +/* jsTree default theme */ +.jstree-node, +.jstree-children, +.jstree-container-ul { + display: block; + margin: 0; + padding: 0; + list-style-type: none; + list-style-image: none; +} +.jstree-node { + white-space: nowrap; +} +.jstree-anchor { + display: inline-block; + color: black; + white-space: nowrap; + padding: 0 4px 0 1px; + margin: 0; + vertical-align: top; +} +.jstree-anchor:focus { + outline: 0; +} +.jstree-anchor, +.jstree-anchor:link, +.jstree-anchor:visited, +.jstree-anchor:hover, +.jstree-anchor:active { + text-decoration: none; + color: inherit; +} +.jstree-icon { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0; + vertical-align: top; + text-align: center; +} +.jstree-icon:empty { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0; + vertical-align: top; + text-align: center; +} +.jstree-ocl { + cursor: pointer; +} +.jstree-leaf > .jstree-ocl { + cursor: default; +} +.jstree .jstree-open > .jstree-children { + display: block; +} +.jstree .jstree-closed > .jstree-children, +.jstree .jstree-leaf > .jstree-children { + display: none; +} +.jstree-anchor > .jstree-themeicon { + margin-right: 2px; +} +.jstree-no-icons .jstree-themeicon, +.jstree-anchor > .jstree-themeicon-hidden { + display: none; +} +.jstree-hidden, +.jstree-node.jstree-hidden { + display: none; +} +.jstree-rtl .jstree-anchor { + padding: 0 1px 0 4px; +} +.jstree-rtl .jstree-anchor > .jstree-themeicon { + margin-left: 2px; + margin-right: 0; +} +.jstree-rtl .jstree-node { + margin-left: 0; +} +.jstree-rtl .jstree-container-ul > .jstree-node { + margin-right: 0; +} +.jstree-wholerow-ul { + position: relative; + display: inline-block; + min-width: 100%; +} +.jstree-wholerow-ul .jstree-leaf > .jstree-ocl { + cursor: pointer; +} +.jstree-wholerow-ul .jstree-anchor, +.jstree-wholerow-ul .jstree-icon { + position: relative; +} +.jstree-wholerow-ul .jstree-wholerow { + width: 100%; + cursor: pointer; + position: absolute; + left: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.vakata-context { + display: none; +} +.vakata-context, +.vakata-context ul { + margin: 0; + padding: 2px; + position: absolute; + background: #f5f5f5; + border: 1px solid #979797; + box-shadow: 2px 2px 2px #999999; +} +.vakata-context ul { + list-style: none; + left: 100%; + margin-top: -2.7em; + margin-left: -4px; +} +.vakata-context .vakata-context-right ul { + left: auto; + right: 100%; + margin-left: auto; + margin-right: -4px; +} +.vakata-context li { + list-style: none; +} +.vakata-context li > a { + display: block; + padding: 0 2em 0 2em; + text-decoration: none; + width: auto; + color: black; + white-space: nowrap; + line-height: 2.4em; + text-shadow: 1px 1px 0 white; + border-radius: 1px; +} +.vakata-context li > a:hover { + position: relative; + background-color: #e8eff7; + box-shadow: 0 0 2px #0a6aa1; +} +.vakata-context li > a.vakata-context-parent { + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw=="); + background-position: right center; + background-repeat: no-repeat; +} +.vakata-context li > a:focus { + outline: 0; +} +.vakata-context .vakata-context-hover > a { + position: relative; + background-color: #e8eff7; + box-shadow: 0 0 2px #0a6aa1; +} +.vakata-context .vakata-context-separator > a, +.vakata-context .vakata-context-separator > a:hover { + background: white; + border: 0; + border-top: 1px solid #e2e3e3; + height: 1px; + min-height: 1px; + max-height: 1px; + padding: 0; + margin: 0 0 0 2.4em; + border-left: 1px solid #e0e0e0; + text-shadow: 0 0 0 transparent; + box-shadow: 0 0 0 transparent; + border-radius: 0; +} +.vakata-context .vakata-contextmenu-disabled a, +.vakata-context .vakata-contextmenu-disabled a:hover { + color: silver; + background-color: transparent; + border: 0; + box-shadow: 0 0 0; +} +.vakata-context li > a > i { + text-decoration: none; + display: inline-block; + width: 2.4em; + height: 2.4em; + background: transparent; + margin: 0 0 0 -2em; + vertical-align: top; + text-align: center; + line-height: 2.4em; +} +.vakata-context li > a > i:empty { + width: 2.4em; + line-height: 2.4em; +} +.vakata-context li > a .vakata-contextmenu-sep { + display: inline-block; + width: 1px; + height: 2.4em; + background: white; + margin: 0 0.5em 0 0; + border-left: 1px solid #e2e3e3; +} +.vakata-context .vakata-contextmenu-shortcut { + font-size: 0.8em; + color: silver; + opacity: 0.5; + display: none; +} +.vakata-context-rtl ul { + left: auto; + right: 100%; + margin-left: auto; + margin-right: -4px; +} +.vakata-context-rtl li > a.vakata-context-parent { + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7"); + background-position: left center; + background-repeat: no-repeat; +} +.vakata-context-rtl .vakata-context-separator > a { + margin: 0 2.4em 0 0; + border-left: 0; + border-right: 1px solid #e2e3e3; +} +.vakata-context-rtl .vakata-context-left ul { + right: auto; + left: 100%; + margin-left: -4px; + margin-right: auto; +} +.vakata-context-rtl li > a > i { + margin: 0 -2em 0 0; +} +.vakata-context-rtl li > a .vakata-contextmenu-sep { + margin: 0 0 0 0.5em; + border-left-color: white; + background: #e2e3e3; +} +#jstree-marker { + position: absolute; + top: 0; + left: 0; + margin: -5px 0 0 0; + padding: 0; + border-right: 0; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-left: 5px solid; + width: 0; + height: 0; + font-size: 0; + line-height: 0; +} +#jstree-dnd { + line-height: 16px; + margin: 0; + padding: 4px; +} +#jstree-dnd .jstree-icon, +#jstree-dnd .jstree-copy { + display: inline-block; + text-decoration: none; + margin: 0 2px 0 0; + padding: 0; + width: 16px; + height: 16px; +} +#jstree-dnd .jstree-ok { + background: green; +} +#jstree-dnd .jstree-er { + background: red; +} +#jstree-dnd .jstree-copy { + margin: 0 2px 0 2px; +} +.jstree-default .jstree-node, +.jstree-default .jstree-icon { + background-repeat: no-repeat; + background-color: transparent; +} +.jstree-default .jstree-anchor, +.jstree-default .jstree-animated, +.jstree-default .jstree-wholerow { + transition: background-color 0.15s, box-shadow 0.15s; +} +.jstree-default .jstree-hovered { + background: #e7f4f9; + border-radius: 2px; + box-shadow: inset 0 0 1px #cccccc; +} +.jstree-default .jstree-context { + background: #e7f4f9; + border-radius: 2px; + box-shadow: inset 0 0 1px #cccccc; +} +.jstree-default .jstree-clicked { + background: #beebff; + border-radius: 2px; + box-shadow: inset 0 0 1px #999999; +} +.jstree-default .jstree-no-icons .jstree-anchor > .jstree-themeicon { + display: none; +} +.jstree-default .jstree-disabled { + background: transparent; + color: #666666; +} +.jstree-default .jstree-disabled.jstree-hovered { + background: transparent; + box-shadow: none; +} +.jstree-default .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default .jstree-disabled > .jstree-icon { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ +} +.jstree-default .jstree-search { + font-style: italic; + color: #8b0000; + font-weight: bold; +} +.jstree-default .jstree-no-checkboxes .jstree-checkbox { + display: none !important; +} +.jstree-default.jstree-checkbox-no-clicked .jstree-clicked { + background: transparent; + box-shadow: none; +} +.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered { + background: #e7f4f9; +} +.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked { + background: transparent; +} +.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered { + background: #e7f4f9; +} +.jstree-default > .jstree-striped { + min-width: 100%; + display: inline-block; + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat; +} +.jstree-default > .jstree-wholerow-ul .jstree-hovered, +.jstree-default > .jstree-wholerow-ul .jstree-clicked { + background: transparent; + box-shadow: none; + border-radius: 0; +} +.jstree-default .jstree-wholerow { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.jstree-default .jstree-wholerow-hovered { + background: #e7f4f9; +} +.jstree-default .jstree-wholerow-clicked { + background: #beebff; + background: -webkit-linear-gradient(top, #beebff 0%, #a8e4ff 100%); + background: linear-gradient(to bottom, #beebff 0%, #a8e4ff 100%); +} +.jstree-default .jstree-node { + min-height: 24px; + line-height: 24px; + margin-left: 24px; + min-width: 24px; +} +.jstree-default .jstree-anchor { + line-height: 24px; + height: 24px; +} +.jstree-default .jstree-icon { + width: 24px; + height: 24px; + line-height: 24px; +} +.jstree-default .jstree-icon:empty { + width: 24px; + height: 24px; + line-height: 24px; +} +.jstree-default.jstree-rtl .jstree-node { + margin-right: 24px; +} +.jstree-default .jstree-wholerow { + height: 24px; +} +.jstree-default .jstree-node, +.jstree-default .jstree-icon { + background-image: url("32px.png"); +} +.jstree-default .jstree-node { + background-position: -292px -4px; + background-repeat: repeat-y; +} +.jstree-default .jstree-last { + background: transparent; +} +.jstree-default .jstree-open > .jstree-ocl { + background-position: -132px -4px; +} +.jstree-default .jstree-closed > .jstree-ocl { + background-position: -100px -4px; +} +.jstree-default .jstree-leaf > .jstree-ocl { + background-position: -68px -4px; +} +.jstree-default .jstree-themeicon { + background-position: -260px -4px; +} +.jstree-default > .jstree-no-dots .jstree-node, +.jstree-default > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -36px -4px; +} +.jstree-default > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -4px -4px; +} +.jstree-default .jstree-disabled { + background: transparent; +} +.jstree-default .jstree-disabled.jstree-hovered { + background: transparent; +} +.jstree-default .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default .jstree-checkbox { + background-position: -164px -4px; +} +.jstree-default .jstree-checkbox:hover { + background-position: -164px -36px; +} +.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, +.jstree-default .jstree-checked > .jstree-checkbox { + background-position: -228px -4px; +} +.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, +.jstree-default .jstree-checked > .jstree-checkbox:hover { + background-position: -228px -36px; +} +.jstree-default .jstree-anchor > .jstree-undetermined { + background-position: -196px -4px; +} +.jstree-default .jstree-anchor > .jstree-undetermined:hover { + background-position: -196px -36px; +} +.jstree-default .jstree-checkbox-disabled { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ +} +.jstree-default > .jstree-striped { + background-size: auto 48px; +} +.jstree-default.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -132px -36px; +} +.jstree-default.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -100px -36px; +} +.jstree-default.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -68px -36px; +} +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -36px -36px; +} +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -4px -36px; +} +.jstree-default .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; +} +.jstree-default > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url("throbber.gif") center center no-repeat; +} +.jstree-default .jstree-file { + background: url("32px.png") -100px -68px no-repeat; +} +.jstree-default .jstree-folder { + background: url("32px.png") -260px -4px no-repeat; +} +.jstree-default > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; +} +#jstree-dnd.jstree-default { + line-height: 24px; + padding: 0 4px; +} +#jstree-dnd.jstree-default .jstree-ok, +#jstree-dnd.jstree-default .jstree-er { + background-image: url("32px.png"); + background-repeat: no-repeat; + background-color: transparent; +} +#jstree-dnd.jstree-default i { + background: transparent; + width: 24px; + height: 24px; + line-height: 24px; +} +#jstree-dnd.jstree-default .jstree-ok { + background-position: -4px -68px; +} +#jstree-dnd.jstree-default .jstree-er { + background-position: -36px -68px; +} +.jstree-default .jstree-ellipsis { + overflow: hidden; +} +.jstree-default .jstree-ellipsis .jstree-anchor { + width: calc(100% - 29px); + text-overflow: ellipsis; + overflow: hidden; +} +.jstree-default .jstree-ellipsis.jstree-no-icons .jstree-anchor { + width: calc(100% - 5px); +} +.jstree-default.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); +} +.jstree-default.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-small .jstree-node { + min-height: 18px; + line-height: 18px; + margin-left: 18px; + min-width: 18px; +} +.jstree-default-small .jstree-anchor { + line-height: 18px; + height: 18px; +} +.jstree-default-small .jstree-icon { + width: 18px; + height: 18px; + line-height: 18px; +} +.jstree-default-small .jstree-icon:empty { + width: 18px; + height: 18px; + line-height: 18px; +} +.jstree-default-small.jstree-rtl .jstree-node { + margin-right: 18px; +} +.jstree-default-small .jstree-wholerow { + height: 18px; +} +.jstree-default-small .jstree-node, +.jstree-default-small .jstree-icon { + background-image: url("32px.png"); +} +.jstree-default-small .jstree-node { + background-position: -295px -7px; + background-repeat: repeat-y; +} +.jstree-default-small .jstree-last { + background: transparent; +} +.jstree-default-small .jstree-open > .jstree-ocl { + background-position: -135px -7px; +} +.jstree-default-small .jstree-closed > .jstree-ocl { + background-position: -103px -7px; +} +.jstree-default-small .jstree-leaf > .jstree-ocl { + background-position: -71px -7px; +} +.jstree-default-small .jstree-themeicon { + background-position: -263px -7px; +} +.jstree-default-small > .jstree-no-dots .jstree-node, +.jstree-default-small > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-small > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -39px -7px; +} +.jstree-default-small > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -7px -7px; +} +.jstree-default-small .jstree-disabled { + background: transparent; +} +.jstree-default-small .jstree-disabled.jstree-hovered { + background: transparent; +} +.jstree-default-small .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default-small .jstree-checkbox { + background-position: -167px -7px; +} +.jstree-default-small .jstree-checkbox:hover { + background-position: -167px -39px; +} +.jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, +.jstree-default-small .jstree-checked > .jstree-checkbox { + background-position: -231px -7px; +} +.jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, +.jstree-default-small .jstree-checked > .jstree-checkbox:hover { + background-position: -231px -39px; +} +.jstree-default-small .jstree-anchor > .jstree-undetermined { + background-position: -199px -7px; +} +.jstree-default-small .jstree-anchor > .jstree-undetermined:hover { + background-position: -199px -39px; +} +.jstree-default-small .jstree-checkbox-disabled { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ +} +.jstree-default-small > .jstree-striped { + background-size: auto 36px; +} +.jstree-default-small.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default-small.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-small.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -135px -39px; +} +.jstree-default-small.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -103px -39px; +} +.jstree-default-small.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -71px -39px; +} +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -39px -39px; +} +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -7px -39px; +} +.jstree-default-small .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; +} +.jstree-default-small > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url("throbber.gif") center center no-repeat; +} +.jstree-default-small .jstree-file { + background: url("32px.png") -103px -71px no-repeat; +} +.jstree-default-small .jstree-folder { + background: url("32px.png") -263px -7px no-repeat; +} +.jstree-default-small > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; +} +#jstree-dnd.jstree-default-small { + line-height: 18px; + padding: 0 4px; +} +#jstree-dnd.jstree-default-small .jstree-ok, +#jstree-dnd.jstree-default-small .jstree-er { + background-image: url("32px.png"); + background-repeat: no-repeat; + background-color: transparent; +} +#jstree-dnd.jstree-default-small i { + background: transparent; + width: 18px; + height: 18px; + line-height: 18px; +} +#jstree-dnd.jstree-default-small .jstree-ok { + background-position: -7px -71px; +} +#jstree-dnd.jstree-default-small .jstree-er { + background-position: -39px -71px; +} +.jstree-default-small .jstree-ellipsis { + overflow: hidden; +} +.jstree-default-small .jstree-ellipsis .jstree-anchor { + width: calc(100% - 23px); + text-overflow: ellipsis; + overflow: hidden; +} +.jstree-default-small .jstree-ellipsis.jstree-no-icons .jstree-anchor { + width: calc(100% - 5px); +} +.jstree-default-small.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); +} +.jstree-default-small.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-large .jstree-node { + min-height: 32px; + line-height: 32px; + margin-left: 32px; + min-width: 32px; +} +.jstree-default-large .jstree-anchor { + line-height: 32px; + height: 32px; +} +.jstree-default-large .jstree-icon { + width: 32px; + height: 32px; + line-height: 32px; +} +.jstree-default-large .jstree-icon:empty { + width: 32px; + height: 32px; + line-height: 32px; +} +.jstree-default-large.jstree-rtl .jstree-node { + margin-right: 32px; +} +.jstree-default-large .jstree-wholerow { + height: 32px; +} +.jstree-default-large .jstree-node, +.jstree-default-large .jstree-icon { + background-image: url("32px.png"); +} +.jstree-default-large .jstree-node { + background-position: -288px 0px; + background-repeat: repeat-y; +} +.jstree-default-large .jstree-last { + background: transparent; +} +.jstree-default-large .jstree-open > .jstree-ocl { + background-position: -128px 0px; +} +.jstree-default-large .jstree-closed > .jstree-ocl { + background-position: -96px 0px; +} +.jstree-default-large .jstree-leaf > .jstree-ocl { + background-position: -64px 0px; +} +.jstree-default-large .jstree-themeicon { + background-position: -256px 0px; +} +.jstree-default-large > .jstree-no-dots .jstree-node, +.jstree-default-large > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-large > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -32px 0px; +} +.jstree-default-large > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: 0px 0px; +} +.jstree-default-large .jstree-disabled { + background: transparent; +} +.jstree-default-large .jstree-disabled.jstree-hovered { + background: transparent; +} +.jstree-default-large .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default-large .jstree-checkbox { + background-position: -160px 0px; +} +.jstree-default-large .jstree-checkbox:hover { + background-position: -160px -32px; +} +.jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, +.jstree-default-large .jstree-checked > .jstree-checkbox { + background-position: -224px 0px; +} +.jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, +.jstree-default-large .jstree-checked > .jstree-checkbox:hover { + background-position: -224px -32px; +} +.jstree-default-large .jstree-anchor > .jstree-undetermined { + background-position: -192px 0px; +} +.jstree-default-large .jstree-anchor > .jstree-undetermined:hover { + background-position: -192px -32px; +} +.jstree-default-large .jstree-checkbox-disabled { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ +} +.jstree-default-large > .jstree-striped { + background-size: auto 64px; +} +.jstree-default-large.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default-large.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-large.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -128px -32px; +} +.jstree-default-large.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -96px -32px; +} +.jstree-default-large.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -64px -32px; +} +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -32px -32px; +} +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: 0px -32px; +} +.jstree-default-large .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; +} +.jstree-default-large > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url("throbber.gif") center center no-repeat; +} +.jstree-default-large .jstree-file { + background: url("32px.png") -96px -64px no-repeat; +} +.jstree-default-large .jstree-folder { + background: url("32px.png") -256px 0px no-repeat; +} +.jstree-default-large > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; +} +#jstree-dnd.jstree-default-large { + line-height: 32px; + padding: 0 4px; +} +#jstree-dnd.jstree-default-large .jstree-ok, +#jstree-dnd.jstree-default-large .jstree-er { + background-image: url("32px.png"); + background-repeat: no-repeat; + background-color: transparent; +} +#jstree-dnd.jstree-default-large i { + background: transparent; + width: 32px; + height: 32px; + line-height: 32px; +} +#jstree-dnd.jstree-default-large .jstree-ok { + background-position: 0px -64px; +} +#jstree-dnd.jstree-default-large .jstree-er { + background-position: -32px -64px; +} +.jstree-default-large .jstree-ellipsis { + overflow: hidden; +} +.jstree-default-large .jstree-ellipsis .jstree-anchor { + width: calc(100% - 37px); + text-overflow: ellipsis; + overflow: hidden; +} +.jstree-default-large .jstree-ellipsis.jstree-no-icons .jstree-anchor { + width: calc(100% - 5px); +} +.jstree-default-large.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); +} +.jstree-default-large.jstree-rtl .jstree-last { + background: transparent; +} +@media (max-width: 768px) { + #jstree-dnd.jstree-dnd-responsive { + line-height: 40px; + font-weight: bold; + font-size: 1.1em; + text-shadow: 1px 1px white; + } + #jstree-dnd.jstree-dnd-responsive > i { + background: transparent; + width: 40px; + height: 40px; + } + #jstree-dnd.jstree-dnd-responsive > .jstree-ok { + background-image: url("40px.png"); + background-position: 0 -200px; + background-size: 120px 240px; + } + #jstree-dnd.jstree-dnd-responsive > .jstree-er { + background-image: url("40px.png"); + background-position: -40px -200px; + background-size: 120px 240px; + } + #jstree-marker.jstree-dnd-responsive { + border-left-width: 10px; + border-top-width: 10px; + border-bottom-width: 10px; + margin-top: -10px; + } +} +@media (max-width: 768px) { + .jstree-default-responsive { + /* + .jstree-open > .jstree-ocl, + .jstree-closed > .jstree-ocl { border-radius:20px; background-color:white; } + */ + } + .jstree-default-responsive .jstree-icon { + background-image: url("40px.png"); + } + .jstree-default-responsive .jstree-node, + .jstree-default-responsive .jstree-leaf > .jstree-ocl { + background: transparent; + } + .jstree-default-responsive .jstree-node { + min-height: 40px; + line-height: 40px; + margin-left: 40px; + min-width: 40px; + white-space: nowrap; + } + .jstree-default-responsive .jstree-anchor { + line-height: 40px; + height: 40px; + } + .jstree-default-responsive .jstree-icon, + .jstree-default-responsive .jstree-icon:empty { + width: 40px; + height: 40px; + line-height: 40px; + } + .jstree-default-responsive > .jstree-container-ul > .jstree-node { + margin-left: 0; + } + .jstree-default-responsive.jstree-rtl .jstree-node { + margin-left: 0; + margin-right: 40px; + background: transparent; + } + .jstree-default-responsive.jstree-rtl .jstree-container-ul > .jstree-node { + margin-right: 0; + } + .jstree-default-responsive .jstree-ocl, + .jstree-default-responsive .jstree-themeicon, + .jstree-default-responsive .jstree-checkbox { + background-size: 120px 240px; + } + .jstree-default-responsive .jstree-leaf > .jstree-ocl, + .jstree-default-responsive.jstree-rtl .jstree-leaf > .jstree-ocl { + background: transparent; + } + .jstree-default-responsive .jstree-open > .jstree-ocl { + background-position: 0 0px !important; + } + .jstree-default-responsive .jstree-closed > .jstree-ocl { + background-position: 0 -40px !important; + } + .jstree-default-responsive.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -40px 0px !important; + } + .jstree-default-responsive .jstree-themeicon { + background-position: -40px -40px; + } + .jstree-default-responsive .jstree-checkbox, + .jstree-default-responsive .jstree-checkbox:hover { + background-position: -40px -80px; + } + .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, + .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, + .jstree-default-responsive .jstree-checked > .jstree-checkbox, + .jstree-default-responsive .jstree-checked > .jstree-checkbox:hover { + background-position: 0 -80px; + } + .jstree-default-responsive .jstree-anchor > .jstree-undetermined, + .jstree-default-responsive .jstree-anchor > .jstree-undetermined:hover { + background-position: 0 -120px; + } + .jstree-default-responsive .jstree-anchor { + font-weight: bold; + font-size: 1.1em; + text-shadow: 1px 1px white; + } + .jstree-default-responsive > .jstree-striped { + background: transparent; + } + .jstree-default-responsive .jstree-wholerow { + border-top: 1px solid rgba(255, 255, 255, 0.7); + border-bottom: 1px solid rgba(64, 64, 64, 0.2); + background: #ebebeb; + height: 40px; + } + .jstree-default-responsive .jstree-wholerow-hovered { + background: #e7f4f9; + } + .jstree-default-responsive .jstree-wholerow-clicked { + background: #beebff; + } + .jstree-default-responsive .jstree-children .jstree-last > .jstree-wholerow { + box-shadow: inset 0 -6px 3px -5px #666666; + } + .jstree-default-responsive .jstree-children .jstree-open > .jstree-wholerow { + box-shadow: inset 0 6px 3px -5px #666666; + border-top: 0; + } + .jstree-default-responsive .jstree-children .jstree-open + .jstree-open { + box-shadow: none; + } + .jstree-default-responsive .jstree-node, + .jstree-default-responsive .jstree-icon, + .jstree-default-responsive .jstree-node > .jstree-ocl, + .jstree-default-responsive .jstree-themeicon, + .jstree-default-responsive .jstree-checkbox { + background-image: url("40px.png"); + background-size: 120px 240px; + } + .jstree-default-responsive .jstree-node { + background-position: -80px 0; + background-repeat: repeat-y; + } + .jstree-default-responsive .jstree-last { + background: transparent; + } + .jstree-default-responsive .jstree-leaf > .jstree-ocl { + background-position: -40px -120px; + } + .jstree-default-responsive .jstree-last > .jstree-ocl { + background-position: -40px -160px; + } + .jstree-default-responsive .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; + } + .jstree-default-responsive .jstree-file { + background: url("40px.png") 0 -160px no-repeat; + background-size: 120px 240px; + } + .jstree-default-responsive .jstree-folder { + background: url("40px.png") -40px -40px no-repeat; + background-size: 120px 240px; + } + .jstree-default-responsive > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; + } +} diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default/style.less b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default/style.less new file mode 100644 index 0000000000..53f786fa7e --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default/style.less @@ -0,0 +1,22 @@ +/* jsTree default theme */ +@theme-name: default; +@hovered-bg-color: #e7f4f9; +@hovered-shadow-color: #cccccc; +@disabled-color: #666666; +@disabled-bg-color: #efefef; +@clicked-bg-color: #beebff; +@clicked-shadow-color: #999999; +@clicked-gradient-color-1: #beebff; +@clicked-gradient-color-2: #a8e4ff; +@search-result-color: #8b0000; +@mobile-wholerow-bg-color: #ebebeb; +@mobile-wholerow-shadow: #666666; +@mobile-wholerow-bordert: rgba(255,255,255,0.7); +@mobile-wholerow-borderb: rgba(64,64,64,0.2); +@responsive: true; +@image-path: ""; +@base-height: 40px; + +@import "../mixins.less"; +@import "../base.less"; +@import "../main.less"; \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default/throbber.gif b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/default/throbber.gif new file mode 100644 index 0000000000000000000000000000000000000000..5b33f7e54f4e55b6b8774d86d96895db9af044b4 GIT binary patch literal 1849 zcma*odr(tX9tZI2z31lM+(&YVk%mZ}5P~KlG2s=WSbGzm0!x7^P##Mnh7t-jP!X0Q zk_SQ}Po-L1tlDK;6l?(>v)e5ZBQx4|Y-Q?nr@Px3?9h(3ZWr3^tj=`TP57gKr87N$ zp2wWee1GRRCwo_xahnw)5cxNPJbCg2L6DV|6`#+yw6v6!mDS$f9-JvFD^n;GQ&UrZ zzh5jCkByB101O60U0q#p_1BM>Cv-vP?&s4@g_((4_1L=L$(a91)0=J91Gas#R{McE znYG^9*0A5YZ>#;~+Wkn(W5B0^yELIYLP!K}mB~<)AM@1&nqekynuaEGqPrzoH|KodRXJy)%+w_fu3nE5>@Bd_b zqC$EQ;{c`T&?EsNO|igL9gC7Ygxv?aQUEXMq?~>wg{EyW;VcJ37CUF#HjrT=KQO_* zS>M9yydXk18D(+QDJ1>r);Lav_uYKp$T?4vr{Q$lTo&pKv^?(>L-)G2*lwH!Ah7k? z7oH<8h-(KTKt5V6$8gF)C7Io&P5=SjTh)=zV=E2EUhQZP##L8S{d%UK>>+y82>+FV+#^BzW7u3F)Bb>=lYQ%%j`F>ASe zo*cw@V#u6T`A2He;70mR(V&iV&-7{qP~=SRf&jm9-T{*ZeZ}$rd0#6c&fLG^xJcf5 z+p<`wJYgW+_s*V{uI$nMB;%8`S_3>PfGOj3Rq}@Cx^+j?rk92fANSFDBYnOqQ>Vdj z)(|$AhP4t&Lb=Gvo2#3Gl%9<=Gv`Mz?Po@P4iLF!x}GUWJICDlFk-hS^Whyh7x~VH z@0vD1>HYD4&e+~yzS*-sFR{9`{QEEZO1zg7>R&7cHts-6j!xHVdA8eI+ZlVzd%`es zJT@$#GX(gvCJ1oJN%yLBK}{V=V;seo;!w|Yte!W1%5qLNFWqvZW>h&IiH+oPT=b@E zPhGzv5=(Un*X>v`>%8h_nj^NdYcE6NHS_ifkCV$*D)Tqrbu`s;<=t<4 zAHNqNV?6(g<1PY-w@#I-WYFViz?9TrkMr)u0g`O`u|>T;k|2sV*YF^punvT;$SuTy{j3Gv)yqD!R_CF>yR)MzmmYS5v+~R zXAdD%ng9?df;wd8GxR#%3O+gz};Vo;)sK%Bj-q>Oq%R7JU-KD?vYu>#2UjaDo z&8$>5xW~?KPD_#XFToU1hIb*VOMidUr6iYiO0N|i-7s`T8!cFT`rN!^1Pt78J93i6 z5HI1wIM$94m{3SLDvISDe6$ZG1;eq_D9RTaaC>=cO{@Bs>$IlPCPJJ$h$)-3vzNUQ6OsN#_zWxey!_9%hxwH2_dEJi=yY|1c7nDm2_Lm!Cof8-R_+9UkS zcBE(o47yE)oMR(Q=dp1a2wTX5KvvGyLqlWTa7V&!A*|w|)ax~1_~aJ0=_Lilg*0iQk7#ZD EAHN$8j{pDw literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/main.less b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/main.less new file mode 100644 index 0000000000..8616cc039f --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/main.less @@ -0,0 +1,77 @@ +.jstree-@{theme-name} { + .jstree-node, + .jstree-icon { background-repeat:no-repeat; background-color:transparent; } + .jstree-anchor, + .jstree-animated, + .jstree-wholerow { transition:background-color 0.15s, box-shadow 0.15s; } + .jstree-hovered { background:@hovered-bg-color; border-radius:2px; box-shadow:inset 0 0 1px @hovered-shadow-color; } + .jstree-context { background:@hovered-bg-color; border-radius:2px; box-shadow:inset 0 0 1px @hovered-shadow-color; } + .jstree-clicked { background:@clicked-bg-color; border-radius:2px; box-shadow:inset 0 0 1px @clicked-shadow-color; } + .jstree-no-icons .jstree-anchor > .jstree-themeicon { display:none; } + .jstree-disabled { + background:transparent; color:@disabled-color; + &.jstree-hovered { background:transparent; box-shadow:none; } + &.jstree-clicked { background:@disabled-bg-color; } + > .jstree-icon { opacity:0.8; filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); /* Firefox 10+ */ filter: gray; /* IE6-9 */ -webkit-filter: grayscale(100%); /* Chrome 19+ & Safari 6+ */ } + } + // search + .jstree-search { font-style:italic; color:@search-result-color; font-weight:bold; } + // checkboxes + .jstree-no-checkboxes .jstree-checkbox { display:none !important; } + &.jstree-checkbox-no-clicked { + .jstree-clicked { + background:transparent; + box-shadow:none; + &.jstree-hovered { background:@hovered-bg-color; } + } + > .jstree-wholerow-ul .jstree-wholerow-clicked { + background:transparent; + &.jstree-wholerow-hovered { background:@hovered-bg-color; } + } + } + // stripes + > .jstree-striped { min-width:100%; display:inline-block; background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat; } + // wholerow + > .jstree-wholerow-ul .jstree-hovered, + > .jstree-wholerow-ul .jstree-clicked { background:transparent; box-shadow:none; border-radius:0; } + .jstree-wholerow { -moz-box-sizing:border-box; -webkit-box-sizing:border-box; box-sizing:border-box; } + .jstree-wholerow-hovered { background:@hovered-bg-color; } + .jstree-wholerow-clicked { .gradient(@clicked-gradient-color-1, @clicked-gradient-color-2); } +} + +// theme variants +.jstree-@{theme-name} { + .jstree-theme(24px, "@{image-path}32px.png", 32px); + &.jstree-rtl .jstree-node { background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); } + &.jstree-rtl .jstree-last { background:transparent; } +} +.jstree-@{theme-name}-small { + .jstree-theme(18px, "@{image-path}32px.png", 32px); + &.jstree-rtl .jstree-node { background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); } + &.jstree-rtl .jstree-last { background:transparent; } +} +.jstree-@{theme-name}-large { + .jstree-theme(32px, "@{image-path}32px.png", 32px); + &.jstree-rtl .jstree-node { background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); } + &.jstree-rtl .jstree-last { background:transparent; } +} + +// mobile theme attempt +@media (max-width: 768px) { + #jstree-dnd.jstree-dnd-responsive when (@responsive = true) { + line-height:@base-height; font-weight:bold; font-size:1.1em; text-shadow:1px 1px white; + > i { background:transparent; width:@base-height; height:@base-height; } + > .jstree-ok { background-image:url("@{image-path}@{base-height}.png"); background-position:0 -(@base-height * 5); background-size:(@base-height * 3) (@base-height * 6); } + > .jstree-er { background-image:url("@{image-path}@{base-height}.png"); background-position:-(@base-height * 1) -(@base-height * 5); background-size:(@base-height * 3) (@base-height * 6); } + } + #jstree-marker.jstree-dnd-responsive when (@responsive = true) { + border-left-width:10px; + border-top-width:10px; + border-bottom-width:10px; + margin-top:-10px; + } +} + +.jstree-@{theme-name}-responsive when (@responsive = true) { + @import "responsive.less"; +} diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/mixins.less b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/mixins.less new file mode 100644 index 0000000000..3018623b26 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/mixins.less @@ -0,0 +1,105 @@ +.gradient (@color1; @color2) { + background:@color1; + background: -webkit-linear-gradient(top, @color1 0%,@color2 100%); + background: linear-gradient(to bottom, @color1 0%,@color2 100%); +} + +.jstree-theme (@base-height, @image, @image-height) { + @correction: (@image-height - @base-height) / 2; + + .jstree-node { min-height:@base-height; line-height:@base-height; margin-left:@base-height; min-width:@base-height; } + .jstree-anchor { line-height:@base-height; height:@base-height; } + .jstree-icon { width:@base-height; height:@base-height; line-height:@base-height; } + .jstree-icon:empty { width:@base-height; height:@base-height; line-height:@base-height; } + &.jstree-rtl .jstree-node { margin-right:@base-height; } + .jstree-wholerow { height:@base-height; } + + .jstree-node, + .jstree-icon { background-image:url("@{image}"); } + .jstree-node { background-position:-(@image-height * 9 + @correction) -@correction; background-repeat:repeat-y; } + .jstree-last { background:transparent; } + + .jstree-open > .jstree-ocl { background-position:-(@image-height * 4 + @correction) -@correction; } + .jstree-closed > .jstree-ocl { background-position:-(@image-height * 3 + @correction) -@correction; } + .jstree-leaf > .jstree-ocl { background-position:-(@image-height * 2 + @correction) -@correction; } + + .jstree-themeicon { background-position:-(@image-height * 8 + @correction) -@correction; } + + > .jstree-no-dots { + .jstree-node, + .jstree-leaf > .jstree-ocl { background:transparent; } + .jstree-open > .jstree-ocl { background-position:-(@image-height * 1 + @correction) -@correction; } + .jstree-closed > .jstree-ocl { background-position:-@correction -@correction; } + } + + .jstree-disabled { + background:transparent; + &.jstree-hovered { + background:transparent; + } + &.jstree-clicked { + background:#efefef; + } + } + + .jstree-checkbox { + background-position:-(@image-height * 5 + @correction) -@correction; + &:hover { background-position:-(@image-height * 5 + @correction) -(@image-height * 1 + @correction); } + } + + &.jstree-checkbox-selection .jstree-clicked, .jstree-checked { + > .jstree-checkbox { + background-position:-(@image-height * 7 + @correction) -@correction; + &:hover { background-position:-(@image-height * 7 + @correction) -(@image-height * 1 + @correction); } + } + } + .jstree-anchor { + > .jstree-undetermined { + background-position:-(@image-height * 6 + @correction) -@correction; + &:hover { + background-position:-(@image-height * 6 + @correction) -(@image-height * 1 + @correction); + } + } + } + .jstree-checkbox-disabled { opacity:0.8; filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); /* Firefox 10+ */ filter: gray; /* IE6-9 */ -webkit-filter: grayscale(100%); /* Chrome 19+ & Safari 6+ */ } + + > .jstree-striped { background-size:auto (@base-height * 2); } + + &.jstree-rtl { + .jstree-node { background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); background-position: 100% 1px; background-repeat:repeat-y; } + .jstree-last { background:transparent; } + .jstree-open > .jstree-ocl { background-position:-(@image-height * 4 + @correction) -(@image-height * 1 + @correction); } + .jstree-closed > .jstree-ocl { background-position:-(@image-height * 3 + @correction) -(@image-height * 1 + @correction); } + .jstree-leaf > .jstree-ocl { background-position:-(@image-height * 2 + @correction) -(@image-height * 1 + @correction); } + > .jstree-no-dots { + .jstree-node, + .jstree-leaf > .jstree-ocl { background:transparent; } + .jstree-open > .jstree-ocl { background-position:-(@image-height * 1 + @correction) -(@image-height * 1 + @correction); } + .jstree-closed > .jstree-ocl { background-position:-@correction -(@image-height * 1 + @correction); } + } + } + .jstree-themeicon-custom { background-color:transparent; background-image:none; background-position:0 0; } + + > .jstree-container-ul .jstree-loading > .jstree-ocl { background:url("@{image-path}throbber.gif") center center no-repeat; } + + .jstree-file { background:url("@{image}") -(@image-height * 3 + @correction) -(@image-height * 2 + @correction) no-repeat; } + .jstree-folder { background:url("@{image}") -(@image-height * 8 + @correction) -(@correction) no-repeat; } + + > .jstree-container-ul > .jstree-node { margin-left:0; margin-right:0; } + + // drag'n'drop + #jstree-dnd& { + line-height:@base-height; padding:0 4px; + .jstree-ok, + .jstree-er { background-image:url("@{image-path}32px.png"); background-repeat:no-repeat; background-color:transparent; } + i { background:transparent; width:@base-height; height:@base-height; line-height:@base-height; } + .jstree-ok { background-position: -(@correction) -(@image-height * 2 + @correction); } + .jstree-er { background-position: -(@image-height * 1 + @correction) -(@image-height * 2 + @correction); } + } + + // ellipsis + .jstree-ellipsis { overflow: hidden; } + // base height + PADDINGS! + .jstree-ellipsis .jstree-anchor { width: calc(100% ~"-" (@base-height + 5px)); text-overflow: ellipsis; overflow: hidden; } + .jstree-ellipsis.jstree-no-icons .jstree-anchor { width: calc(100% ~"-" 5px); } +} diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/responsive.less b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/responsive.less new file mode 100644 index 0000000000..364e007518 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/themes/responsive.less @@ -0,0 +1,67 @@ +@media (max-width: 768px) { + // background image + .jstree-icon { background-image:url("@{image-path}@{base-height}.png"); } + + .jstree-node, + .jstree-leaf > .jstree-ocl { background:transparent; } + + .jstree-node { min-height:@base-height; line-height:@base-height; margin-left:@base-height; min-width:@base-height; white-space:nowrap; } + .jstree-anchor { line-height:@base-height; height:@base-height; } + .jstree-icon, .jstree-icon:empty { width:@base-height; height:@base-height; line-height:@base-height; } + + > .jstree-container-ul > .jstree-node { margin-left:0; } + &.jstree-rtl .jstree-node { margin-left:0; margin-right:@base-height; background:transparent; } + &.jstree-rtl .jstree-container-ul > .jstree-node { margin-right:0; } + + .jstree-ocl, + .jstree-themeicon, + .jstree-checkbox { background-size:(@base-height * 3) (@base-height * 6); } + .jstree-leaf > .jstree-ocl, + &.jstree-rtl .jstree-leaf > .jstree-ocl { background:transparent; } + .jstree-open > .jstree-ocl { background-position:0 0px !important; } + .jstree-closed > .jstree-ocl { background-position:0 -(@base-height * 1) !important; } + &.jstree-rtl .jstree-closed > .jstree-ocl { background-position:-(@base-height * 1) 0px !important; } + + .jstree-themeicon { background-position:-(@base-height * 1) -(@base-height * 1); } + + .jstree-checkbox, .jstree-checkbox:hover { background-position:-(@base-height * 1) -(@base-height * 2); } + &.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, + &.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, + .jstree-checked > .jstree-checkbox, + .jstree-checked > .jstree-checkbox:hover { background-position:0 -(@base-height * 2); } + .jstree-anchor > .jstree-undetermined, .jstree-anchor > .jstree-undetermined:hover { background-position:0 -(@base-height * 3); } + + .jstree-anchor { font-weight:bold; font-size:1.1em; text-shadow:1px 1px white; } + + > .jstree-striped { background:transparent; } + .jstree-wholerow { border-top:1px solid @mobile-wholerow-bordert; border-bottom:1px solid @mobile-wholerow-borderb; background:@mobile-wholerow-bg-color; height:@base-height; } + .jstree-wholerow-hovered { background:@hovered-bg-color; } + .jstree-wholerow-clicked { background:@clicked-bg-color; } + + // thanks to PHOTONUI + .jstree-children .jstree-last > .jstree-wholerow { box-shadow: inset 0 -6px 3px -5px @mobile-wholerow-shadow; } + .jstree-children .jstree-open > .jstree-wholerow { box-shadow: inset 0 6px 3px -5px @mobile-wholerow-shadow; border-top:0; } + .jstree-children .jstree-open + .jstree-open { box-shadow:none; } + + // experiment + .jstree-node, + .jstree-icon, + .jstree-node > .jstree-ocl, + .jstree-themeicon, + .jstree-checkbox { background-image:url("@{image-path}@{base-height}.png"); background-size:(@base-height * 3) (@base-height * 6); } + + .jstree-node { background-position:-(@base-height * 2) 0; background-repeat:repeat-y; } + .jstree-last { background:transparent; } + .jstree-leaf > .jstree-ocl { background-position:-(@base-height * 1) -(@base-height * 3); } + .jstree-last > .jstree-ocl { background-position:-(@base-height * 1) -(@base-height * 4); } + /* + .jstree-open > .jstree-ocl, + .jstree-closed > .jstree-ocl { border-radius:20px; background-color:white; } + */ + + .jstree-themeicon-custom { background-color:transparent; background-image:none; background-position:0 0; } + .jstree-file { background:url("@{image-path}@{base-height}.png") 0 -(@base-height * 4) no-repeat; background-size:(@base-height * 3) (@base-height * 6); } + .jstree-folder { background:url("@{image-path}@{base-height}.png") -(@base-height * 1) -(@base-height * 1) no-repeat; background-size:(@base-height * 3) (@base-height * 6); } + + > .jstree-container-ul > .jstree-node { margin-left:0; margin-right:0; } +} \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/src/vakata-jstree.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/vakata-jstree.js new file mode 100644 index 0000000000..9838885177 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/src/vakata-jstree.js @@ -0,0 +1,38 @@ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define('jstree.checkbox', ['jquery','jstree'], factory); + } + else if(typeof exports === 'object') { + factory(require('jquery'), require('jstree')); + } + else { + factory(jQuery); + } +}(function ($, undefined) { + "use strict"; + if(document.registerElement && Object && Object.create) { + var proto = Object.create(HTMLElement.prototype); + proto.createdCallback = function () { + var c = { core : {}, plugins : [] }, i; + for(i in $.jstree.plugins) { + if($.jstree.plugins.hasOwnProperty(i) && this.attributes[i]) { + c.plugins.push(i); + if(this.getAttribute(i) && JSON.parse(this.getAttribute(i))) { + c[i] = JSON.parse(this.getAttribute(i)); + } + } + } + for(i in $.jstree.defaults.core) { + if($.jstree.defaults.core.hasOwnProperty(i) && this.attributes[i]) { + c.core[i] = JSON.parse(this.getAttribute(i)) || this.getAttribute(i); + } + } + $(this).jstree(c); + }; + // proto.attributeChangedCallback = function (name, previous, value) { }; + try { + document.registerElement("vakata-jstree", { prototype: proto }); + } catch(ignore) { } + } +})); diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/test/unit/index.html b/mayan/apps/cabinets/static/cabinets/packages/jstree/test/unit/index.html new file mode 100644 index 0000000000..0d64e77d67 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/test/unit/index.html @@ -0,0 +1,16 @@ + + + + + Basic Test Suite + + + + + +
          +
          this had better work.
          + + + + \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/test/unit/libs/qunit.css b/mayan/apps/cabinets/static/cabinets/packages/jstree/test/unit/libs/qunit.css new file mode 100644 index 0000000000..2a6a02bf50 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/test/unit/libs/qunit.css @@ -0,0 +1,244 @@ +/** + * QUnit v1.12.0 - A JavaScript Unit Testing Framework + * + * http://qunitjs.com + * + * Copyright 2012 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +/** Font Family and Sizes */ + +#qunit-tests, #qunit-header, #qunit-banner, #qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult { + font-family: "Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial, sans-serif; +} + +#qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult, #qunit-tests li { font-size: small; } +#qunit-tests { font-size: smaller; } + + +/** Resets */ + +#qunit-tests, #qunit-header, #qunit-banner, #qunit-userAgent, #qunit-testresult, #qunit-modulefilter { + margin: 0; + padding: 0; +} + + +/** Header */ + +#qunit-header { + padding: 0.5em 0 0.5em 1em; + + color: #8699a4; + background-color: #0d3349; + + font-size: 1.5em; + line-height: 1em; + font-weight: normal; + + border-radius: 5px 5px 0 0; + -moz-border-radius: 5px 5px 0 0; + -webkit-border-top-right-radius: 5px; + -webkit-border-top-left-radius: 5px; +} + +#qunit-header a { + text-decoration: none; + color: #c2ccd1; +} + +#qunit-header a:hover, +#qunit-header a:focus { + color: #fff; +} + +#qunit-testrunner-toolbar label { + display: inline-block; + padding: 0 .5em 0 .1em; +} + +#qunit-banner { + height: 5px; +} + +#qunit-testrunner-toolbar { + padding: 0.5em 0 0.5em 2em; + color: #5E740B; + background-color: #eee; + overflow: hidden; +} + +#qunit-userAgent { + padding: 0.5em 0 0.5em 2.5em; + background-color: #2b81af; + color: #fff; + text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px; +} + +#qunit-modulefilter-container { + float: right; +} + +/** Tests: Pass/Fail */ + +#qunit-tests { + list-style-position: inside; +} + +#qunit-tests li { + padding: 0.4em 0.5em 0.4em 2.5em; + border-bottom: 1px solid #fff; + list-style-position: inside; +} + +#qunit-tests.hidepass li.pass, #qunit-tests.hidepass li.running { + display: none; +} + +#qunit-tests li strong { + cursor: pointer; +} + +#qunit-tests li a { + padding: 0.5em; + color: #c2ccd1; + text-decoration: none; +} +#qunit-tests li a:hover, +#qunit-tests li a:focus { + color: #000; +} + +#qunit-tests li .runtime { + float: right; + font-size: smaller; +} + +.qunit-assert-list { + margin-top: 0.5em; + padding: 0.5em; + + background-color: #fff; + + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; +} + +.qunit-collapsed { + display: none; +} + +#qunit-tests table { + border-collapse: collapse; + margin-top: .2em; +} + +#qunit-tests th { + text-align: right; + vertical-align: top; + padding: 0 .5em 0 0; +} + +#qunit-tests td { + vertical-align: top; +} + +#qunit-tests pre { + margin: 0; + white-space: pre-wrap; + word-wrap: break-word; +} + +#qunit-tests del { + background-color: #e0f2be; + color: #374e0c; + text-decoration: none; +} + +#qunit-tests ins { + background-color: #ffcaca; + color: #500; + text-decoration: none; +} + +/*** Test Counts */ + +#qunit-tests b.counts { color: black; } +#qunit-tests b.passed { color: #5E740B; } +#qunit-tests b.failed { color: #710909; } + +#qunit-tests li li { + padding: 5px; + background-color: #fff; + border-bottom: none; + list-style-position: inside; +} + +/*** Passing Styles */ + +#qunit-tests li li.pass { + color: #3c510c; + background-color: #fff; + border-left: 10px solid #C6E746; +} + +#qunit-tests .pass { color: #528CE0; background-color: #D2E0E6; } +#qunit-tests .pass .test-name { color: #366097; } + +#qunit-tests .pass .test-actual, +#qunit-tests .pass .test-expected { color: #999999; } + +#qunit-banner.qunit-pass { background-color: #C6E746; } + +/*** Failing Styles */ + +#qunit-tests li li.fail { + color: #710909; + background-color: #fff; + border-left: 10px solid #EE5757; + white-space: pre; +} + +#qunit-tests > li:last-child { + border-radius: 0 0 5px 5px; + -moz-border-radius: 0 0 5px 5px; + -webkit-border-bottom-right-radius: 5px; + -webkit-border-bottom-left-radius: 5px; +} + +#qunit-tests .fail { color: #000000; background-color: #EE5757; } +#qunit-tests .fail .test-name, +#qunit-tests .fail .module-name { color: #000000; } + +#qunit-tests .fail .test-actual { color: #EE5757; } +#qunit-tests .fail .test-expected { color: green; } + +#qunit-banner.qunit-fail { background-color: #EE5757; } + + +/** Result */ + +#qunit-testresult { + padding: 0.5em 0.5em 0.5em 2.5em; + + color: #2b81af; + background-color: #D2E0E6; + + border-bottom: 1px solid white; +} +#qunit-testresult .module-name { + font-weight: bold; +} + +/** Fixture */ + +#qunit-fixture { + position: absolute; + top: -10000px; + left: -10000px; + width: 1000px; + height: 1000px; +} \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/test/unit/libs/qunit.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/test/unit/libs/qunit.js new file mode 100644 index 0000000000..7567d5fc51 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/test/unit/libs/qunit.js @@ -0,0 +1,2212 @@ +/** + * QUnit v1.12.0 - A JavaScript Unit Testing Framework + * + * http://qunitjs.com + * + * Copyright 2013 jQuery Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license/ + */ + +(function( window ) { + +var QUnit, + assert, + config, + onErrorFnPrev, + testId = 0, + fileName = (sourceFromStacktrace( 0 ) || "" ).replace(/(:\d+)+\)?/, "").replace(/.+\//, ""), + toString = Object.prototype.toString, + hasOwn = Object.prototype.hasOwnProperty, + // Keep a local reference to Date (GH-283) + Date = window.Date, + setTimeout = window.setTimeout, + defined = { + setTimeout: typeof window.setTimeout !== "undefined", + sessionStorage: (function() { + var x = "qunit-test-string"; + try { + sessionStorage.setItem( x, x ); + sessionStorage.removeItem( x ); + return true; + } catch( e ) { + return false; + } + }()) + }, + /** + * Provides a normalized error string, correcting an issue + * with IE 7 (and prior) where Error.prototype.toString is + * not properly implemented + * + * Based on http://es5.github.com/#x15.11.4.4 + * + * @param {String|Error} error + * @return {String} error message + */ + errorString = function( error ) { + var name, message, + errorString = error.toString(); + if ( errorString.substring( 0, 7 ) === "[object" ) { + name = error.name ? error.name.toString() : "Error"; + message = error.message ? error.message.toString() : ""; + if ( name && message ) { + return name + ": " + message; + } else if ( name ) { + return name; + } else if ( message ) { + return message; + } else { + return "Error"; + } + } else { + return errorString; + } + }, + /** + * Makes a clone of an object using only Array or Object as base, + * and copies over the own enumerable properties. + * + * @param {Object} obj + * @return {Object} New object with only the own properties (recursively). + */ + objectValues = function( obj ) { + // Grunt 0.3.x uses an older version of jshint that still has jshint/jshint#392. + /*jshint newcap: false */ + var key, val, + vals = QUnit.is( "array", obj ) ? [] : {}; + for ( key in obj ) { + if ( hasOwn.call( obj, key ) ) { + val = obj[key]; + vals[key] = val === Object(val) ? objectValues(val) : val; + } + } + return vals; + }; + +function Test( settings ) { + extend( this, settings ); + this.assertions = []; + this.testNumber = ++Test.count; +} + +Test.count = 0; + +Test.prototype = { + init: function() { + var a, b, li, + tests = id( "qunit-tests" ); + + if ( tests ) { + b = document.createElement( "strong" ); + b.innerHTML = this.nameHtml; + + // `a` initialized at top of scope + a = document.createElement( "a" ); + a.innerHTML = "Rerun"; + a.href = QUnit.url({ testNumber: this.testNumber }); + + li = document.createElement( "li" ); + li.appendChild( b ); + li.appendChild( a ); + li.className = "running"; + li.id = this.id = "qunit-test-output" + testId++; + + tests.appendChild( li ); + } + }, + setup: function() { + if ( + // Emit moduleStart when we're switching from one module to another + this.module !== config.previousModule || + // They could be equal (both undefined) but if the previousModule property doesn't + // yet exist it means this is the first test in a suite that isn't wrapped in a + // module, in which case we'll just emit a moduleStart event for 'undefined'. + // Without this, reporters can get testStart before moduleStart which is a problem. + !hasOwn.call( config, "previousModule" ) + ) { + if ( hasOwn.call( config, "previousModule" ) ) { + runLoggingCallbacks( "moduleDone", QUnit, { + name: config.previousModule, + failed: config.moduleStats.bad, + passed: config.moduleStats.all - config.moduleStats.bad, + total: config.moduleStats.all + }); + } + config.previousModule = this.module; + config.moduleStats = { all: 0, bad: 0 }; + runLoggingCallbacks( "moduleStart", QUnit, { + name: this.module + }); + } + + config.current = this; + + this.testEnvironment = extend({ + setup: function() {}, + teardown: function() {} + }, this.moduleTestEnvironment ); + + this.started = +new Date(); + runLoggingCallbacks( "testStart", QUnit, { + name: this.testName, + module: this.module + }); + + /*jshint camelcase:false */ + + + /** + * Expose the current test environment. + * + * @deprecated since 1.12.0: Use QUnit.config.current.testEnvironment instead. + */ + QUnit.current_testEnvironment = this.testEnvironment; + + /*jshint camelcase:true */ + + if ( !config.pollution ) { + saveGlobal(); + } + if ( config.notrycatch ) { + this.testEnvironment.setup.call( this.testEnvironment, QUnit.assert ); + return; + } + try { + this.testEnvironment.setup.call( this.testEnvironment, QUnit.assert ); + } catch( e ) { + QUnit.pushFailure( "Setup failed on " + this.testName + ": " + ( e.message || e ), extractStacktrace( e, 1 ) ); + } + }, + run: function() { + config.current = this; + + var running = id( "qunit-testresult" ); + + if ( running ) { + running.innerHTML = "Running:
          " + this.nameHtml; + } + + if ( this.async ) { + QUnit.stop(); + } + + this.callbackStarted = +new Date(); + + if ( config.notrycatch ) { + this.callback.call( this.testEnvironment, QUnit.assert ); + this.callbackRuntime = +new Date() - this.callbackStarted; + return; + } + + try { + this.callback.call( this.testEnvironment, QUnit.assert ); + this.callbackRuntime = +new Date() - this.callbackStarted; + } catch( e ) { + this.callbackRuntime = +new Date() - this.callbackStarted; + + QUnit.pushFailure( "Died on test #" + (this.assertions.length + 1) + " " + this.stack + ": " + ( e.message || e ), extractStacktrace( e, 0 ) ); + // else next test will carry the responsibility + saveGlobal(); + + // Restart the tests if they're blocking + if ( config.blocking ) { + QUnit.start(); + } + } + }, + teardown: function() { + config.current = this; + if ( config.notrycatch ) { + if ( typeof this.callbackRuntime === "undefined" ) { + this.callbackRuntime = +new Date() - this.callbackStarted; + } + this.testEnvironment.teardown.call( this.testEnvironment, QUnit.assert ); + return; + } else { + try { + this.testEnvironment.teardown.call( this.testEnvironment, QUnit.assert ); + } catch( e ) { + QUnit.pushFailure( "Teardown failed on " + this.testName + ": " + ( e.message || e ), extractStacktrace( e, 1 ) ); + } + } + checkPollution(); + }, + finish: function() { + config.current = this; + if ( config.requireExpects && this.expected === null ) { + QUnit.pushFailure( "Expected number of assertions to be defined, but expect() was not called.", this.stack ); + } else if ( this.expected !== null && this.expected !== this.assertions.length ) { + QUnit.pushFailure( "Expected " + this.expected + " assertions, but " + this.assertions.length + " were run", this.stack ); + } else if ( this.expected === null && !this.assertions.length ) { + QUnit.pushFailure( "Expected at least one assertion, but none were run - call expect(0) to accept zero assertions.", this.stack ); + } + + var i, assertion, a, b, time, li, ol, + test = this, + good = 0, + bad = 0, + tests = id( "qunit-tests" ); + + this.runtime = +new Date() - this.started; + config.stats.all += this.assertions.length; + config.moduleStats.all += this.assertions.length; + + if ( tests ) { + ol = document.createElement( "ol" ); + ol.className = "qunit-assert-list"; + + for ( i = 0; i < this.assertions.length; i++ ) { + assertion = this.assertions[i]; + + li = document.createElement( "li" ); + li.className = assertion.result ? "pass" : "fail"; + li.innerHTML = assertion.message || ( assertion.result ? "okay" : "failed" ); + ol.appendChild( li ); + + if ( assertion.result ) { + good++; + } else { + bad++; + config.stats.bad++; + config.moduleStats.bad++; + } + } + + // store result when possible + if ( QUnit.config.reorder && defined.sessionStorage ) { + if ( bad ) { + sessionStorage.setItem( "qunit-test-" + this.module + "-" + this.testName, bad ); + } else { + sessionStorage.removeItem( "qunit-test-" + this.module + "-" + this.testName ); + } + } + + if ( bad === 0 ) { + addClass( ol, "qunit-collapsed" ); + } + + // `b` initialized at top of scope + b = document.createElement( "strong" ); + b.innerHTML = this.nameHtml + " (" + bad + ", " + good + ", " + this.assertions.length + ")"; + + addEvent(b, "click", function() { + var next = b.parentNode.lastChild, + collapsed = hasClass( next, "qunit-collapsed" ); + ( collapsed ? removeClass : addClass )( next, "qunit-collapsed" ); + }); + + addEvent(b, "dblclick", function( e ) { + var target = e && e.target ? e.target : window.event.srcElement; + if ( target.nodeName.toLowerCase() === "span" || target.nodeName.toLowerCase() === "b" ) { + target = target.parentNode; + } + if ( window.location && target.nodeName.toLowerCase() === "strong" ) { + window.location = QUnit.url({ testNumber: test.testNumber }); + } + }); + + // `time` initialized at top of scope + time = document.createElement( "span" ); + time.className = "runtime"; + time.innerHTML = this.runtime + " ms"; + + // `li` initialized at top of scope + li = id( this.id ); + li.className = bad ? "fail" : "pass"; + li.removeChild( li.firstChild ); + a = li.firstChild; + li.appendChild( b ); + li.appendChild( a ); + li.appendChild( time ); + li.appendChild( ol ); + + } else { + for ( i = 0; i < this.assertions.length; i++ ) { + if ( !this.assertions[i].result ) { + bad++; + config.stats.bad++; + config.moduleStats.bad++; + } + } + } + + runLoggingCallbacks( "testDone", QUnit, { + name: this.testName, + module: this.module, + failed: bad, + passed: this.assertions.length - bad, + total: this.assertions.length, + duration: this.runtime + }); + + QUnit.reset(); + + config.current = undefined; + }, + + queue: function() { + var bad, + test = this; + + synchronize(function() { + test.init(); + }); + function run() { + // each of these can by async + synchronize(function() { + test.setup(); + }); + synchronize(function() { + test.run(); + }); + synchronize(function() { + test.teardown(); + }); + synchronize(function() { + test.finish(); + }); + } + + // `bad` initialized at top of scope + // defer when previous test run passed, if storage is available + bad = QUnit.config.reorder && defined.sessionStorage && + +sessionStorage.getItem( "qunit-test-" + this.module + "-" + this.testName ); + + if ( bad ) { + run(); + } else { + synchronize( run, true ); + } + } +}; + +// Root QUnit object. +// `QUnit` initialized at top of scope +QUnit = { + + // call on start of module test to prepend name to all tests + module: function( name, testEnvironment ) { + config.currentModule = name; + config.currentModuleTestEnvironment = testEnvironment; + config.modules[name] = true; + }, + + asyncTest: function( testName, expected, callback ) { + if ( arguments.length === 2 ) { + callback = expected; + expected = null; + } + + QUnit.test( testName, expected, callback, true ); + }, + + test: function( testName, expected, callback, async ) { + var test, + nameHtml = "" + escapeText( testName ) + ""; + + if ( arguments.length === 2 ) { + callback = expected; + expected = null; + } + + if ( config.currentModule ) { + nameHtml = "" + escapeText( config.currentModule ) + ": " + nameHtml; + } + + test = new Test({ + nameHtml: nameHtml, + testName: testName, + expected: expected, + async: async, + callback: callback, + module: config.currentModule, + moduleTestEnvironment: config.currentModuleTestEnvironment, + stack: sourceFromStacktrace( 2 ) + }); + + if ( !validTest( test ) ) { + return; + } + + test.queue(); + }, + + // Specify the number of expected assertions to guarantee that failed test (no assertions are run at all) don't slip through. + expect: function( asserts ) { + if (arguments.length === 1) { + config.current.expected = asserts; + } else { + return config.current.expected; + } + }, + + start: function( count ) { + // QUnit hasn't been initialized yet. + // Note: RequireJS (et al) may delay onLoad + if ( config.semaphore === undefined ) { + QUnit.begin(function() { + // This is triggered at the top of QUnit.load, push start() to the event loop, to allow QUnit.load to finish first + setTimeout(function() { + QUnit.start( count ); + }); + }); + return; + } + + config.semaphore -= count || 1; + // don't start until equal number of stop-calls + if ( config.semaphore > 0 ) { + return; + } + // ignore if start is called more often then stop + if ( config.semaphore < 0 ) { + config.semaphore = 0; + QUnit.pushFailure( "Called start() while already started (QUnit.config.semaphore was 0 already)", null, sourceFromStacktrace(2) ); + return; + } + // A slight delay, to avoid any current callbacks + if ( defined.setTimeout ) { + setTimeout(function() { + if ( config.semaphore > 0 ) { + return; + } + if ( config.timeout ) { + clearTimeout( config.timeout ); + } + + config.blocking = false; + process( true ); + }, 13); + } else { + config.blocking = false; + process( true ); + } + }, + + stop: function( count ) { + config.semaphore += count || 1; + config.blocking = true; + + if ( config.testTimeout && defined.setTimeout ) { + clearTimeout( config.timeout ); + config.timeout = setTimeout(function() { + QUnit.ok( false, "Test timed out" ); + config.semaphore = 1; + QUnit.start(); + }, config.testTimeout ); + } + } +}; + +// `assert` initialized at top of scope +// Assert helpers +// All of these must either call QUnit.push() or manually do: +// - runLoggingCallbacks( "log", .. ); +// - config.current.assertions.push({ .. }); +// We attach it to the QUnit object *after* we expose the public API, +// otherwise `assert` will become a global variable in browsers (#341). +assert = { + /** + * Asserts rough true-ish result. + * @name ok + * @function + * @example ok( "asdfasdf".length > 5, "There must be at least 5 chars" ); + */ + ok: function( result, msg ) { + if ( !config.current ) { + throw new Error( "ok() assertion outside test context, was " + sourceFromStacktrace(2) ); + } + result = !!result; + msg = msg || (result ? "okay" : "failed" ); + + var source, + details = { + module: config.current.module, + name: config.current.testName, + result: result, + message: msg + }; + + msg = "" + escapeText( msg ) + ""; + + if ( !result ) { + source = sourceFromStacktrace( 2 ); + if ( source ) { + details.source = source; + msg += "
          Source:
          " + escapeText( source ) + "
          "; + } + } + runLoggingCallbacks( "log", QUnit, details ); + config.current.assertions.push({ + result: result, + message: msg + }); + }, + + /** + * Assert that the first two arguments are equal, with an optional message. + * Prints out both actual and expected values. + * @name equal + * @function + * @example equal( format( "Received {0} bytes.", 2), "Received 2 bytes.", "format() replaces {0} with next argument" ); + */ + equal: function( actual, expected, message ) { + /*jshint eqeqeq:false */ + QUnit.push( expected == actual, actual, expected, message ); + }, + + /** + * @name notEqual + * @function + */ + notEqual: function( actual, expected, message ) { + /*jshint eqeqeq:false */ + QUnit.push( expected != actual, actual, expected, message ); + }, + + /** + * @name propEqual + * @function + */ + propEqual: function( actual, expected, message ) { + actual = objectValues(actual); + expected = objectValues(expected); + QUnit.push( QUnit.equiv(actual, expected), actual, expected, message ); + }, + + /** + * @name notPropEqual + * @function + */ + notPropEqual: function( actual, expected, message ) { + actual = objectValues(actual); + expected = objectValues(expected); + QUnit.push( !QUnit.equiv(actual, expected), actual, expected, message ); + }, + + /** + * @name deepEqual + * @function + */ + deepEqual: function( actual, expected, message ) { + QUnit.push( QUnit.equiv(actual, expected), actual, expected, message ); + }, + + /** + * @name notDeepEqual + * @function + */ + notDeepEqual: function( actual, expected, message ) { + QUnit.push( !QUnit.equiv(actual, expected), actual, expected, message ); + }, + + /** + * @name strictEqual + * @function + */ + strictEqual: function( actual, expected, message ) { + QUnit.push( expected === actual, actual, expected, message ); + }, + + /** + * @name notStrictEqual + * @function + */ + notStrictEqual: function( actual, expected, message ) { + QUnit.push( expected !== actual, actual, expected, message ); + }, + + "throws": function( block, expected, message ) { + var actual, + expectedOutput = expected, + ok = false; + + // 'expected' is optional + if ( typeof expected === "string" ) { + message = expected; + expected = null; + } + + config.current.ignoreGlobalErrors = true; + try { + block.call( config.current.testEnvironment ); + } catch (e) { + actual = e; + } + config.current.ignoreGlobalErrors = false; + + if ( actual ) { + // we don't want to validate thrown error + if ( !expected ) { + ok = true; + expectedOutput = null; + // expected is a regexp + } else if ( QUnit.objectType( expected ) === "regexp" ) { + ok = expected.test( errorString( actual ) ); + // expected is a constructor + } else if ( actual instanceof expected ) { + ok = true; + // expected is a validation function which returns true is validation passed + } else if ( expected.call( {}, actual ) === true ) { + expectedOutput = null; + ok = true; + } + + QUnit.push( ok, actual, expectedOutput, message ); + } else { + QUnit.pushFailure( message, null, "No exception was thrown." ); + } + } +}; + +/** + * @deprecated since 1.8.0 + * Kept assertion helpers in root for backwards compatibility. + */ +extend( QUnit, assert ); + +/** + * @deprecated since 1.9.0 + * Kept root "raises()" for backwards compatibility. + * (Note that we don't introduce assert.raises). + */ +QUnit.raises = assert[ "throws" ]; + +/** + * @deprecated since 1.0.0, replaced with error pushes since 1.3.0 + * Kept to avoid TypeErrors for undefined methods. + */ +QUnit.equals = function() { + QUnit.push( false, false, false, "QUnit.equals has been deprecated since 2009 (e88049a0), use QUnit.equal instead" ); +}; +QUnit.same = function() { + QUnit.push( false, false, false, "QUnit.same has been deprecated since 2009 (e88049a0), use QUnit.deepEqual instead" ); +}; + +// We want access to the constructor's prototype +(function() { + function F() {} + F.prototype = QUnit; + QUnit = new F(); + // Make F QUnit's constructor so that we can add to the prototype later + QUnit.constructor = F; +}()); + +/** + * Config object: Maintain internal state + * Later exposed as QUnit.config + * `config` initialized at top of scope + */ +config = { + // The queue of tests to run + queue: [], + + // block until document ready + blocking: true, + + // when enabled, show only failing tests + // gets persisted through sessionStorage and can be changed in UI via checkbox + hidepassed: false, + + // by default, run previously failed tests first + // very useful in combination with "Hide passed tests" checked + reorder: true, + + // by default, modify document.title when suite is done + altertitle: true, + + // when enabled, all tests must call expect() + requireExpects: false, + + // add checkboxes that are persisted in the query-string + // when enabled, the id is set to `true` as a `QUnit.config` property + urlConfig: [ + { + id: "noglobals", + label: "Check for Globals", + tooltip: "Enabling this will test if any test introduces new properties on the `window` object. Stored as query-strings." + }, + { + id: "notrycatch", + label: "No try-catch", + tooltip: "Enabling this will run tests outside of a try-catch block. Makes debugging exceptions in IE reasonable. Stored as query-strings." + } + ], + + // Set of all modules. + modules: {}, + + // logging callback queues + begin: [], + done: [], + log: [], + testStart: [], + testDone: [], + moduleStart: [], + moduleDone: [] +}; + +// Export global variables, unless an 'exports' object exists, +// in that case we assume we're in CommonJS (dealt with on the bottom of the script) +if ( typeof exports === "undefined" ) { + extend( window, QUnit.constructor.prototype ); + + // Expose QUnit object + window.QUnit = QUnit; +} + +// Initialize more QUnit.config and QUnit.urlParams +(function() { + var i, + location = window.location || { search: "", protocol: "file:" }, + params = location.search.slice( 1 ).split( "&" ), + length = params.length, + urlParams = {}, + current; + + if ( params[ 0 ] ) { + for ( i = 0; i < length; i++ ) { + current = params[ i ].split( "=" ); + current[ 0 ] = decodeURIComponent( current[ 0 ] ); + // allow just a key to turn on a flag, e.g., test.html?noglobals + current[ 1 ] = current[ 1 ] ? decodeURIComponent( current[ 1 ] ) : true; + urlParams[ current[ 0 ] ] = current[ 1 ]; + } + } + + QUnit.urlParams = urlParams; + + // String search anywhere in moduleName+testName + config.filter = urlParams.filter; + + // Exact match of the module name + config.module = urlParams.module; + + config.testNumber = parseInt( urlParams.testNumber, 10 ) || null; + + // Figure out if we're running the tests from a server or not + QUnit.isLocal = location.protocol === "file:"; +}()); + +// Extend QUnit object, +// these after set here because they should not be exposed as global functions +extend( QUnit, { + assert: assert, + + config: config, + + // Initialize the configuration options + init: function() { + extend( config, { + stats: { all: 0, bad: 0 }, + moduleStats: { all: 0, bad: 0 }, + started: +new Date(), + updateRate: 1000, + blocking: false, + autostart: true, + autorun: false, + filter: "", + queue: [], + semaphore: 1 + }); + + var tests, banner, result, + qunit = id( "qunit" ); + + if ( qunit ) { + qunit.innerHTML = + "

          " + escapeText( document.title ) + "

          " + + "

          " + + "
          " + + "

          " + + "
            "; + } + + tests = id( "qunit-tests" ); + banner = id( "qunit-banner" ); + result = id( "qunit-testresult" ); + + if ( tests ) { + tests.innerHTML = ""; + } + + if ( banner ) { + banner.className = ""; + } + + if ( result ) { + result.parentNode.removeChild( result ); + } + + if ( tests ) { + result = document.createElement( "p" ); + result.id = "qunit-testresult"; + result.className = "result"; + tests.parentNode.insertBefore( result, tests ); + result.innerHTML = "Running...
             "; + } + }, + + // Resets the test setup. Useful for tests that modify the DOM. + /* + DEPRECATED: Use multiple tests instead of resetting inside a test. + Use testStart or testDone for custom cleanup. + This method will throw an error in 2.0, and will be removed in 2.1 + */ + reset: function() { + var fixture = id( "qunit-fixture" ); + if ( fixture ) { + fixture.innerHTML = config.fixture; + } + }, + + // Trigger an event on an element. + // @example triggerEvent( document.body, "click" ); + triggerEvent: function( elem, type, event ) { + if ( document.createEvent ) { + event = document.createEvent( "MouseEvents" ); + event.initMouseEvent(type, true, true, elem.ownerDocument.defaultView, + 0, 0, 0, 0, 0, false, false, false, false, 0, null); + + elem.dispatchEvent( event ); + } else if ( elem.fireEvent ) { + elem.fireEvent( "on" + type ); + } + }, + + // Safe object type checking + is: function( type, obj ) { + return QUnit.objectType( obj ) === type; + }, + + objectType: function( obj ) { + if ( typeof obj === "undefined" ) { + return "undefined"; + // consider: typeof null === object + } + if ( obj === null ) { + return "null"; + } + + var match = toString.call( obj ).match(/^\[object\s(.*)\]$/), + type = match && match[1] || ""; + + switch ( type ) { + case "Number": + if ( isNaN(obj) ) { + return "nan"; + } + return "number"; + case "String": + case "Boolean": + case "Array": + case "Date": + case "RegExp": + case "Function": + return type.toLowerCase(); + } + if ( typeof obj === "object" ) { + return "object"; + } + return undefined; + }, + + push: function( result, actual, expected, message ) { + if ( !config.current ) { + throw new Error( "assertion outside test context, was " + sourceFromStacktrace() ); + } + + var output, source, + details = { + module: config.current.module, + name: config.current.testName, + result: result, + message: message, + actual: actual, + expected: expected + }; + + message = escapeText( message ) || ( result ? "okay" : "failed" ); + message = "" + message + ""; + output = message; + + if ( !result ) { + expected = escapeText( QUnit.jsDump.parse(expected) ); + actual = escapeText( QUnit.jsDump.parse(actual) ); + output += ""; + + if ( actual !== expected ) { + output += ""; + output += ""; + } + + source = sourceFromStacktrace(); + + if ( source ) { + details.source = source; + output += ""; + } + + output += "
            Expected:
            " + expected + "
            Result:
            " + actual + "
            Diff:
            " + QUnit.diff( expected, actual ) + "
            Source:
            " + escapeText( source ) + "
            "; + } + + runLoggingCallbacks( "log", QUnit, details ); + + config.current.assertions.push({ + result: !!result, + message: output + }); + }, + + pushFailure: function( message, source, actual ) { + if ( !config.current ) { + throw new Error( "pushFailure() assertion outside test context, was " + sourceFromStacktrace(2) ); + } + + var output, + details = { + module: config.current.module, + name: config.current.testName, + result: false, + message: message + }; + + message = escapeText( message ) || "error"; + message = "" + message + ""; + output = message; + + output += ""; + + if ( actual ) { + output += ""; + } + + if ( source ) { + details.source = source; + output += ""; + } + + output += "
            Result:
            " + escapeText( actual ) + "
            Source:
            " + escapeText( source ) + "
            "; + + runLoggingCallbacks( "log", QUnit, details ); + + config.current.assertions.push({ + result: false, + message: output + }); + }, + + url: function( params ) { + params = extend( extend( {}, QUnit.urlParams ), params ); + var key, + querystring = "?"; + + for ( key in params ) { + if ( hasOwn.call( params, key ) ) { + querystring += encodeURIComponent( key ) + "=" + + encodeURIComponent( params[ key ] ) + "&"; + } + } + return window.location.protocol + "//" + window.location.host + + window.location.pathname + querystring.slice( 0, -1 ); + }, + + extend: extend, + id: id, + addEvent: addEvent, + addClass: addClass, + hasClass: hasClass, + removeClass: removeClass + // load, equiv, jsDump, diff: Attached later +}); + +/** + * @deprecated: Created for backwards compatibility with test runner that set the hook function + * into QUnit.{hook}, instead of invoking it and passing the hook function. + * QUnit.constructor is set to the empty F() above so that we can add to it's prototype here. + * Doing this allows us to tell if the following methods have been overwritten on the actual + * QUnit object. + */ +extend( QUnit.constructor.prototype, { + + // Logging callbacks; all receive a single argument with the listed properties + // run test/logs.html for any related changes + begin: registerLoggingCallback( "begin" ), + + // done: { failed, passed, total, runtime } + done: registerLoggingCallback( "done" ), + + // log: { result, actual, expected, message } + log: registerLoggingCallback( "log" ), + + // testStart: { name } + testStart: registerLoggingCallback( "testStart" ), + + // testDone: { name, failed, passed, total, duration } + testDone: registerLoggingCallback( "testDone" ), + + // moduleStart: { name } + moduleStart: registerLoggingCallback( "moduleStart" ), + + // moduleDone: { name, failed, passed, total } + moduleDone: registerLoggingCallback( "moduleDone" ) +}); + +if ( typeof document === "undefined" || document.readyState === "complete" ) { + config.autorun = true; +} + +QUnit.load = function() { + runLoggingCallbacks( "begin", QUnit, {} ); + + // Initialize the config, saving the execution queue + var banner, filter, i, label, len, main, ol, toolbar, userAgent, val, + urlConfigCheckboxesContainer, urlConfigCheckboxes, moduleFilter, + numModules = 0, + moduleNames = [], + moduleFilterHtml = "", + urlConfigHtml = "", + oldconfig = extend( {}, config ); + + QUnit.init(); + extend(config, oldconfig); + + config.blocking = false; + + len = config.urlConfig.length; + + for ( i = 0; i < len; i++ ) { + val = config.urlConfig[i]; + if ( typeof val === "string" ) { + val = { + id: val, + label: val, + tooltip: "[no tooltip available]" + }; + } + config[ val.id ] = QUnit.urlParams[ val.id ]; + urlConfigHtml += ""; + } + for ( i in config.modules ) { + if ( config.modules.hasOwnProperty( i ) ) { + moduleNames.push(i); + } + } + numModules = moduleNames.length; + moduleNames.sort( function( a, b ) { + return a.localeCompare( b ); + }); + moduleFilterHtml += ""; + + // `userAgent` initialized at top of scope + userAgent = id( "qunit-userAgent" ); + if ( userAgent ) { + userAgent.innerHTML = navigator.userAgent; + } + + // `banner` initialized at top of scope + banner = id( "qunit-header" ); + if ( banner ) { + banner.innerHTML = "" + banner.innerHTML + " "; + } + + // `toolbar` initialized at top of scope + toolbar = id( "qunit-testrunner-toolbar" ); + if ( toolbar ) { + // `filter` initialized at top of scope + filter = document.createElement( "input" ); + filter.type = "checkbox"; + filter.id = "qunit-filter-pass"; + + addEvent( filter, "click", function() { + var tmp, + ol = document.getElementById( "qunit-tests" ); + + if ( filter.checked ) { + ol.className = ol.className + " hidepass"; + } else { + tmp = " " + ol.className.replace( /[\n\t\r]/g, " " ) + " "; + ol.className = tmp.replace( / hidepass /, " " ); + } + if ( defined.sessionStorage ) { + if (filter.checked) { + sessionStorage.setItem( "qunit-filter-passed-tests", "true" ); + } else { + sessionStorage.removeItem( "qunit-filter-passed-tests" ); + } + } + }); + + if ( config.hidepassed || defined.sessionStorage && sessionStorage.getItem( "qunit-filter-passed-tests" ) ) { + filter.checked = true; + // `ol` initialized at top of scope + ol = document.getElementById( "qunit-tests" ); + ol.className = ol.className + " hidepass"; + } + toolbar.appendChild( filter ); + + // `label` initialized at top of scope + label = document.createElement( "label" ); + label.setAttribute( "for", "qunit-filter-pass" ); + label.setAttribute( "title", "Only show tests and assertions that fail. Stored in sessionStorage." ); + label.innerHTML = "Hide passed tests"; + toolbar.appendChild( label ); + + urlConfigCheckboxesContainer = document.createElement("span"); + urlConfigCheckboxesContainer.innerHTML = urlConfigHtml; + urlConfigCheckboxes = urlConfigCheckboxesContainer.getElementsByTagName("input"); + // For oldIE support: + // * Add handlers to the individual elements instead of the container + // * Use "click" instead of "change" + // * Fallback from event.target to event.srcElement + addEvents( urlConfigCheckboxes, "click", function( event ) { + var params = {}, + target = event.target || event.srcElement; + params[ target.name ] = target.checked ? true : undefined; + window.location = QUnit.url( params ); + }); + toolbar.appendChild( urlConfigCheckboxesContainer ); + + if (numModules > 1) { + moduleFilter = document.createElement( "span" ); + moduleFilter.setAttribute( "id", "qunit-modulefilter-container" ); + moduleFilter.innerHTML = moduleFilterHtml; + addEvent( moduleFilter.lastChild, "change", function() { + var selectBox = moduleFilter.getElementsByTagName("select")[0], + selectedModule = decodeURIComponent(selectBox.options[selectBox.selectedIndex].value); + + window.location = QUnit.url({ + module: ( selectedModule === "" ) ? undefined : selectedModule, + // Remove any existing filters + filter: undefined, + testNumber: undefined + }); + }); + toolbar.appendChild(moduleFilter); + } + } + + // `main` initialized at top of scope + main = id( "qunit-fixture" ); + if ( main ) { + config.fixture = main.innerHTML; + } + + if ( config.autostart ) { + QUnit.start(); + } +}; + +addEvent( window, "load", QUnit.load ); + +// `onErrorFnPrev` initialized at top of scope +// Preserve other handlers +onErrorFnPrev = window.onerror; + +// Cover uncaught exceptions +// Returning true will suppress the default browser handler, +// returning false will let it run. +window.onerror = function ( error, filePath, linerNr ) { + var ret = false; + if ( onErrorFnPrev ) { + ret = onErrorFnPrev( error, filePath, linerNr ); + } + + // Treat return value as window.onerror itself does, + // Only do our handling if not suppressed. + if ( ret !== true ) { + if ( QUnit.config.current ) { + if ( QUnit.config.current.ignoreGlobalErrors ) { + return true; + } + QUnit.pushFailure( error, filePath + ":" + linerNr ); + } else { + QUnit.test( "global failure", extend( function() { + QUnit.pushFailure( error, filePath + ":" + linerNr ); + }, { validTest: validTest } ) ); + } + return false; + } + + return ret; +}; + +function done() { + config.autorun = true; + + // Log the last module results + if ( config.currentModule ) { + runLoggingCallbacks( "moduleDone", QUnit, { + name: config.currentModule, + failed: config.moduleStats.bad, + passed: config.moduleStats.all - config.moduleStats.bad, + total: config.moduleStats.all + }); + } + delete config.previousModule; + + var i, key, + banner = id( "qunit-banner" ), + tests = id( "qunit-tests" ), + runtime = +new Date() - config.started, + passed = config.stats.all - config.stats.bad, + html = [ + "Tests completed in ", + runtime, + " milliseconds.
            ", + "", + passed, + " assertions of ", + config.stats.all, + " passed, ", + config.stats.bad, + " failed." + ].join( "" ); + + if ( banner ) { + banner.className = ( config.stats.bad ? "qunit-fail" : "qunit-pass" ); + } + + if ( tests ) { + id( "qunit-testresult" ).innerHTML = html; + } + + if ( config.altertitle && typeof document !== "undefined" && document.title ) { + // show ✖ for good, ✔ for bad suite result in title + // use escape sequences in case file gets loaded with non-utf-8-charset + document.title = [ + ( config.stats.bad ? "\u2716" : "\u2714" ), + document.title.replace( /^[\u2714\u2716] /i, "" ) + ].join( " " ); + } + + // clear own sessionStorage items if all tests passed + if ( config.reorder && defined.sessionStorage && config.stats.bad === 0 ) { + // `key` & `i` initialized at top of scope + for ( i = 0; i < sessionStorage.length; i++ ) { + key = sessionStorage.key( i++ ); + if ( key.indexOf( "qunit-test-" ) === 0 ) { + sessionStorage.removeItem( key ); + } + } + } + + // scroll back to top to show results + if ( window.scrollTo ) { + window.scrollTo(0, 0); + } + + runLoggingCallbacks( "done", QUnit, { + failed: config.stats.bad, + passed: passed, + total: config.stats.all, + runtime: runtime + }); +} + +/** @return Boolean: true if this test should be ran */ +function validTest( test ) { + var include, + filter = config.filter && config.filter.toLowerCase(), + module = config.module && config.module.toLowerCase(), + fullName = (test.module + ": " + test.testName).toLowerCase(); + + // Internally-generated tests are always valid + if ( test.callback && test.callback.validTest === validTest ) { + delete test.callback.validTest; + return true; + } + + if ( config.testNumber ) { + return test.testNumber === config.testNumber; + } + + if ( module && ( !test.module || test.module.toLowerCase() !== module ) ) { + return false; + } + + if ( !filter ) { + return true; + } + + include = filter.charAt( 0 ) !== "!"; + if ( !include ) { + filter = filter.slice( 1 ); + } + + // If the filter matches, we need to honour include + if ( fullName.indexOf( filter ) !== -1 ) { + return include; + } + + // Otherwise, do the opposite + return !include; +} + +// so far supports only Firefox, Chrome and Opera (buggy), Safari (for real exceptions) +// Later Safari and IE10 are supposed to support error.stack as well +// See also https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error/Stack +function extractStacktrace( e, offset ) { + offset = offset === undefined ? 3 : offset; + + var stack, include, i; + + if ( e.stacktrace ) { + // Opera + return e.stacktrace.split( "\n" )[ offset + 3 ]; + } else if ( e.stack ) { + // Firefox, Chrome + stack = e.stack.split( "\n" ); + if (/^error$/i.test( stack[0] ) ) { + stack.shift(); + } + if ( fileName ) { + include = []; + for ( i = offset; i < stack.length; i++ ) { + if ( stack[ i ].indexOf( fileName ) !== -1 ) { + break; + } + include.push( stack[ i ] ); + } + if ( include.length ) { + return include.join( "\n" ); + } + } + return stack[ offset ]; + } else if ( e.sourceURL ) { + // Safari, PhantomJS + // hopefully one day Safari provides actual stacktraces + // exclude useless self-reference for generated Error objects + if ( /qunit.js$/.test( e.sourceURL ) ) { + return; + } + // for actual exceptions, this is useful + return e.sourceURL + ":" + e.line; + } +} +function sourceFromStacktrace( offset ) { + try { + throw new Error(); + } catch ( e ) { + return extractStacktrace( e, offset ); + } +} + +/** + * Escape text for attribute or text content. + */ +function escapeText( s ) { + if ( !s ) { + return ""; + } + s = s + ""; + // Both single quotes and double quotes (for attributes) + return s.replace( /['"<>&]/g, function( s ) { + switch( s ) { + case "'": + return "'"; + case "\"": + return """; + case "<": + return "<"; + case ">": + return ">"; + case "&": + return "&"; + } + }); +} + +function synchronize( callback, last ) { + config.queue.push( callback ); + + if ( config.autorun && !config.blocking ) { + process( last ); + } +} + +function process( last ) { + function next() { + process( last ); + } + var start = new Date().getTime(); + config.depth = config.depth ? config.depth + 1 : 1; + + while ( config.queue.length && !config.blocking ) { + if ( !defined.setTimeout || config.updateRate <= 0 || ( ( new Date().getTime() - start ) < config.updateRate ) ) { + config.queue.shift()(); + } else { + setTimeout( next, 13 ); + break; + } + } + config.depth--; + if ( last && !config.blocking && !config.queue.length && config.depth === 0 ) { + done(); + } +} + +function saveGlobal() { + config.pollution = []; + + if ( config.noglobals ) { + for ( var key in window ) { + if ( hasOwn.call( window, key ) ) { + // in Opera sometimes DOM element ids show up here, ignore them + if ( /^qunit-test-output/.test( key ) ) { + continue; + } + config.pollution.push( key ); + } + } + } +} + +function checkPollution() { + var newGlobals, + deletedGlobals, + old = config.pollution; + + saveGlobal(); + + newGlobals = diff( config.pollution, old ); + if ( newGlobals.length > 0 ) { + QUnit.pushFailure( "Introduced global variable(s): " + newGlobals.join(", ") ); + } + + deletedGlobals = diff( old, config.pollution ); + if ( deletedGlobals.length > 0 ) { + QUnit.pushFailure( "Deleted global variable(s): " + deletedGlobals.join(", ") ); + } +} + +// returns a new Array with the elements that are in a but not in b +function diff( a, b ) { + var i, j, + result = a.slice(); + + for ( i = 0; i < result.length; i++ ) { + for ( j = 0; j < b.length; j++ ) { + if ( result[i] === b[j] ) { + result.splice( i, 1 ); + i--; + break; + } + } + } + return result; +} + +function extend( a, b ) { + for ( var prop in b ) { + if ( hasOwn.call( b, prop ) ) { + // Avoid "Member not found" error in IE8 caused by messing with window.constructor + if ( !( prop === "constructor" && a === window ) ) { + if ( b[ prop ] === undefined ) { + delete a[ prop ]; + } else { + a[ prop ] = b[ prop ]; + } + } + } + } + + return a; +} + +/** + * @param {HTMLElement} elem + * @param {string} type + * @param {Function} fn + */ +function addEvent( elem, type, fn ) { + // Standards-based browsers + if ( elem.addEventListener ) { + elem.addEventListener( type, fn, false ); + // IE + } else { + elem.attachEvent( "on" + type, fn ); + } +} + +/** + * @param {Array|NodeList} elems + * @param {string} type + * @param {Function} fn + */ +function addEvents( elems, type, fn ) { + var i = elems.length; + while ( i-- ) { + addEvent( elems[i], type, fn ); + } +} + +function hasClass( elem, name ) { + return (" " + elem.className + " ").indexOf(" " + name + " ") > -1; +} + +function addClass( elem, name ) { + if ( !hasClass( elem, name ) ) { + elem.className += (elem.className ? " " : "") + name; + } +} + +function removeClass( elem, name ) { + var set = " " + elem.className + " "; + // Class name may appear multiple times + while ( set.indexOf(" " + name + " ") > -1 ) { + set = set.replace(" " + name + " " , " "); + } + // If possible, trim it for prettiness, but not necessarily + elem.className = typeof set.trim === "function" ? set.trim() : set.replace(/^\s+|\s+$/g, ""); +} + +function id( name ) { + return !!( typeof document !== "undefined" && document && document.getElementById ) && + document.getElementById( name ); +} + +function registerLoggingCallback( key ) { + return function( callback ) { + config[key].push( callback ); + }; +} + +// Supports deprecated method of completely overwriting logging callbacks +function runLoggingCallbacks( key, scope, args ) { + var i, callbacks; + if ( QUnit.hasOwnProperty( key ) ) { + QUnit[ key ].call(scope, args ); + } else { + callbacks = config[ key ]; + for ( i = 0; i < callbacks.length; i++ ) { + callbacks[ i ].call( scope, args ); + } + } +} + +// Test for equality any JavaScript type. +// Author: Philippe Rathé +QUnit.equiv = (function() { + + // Call the o related callback with the given arguments. + function bindCallbacks( o, callbacks, args ) { + var prop = QUnit.objectType( o ); + if ( prop ) { + if ( QUnit.objectType( callbacks[ prop ] ) === "function" ) { + return callbacks[ prop ].apply( callbacks, args ); + } else { + return callbacks[ prop ]; // or undefined + } + } + } + + // the real equiv function + var innerEquiv, + // stack to decide between skip/abort functions + callers = [], + // stack to avoiding loops from circular referencing + parents = [], + parentsB = [], + + getProto = Object.getPrototypeOf || function ( obj ) { + /*jshint camelcase:false */ + return obj.__proto__; + }, + callbacks = (function () { + + // for string, boolean, number and null + function useStrictEquality( b, a ) { + /*jshint eqeqeq:false */ + if ( b instanceof a.constructor || a instanceof b.constructor ) { + // to catch short annotation VS 'new' annotation of a + // declaration + // e.g. var i = 1; + // var j = new Number(1); + return a == b; + } else { + return a === b; + } + } + + return { + "string": useStrictEquality, + "boolean": useStrictEquality, + "number": useStrictEquality, + "null": useStrictEquality, + "undefined": useStrictEquality, + + "nan": function( b ) { + return isNaN( b ); + }, + + "date": function( b, a ) { + return QUnit.objectType( b ) === "date" && a.valueOf() === b.valueOf(); + }, + + "regexp": function( b, a ) { + return QUnit.objectType( b ) === "regexp" && + // the regex itself + a.source === b.source && + // and its modifiers + a.global === b.global && + // (gmi) ... + a.ignoreCase === b.ignoreCase && + a.multiline === b.multiline && + a.sticky === b.sticky; + }, + + // - skip when the property is a method of an instance (OOP) + // - abort otherwise, + // initial === would have catch identical references anyway + "function": function() { + var caller = callers[callers.length - 1]; + return caller !== Object && typeof caller !== "undefined"; + }, + + "array": function( b, a ) { + var i, j, len, loop, aCircular, bCircular; + + // b could be an object literal here + if ( QUnit.objectType( b ) !== "array" ) { + return false; + } + + len = a.length; + if ( len !== b.length ) { + // safe and faster + return false; + } + + // track reference to avoid circular references + parents.push( a ); + parentsB.push( b ); + for ( i = 0; i < len; i++ ) { + loop = false; + for ( j = 0; j < parents.length; j++ ) { + aCircular = parents[j] === a[i]; + bCircular = parentsB[j] === b[i]; + if ( aCircular || bCircular ) { + if ( a[i] === b[i] || aCircular && bCircular ) { + loop = true; + } else { + parents.pop(); + parentsB.pop(); + return false; + } + } + } + if ( !loop && !innerEquiv(a[i], b[i]) ) { + parents.pop(); + parentsB.pop(); + return false; + } + } + parents.pop(); + parentsB.pop(); + return true; + }, + + "object": function( b, a ) { + /*jshint forin:false */ + var i, j, loop, aCircular, bCircular, + // Default to true + eq = true, + aProperties = [], + bProperties = []; + + // comparing constructors is more strict than using + // instanceof + if ( a.constructor !== b.constructor ) { + // Allow objects with no prototype to be equivalent to + // objects with Object as their constructor. + if ( !(( getProto(a) === null && getProto(b) === Object.prototype ) || + ( getProto(b) === null && getProto(a) === Object.prototype ) ) ) { + return false; + } + } + + // stack constructor before traversing properties + callers.push( a.constructor ); + + // track reference to avoid circular references + parents.push( a ); + parentsB.push( b ); + + // be strict: don't ensure hasOwnProperty and go deep + for ( i in a ) { + loop = false; + for ( j = 0; j < parents.length; j++ ) { + aCircular = parents[j] === a[i]; + bCircular = parentsB[j] === b[i]; + if ( aCircular || bCircular ) { + if ( a[i] === b[i] || aCircular && bCircular ) { + loop = true; + } else { + eq = false; + break; + } + } + } + aProperties.push(i); + if ( !loop && !innerEquiv(a[i], b[i]) ) { + eq = false; + break; + } + } + + parents.pop(); + parentsB.pop(); + callers.pop(); // unstack, we are done + + for ( i in b ) { + bProperties.push( i ); // collect b's properties + } + + // Ensures identical properties name + return eq && innerEquiv( aProperties.sort(), bProperties.sort() ); + } + }; + }()); + + innerEquiv = function() { // can take multiple arguments + var args = [].slice.apply( arguments ); + if ( args.length < 2 ) { + return true; // end transition + } + + return (function( a, b ) { + if ( a === b ) { + return true; // catch the most you can + } else if ( a === null || b === null || typeof a === "undefined" || + typeof b === "undefined" || + QUnit.objectType(a) !== QUnit.objectType(b) ) { + return false; // don't lose time with error prone cases + } else { + return bindCallbacks(a, callbacks, [ b, a ]); + } + + // apply transition with (1..n) arguments + }( args[0], args[1] ) && innerEquiv.apply( this, args.splice(1, args.length - 1 )) ); + }; + + return innerEquiv; +}()); + +/** + * jsDump Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com | + * http://flesler.blogspot.com Licensed under BSD + * (http://www.opensource.org/licenses/bsd-license.php) Date: 5/15/2008 + * + * @projectDescription Advanced and extensible data dumping for Javascript. + * @version 1.0.0 + * @author Ariel Flesler + * @link {http://flesler.blogspot.com/2008/05/jsdump-pretty-dump-of-any-javascript.html} + */ +QUnit.jsDump = (function() { + function quote( str ) { + return "\"" + str.toString().replace( /"/g, "\\\"" ) + "\""; + } + function literal( o ) { + return o + ""; + } + function join( pre, arr, post ) { + var s = jsDump.separator(), + base = jsDump.indent(), + inner = jsDump.indent(1); + if ( arr.join ) { + arr = arr.join( "," + s + inner ); + } + if ( !arr ) { + return pre + post; + } + return [ pre, inner + arr, base + post ].join(s); + } + function array( arr, stack ) { + var i = arr.length, ret = new Array(i); + this.up(); + while ( i-- ) { + ret[i] = this.parse( arr[i] , undefined , stack); + } + this.down(); + return join( "[", ret, "]" ); + } + + var reName = /^function (\w+)/, + jsDump = { + // type is used mostly internally, you can fix a (custom)type in advance + parse: function( obj, type, stack ) { + stack = stack || [ ]; + var inStack, res, + parser = this.parsers[ type || this.typeOf(obj) ]; + + type = typeof parser; + inStack = inArray( obj, stack ); + + if ( inStack !== -1 ) { + return "recursion(" + (inStack - stack.length) + ")"; + } + if ( type === "function" ) { + stack.push( obj ); + res = parser.call( this, obj, stack ); + stack.pop(); + return res; + } + return ( type === "string" ) ? parser : this.parsers.error; + }, + typeOf: function( obj ) { + var type; + if ( obj === null ) { + type = "null"; + } else if ( typeof obj === "undefined" ) { + type = "undefined"; + } else if ( QUnit.is( "regexp", obj) ) { + type = "regexp"; + } else if ( QUnit.is( "date", obj) ) { + type = "date"; + } else if ( QUnit.is( "function", obj) ) { + type = "function"; + } else if ( typeof obj.setInterval !== undefined && typeof obj.document !== "undefined" && typeof obj.nodeType === "undefined" ) { + type = "window"; + } else if ( obj.nodeType === 9 ) { + type = "document"; + } else if ( obj.nodeType ) { + type = "node"; + } else if ( + // native arrays + toString.call( obj ) === "[object Array]" || + // NodeList objects + ( typeof obj.length === "number" && typeof obj.item !== "undefined" && ( obj.length ? obj.item(0) === obj[0] : ( obj.item( 0 ) === null && typeof obj[0] === "undefined" ) ) ) + ) { + type = "array"; + } else if ( obj.constructor === Error.prototype.constructor ) { + type = "error"; + } else { + type = typeof obj; + } + return type; + }, + separator: function() { + return this.multiline ? this.HTML ? "
            " : "\n" : this.HTML ? " " : " "; + }, + // extra can be a number, shortcut for increasing-calling-decreasing + indent: function( extra ) { + if ( !this.multiline ) { + return ""; + } + var chr = this.indentChar; + if ( this.HTML ) { + chr = chr.replace( /\t/g, " " ).replace( / /g, " " ); + } + return new Array( this.depth + ( extra || 0 ) ).join(chr); + }, + up: function( a ) { + this.depth += a || 1; + }, + down: function( a ) { + this.depth -= a || 1; + }, + setParser: function( name, parser ) { + this.parsers[name] = parser; + }, + // The next 3 are exposed so you can use them + quote: quote, + literal: literal, + join: join, + // + depth: 1, + // This is the list of parsers, to modify them, use jsDump.setParser + parsers: { + window: "[Window]", + document: "[Document]", + error: function(error) { + return "Error(\"" + error.message + "\")"; + }, + unknown: "[Unknown]", + "null": "null", + "undefined": "undefined", + "function": function( fn ) { + var ret = "function", + // functions never have name in IE + name = "name" in fn ? fn.name : (reName.exec(fn) || [])[1]; + + if ( name ) { + ret += " " + name; + } + ret += "( "; + + ret = [ ret, QUnit.jsDump.parse( fn, "functionArgs" ), "){" ].join( "" ); + return join( ret, QUnit.jsDump.parse(fn,"functionCode" ), "}" ); + }, + array: array, + nodelist: array, + "arguments": array, + object: function( map, stack ) { + /*jshint forin:false */ + var ret = [ ], keys, key, val, i; + QUnit.jsDump.up(); + keys = []; + for ( key in map ) { + keys.push( key ); + } + keys.sort(); + for ( i = 0; i < keys.length; i++ ) { + key = keys[ i ]; + val = map[ key ]; + ret.push( QUnit.jsDump.parse( key, "key" ) + ": " + QUnit.jsDump.parse( val, undefined, stack ) ); + } + QUnit.jsDump.down(); + return join( "{", ret, "}" ); + }, + node: function( node ) { + var len, i, val, + open = QUnit.jsDump.HTML ? "<" : "<", + close = QUnit.jsDump.HTML ? ">" : ">", + tag = node.nodeName.toLowerCase(), + ret = open + tag, + attrs = node.attributes; + + if ( attrs ) { + for ( i = 0, len = attrs.length; i < len; i++ ) { + val = attrs[i].nodeValue; + // IE6 includes all attributes in .attributes, even ones not explicitly set. + // Those have values like undefined, null, 0, false, "" or "inherit". + if ( val && val !== "inherit" ) { + ret += " " + attrs[i].nodeName + "=" + QUnit.jsDump.parse( val, "attribute" ); + } + } + } + ret += close; + + // Show content of TextNode or CDATASection + if ( node.nodeType === 3 || node.nodeType === 4 ) { + ret += node.nodeValue; + } + + return ret + open + "/" + tag + close; + }, + // function calls it internally, it's the arguments part of the function + functionArgs: function( fn ) { + var args, + l = fn.length; + + if ( !l ) { + return ""; + } + + args = new Array(l); + while ( l-- ) { + // 97 is 'a' + args[l] = String.fromCharCode(97+l); + } + return " " + args.join( ", " ) + " "; + }, + // object calls it internally, the key part of an item in a map + key: quote, + // function calls it internally, it's the content of the function + functionCode: "[code]", + // node calls it internally, it's an html attribute value + attribute: quote, + string: quote, + date: quote, + regexp: literal, + number: literal, + "boolean": literal + }, + // if true, entities are escaped ( <, >, \t, space and \n ) + HTML: false, + // indentation unit + indentChar: " ", + // if true, items in a collection, are separated by a \n, else just a space. + multiline: true + }; + + return jsDump; +}()); + +// from jquery.js +function inArray( elem, array ) { + if ( array.indexOf ) { + return array.indexOf( elem ); + } + + for ( var i = 0, length = array.length; i < length; i++ ) { + if ( array[ i ] === elem ) { + return i; + } + } + + return -1; +} + +/* + * Javascript Diff Algorithm + * By John Resig (http://ejohn.org/) + * Modified by Chu Alan "sprite" + * + * Released under the MIT license. + * + * More Info: + * http://ejohn.org/projects/javascript-diff-algorithm/ + * + * Usage: QUnit.diff(expected, actual) + * + * QUnit.diff( "the quick brown fox jumped over", "the quick fox jumps over" ) == "the quick brown fox jumped jumps over" + */ +QUnit.diff = (function() { + /*jshint eqeqeq:false, eqnull:true */ + function diff( o, n ) { + var i, + ns = {}, + os = {}; + + for ( i = 0; i < n.length; i++ ) { + if ( !hasOwn.call( ns, n[i] ) ) { + ns[ n[i] ] = { + rows: [], + o: null + }; + } + ns[ n[i] ].rows.push( i ); + } + + for ( i = 0; i < o.length; i++ ) { + if ( !hasOwn.call( os, o[i] ) ) { + os[ o[i] ] = { + rows: [], + n: null + }; + } + os[ o[i] ].rows.push( i ); + } + + for ( i in ns ) { + if ( hasOwn.call( ns, i ) ) { + if ( ns[i].rows.length === 1 && hasOwn.call( os, i ) && os[i].rows.length === 1 ) { + n[ ns[i].rows[0] ] = { + text: n[ ns[i].rows[0] ], + row: os[i].rows[0] + }; + o[ os[i].rows[0] ] = { + text: o[ os[i].rows[0] ], + row: ns[i].rows[0] + }; + } + } + } + + for ( i = 0; i < n.length - 1; i++ ) { + if ( n[i].text != null && n[ i + 1 ].text == null && n[i].row + 1 < o.length && o[ n[i].row + 1 ].text == null && + n[ i + 1 ] == o[ n[i].row + 1 ] ) { + + n[ i + 1 ] = { + text: n[ i + 1 ], + row: n[i].row + 1 + }; + o[ n[i].row + 1 ] = { + text: o[ n[i].row + 1 ], + row: i + 1 + }; + } + } + + for ( i = n.length - 1; i > 0; i-- ) { + if ( n[i].text != null && n[ i - 1 ].text == null && n[i].row > 0 && o[ n[i].row - 1 ].text == null && + n[ i - 1 ] == o[ n[i].row - 1 ]) { + + n[ i - 1 ] = { + text: n[ i - 1 ], + row: n[i].row - 1 + }; + o[ n[i].row - 1 ] = { + text: o[ n[i].row - 1 ], + row: i - 1 + }; + } + } + + return { + o: o, + n: n + }; + } + + return function( o, n ) { + o = o.replace( /\s+$/, "" ); + n = n.replace( /\s+$/, "" ); + + var i, pre, + str = "", + out = diff( o === "" ? [] : o.split(/\s+/), n === "" ? [] : n.split(/\s+/) ), + oSpace = o.match(/\s+/g), + nSpace = n.match(/\s+/g); + + if ( oSpace == null ) { + oSpace = [ " " ]; + } + else { + oSpace.push( " " ); + } + + if ( nSpace == null ) { + nSpace = [ " " ]; + } + else { + nSpace.push( " " ); + } + + if ( out.n.length === 0 ) { + for ( i = 0; i < out.o.length; i++ ) { + str += "" + out.o[i] + oSpace[i] + ""; + } + } + else { + if ( out.n[0].text == null ) { + for ( n = 0; n < out.o.length && out.o[n].text == null; n++ ) { + str += "" + out.o[n] + oSpace[n] + ""; + } + } + + for ( i = 0; i < out.n.length; i++ ) { + if (out.n[i].text == null) { + str += "" + out.n[i] + nSpace[i] + ""; + } + else { + // `pre` initialized at top of scope + pre = ""; + + for ( n = out.n[i].row + 1; n < out.o.length && out.o[n].text == null; n++ ) { + pre += "" + out.o[n] + oSpace[n] + ""; + } + str += " " + out.n[i].text + nSpace[i] + pre; + } + } + } + + return str; + }; +}()); + +// for CommonJS environments, export everything +if ( typeof exports !== "undefined" ) { + extend( exports, QUnit.constructor.prototype ); +} + +// get at whatever the global object is, like window in browsers +}( (function() {return this;}.call()) )); \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/test/unit/test.js b/mayan/apps/cabinets/static/cabinets/packages/jstree/test/unit/test.js new file mode 100644 index 0000000000..331e9c67d1 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/test/unit/test.js @@ -0,0 +1,11 @@ +test('basic test', function() { + expect(1); + ok(true, 'this had better work.'); +}); + + +test('can access the DOM', function() { + expect(1); + var fixture = document.getElementById('qunit-fixture'); + equal(fixture.innerText || fixture.textContent, 'this had better work.', 'should be able to access the DOM.'); +}); \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/desktop/index.html b/mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/desktop/index.html new file mode 100644 index 0000000000..1c3cf0a8aa --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/desktop/index.html @@ -0,0 +1,44 @@ + + + + + Light theme visual tests + + + + + +
            +
            • asdf
            +
            +
              +
            • Node 01 +
                +
              • Node
              • +
              • Node
              • +
              +
            • +
            • Node 02
            • +
            • Node 03 +
                +
              • Node
              • +
              • Node
              • +
              +
            • +
            • Node 04
            • +
            • Node 05
            • +
            +
            +
            • full
            • asdf
            +
            • full
            • asdf
            + + + + + + \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/mobile/index.html b/mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/mobile/index.html new file mode 100644 index 0000000000..12ba4b85d0 --- /dev/null +++ b/mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/mobile/index.html @@ -0,0 +1,42 @@ + + + + + Mobile theme visual tests + + + + + +
            +
              +
            • Node 01 +
                +
              • Node
              • +
              • Node
              • +
              +
            • +
            • Node 02
            • +
            • Node 03 +
                +
              • Node
              • +
              • Node
              • +
              +
            • +
            • Node 04
            • +
            • Node 05
            • +
            +
            +
            • full
            • asdf
            +
            • full
            • asdf
            + + + + + + \ No newline at end of file diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/screenshots/desktop/.png b/mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/screenshots/desktop/.png new file mode 100644 index 0000000000000000000000000000000000000000..55ccf189b5d73f58e4ab6fca9ac859f891112b40 GIT binary patch literal 10643 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 D=AAK? literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/screenshots/desktop/desktop.png b/mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/screenshots/desktop/desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..d6ececdbd989f50897e0858a3d71bd795ad096e9 GIT binary patch literal 19310 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 literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/screenshots/desktop/home.png b/mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/screenshots/desktop/home.png new file mode 100644 index 0000000000000000000000000000000000000000..55ccf189b5d73f58e4ab6fca9ac859f891112b40 GIT binary patch literal 10643 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 D=AAK? literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/screenshots/mobile/.png b/mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/screenshots/mobile/.png new file mode 100644 index 0000000000000000000000000000000000000000..c8cd05ad1d4e39de5e1a3443646a444faed88002 GIT binary patch literal 6373 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 R{pjCYLM-hrkj{DC{~us8rDFg9 literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/screenshots/mobile/home.png b/mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/screenshots/mobile/home.png new file mode 100644 index 0000000000000000000000000000000000000000..c8cd05ad1d4e39de5e1a3443646a444faed88002 GIT binary patch literal 6373 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 R{pjCYLM-hrkj{DC{~us8rDFg9 literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/screenshots/mobile/mobile.png b/mayan/apps/cabinets/static/cabinets/packages/jstree/test/visual/screenshots/mobile/mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..dcc76a00649db10b5e88ccfa0e296d1ada598232 GIT binary patch literal 16220 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 +{% endblock %} + +{% block content %} + {% if title %} +

            {{ title }}

            +
            + {% endif %} +
            +
            +

            {% trans 'Navigation:' %}

            +
            +
            + +
            + {% with document_list as object_list %} + {% include 'appearance/generic_list_subtemplate.html' %} + {% endwith %} +
            +
            +{% endblock %} + +{% block javascript %} + + +{% endblock %} diff --git a/mayan/apps/cabinets/tests/__init__.py b/mayan/apps/cabinets/tests/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/mayan/apps/cabinets/tests/literals.py b/mayan/apps/cabinets/tests/literals.py new file mode 100644 index 0000000000..6ed622afb6 --- /dev/null +++ b/mayan/apps/cabinets/tests/literals.py @@ -0,0 +1,5 @@ +from __future__ import absolute_import, unicode_literals + +TEST_CABINET_LABEL = 'test cabinet label' +TEST_CABINET_EDITED_LABEL = 'test cabinet edited label' + diff --git a/mayan/apps/cabinets/tests/test_api.py b/mayan/apps/cabinets/tests/test_api.py new file mode 100644 index 0000000000..206ff92c18 --- /dev/null +++ b/mayan/apps/cabinets/tests/test_api.py @@ -0,0 +1,241 @@ +from __future__ import unicode_literals + +from django.contrib.auth import get_user_model +from django.core.urlresolvers import reverse +from django.test import override_settings +from django.utils.encoding import force_text + +from rest_framework.test import APITestCase + +from documents.models import DocumentType +from documents.tests import TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH +from user_management.tests.literals import ( + TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME +) + +from ..models import Cabinet + +from .literals import TEST_CABINET_EDITED_LABEL, TEST_CABINET_LABEL + + +@override_settings(OCR_AUTO_OCR=False) +class CabinetAPITestCase(APITestCase): + """ + Test the cabinet API endpoints + """ + + def setUp(self): + super(CabinetAPITestCase, self).setUp() + + self.admin_user = get_user_model().objects.create_superuser( + username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, + password=TEST_ADMIN_PASSWORD + ) + + self.client.login( + username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD + ) + + self.document_type = DocumentType.objects.create( + label=TEST_DOCUMENT_TYPE + ) + + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + self.document = self.document_type.new_document( + file_object=file_object, + ) + + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + self.document_2 = self.document_type.new_document( + file_object=file_object, + ) + + def tearDown(self): + self.document_type.delete() + super(CabinetAPITestCase, self).tearDown() + + def test_cabinet_create(self): + response = self.client.post( + reverse('rest_api:cabinet-list'), {'label': TEST_CABINET_LABEL} + ) + + cabinet = Cabinet.objects.first() + + self.assertEqual(response.data['id'], cabinet.pk) + self.assertEqual(response.data['label'], TEST_CABINET_LABEL) + + self.assertEqual(Cabinet.objects.count(), 1) + self.assertEqual(cabinet.label, TEST_CABINET_LABEL) + + def test_cabinet_create_with_single_document(self): + response = self.client.post( + reverse('rest_api:cabinet-list'), { + 'label': TEST_CABINET_LABEL, 'documents_pk_list': '{}'.format( + self.document.pk + ) + } + ) + + cabinet = Cabinet.objects.first() + + self.assertEqual(response.data['id'], cabinet.pk) + self.assertEqual(response.data['label'], TEST_CABINET_LABEL) + + self.assertQuerysetEqual( + cabinet.documents.all(), (repr(self.document),) + ) + self.assertEqual(cabinet.label, TEST_CABINET_LABEL) + + def test_cabinet_create_with_multiple_documents(self): + response = self.client.post( + reverse('rest_api:cabinet-list'), { + 'label': TEST_CABINET_LABEL, + 'documents_pk_list': '{},{}'.format( + self.document.pk, self.document_2.pk + ) + } + ) + + cabinet = Cabinet.objects.first() + + self.assertEqual(response.data['id'], cabinet.pk) + self.assertEqual(response.data['label'], TEST_CABINET_LABEL) + + self.assertEqual(Cabinet.objects.count(), 1) + + self.assertEqual(cabinet.label, TEST_CABINET_LABEL) + + self.assertQuerysetEqual( + cabinet.documents.all(), map( + repr, (self.document, self.document_2) + ) + ) + + def test_cabinet_document_delete(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + cabinet.documents.add(self.document) + + self.client.delete( + reverse( + 'rest_api:cabinet-document', + args=(cabinet.pk, self.document.pk) + ) + ) + + self.assertEqual(cabinet.documents.count(), 0) + + def test_cabinet_document_detail(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + cabinet.documents.add(self.document) + + response = self.client.get( + reverse( + 'rest_api:cabinet-document', + args=(cabinet.pk, self.document.pk) + ) + ) + + self.assertEqual(response.data['uuid'], force_text(self.document.uuid)) + + def test_cabinet_document_list(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + cabinet.documents.add(self.document) + + response = self.client.get( + reverse('rest_api:cabinet-document-list', args=(cabinet.pk,)) + ) + + self.assertEqual( + response.data['results'][0]['uuid'], force_text(self.document.uuid) + ) + + def test_cabinet_delete(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + + self.client.delete( + reverse('rest_api:cabinet-detail', args=(cabinet.pk,)) + ) + + self.assertEqual(Cabinet.objects.count(), 0) + + def test_cabinet_edit_via_patch(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + + self.client.patch( + reverse('rest_api:cabinet-detail', args=(cabinet.pk,)), + {'label': TEST_CABINET_EDITED_LABEL} + ) + + cabinet.refresh_from_db() + + self.assertEqual(cabinet.label, TEST_CABINET_EDITED_LABEL) + + def test_cabinet_edit_via_put(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + + self.client.put( + reverse('rest_api:cabinet-detail', args=(cabinet.pk,)), + {'label': TEST_CABINET_EDITED_LABEL} + ) + + cabinet.refresh_from_db() + + self.assertEqual(cabinet.label, TEST_CABINET_EDITED_LABEL) + + def test_cabinet_add_document(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + + self.client.post( + reverse('rest_api:cabinet-document-list', args=(cabinet.pk,)), { + 'documents_pk_list': '{}'.format(self.document.pk) + } + ) + + self.assertQuerysetEqual( + cabinet.documents.all(), (repr(self.document),) + ) + + def test_cabinet_add_multiple_documents(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + + self.client.post( + reverse('rest_api:cabinet-document-list', args=(cabinet.pk,)), { + 'documents_pk_list': '{},{}'.format( + self.document.pk, self.document_2.pk + ) + } + ) + + self.assertQuerysetEqual( + cabinet.documents.all(), map( + repr, (self.document, self.document_2) + ) + ) + + def test_cabinet_list_view(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + Cabinet.objects.create( + label=TEST_CABINET_LABEL, parent=cabinet + ) + + response = self.client.get( + reverse('rest_api:cabinet-list') + ) + + self.assertEqual(response.status_code, 200) + self.assertEqual(response.data['results'][0]['label'], cabinet.label) + + def test_cabinet_remove_document(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + + cabinet.documents.add(self.document) + + self.client.delete( + reverse( + 'rest_api:cabinet-document', args=( + cabinet.pk, self.document.pk + ) + ), + ) + + self.assertEqual(cabinet.documents.count(), 0) diff --git a/mayan/apps/cabinets/tests/test_models.py b/mayan/apps/cabinets/tests/test_models.py new file mode 100644 index 0000000000..4c69ac5c6e --- /dev/null +++ b/mayan/apps/cabinets/tests/test_models.py @@ -0,0 +1,82 @@ +from __future__ import unicode_literals + +from django.core.exceptions import ValidationError +from django.test import override_settings + +from common.tests import BaseTestCase +from documents.models import DocumentType +from documents.tests import TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH + +from ..models import Cabinet + +from .literals import TEST_CABINET_LABEL + + +@override_settings(OCR_AUTO_OCR=False) +class CabinetTestCase(BaseTestCase): + def setUp(self): + super(CabinetTestCase, self).setUp() + self.document_type = DocumentType.objects.create( + label=TEST_DOCUMENT_TYPE + ) + + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + self.document = self.document_type.new_document( + file_object=file_object + ) + + def tearDown(self): + self.document_type.delete() + super(CabinetTestCase, self).tearDown() + + def test_cabinet_creation(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + + self.assertEqual(Cabinet.objects.all().count(), 1) + self.assertQuerysetEqual(Cabinet.objects.all(), (repr(cabinet),)) + + def test_cabinet_duplicate_creation(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + + with self.assertRaises(ValidationError): + cabinet_2 = Cabinet(label=TEST_CABINET_LABEL) + cabinet_2.validate_unique() + cabinet_2.save() + + self.assertEqual(Cabinet.objects.all().count(), 1) + self.assertQuerysetEqual(Cabinet.objects.all(), (repr(cabinet),)) + + def test_inner_cabinet_creation(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + + inner_cabinet = Cabinet.objects.create( + parent=cabinet, label=TEST_CABINET_LABEL + ) + + self.assertEqual(Cabinet.objects.all().count(), 2) + self.assertQuerysetEqual( + Cabinet.objects.all(), map(repr, (cabinet, inner_cabinet)) + ) + + def test_addition_of_documents(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + cabinet.documents.add(self.document) + + self.assertEqual(cabinet.documents.count(), 1) + self.assertQuerysetEqual( + cabinet.documents.all(), (repr(self.document),) + ) + + def test_addition_and_deletion_of_documents(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + cabinet.documents.add(self.document) + + self.assertEqual(cabinet.documents.count(), 1) + self.assertQuerysetEqual( + cabinet.documents.all(), (repr(self.document),) + ) + + cabinet.documents.remove(self.document) + + self.assertEqual(cabinet.documents.count(), 0) + self.assertQuerysetEqual(cabinet.documents.all(), ()) diff --git a/mayan/apps/cabinets/tests/test_views.py b/mayan/apps/cabinets/tests/test_views.py new file mode 100644 index 0000000000..afc396908e --- /dev/null +++ b/mayan/apps/cabinets/tests/test_views.py @@ -0,0 +1,207 @@ +from __future__ import absolute_import, unicode_literals + +from documents.permissions import permission_document_view +from documents.tests.test_views import GenericDocumentViewTestCase + +from ..models import Cabinet +from ..permissions import ( + permission_cabinet_add_document, permission_cabinet_create, + permission_cabinet_delete, permission_cabinet_edit, + permission_cabinet_remove_document, permission_cabinet_view +) +from .literals import TEST_CABINET_LABEL, TEST_CABINET_EDITED_LABEL + + +class CabinetViewTestCase(GenericDocumentViewTestCase): + def setUp(self): + super(CabinetViewTestCase, self).setUp() + self.login_user() + + def _create_cabinet(self, label): + return self.post( + 'cabinets:cabinet_create', data={ + 'label': TEST_CABINET_LABEL + } + ) + + def test_cabinet_create_view_no_permission(self): + response = self._create_cabinet(label=TEST_CABINET_LABEL) + + self.assertEquals(response.status_code, 403) + self.assertEqual(Cabinet.objects.count(), 0) + + def test_cabinet_create_view_with_permission(self): + self.grant(permission=permission_cabinet_create) + + response = self._create_cabinet(label=TEST_CABINET_LABEL) + + self.assertEqual(response.status_code, 302) + self.assertEqual(Cabinet.objects.count(), 1) + self.assertEqual(Cabinet.objects.first().label, TEST_CABINET_LABEL) + + def test_cabinet_create_duplicate_view_with_permission(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + self.grant(permission=permission_cabinet_create) + response = self._create_cabinet(label=TEST_CABINET_LABEL) + + # HTTP 200 with error message + self.assertEqual(response.status_code, 200) + self.assertEqual(Cabinet.objects.count(), 1) + self.assertEqual(Cabinet.objects.first().pk, cabinet.pk) + + def _delete_cabinet(self, cabinet): + return self.post('cabinets:cabinet_delete', args=(cabinet.pk,)) + + def test_cabinet_delete_view_no_permission(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + + response = self._delete_cabinet(cabinet=cabinet) + self.assertEqual(response.status_code, 403) + self.assertEqual(Cabinet.objects.count(), 1) + + def test_cabinet_delete_view_with_permission(self): + self.grant(permission=permission_cabinet_delete) + + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + + response = self._delete_cabinet(cabinet=cabinet) + + self.assertEqual(response.status_code, 302) + self.assertEqual(Cabinet.objects.count(), 0) + + def _edit_cabinet(self, cabinet, label): + return self.post( + 'cabinets:cabinet_edit', args=(cabinet.pk,), data={ + 'label': label + } + ) + + def test_cabinet_edit_view_no_permission(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + + response = self._edit_cabinet( + cabinet=cabinet, label=TEST_CABINET_EDITED_LABEL + ) + self.assertEqual(response.status_code, 403) + cabinet.refresh_from_db() + self.assertEqual(cabinet.label, TEST_CABINET_LABEL) + + def test_cabinet_edit_view_with_permission(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + + self.grant(permission=permission_cabinet_edit) + + response = self._edit_cabinet( + cabinet=cabinet, label=TEST_CABINET_EDITED_LABEL + ) + + self.assertEqual(response.status_code, 302) + cabinet.refresh_from_db() + self.assertEqual(cabinet.label, TEST_CABINET_EDITED_LABEL) + + def _add_document_to_cabinet(self, cabinet): + return self.post( + 'cabinets:cabinet_add_document', args=(self.document.pk,), data={ + 'cabinets': cabinet.pk + } + ) + + def test_cabinet_add_document_view_no_permission(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + + self.grant(permission=permission_cabinet_view) + + response = self._add_document_to_cabinet(cabinet=cabinet) + + self.assertContains( + response, text='Select a valid choice.', status_code=200 + ) + cabinet.refresh_from_db() + self.assertEqual(cabinet.documents.count(), 0) + + def test_cabinet_add_document_view_with_permission(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + + self.grant(permission=permission_cabinet_view) + self.grant(permission=permission_cabinet_add_document) + self.grant(permission=permission_document_view) + + response = self._add_document_to_cabinet(cabinet=cabinet) + + cabinet.refresh_from_db() + + self.assertEqual(response.status_code, 302) + self.assertEqual(cabinet.documents.count(), 1) + self.assertQuerysetEqual( + cabinet.documents.all(), (repr(self.document),) + ) + + def _add_multiple_documents_to_cabinet(self, cabinet): + return self.post( + 'cabinets:cabinet_add_multiple_documents', data={ + 'id_list': (self.document.pk,), 'cabinets': cabinet.pk + } + ) + + def test_cabinet_add_multiple_documents_view_no_permission(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + + self.grant(permission=permission_cabinet_view) + + response = self._add_multiple_documents_to_cabinet(cabinet=cabinet) + + self.assertContains( + response, text='Select a valid choice', status_code=200 + ) + cabinet.refresh_from_db() + self.assertEqual(cabinet.documents.count(), 0) + + def test_cabinet_add_multiple_documents_view_with_permission(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + + self.grant(permission=permission_cabinet_view) + self.grant(permission=permission_cabinet_add_document) + + response = self._add_multiple_documents_to_cabinet(cabinet=cabinet) + + self.assertEqual(response.status_code, 302) + cabinet.refresh_from_db() + self.assertEqual(cabinet.documents.count(), 1) + self.assertQuerysetEqual( + cabinet.documents.all(), (repr(self.document),) + ) + + def _remove_document_from_cabinet(self, cabinet): + return self.post( + 'cabinets:document_cabinet_remove', args=(self.document.pk,), + data={ + 'cabinets': (cabinet.pk,), + } + ) + + def test_cabinet_remove_document_view_no_permission(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + + cabinet.documents.add(self.document) + + response = self._remove_document_from_cabinet(cabinet=cabinet) + + self.assertContains( + response, text='Select a valid choice', status_code=200 + ) + + cabinet.refresh_from_db() + self.assertEqual(cabinet.documents.count(), 1) + + def test_cabinet_remove_document_view_with_permission(self): + cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL) + + cabinet.documents.add(self.document) + + self.grant(permission=permission_cabinet_remove_document) + + response = self._remove_document_from_cabinet(cabinet=cabinet) + + self.assertEqual(response.status_code, 302) + cabinet.refresh_from_db() + self.assertEqual(cabinet.documents.count(), 0) diff --git a/mayan/apps/cabinets/urls.py b/mayan/apps/cabinets/urls.py new file mode 100644 index 0000000000..14142d67b1 --- /dev/null +++ b/mayan/apps/cabinets/urls.py @@ -0,0 +1,73 @@ +from __future__ import unicode_literals + +from django.conf.urls import url + +from .api_views import ( + APIDocumentCabinetListView, APICabinetDocumentListView, + APICabinetDocumentView, APICabinetListView, APICabinetView +) +from .views import ( + DocumentAddToCabinetView, DocumentCabinetListView, + DocumentRemoveFromCabinetView, CabinetChildAddView, CabinetCreateView, + CabinetDeleteView, CabinetDetailView, CabinetEditView, CabinetListView, +) + +urlpatterns = [ + url(r'^list/$', CabinetListView.as_view(), name='cabinet_list'), + url( + r'^(?P\d+)/child/add/$', CabinetChildAddView.as_view(), + name='cabinet_child_add' + ), + url(r'^create/$', CabinetCreateView.as_view(), name='cabinet_create'), + url( + r'^(?P\d+)/edit/$', CabinetEditView.as_view(), name='cabinet_edit' + ), + url( + r'^(?P\d+)/delete/$', CabinetDeleteView.as_view(), + name='cabinet_delete' + ), + url(r'^(?P\d+)/$', CabinetDetailView.as_view(), name='cabinet_view'), + + url( + r'^document/(?P\d+)/cabinet/add/$', + DocumentAddToCabinetView.as_view(), name='cabinet_add_document' + ), + url( + r'^document/multiple/cabinet/add/$', + DocumentAddToCabinetView.as_view(), + name='cabinet_add_multiple_documents' + ), + url( + r'^document/(?P\d+)/cabinet/remove/$', + DocumentRemoveFromCabinetView.as_view(), name='document_cabinet_remove' + ), + url( + r'^document/multiple/cabinet/remove/$', + DocumentRemoveFromCabinetView.as_view(), + name='multiple_document_cabinet_remove' + ), + url( + r'^document/(?P\d+)/cabinet/list/$', + DocumentCabinetListView.as_view(), name='document_cabinet_list' + ), +] + +api_urls = [ + url( + r'^cabinets/(?P[0-9]+)/documents/(?P[0-9]+)/$', + APICabinetDocumentView.as_view(), name='cabinet-document' + ), + url( + r'^cabinets/(?P[0-9]+)/documents/$', + APICabinetDocumentListView.as_view(), name='cabinet-document-list' + ), + url( + r'^cabinets/(?P[0-9]+)/$', APICabinetView.as_view(), + name='cabinet-detail' + ), + url(r'^cabinets/$', APICabinetListView.as_view(), name='cabinet-list'), + url( + r'^documents/(?P[0-9]+)/cabinets/$', + APIDocumentCabinetListView.as_view(), name='document-cabinet-list' + ), +] diff --git a/mayan/apps/cabinets/views.py b/mayan/apps/cabinets/views.py new file mode 100644 index 0000000000..012b28c3a4 --- /dev/null +++ b/mayan/apps/cabinets/views.py @@ -0,0 +1,348 @@ +from __future__ import absolute_import, unicode_literals + +import logging + +from django.contrib import messages +from django.core.urlresolvers import reverse_lazy +from django.shortcuts import get_object_or_404 +from django.utils.translation import ugettext_lazy as _, ungettext + +from acls.models import AccessControlList +from common.views import ( + MultipleObjectFormActionView, SingleObjectCreateView, + SingleObjectDeleteView, SingleObjectEditView, SingleObjectListView, + TemplateView +) +from documents.permissions import permission_document_view +from documents.models import Document + +from .forms import CabinetListForm +from .models import Cabinet +from .permissions import ( + permission_cabinet_add_document, permission_cabinet_create, + permission_cabinet_delete, permission_cabinet_edit, + permission_cabinet_view, permission_cabinet_remove_document +) +from .widgets import jstree_data + + +logger = logging.getLogger(__name__) + + +class CabinetCreateView(SingleObjectCreateView): + fields = ('label',) + model = Cabinet + view_permission = permission_cabinet_create + + def get_extra_context(self): + return { + 'title': _('Create cabinet'), + } + + +class CabinetChildAddView(SingleObjectCreateView): + fields = ('label',) + model = Cabinet + + def form_valid(self, form): + """ + If the form is valid, save the associated model. + """ + self.object = form.save(commit=False) + self.object.parent = self.get_object() + self.object.save() + + return super(CabinetChildAddView, self).form_valid(form) + + def get_object(self, *args, **kwargs): + cabinet = super(CabinetChildAddView, self).get_object(*args, **kwargs) + + AccessControlList.objects.check_access( + permissions=permission_cabinet_edit, user=self.request.user, + obj=cabinet.get_root() + ) + + return cabinet + + def get_extra_context(self): + return { + 'title': _( + 'Add new level to: %s' + ) % self.get_object().get_full_path(), + } + + +class CabinetDeleteView(SingleObjectDeleteView): + model = Cabinet + object_permission = permission_cabinet_delete + post_action_redirect = reverse_lazy('cabinets:cabinet_list') + + def get_extra_context(self): + return { + 'object': self.get_object(), + 'title': _('Delete the cabinet: %s?') % self.get_object(), + } + + +class CabinetDetailView(TemplateView): + template_name = 'cabinets/cabinet_details.html' + + def get_document_queryset(self): + queryset = AccessControlList.objects.filter_by_access( + permission=permission_document_view, user=self.request.user, + queryset=self.get_object().documents.all() + ) + + return queryset + + def get_context_data(self, **kwargs): + data = super(CabinetDetailView, self).get_context_data(**kwargs) + + cabinet = self.get_object() + + data.update( + { + 'jstree_data': '\n'.join( + jstree_data(node=cabinet.get_root(), selected_node=cabinet) + ), + 'document_list': self.get_document_queryset(), + 'hide_links': True, + 'object': cabinet, + 'title': _('Details of cabinet: %s') % cabinet.get_full_path(), + } + ) + + return data + + def get_object(self): + cabinet = get_object_or_404(Cabinet, pk=self.kwargs['pk']) + + if cabinet.is_root_node(): + permission_object = cabinet + else: + permission_object = cabinet.get_root() + + AccessControlList.objects.check_access( + permissions=permission_cabinet_view, user=self.request.user, + obj=permission_object + ) + + return cabinet + + +class CabinetEditView(SingleObjectEditView): + fields = ('label',) + model = Cabinet + object_permission = permission_cabinet_edit + post_action_redirect = reverse_lazy('cabinets:cabinet_list') + + def get_extra_context(self): + return { + 'object': self.get_object(), + 'title': _('Edit cabinet: %s') % self.get_object(), + } + + +class CabinetListView(SingleObjectListView): + model = Cabinet + object_permission = permission_cabinet_view + + def get_extra_context(self): + return { + 'hide_link': True, + 'title': _('Cabinets'), + } + + def get_queryset(self): + return Cabinet.objects.root_nodes() + + +class DocumentCabinetListView(CabinetListView): + def dispatch(self, request, *args, **kwargs): + self.document = get_object_or_404(Document, pk=self.kwargs['pk']) + + AccessControlList.objects.check_access( + permissions=permission_document_view, user=request.user, + obj=self.document + ) + + return super(DocumentCabinetListView, self).dispatch( + request, *args, **kwargs + ) + + def get_extra_context(self): + return { + 'hide_link': True, + 'object': self.document, + 'title': _('Cabinets containing document: %s') % self.document, + } + + def get_queryset(self): + return self.document.document_cabinets().all() + + +class DocumentAddToCabinetView(MultipleObjectFormActionView): + form_class = CabinetListForm + model = Document + success_message = _( + 'Add to cabinet request performed on %(count)d document' + ) + success_message_plural = _( + 'Add to cabinet request performed on %(count)d documents' + ) + + def get_extra_context(self): + queryset = self.get_queryset() + + result = { + 'submit_label': _('Add'), + 'title': ungettext( + 'Add document to cabinets', + 'Add documents to cabinets', + queryset.count() + ) + } + + if queryset.count() == 1: + result.update( + { + 'object': queryset.first(), + 'title': _( + 'Add document "%s" to cabinets' + ) % queryset.first() + } + ) + + return result + + def get_form_extra_kwargs(self): + queryset = self.get_queryset() + result = { + 'help_text': _( + 'Cabinets to which the selected documents will be added.' + ), + 'permission': permission_cabinet_add_document, + 'user': self.request.user + } + + if queryset.count() == 1: + result.update( + { + 'queryset': Cabinet.objects.exclude( + pk__in=queryset.first().cabinets.all() + ) + } + ) + + return result + + def object_action(self, form, instance): + cabinet_membership = instance.cabinets.all() + + for cabinet in form.cleaned_data['cabinets']: + AccessControlList.objects.check_access( + obj=cabinet, permissions=permission_cabinet_add_document, + user=self.request.user + ) + if cabinet in cabinet_membership: + messages.warning( + self.request, _( + 'Document: %(document)s is already in ' + 'cabinet: %(cabinet)s.' + ) % { + 'document': instance, 'cabinet': cabinet + } + ) + else: + cabinet.documents.add(instance) + messages.success( + self.request, _( + 'Document: %(document)s added to cabinet: ' + '%(cabinet)s successfully.' + ) % { + 'document': instance, 'cabinet': cabinet + } + ) + + +class DocumentRemoveFromCabinetView(MultipleObjectFormActionView): + form_class = CabinetListForm + model = Document + success_message = _( + 'Remove from cabinet request performed on %(count)d document' + ) + success_message_plural = _( + 'Remove from cabinet request performed on %(count)d documents' + ) + + def get_extra_context(self): + queryset = self.get_queryset() + + result = { + 'submit_label': _('Remove'), + 'title': ungettext( + 'Remove document from cabinets', + 'Remove documents from cabinets', + queryset.count() + ) + } + + if queryset.count() == 1: + result.update( + { + 'object': queryset.first(), + 'title': _( + 'Remove document "%s" to cabinets' + ) % queryset.first() + } + ) + + return result + + def get_form_extra_kwargs(self): + queryset = self.get_queryset() + result = { + 'help_text': _( + 'Cabinets from which the selected documents will be removed.' + ), + 'permission': permission_cabinet_remove_document, + 'user': self.request.user + } + + if queryset.count() == 1: + result.update( + { + 'queryset': queryset.first().cabinets.all() + } + ) + + return result + + def object_action(self, form, instance): + cabinet_membership = instance.cabinets.all() + + for cabinet in form.cleaned_data['cabinets']: + AccessControlList.objects.check_access( + obj=cabinet, permissions=permission_cabinet_remove_document, + user=self.request.user + ) + + if cabinet not in cabinet_membership: + messages.warning( + self.request, _( + 'Document: %(document)s is not in cabinet: ' + '%(cabinet)s.' + ) % { + 'document': instance, 'cabinet': cabinet + } + ) + else: + cabinet.documents.remove(instance) + messages.success( + self.request, _( + 'Document: %(document)s removed from cabinet: ' + '%(cabinet)s.' + ) % { + 'document': instance, 'cabinet': cabinet + } + ) diff --git a/mayan/apps/cabinets/widgets.py b/mayan/apps/cabinets/widgets.py new file mode 100644 index 0000000000..7cab5b8595 --- /dev/null +++ b/mayan/apps/cabinets/widgets.py @@ -0,0 +1,28 @@ +from __future__ import unicode_literals + + +def jstree_data(node, selected_node): + result = [] + result.append('{') + result.append('"text": "{}",'.format(node.label)) + result.append( + '"state": {{ "opened": true, "selected": {} }},'.format( + 'true' if node == selected_node else 'false' + ) + ) + result.append( + '"data": {{ "href": "{}" }},'.format(node.get_absolute_url()) + ) + + children = node.get_children().order_by('label',) + + if children: + result.append('"children" : [') + for child in children: + result.extend(jstree_data(node=child, selected_node=selected_node)) + + result.append(']') + + result.append('},') + + return result diff --git a/mayan/settings/base.py b/mayan/settings/base.py index a069ccb18e..ec03a3635e 100644 --- a/mayan/settings/base.py +++ b/mayan/settings/base.py @@ -79,6 +79,7 @@ INSTALLED_APPS = ( 'smart_settings', 'user_management', # Mayan EDMS + 'cabinets', 'checkouts', 'document_comments', 'document_indexing', From f30cf440fef07250e332f245ef887b51d632a008 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 9 Mar 2017 02:20:41 -0400 Subject: [PATCH 092/144] PEP8 cleanups. Signed-off-by: Roberto Rosario --- mayan/apps/cabinets/apps.py | 2 +- mayan/apps/cabinets/tests/literals.py | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/mayan/apps/cabinets/apps.py b/mayan/apps/cabinets/apps.py index e981e72998..42087ddbc3 100644 --- a/mayan/apps/cabinets/apps.py +++ b/mayan/apps/cabinets/apps.py @@ -7,7 +7,7 @@ from acls import ModelPermission from acls.permissions import permission_acl_edit, permission_acl_view from common import ( MayanAppConfig, menu_facet, menu_main, menu_multi_item, menu_object, - menu_sidebar, menu_secondary + menu_sidebar ) from rest_api.classes import APIEndPoint diff --git a/mayan/apps/cabinets/tests/literals.py b/mayan/apps/cabinets/tests/literals.py index 6ed622afb6..cc8bab69ab 100644 --- a/mayan/apps/cabinets/tests/literals.py +++ b/mayan/apps/cabinets/tests/literals.py @@ -2,4 +2,3 @@ from __future__ import absolute_import, unicode_literals TEST_CABINET_LABEL = 'test cabinet label' TEST_CABINET_EDITED_LABEL = 'test cabinet edited label' - From c598f87d7f6dad3a5ee796aeca5e3420ec5670de Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 9 Mar 2017 02:21:00 -0400 Subject: [PATCH 093/144] Hide the static tag import to avoid errors with static file processors Signed-off-by: Roberto Rosario --- mayan/apps/common/views.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/mayan/apps/common/views.py b/mayan/apps/common/views.py index 3c3b83aa13..1d63537e7b 100644 --- a/mayan/apps/common/views.py +++ b/mayan/apps/common/views.py @@ -4,7 +4,6 @@ from json import dumps from django.conf import settings from django.contrib import messages -from django.contrib.staticfiles.templatetags.staticfiles import static from django.core.urlresolvers import reverse, reverse_lazy from django.http import Http404, HttpResponseRedirect from django.template import RequestContext @@ -108,8 +107,15 @@ class CurrentUserLocaleProfileEditView(SingleObjectEditView): class FaviconRedirectView(RedirectView): - permanent=True - url=static('appearance/images/favicon.ico') + permanent = True + + def get_redirect_url(self, *args, **kwargs): + """ + Hide the static tag import to avoid errors with static file + processors + """ + from django.contrib.staticfiles.templatetags.staticfiles import static + return static('appearance/images/favicon.ico') class FilterSelectView(SimpleView): From aaa95780471d7f8619840dbb2301cfde49a4be34 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 9 Mar 2017 02:21:27 -0400 Subject: [PATCH 094/144] Update MANIFEST to add *.gif *.eot *.svg from cabinets app. Signed-off-by: Roberto Rosario --- MANIFEST.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MANIFEST.in b/MANIFEST.in index c8891a699f..4767f09b9b 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,3 +1,3 @@ include README.md LICENSE HISTORY.rst -recursive-include mayan *.txt *.html *.css *.ico *.png *.jpg *.js *.po *.mo *.ttf *.woff *.woff2 LICENSE +recursive-include mayan *.txt *.html *.css *.ico *.png *.jpg *.js *.po *.mo *.ttf *.woff *.woff2 *.gif *.eot *.svg LICENSE global-exclude mayan/settings/local.py mayan/settings/travis/* mayan/media/* From 31580ee51dadd4b3d175049179bc05db2cb5730e Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 9 Mar 2017 13:32:03 -0400 Subject: [PATCH 095/144] Add size field to the document version serializer. Signed-off-by: Roberto Rosario --- mayan/apps/documents/serializers.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mayan/apps/documents/serializers.py b/mayan/apps/documents/serializers.py index 0dde168a52..232e24e88e 100644 --- a/mayan/apps/documents/serializers.py +++ b/mayan/apps/documents/serializers.py @@ -100,6 +100,7 @@ class DocumentVersionSerializer(serializers.HyperlinkedModelSerializer): revert = serializers.HyperlinkedIdentityField( view_name='rest_api:documentversion-revert' ) + size = serializers.SerializerMethodField() class Meta: extra_kwargs = { @@ -108,7 +109,10 @@ class DocumentVersionSerializer(serializers.HyperlinkedModelSerializer): 'url': {'view_name': 'rest_api:documentversion-detail'}, } model = DocumentVersion - read_only_fields = ('document', 'file') + read_only_fields = ('document', 'file', 'size') + + def get_size(self, instance): + return instance.size class WritableDocumentVersionSerializer(serializers.ModelSerializer): From ffb98cdba6140b2e1a23fcde3182b7ea645a5561 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 10 Mar 2017 01:27:10 -0400 Subject: [PATCH 096/144] Add ACL creation API endpoint. --- mayan/apps/acls/api_views.py | 30 ++++++-- mayan/apps/acls/serializers.py | 120 ++++++++++++++++++++++++++++++ mayan/apps/acls/tests/test_api.py | 17 +++++ 3 files changed, 161 insertions(+), 6 deletions(-) diff --git a/mayan/apps/acls/api_views.py b/mayan/apps/acls/api_views.py index 36aece2dd7..9933b99e29 100644 --- a/mayan/apps/acls/api_views.py +++ b/mayan/apps/acls/api_views.py @@ -11,13 +11,12 @@ from permissions import Permission from .models import AccessControlList from .permissions import permission_acl_edit, permission_acl_view from .serializers import ( - AccessControlListPermissionSerializer, AccessControlListSerializer + AccessControlListPermissionSerializer, AccessControlListSerializer, + WritableAccessControlListSerializer ) -class APIObjectACLListView(generics.ListAPIView): - serializer_class = AccessControlListSerializer - +class APIObjectACLListView(generics.ListCreateAPIView): def get(self, *args, **kwargs): """ Returns a list of all the object's access control lists @@ -35,13 +34,18 @@ class APIObjectACLListView(generics.ListAPIView): content_type.model_class(), pk=self.kwargs['object_pk'] ) + if self.request.method == 'GET': + permission_required = permission_acl_view + else: + permission_required = permission_acl_edit + try: Permission.check_permissions( - self.request.user, permissions=(permission_acl_view,) + self.request.user, permissions=(permission_required,) ) except PermissionDenied: AccessControlList.objects.check_access( - permission_acl_view, self.request.user, content_object + permission_required, self.request.user, content_object ) return content_object @@ -55,11 +59,25 @@ class APIObjectACLListView(generics.ListAPIView): """ return { + 'content_object': self.get_content_object(), 'format': self.format_kwarg, 'request': self.request, 'view': self } + def get_serializer_class(self): + if self.request.method == 'GET': + return AccessControlListSerializer + else: + return WritableAccessControlListSerializer + + def post(self, *args, **kwargs): + """ + Create a new access control list for the selected object. + """ + + return super(APIObjectACLListView, self).post(*args, **kwargs) + class APIObjectACLView(generics.RetrieveAPIView): serializer_class = AccessControlListSerializer diff --git a/mayan/apps/acls/serializers.py b/mayan/apps/acls/serializers.py index 72d9163589..857d99bea6 100644 --- a/mayan/apps/acls/serializers.py +++ b/mayan/apps/acls/serializers.py @@ -1,11 +1,17 @@ from __future__ import absolute_import, unicode_literals +from django.contrib.contenttypes.models import ContentType +from django.core.exceptions import ValidationError as DjangoValidationError +from django.utils.encoding import force_text from django.utils.translation import ugettext_lazy as _ from rest_framework import serializers +from rest_framework.exceptions import ValidationError from rest_framework.reverse import reverse from common.serializers import ContentTypeSerializer +from permissions import Permission +from permissions.models import Role from permissions.serializers import PermissionSerializer, RoleSerializer from .models import AccessControlList @@ -72,3 +78,117 @@ class AccessControlListPermissionSerializer(PermissionSerializer): instance.stored_permission.pk ), request=self.context['request'], format=self.context['format'] ) + + +class WritableAccessControlListSerializer(serializers.ModelSerializer): + permissions_pk_list = serializers.CharField( + help_text=_( + 'Comma separated list of permission primary keys to grant to this ' + 'access control list.' + ), required=False + ) + permissions_url = serializers.SerializerMethodField( + help_text=_( + 'API URL pointing to the list of permissions for this access ' + 'control list.' + ), read_only=True + ) + role_pk = serializers.IntegerField( + help_text=_( + 'Primary keys of the role to which this access control list ' + 'binds to.' + ), required=False + ) + url = serializers.SerializerMethodField() + + class Meta: + fields = ( + 'content_type', 'id', 'object_id', 'permissions_pk_list', + 'permissions_url', 'role_pk', 'url' + ) + model = AccessControlList + read_only_fields = ('content_type', 'object_id',) + + def _add_permissions(self, instance): + for pk in self.permissions_pk_list.split(','): + try: + stored_permission = Permission.get(get_dict={'pk': pk}) + instance.permissions.add(stored_permission) + instance.save() + except KeyError: + raise ValidationError(_('No such permission: %s') % pk) + + def create(self, validated_data): + validated_data['content_type'] = ContentType.objects.get_for_model(self.context['content_object']) + validated_data['object_id'] = self.context['content_object'].pk + + self.permissions_pk_list = validated_data.pop( + 'permissions_pk_list', '' + ) + + instance = super( + WritableAccessControlListSerializer, self + ).create(validated_data) + + if self.permissions_pk_list: + self._add_permissions(instance=instance) + + return instance + + def get_permissions_url(self, instance): + return reverse( + 'rest_api:accesscontrollist-permission-list', args=( + instance.content_type.app_label, instance.content_type.model, + instance.object_id, instance.pk + ), request=self.context['request'], format=self.context['format'] + ) + + def get_url(self, instance): + return reverse( + 'rest_api:accesscontrollist-detail', args=( + instance.content_type.app_label, instance.content_type.model, + instance.object_id, instance.pk + ), request=self.context['request'], format=self.context['format'] + ) + + def update(self, instance, validated_data): + self.permissions_pk_list = validated_data.pop( + 'permissions_pk_list', '' + ) + + instance = super(WritableAccessControlListSerializer, self).update( + instance, validated_data + ) + + if self.permissions_pk_list: + instance.permissions.clear() + self._add_permissions(instance=instance) + + return instance + + def validate(self, attrs): + attrs['content_type'] = ContentType.objects.get_for_model(self.context['content_object']) + attrs['object_id'] = self.context['content_object'].pk + + role_pk = attrs.pop('role_pk', None) + if not role_pk: + raise ValidationError( + { + 'role_pk': + _( + 'This field cannot be null.' + ) + } + ) + try: + attrs['role'] = Role.objects.get(pk=role_pk) + except Role.DoesNotExist as exception: + raise ValidationError(force_text(exception)) + + instance = AccessControlList(**attrs) + try: + instance.full_clean() + except DjangoValidationError as exception: + raise ValidationError(exception) + + return attrs diff --git a/mayan/apps/acls/tests/test_api.py b/mayan/apps/acls/tests/test_api.py index 9c7eade47c..55705eb152 100644 --- a/mayan/apps/acls/tests/test_api.py +++ b/mayan/apps/acls/tests/test_api.py @@ -144,3 +144,20 @@ class ACLAPITestCase(APITestCase): self.assertEqual( response.data['pk'], permission_document_view.pk ) + + def test_object_acl_post_no_permissions_added_view(self): + response = self.client.post( + reverse( + 'rest_api:accesscontrollist-list', + args=( + self.document_content_type.app_label, + self.document_content_type.model, + self.document.pk + ) + ), data={'role_pk': self.role.pk} + ) + + self.assertEqual(response.status_code, 201) + self.assertEqual( + self.document.acls.first().content_object, self.document + ) From f6b58655e8153618af1c0ca38f3b0c60d103bf67 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 13 Mar 2017 21:02:22 -0400 Subject: [PATCH 097/144] Permissions are read only always. Signed-off-by: Roberto Rosario --- mayan/apps/permissions/serializers.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mayan/apps/permissions/serializers.py b/mayan/apps/permissions/serializers.py index 6774a9c3b6..cd234f4001 100644 --- a/mayan/apps/permissions/serializers.py +++ b/mayan/apps/permissions/serializers.py @@ -13,9 +13,9 @@ from .models import Role, StoredPermission class PermissionSerializer(serializers.Serializer): - namespace = serializers.CharField() - pk = serializers.CharField() - label = serializers.CharField() + namespace = serializers.CharField(read_only=True) + pk = serializers.CharField(read_only=True) + label = serializers.CharField(read_only=True) def to_representation(self, instance): if isinstance(instance, StoredPermission): From 858eb8b020d827ab08af4931e3970f8c4810bdc0 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 13 Mar 2017 21:04:12 -0400 Subject: [PATCH 098/144] Add writable ACLs API endpoints. Signed-off-by: Roberto Rosario --- mayan/apps/acls/api_views.py | 40 +++++++-- mayan/apps/acls/classes.py | 4 +- mayan/apps/acls/models.py | 4 +- mayan/apps/acls/serializers.py | 140 ++++++++++++++++-------------- mayan/apps/acls/tests/test_api.py | 111 ++++++++++++++++++++--- mayan/apps/acls/views.py | 3 +- 6 files changed, 219 insertions(+), 83 deletions(-) diff --git a/mayan/apps/acls/api_views.py b/mayan/apps/acls/api_views.py index 9933b99e29..a93f3e09c8 100644 --- a/mayan/apps/acls/api_views.py +++ b/mayan/apps/acls/api_views.py @@ -12,6 +12,7 @@ from .models import AccessControlList from .permissions import permission_acl_edit, permission_acl_view from .serializers import ( AccessControlListPermissionSerializer, AccessControlListSerializer, + WritableAccessControlListPermissionSerializer, WritableAccessControlListSerializer ) @@ -79,9 +80,16 @@ class APIObjectACLListView(generics.ListCreateAPIView): return super(APIObjectACLListView, self).post(*args, **kwargs) -class APIObjectACLView(generics.RetrieveAPIView): +class APIObjectACLView(generics.RetrieveDestroyAPIView): serializer_class = AccessControlListSerializer + def delete(self, *args, **kwargs): + """ + Delete the selected access control list. + """ + + return super(APIObjectACLView, self).delete(*args, **kwargs) + def get(self, *args, **kwargs): """ Returns the details of the selected access control list. @@ -119,9 +127,7 @@ class APIObjectACLView(generics.RetrieveAPIView): return self.get_content_object().acls.all() -class APIObjectACLPermissionListView(generics.ListAPIView): - serializer_class = AccessControlListPermissionSerializer - +class APIObjectACLPermissionListView(generics.ListCreateAPIView): def get(self, *args, **kwargs): """ Returns the access control list permission list. @@ -160,6 +166,12 @@ class APIObjectACLPermissionListView(generics.ListAPIView): def get_queryset(self): return self.get_acl().permissions.all() + def get_serializer_class(self): + if self.request.method == 'GET': + return AccessControlListPermissionSerializer + else: + return WritableAccessControlListPermissionSerializer + def get_serializer_context(self): return { 'acl': self.get_acl(), @@ -168,11 +180,29 @@ class APIObjectACLPermissionListView(generics.ListAPIView): 'view': self } + def post(self, *args, **kwargs): + """ + Add a new permission to the selected access control list. + """ -class APIObjectACLPermissionView(generics.RetrieveAPIView): + return super( + APIObjectACLPermissionListView, self + ).post(*args, **kwargs) + + +class APIObjectACLPermissionView(generics.RetrieveDestroyAPIView): lookup_url_kwarg = 'permission_pk' serializer_class = AccessControlListPermissionSerializer + def delete(self, *args, **kwargs): + """ + Remove the permission from the selected access control list. + """ + + return super( + APIObjectACLPermissionView, self + ).delete(*args, **kwargs) + def get(self, *args, **kwargs): """ Returns the details of the selected access control list permission. diff --git a/mayan/apps/acls/classes.py b/mayan/apps/acls/classes.py index 7f2c47b9d2..428279ba90 100644 --- a/mayan/apps/acls/classes.py +++ b/mayan/apps/acls/classes.py @@ -43,7 +43,9 @@ class ModelPermission(object): if proxy: permissions.extend(cls._registry.get(proxy)) - pks = [permission.stored_permission.pk for permission in set(permissions)] + pks = [ + permission.stored_permission.pk for permission in set(permissions) + ] return StoredPermission.objects.filter(pk__in=pks) @classmethod diff --git a/mayan/apps/acls/models.py b/mayan/apps/acls/models.py index 03db1cbebd..57737b5114 100644 --- a/mayan/apps/acls/models.py +++ b/mayan/apps/acls/models.py @@ -45,7 +45,9 @@ class AccessControlList(models.Model): verbose_name_plural = _('Access entries') def __str__(self): - return _('Permissions "%(permissions)s" to role "%(role)s" for "%(object)s"') % { + return _( + 'Permissions "%(permissions)s" to role "%(role)s" for "%(object)s"' + ) % { 'permissions': self.get_permission_titles(), 'object': self.content_object, 'role': self.role diff --git a/mayan/apps/acls/serializers.py b/mayan/apps/acls/serializers.py index 857d99bea6..9ddea1ad27 100644 --- a/mayan/apps/acls/serializers.py +++ b/mayan/apps/acls/serializers.py @@ -11,7 +11,7 @@ from rest_framework.reverse import reverse from common.serializers import ContentTypeSerializer from permissions import Permission -from permissions.models import Role +from permissions.models import Role, StoredPermission from permissions.serializers import PermissionSerializer, RoleSerializer from .models import AccessControlList @@ -59,15 +59,7 @@ class AccessControlListPermissionSerializer(PermissionSerializer): 'different than the canonical workflow URL.' ) ) - - def __init__(self, *args, **kwargs): - super( - AccessControlListPermissionSerializer, self - ).__init__(*args, **kwargs) - - # Make all fields (inherited and local) read ony. - for field in self._readable_fields: - field.read_only = True + acl_url = serializers.SerializerMethodField() def get_acl_permission_url(self, instance): return reverse( @@ -79,8 +71,56 @@ class AccessControlListPermissionSerializer(PermissionSerializer): ), request=self.context['request'], format=self.context['format'] ) + def get_acl_url(self, instance): + return reverse( + 'rest_api:accesscontrollist-detail', args=( + self.context['acl'].content_type.app_label, + self.context['acl'].content_type.model, + self.context['acl'].object_id, self.context['acl'].pk + ), request=self.context['request'], format=self.context['format'] + ) + + +class WritableAccessControlListPermissionSerializer(AccessControlListPermissionSerializer): + permission_pk = serializers.CharField( + help_text=_( + 'Primary key of the new permission to grant to the access control ' + 'list.' + ), write_only=True + ) + + class Meta: + fields = ('namespace',) + read_only_fields = ('namespace',) + + def create(self, validated_data): + for permission in validated_data['permissions']: + self.context['acl'].permissions.add(permission) + + return validated_data['permissions'][0] + + def validate(self, attrs): + permissions_pk_list = attrs.pop('permission_pk', None) + permissions_result = [] + + if permissions_pk_list: + for pk in permissions_pk_list.split(','): + try: + permission = Permission.get(get_dict={'pk': pk}) + except KeyError: + raise ValidationError(_('No such permission: %s') % pk) + else: + # Accumulate valid stored permission pks + permissions_result.append(permission.pk) + + attrs['permissions'] = StoredPermission.objects.filter( + pk__in=permissions_result + ) + return attrs + class WritableAccessControlListSerializer(serializers.ModelSerializer): + content_type = ContentTypeSerializer(read_only=True) permissions_pk_list = serializers.CharField( help_text=_( 'Comma separated list of permission primary keys to grant to this ' @@ -97,7 +137,7 @@ class WritableAccessControlListSerializer(serializers.ModelSerializer): help_text=_( 'Primary keys of the role to which this access control list ' 'binds to.' - ), required=False + ), write_only=True ) url = serializers.SerializerMethodField() @@ -107,33 +147,7 @@ class WritableAccessControlListSerializer(serializers.ModelSerializer): 'permissions_url', 'role_pk', 'url' ) model = AccessControlList - read_only_fields = ('content_type', 'object_id',) - - def _add_permissions(self, instance): - for pk in self.permissions_pk_list.split(','): - try: - stored_permission = Permission.get(get_dict={'pk': pk}) - instance.permissions.add(stored_permission) - instance.save() - except KeyError: - raise ValidationError(_('No such permission: %s') % pk) - - def create(self, validated_data): - validated_data['content_type'] = ContentType.objects.get_for_model(self.context['content_object']) - validated_data['object_id'] = self.context['content_object'].pk - - self.permissions_pk_list = validated_data.pop( - 'permissions_pk_list', '' - ) - - instance = super( - WritableAccessControlListSerializer, self - ).create(validated_data) - - if self.permissions_pk_list: - self._add_permissions(instance=instance) - - return instance + read_only_fields = ('content_type', 'object_id') def get_permissions_url(self, instance): return reverse( @@ -151,44 +165,40 @@ class WritableAccessControlListSerializer(serializers.ModelSerializer): ), request=self.context['request'], format=self.context['format'] ) - def update(self, instance, validated_data): - self.permissions_pk_list = validated_data.pop( - 'permissions_pk_list', '' - ) - - instance = super(WritableAccessControlListSerializer, self).update( - instance, validated_data - ) - - if self.permissions_pk_list: - instance.permissions.clear() - self._add_permissions(instance=instance) - - return instance - def validate(self, attrs): - attrs['content_type'] = ContentType.objects.get_for_model(self.context['content_object']) + attrs['content_type'] = ContentType.objects.get_for_model( + self.context['content_object'] + ) attrs['object_id'] = self.context['content_object'].pk - role_pk = attrs.pop('role_pk', None) - if not role_pk: - raise ValidationError( - { - 'role_pk': - _( - 'This field cannot be null.' - ) - } - ) try: - attrs['role'] = Role.objects.get(pk=role_pk) + attrs['role'] = Role.objects.get(pk=attrs.pop('role_pk')) except Role.DoesNotExist as exception: raise ValidationError(force_text(exception)) + permissions_pk_list = attrs.pop('permissions_pk_list', None) + permissions_result = [] + + if permissions_pk_list: + for pk in permissions_pk_list.split(','): + try: + permission = Permission.get(get_dict={'pk': pk}) + except KeyError: + raise ValidationError(_('No such permission: %s') % pk) + else: + # Accumulate valid stored permission pks + permissions_result.append(permission.pk) + instance = AccessControlList(**attrs) + try: instance.full_clean() except DjangoValidationError as exception: raise ValidationError(exception) + # Add a queryset of valid stored permissions so that they get added + # after the ACL gets created. + attrs['permissions'] = StoredPermission.objects.filter( + pk__in=permissions_result + ) return attrs diff --git a/mayan/apps/acls/tests/test_api.py b/mayan/apps/acls/tests/test_api.py index 55705eb152..244fbc54d7 100644 --- a/mayan/apps/acls/tests/test_api.py +++ b/mayan/apps/acls/tests/test_api.py @@ -20,6 +20,7 @@ from user_management.tests.literals import ( ) from ..models import AccessControlList +from ..permissions import permission_acl_view @override_settings(OCR_AUTO_OCR=False) @@ -84,6 +85,23 @@ class ACLAPITestCase(APITestCase): response.data['results'][0]['role']['label'], TEST_ROLE_LABEL ) + def test_object_acl_delete_view(self): + self._create_acl() + + response = self.client.delete( + reverse( + 'rest_api:accesscontrollist-detail', + args=( + self.document_content_type.app_label, + self.document_content_type.model, + self.document.pk, self.acl.pk + ) + ) + ) + + self.assertEqual(response.status_code, 204) + self.assertEqual(AccessControlList.objects.count(), 0) + def test_object_acl_detail_view(self): self._create_acl() @@ -97,7 +115,6 @@ class ACLAPITestCase(APITestCase): ) ) ) - self.assertEqual( response.data['content_type']['app_label'], self.document_content_type.app_label @@ -106,24 +123,23 @@ class ACLAPITestCase(APITestCase): response.data['role']['label'], TEST_ROLE_LABEL ) - def test_object_acl_permission_list_view(self): + def test_object_acl_permission_delete_view(self): self._create_acl() + permission = self.acl.permissions.first() - response = self.client.get( + response = self.client.delete( reverse( - 'rest_api:accesscontrollist-permission-list', + 'rest_api:accesscontrollist-permission-detail', args=( self.document_content_type.app_label, self.document_content_type.model, - self.document.pk, self.acl.pk + self.document.pk, self.acl.pk, + permission.pk ) ) ) - - self.assertEqual( - response.data['results'][0]['pk'], - permission_document_view.pk - ) + self.assertEqual(response.status_code, 204) + self.assertEqual(self.acl.permissions.count(), 0) def test_object_acl_permission_detail_view(self): self._create_acl() @@ -145,6 +161,47 @@ class ACLAPITestCase(APITestCase): response.data['pk'], permission_document_view.pk ) + def test_object_acl_permission_list_view(self): + self._create_acl() + + response = self.client.get( + reverse( + 'rest_api:accesscontrollist-permission-list', + args=( + self.document_content_type.app_label, + self.document_content_type.model, + self.document.pk, self.acl.pk + ) + ) + ) + + self.assertEqual( + response.data['results'][0]['pk'], + permission_document_view.pk + ) + + def test_object_acl_permission_list_post_view(self): + self._create_acl() + + response = self.client.post( + reverse( + 'rest_api:accesscontrollist-permission-list', + args=( + self.document_content_type.app_label, + self.document_content_type.model, + self.document.pk, self.acl.pk + ) + ), data={'permission_pk': permission_acl_view.pk} + ) + + self.assertEqual(response.status_code, 201) + self.assertQuerysetEqual( + ordered=False, qs=self.acl.permissions.all(), values=( + repr(permission_document_view.stored_permission), + repr(permission_acl_view.stored_permission) + ) + ) + def test_object_acl_post_no_permissions_added_view(self): response = self.client.post( reverse( @@ -158,6 +215,40 @@ class ACLAPITestCase(APITestCase): ) self.assertEqual(response.status_code, 201) + self.assertEqual( + self.document.acls.first().role, self.role + ) self.assertEqual( self.document.acls.first().content_object, self.document ) + self.assertEqual( + self.document.acls.first().permissions.count(), 0 + ) + + def test_object_acl_post_with_permissions_added_view(self): + response = self.client.post( + reverse( + 'rest_api:accesscontrollist-list', + args=( + self.document_content_type.app_label, + self.document_content_type.model, + self.document.pk + ) + ), data={ + 'role_pk': self.role.pk, + 'permissions_pk_list': permission_acl_view.pk + + } + ) + + self.assertEqual(response.status_code, 201) + self.assertEqual( + self.document.acls.first().content_object, self.document + ) + self.assertEqual( + self.document.acls.first().role, self.role + ) + self.assertEqual( + self.document.acls.first().permissions.first(), + permission_acl_view.stored_permission + ) diff --git a/mayan/apps/acls/views.py b/mayan/apps/acls/views.py index 0d1795d058..1f23802eb7 100644 --- a/mayan/apps/acls/views.py +++ b/mayan/apps/acls/views.py @@ -153,7 +153,8 @@ class ACLListView(SingleObjectListView): def get_queryset(self): return AccessControlList.objects.filter( - content_type=self.object_content_type, object_id=self.content_object.pk + content_type=self.object_content_type, + object_id=self.content_object.pk ) From cc174a563cafc7bc65df558d63dd1c3a38b92cb2 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 13 Mar 2017 21:33:19 -0400 Subject: [PATCH 099/144] Display a placeholder error document image for documents with no pages. Signed-off-by: Roberto Rosario --- mayan/apps/documents/widgets.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/mayan/apps/documents/widgets.py b/mayan/apps/documents/widgets.py index f0e8a71dfc..3e5148136f 100644 --- a/mayan/apps/documents/widgets.py +++ b/mayan/apps/documents/widgets.py @@ -82,10 +82,15 @@ class DocumentPagesCarouselWidget(forms.widgets.Widget): def document_thumbnail(document, **kwargs): - return document_html_widget( - document.latest_version.pages.first(), - click_view='documents:document_display', **kwargs - ) + if document.latest_version: + return document_html_widget( + document.latest_version.pages.first(), + click_view='documents:document_display', **kwargs + ) + else: + return mark_safe( + '' + ) def document_link(document): From 7341971c86207b42321910e39da2de86e0325d61 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 13 Mar 2017 22:35:44 -0400 Subject: [PATCH 100/144] The deleted document restore API endpoint doesn't need a serializer. Signed-off-by: Roberto Rosario --- mayan/apps/documents/api_views.py | 5 +++-- mayan/apps/documents/serializers.py | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/mayan/apps/documents/api_views.py b/mayan/apps/documents/api_views.py index a21d20278e..b1f3561661 100644 --- a/mayan/apps/documents/api_views.py +++ b/mayan/apps/documents/api_views.py @@ -79,10 +79,11 @@ class APIDeletedDocumentRestoreView(generics.GenericAPIView): mayan_object_permissions = { 'POST': (permission_document_restore,) } - permission_classes = (MayanPermission,) queryset = Document.trash.all() - serializer_class = DeletedDocumentSerializer + + def get_serializer_class(self): + return None def post(self, *args, **kwargs): self.get_object().restore() diff --git a/mayan/apps/documents/serializers.py b/mayan/apps/documents/serializers.py index 232e24e88e..bfa8e4ae80 100644 --- a/mayan/apps/documents/serializers.py +++ b/mayan/apps/documents/serializers.py @@ -162,9 +162,6 @@ class DeletedDocumentSerializer(serializers.HyperlinkedModelSerializer): view_name='rest_api:trasheddocument-restore' ) - def get_document_type_label(self, instance): - return instance.document_type.label - class Meta: extra_kwargs = { 'document_type': {'view_name': 'rest_api:documenttype-detail'}, @@ -181,6 +178,9 @@ class DeletedDocumentSerializer(serializers.HyperlinkedModelSerializer): 'language' ) + def get_document_type_label(self, instance): + return instance.document_type.label + class DocumentSerializer(serializers.HyperlinkedModelSerializer): document_type_label = serializers.SerializerMethodField() From 5ddb3f1cff20b601128e1f467ad7af73cd59a3f4 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 13 Mar 2017 22:55:29 -0400 Subject: [PATCH 101/144] Add support for adding or editing document types to smart links the API. Signed-off-by: Roberto Rosario --- mayan/apps/linking/serializers.py | 38 +++++++++++++++++++++++++--- mayan/apps/linking/tests/test_api.py | 26 +++++++++++++++++++ 2 files changed, 61 insertions(+), 3 deletions(-) diff --git a/mayan/apps/linking/serializers.py b/mayan/apps/linking/serializers.py index 23a0db21ff..3bc1b3ba50 100644 --- a/mayan/apps/linking/serializers.py +++ b/mayan/apps/linking/serializers.py @@ -1,9 +1,13 @@ from __future__ import absolute_import, unicode_literals +from django.utils.translation import ugettext_lazy as _ + from rest_framework import serializers +from rest_framework.exceptions import ValidationError from rest_framework.reverse import reverse -from documents.serializers import DocumentSerializer +from documents.models import DocumentType +from documents.serializers import DocumentSerializer, DocumentTypeSerializer from .models import SmartLink, SmartLinkCondition @@ -41,13 +45,15 @@ class SmartLinkSerializer(serializers.HyperlinkedModelSerializer): conditions_url = serializers.HyperlinkedIdentityField( view_name='rest_api:smartlinkcondition-list' ) + document_types = DocumentTypeSerializer(read_only=True, many=True) class Meta: extra_kwargs = { 'url': {'view_name': 'rest_api:smartlink-detail'}, } fields = ( - 'conditions_url', 'dynamic_label', 'enabled', 'label', 'id', 'url' + 'conditions_url', 'document_types', 'dynamic_label', 'enabled', + 'label', 'id', 'url' ) model = SmartLink @@ -104,12 +110,38 @@ class WritableSmartLinkSerializer(serializers.ModelSerializer): conditions_url = serializers.HyperlinkedIdentityField( view_name='rest_api:smartlinkcondition-list' ) + document_types_pk_list = serializers.CharField( + help_text=_( + 'Comma separated list of document type primary keys to which this ' + 'smart link will be attached.' + ), required=False + ) class Meta: extra_kwargs = { 'url': {'view_name': 'rest_api:smartlink-detail'}, } fields = ( - 'conditions_url', 'dynamic_label', 'enabled', 'label', 'id', 'url' + 'conditions_url', 'document_types_pk_list', 'dynamic_label', + 'enabled', 'label', 'id', 'url' ) model = SmartLink + + def validate(self, attrs): + document_types_pk_list = attrs.pop('document_types_pk_list', None) + document_types_result = [] + + if document_types_pk_list: + for pk in document_types_pk_list.split(','): + try: + document_type = DocumentType.objects.get(pk=pk) + except DocumentType.DoesNotExist: + raise ValidationError(_('No such document type: %s') % pk) + else: + # Accumulate valid stored document_type pks + document_types_result.append(document_type.pk) + + attrs['document_types'] = DocumentType.objects.filter( + pk__in=document_types_result + ) + return attrs diff --git a/mayan/apps/linking/tests/test_api.py b/mayan/apps/linking/tests/test_api.py index 4e795f830e..ed905bfbba 100644 --- a/mayan/apps/linking/tests/test_api.py +++ b/mayan/apps/linking/tests/test_api.py @@ -4,6 +4,7 @@ from django.contrib.auth import get_user_model from django.core.urlresolvers import reverse from django.test import override_settings +from rest_framework.exceptions import ValidationError from rest_framework.test import APITestCase from documents.models import DocumentType @@ -72,6 +73,26 @@ class SmartLinkAPITestCase(APITestCase): self.assertEqual(SmartLink.objects.count(), 1) self.assertEqual(smart_link.label, TEST_SMART_LINK_LABEL) + def test_smart_link_create_with_document_types_view(self): + self._create_document_type() + + response = self.client.post( + reverse('rest_api:smartlink-list'), data={ + 'label': TEST_SMART_LINK_LABEL, + 'document_types_pk_list': self.document_type.pk + }, + ) + + smart_link = SmartLink.objects.first() + self.assertEqual(response.data['id'], smart_link.pk) + self.assertEqual(response.data['label'], TEST_SMART_LINK_LABEL) + + self.assertEqual(SmartLink.objects.count(), 1) + self.assertEqual(smart_link.label, TEST_SMART_LINK_LABEL) + self.assertQuerysetEqual( + smart_link.document_types.all(), (repr(self.document_type),) + ) + def test_smart_link_delete_view(self): smart_link = self._create_smart_link() @@ -93,18 +114,23 @@ class SmartLinkAPITestCase(APITestCase): ) def test_smart_link_patch_view(self): + self._create_document_type() smart_link = self._create_smart_link() self.client.patch( reverse('rest_api:smartlink-detail', args=(smart_link.pk,)), data={ 'label': TEST_SMART_LINK_LABEL_EDITED, + 'document_types_pk_list': self.document_type.pk } ) smart_link.refresh_from_db() self.assertEqual(smart_link.label, TEST_SMART_LINK_LABEL_EDITED) + self.assertQuerysetEqual( + smart_link.document_types.all(), (repr(self.document_type),) + ) def test_smart_link_put_view(self): smart_link = self._create_smart_link() From ca7b8301a1f68548e8e718d42a728a500d67286e Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 13 Mar 2017 23:58:25 -0400 Subject: [PATCH 102/144] Bump version to 2.1.11. Add changelog and release notes. Signed-off-by: Roberto Rosario --- HISTORY.rst | 18 ++++++++ docs/releases/2.1.10.rst | 4 +- docs/releases/2.1.11.rst | 94 ++++++++++++++++++++++++++++++++++++++++ docs/releases/index.rst | 1 + mayan/__init__.py | 4 +- 5 files changed, 117 insertions(+), 4 deletions(-) create mode 100644 docs/releases/2.1.11.rst diff --git a/HISTORY.rst b/HISTORY.rst index 2e7b617934..a6392e726a 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -1,3 +1,21 @@ +2.1.11 (2017-03-14) +=================== +- Added a quick rename serializer to the document type API serializer. +- Added per document type, workflow list API view. +- Mayan EDMS was adopted a version 1.1 of the Linux Foundation Developer Certificate of Origin. +- Added the detail url of a permission in the permission serializer. +- Added endpoints for the ACL app API. +- Implemented document workflows transition ACLs. GitLab issue #321. +- Add document comments API endpoints. GitHub issue #249. +- Add support for overriding the Celery class. +- Changed the document upload view in source app to not use the HTTP referer + URL blindly, but instead recompose the URL using known view name. Needed + when integrating Mayan EDMS into other app via using iframes. +- Addes size field to the document version serializer. +- Removed the serializer from the deleted document restore API endpoint. +- Added support for adding or editing document types to smart links via the + API. + 2.1.10 (2017-02-13) ================== - Update Makefile to use twine for releases. diff --git a/docs/releases/2.1.10.rst b/docs/releases/2.1.10.rst index 8445af2a09..66f9252867 100644 --- a/docs/releases/2.1.10.rst +++ b/docs/releases/2.1.10.rst @@ -1,6 +1,6 @@ -=============================== +================================ Mayan EDMS v2.1.10 release notes -=============================== +================================ Released: February 13, 2017 diff --git a/docs/releases/2.1.11.rst b/docs/releases/2.1.11.rst new file mode 100644 index 0000000000..06415422c8 --- /dev/null +++ b/docs/releases/2.1.11.rst @@ -0,0 +1,94 @@ +================================ +Mayan EDMS v2.1.11 release notes +================================ + +Released: March 14, 2017 + +What's new +========== + +This is a bug-fix release and all users are encouraged to upgrade. The focus +of this micro release was REST API improvement. + +Changes +------------- + +- Added a quick rename serializer to the document type API serializer. +- Added per document type, workflow list API view. The URL for this endpoint is + GET /api/document_states/document_type/{pk}/workflows/ +- Added Developer Certificate of Origin. Mayan EDMS was adopted a version 1.1 of + the Linux Foundation Developer Certificate of Origin. All commits must be + signed (`git commit -s`) in order to be merged. +- Added the detail url of a permission in the permission serializer. +- Added endpoints for the ACL app API. +- Implemented document workflows transition ACLs. GitLab issue #321. +- Add document comments API endpoints. GitHub issue #249. +- Add support for overriding the Celery class. The setting is named + MAYAN_CELERY_CLASS and expects a dotted python path to the class to use. +- Changed the document upload view in source app to not use the HTTP referer + URL blindly, but instead recompose the URL using known view name. Needed + when integrating Mayan EDMS into other app via using iframes. +- Addes size field to the document version serializer. +- Removed the serializer from the deleted document restore API endpoint + it doesn't need a serializer being just an action POST endpoint. +- Added support for adding or editing document types to smart links via the + API. + +Removals +-------- +* None + +Upgrading from a previous version +--------------------------------- + +Using PIP +~~~~~~~~~ + +Type in the console:: + + $ pip install -U mayan-edms + +the requirements will also be updated automatically. + +Using Git +~~~~~~~~~ + +If you installed Mayan EDMS by cloning the Git repository issue the commands:: + + $ git reset --hard HEAD + $ git pull + +otherwise download the compressed archived and uncompress it overriding the +existing installation. + +Next upgrade/add the new requirements:: + + $ pip install --upgrade -r requirements.txt + +Common steps +~~~~~~~~~~~~ + +Migrate existing database schema with:: + + $ mayan-edms.py performupgrade + +Add new static media:: + + $ mayan-edms.py collectstatic --noinput + +The upgrade procedure is now complete. + + +Backward incompatible changes +============================= + +* None + +Bugs fixed or issues closed +=========================== + +* `Github issue #249 `_ Add document comments API [$50 US] +* `GitLab issue #321 `_ Transition ACLS +* `GitLab issue #357 `_ It should be possible to retrieve all workflows for a given DocumentType from the API + +.. _PyPI: https://pypi.python.org/pypi/mayan-edms/ diff --git a/docs/releases/index.rst b/docs/releases/index.rst index 896a3f1948..1a0a0b45bd 100644 --- a/docs/releases/index.rst +++ b/docs/releases/index.rst @@ -22,6 +22,7 @@ versions of the documentation contain the release notes for any later releases. .. toctree:: :maxdepth: 1 + 2.1.11 2.1.10 2.1.9 2.1.8 diff --git a/mayan/__init__.py b/mayan/__init__.py index bf64ac09c6..37ead34a74 100644 --- a/mayan/__init__.py +++ b/mayan/__init__.py @@ -1,8 +1,8 @@ from __future__ import unicode_literals __title__ = 'Mayan EDMS' -__version__ = '2.1.10' -__build__ = 0x020110 +__version__ = '2.1.11' +__build__ = 0x020111 __author__ = 'Roberto Rosario' __author_email__ = 'roberto.rosario@mayan-edms.com' __description__ = 'Free Open Source Electronic Document Management System' From 765530b386f2599d1d9a57399248dd4cb788bea0 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 14 Mar 2017 16:55:57 -0400 Subject: [PATCH 103/144] Add missing field in field registration tuple. Signed-off-by: Roberto Rosario --- mayan/apps/documents/serializers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mayan/apps/documents/serializers.py b/mayan/apps/documents/serializers.py index 2642036a1b..77a5fcf08d 100644 --- a/mayan/apps/documents/serializers.py +++ b/mayan/apps/documents/serializers.py @@ -109,7 +109,7 @@ class DocumentVersionSerializer(serializers.HyperlinkedModelSerializer): } fields = ( 'checksum', 'comment', 'document_url', 'download_url', 'encoding', - 'file', 'mimetype', 'pages_url', 'timestamp', 'url' + 'file', 'mimetype', 'pages_url', 'size', 'timestamp', 'url' ) model = DocumentVersion read_only_fields = ('document', 'file', 'size') From 5fdfdcae7819ce238948f4679fdcb0e0dee18f2c Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 14 Mar 2017 16:56:19 -0400 Subject: [PATCH 104/144] Use new way to request permissions by pk. Signed-off-by: Roberto Rosario --- mayan/apps/acls/serializers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mayan/apps/acls/serializers.py b/mayan/apps/acls/serializers.py index 9ddea1ad27..d312f8d827 100644 --- a/mayan/apps/acls/serializers.py +++ b/mayan/apps/acls/serializers.py @@ -106,7 +106,7 @@ class WritableAccessControlListPermissionSerializer(AccessControlListPermissionS if permissions_pk_list: for pk in permissions_pk_list.split(','): try: - permission = Permission.get(get_dict={'pk': pk}) + permission = Permission.get(pk=pk) except KeyError: raise ValidationError(_('No such permission: %s') % pk) else: @@ -182,7 +182,7 @@ class WritableAccessControlListSerializer(serializers.ModelSerializer): if permissions_pk_list: for pk in permissions_pk_list.split(','): try: - permission = Permission.get(get_dict={'pk': pk}) + permission = Permission.get(pk=pk) except KeyError: raise ValidationError(_('No such permission: %s') % pk) else: From 59241cb83132d84b976367699bacbe4bda1e0256 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 14 Mar 2017 17:42:36 -0400 Subject: [PATCH 105/144] Update the Makefile help text. Add the -O fair flat to the Celery worker. Signed-off-by: Roberto Rosario --- Makefile | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 64d6ea1e8a..03613c6bf1 100644 --- a/Makefile +++ b/Makefile @@ -7,8 +7,8 @@ help: @echo "clean-pyc - Remove Python artifacts." @echo "clean - Remove Python and build artifacts." + @echo "test - Run all tests." @echo "test MODULE= - Run tests for a single App, module or test class." - @echo "test-all - Run all tests." @echo "docs_serve - Run the livehtml documentation generator." @echo "translations_make - Refresh all translation files." @@ -28,6 +28,11 @@ help: @echo "runserver_plus - Run the Django extension's development server." @echo "shell_plus - Run the shell_plus command." + @echo "docker_services_on - Launch and initialize production-like services using Docker (Postgres and Redis)." + @echo "docker_services_off - Stop and delete the Docker production-like services." + @echo "docker_services_frontend - Launch a front end instance that uses the production-like services." + @echo "docker_services_worker - Launch a worker instance that uses the production-like services." + @echo "safety_check - Run a package safety check." @@ -131,7 +136,7 @@ docker_services_frontend: ./manage.py runserver --settings=mayan.settings.testing.docker docker_services_worker: - ./manage.py celery worker --settings=mayan.settings.testing.docker -B -l INFO + ./manage.py celery worker --settings=mayan.settings.testing.docker -B -l INFO -O fair # Security From 89512be546f6ff87d049656d9e1a37a7654bcf5a Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 14 Mar 2017 23:28:26 -0400 Subject: [PATCH 106/144] Fix test import typo. Signed-off-by: Roberto Rosario --- mayan/apps/document_states/tests/test_api.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mayan/apps/document_states/tests/test_api.py b/mayan/apps/document_states/tests/test_api.py index 1defd70f7e..a29dfe8c7e 100644 --- a/mayan/apps/document_states/tests/test_api.py +++ b/mayan/apps/document_states/tests/test_api.py @@ -17,8 +17,8 @@ from permissions.models import Role from permissions.tests.literals import TEST_ROLE_LABEL from rest_api.tests import BaseAPITestCase from user_management.tests import ( - TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME, TEST_GROUP, - TEST_USER_EMAIL, TEST_USER_USERNAME, TEST_USER_PASSWORD + TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME, + TEST_GROUP_NAME, TEST_USER_EMAIL, TEST_USER_USERNAME, TEST_USER_PASSWORD ) from ..models import Workflow @@ -661,7 +661,7 @@ class DocumentWorkflowsTransitionACLsAPITestCase(APITestCase): label=TEST_DOCUMENT_TYPE ) - self.group = Group.objects.create(name=TEST_GROUP) + self.group = Group.objects.create(name=TEST_GROUP_NAME) self.role = Role.objects.create(label=TEST_ROLE_LABEL) self.group.user_set.add(self.user) self.role.groups.add(self.group) From 8179c35189f33c9bb68ce6f94683f7b6f4b4108c Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 14 Mar 2017 23:47:40 -0400 Subject: [PATCH 107/144] Simplify test runner by adding a new option '--mayan-apps' that automatically tests all Mayan apps that report to have tests. Change the app flag that indicates when an app has test from 'test' to the more explicit 'has_test'. Signed-off-by: Roberto Rosario --- .gitlab-ci.yml | 6 ++-- .travis.yml | 6 ++-- Makefile | 5 ++- mayan/apps/acls/apps.py | 2 +- mayan/apps/authentication/apps.py | 2 +- mayan/apps/cabinets/apps.py | 2 +- mayan/apps/checkouts/apps.py | 2 +- mayan/apps/common/apps.py | 2 +- mayan/apps/common/tests/runner.py | 45 ++++++++++---------------- mayan/apps/converter/apps.py | 2 +- mayan/apps/django_gpg/apps.py | 2 +- mayan/apps/document_comments/apps.py | 2 +- mayan/apps/document_indexing/apps.py | 2 +- mayan/apps/document_signatures/apps.py | 2 +- mayan/apps/document_states/apps.py | 2 +- mayan/apps/documents/apps.py | 2 +- mayan/apps/dynamic_search/apps.py | 2 +- mayan/apps/events/apps.py | 2 +- mayan/apps/folders/apps.py | 2 +- mayan/apps/linking/apps.py | 2 +- mayan/apps/lock_manager/apps.py | 2 +- mayan/apps/mailer/apps.py | 2 +- mayan/apps/metadata/apps.py | 2 +- mayan/apps/motd/apps.py | 2 +- mayan/apps/navigation/apps.py | 2 +- mayan/apps/ocr/apps.py | 2 +- mayan/apps/permissions/apps.py | 2 +- mayan/apps/smart_settings/apps.py | 2 +- mayan/apps/sources/apps.py | 2 +- mayan/apps/statistics/apps.py | 2 +- mayan/apps/tags/apps.py | 2 +- mayan/apps/user_management/apps.py | 2 +- tox.ini | 2 +- 33 files changed, 56 insertions(+), 64 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b0d172677e..94741880ab 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,7 +21,7 @@ test:mysql: - pip install mysql-python - apt-get install -qq mysql-client - mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD" -e "set global character_set_server=utf8mb4;" - - coverage run manage.py test --settings=mayan.settings.testing.gitlab-ci.db_mysql --nomigrations + - coverage run manage.py test --mayan-apps --settings=mayan.settings.testing.gitlab-ci.db_mysql --nomigrations - bash <(curl https://raw.githubusercontent.com/codecov/codecov-bash/master/codecov) -t $CODECOV_TOKEN tags: - mysql @@ -30,12 +30,12 @@ test:postgres: - apt-get install -qq libpq-dev - pip install -r requirements/testing.txt - pip install psycopg2 - - coverage run manage.py test --settings=mayan.settings.testing.gitlab-ci.db_postgres --nomigrations + - coverage run manage.py test --mayan-apps --settings=mayan.settings.testing.gitlab-ci.db_postgres --nomigrations - bash <(curl https://raw.githubusercontent.com/codecov/codecov-bash/master/codecov) -t $CODECOV_TOKEN tags: - postgres test:sqlite: script: - pip install -r requirements/testing.txt - - coverage run manage.py test --settings=mayan.settings.testing.gitlab-ci --nomigrations + - coverage run manage.py test --mayan-apps --settings=mayan.settings.testing.gitlab-ci --nomigrations - bash <(curl https://raw.githubusercontent.com/codecov/codecov-bash/master/codecov) -t $CODECOV_TOKEN diff --git a/.travis.yml b/.travis.yml index 9591074dfa..0e6e7d9293 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,9 +17,9 @@ before_script: - mysql -e 'create database mayan_edms;' - psql -c 'create database mayan_edms;' -U postgres script: - - if [[ $DB == mysql ]]; then coverage run manage.py test --settings=mayan.settings.testing.travis.db_mysql --nomigrations; fi - - if [[ $DB == postgres ]]; then coverage run manage.py test --settings=mayan.settings.testing.travis.db_postgres --nomigrations; fi - - if [[ $DB == sqlite ]]; then coverage run manage.py test --settings=mayan.settings.testing.base --nomigrations; fi + - if [[ $DB == mysql ]]; then coverage run manage.py test --mayan-apps --settings=mayan.settings.testing.travis.db_mysql --nomigrations; fi + - if [[ $DB == postgres ]]; then coverage run manage.py test --mayan-apps --settings=mayan.settings.testing.travis.db_postgres --nomigrations; fi + - if [[ $DB == sqlite ]]; then coverage run manage.py test --mayan-apps --settings=mayan.settings.testing.base --nomigrations; fi after_success: - coveralls branches: diff --git a/Makefile b/Makefile index 03613c6bf1..2d59c8bf65 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ help: @echo "clean-pyc - Remove Python artifacts." @echo "clean - Remove Python and build artifacts." - @echo "test - Run all tests." + @echo "test-all - Run all tests." @echo "test MODULE= - Run tests for a single App, module or test class." @echo "docs_serve - Run the livehtml documentation generator." @@ -56,6 +56,9 @@ clean-pyc: test: ./manage.py test $(MODULE) --settings=mayan.settings.testing --nomigrations +test-all: + ./manage.py test --mayan-apps --settings=mayan.settings.testing --nomigrations + # Documentation diff --git a/mayan/apps/acls/apps.py b/mayan/apps/acls/apps.py index 9f3404e80b..8825df70b2 100644 --- a/mayan/apps/acls/apps.py +++ b/mayan/apps/acls/apps.py @@ -10,8 +10,8 @@ from .links import link_acl_create, link_acl_delete, link_acl_permissions class ACLsApp(MayanAppConfig): + has_tests = True name = 'acls' - test = True verbose_name = _('ACLs') def ready(self): diff --git a/mayan/apps/authentication/apps.py b/mayan/apps/authentication/apps.py index 85942e587c..aeb0ca7a3c 100644 --- a/mayan/apps/authentication/apps.py +++ b/mayan/apps/authentication/apps.py @@ -12,8 +12,8 @@ logger = logging.getLogger(__name__) class AuthenticationApp(MayanAppConfig): + has_tests = True name = 'authentication' - test = True verbose_name = _('Authentication') def ready(self): diff --git a/mayan/apps/cabinets/apps.py b/mayan/apps/cabinets/apps.py index 42087ddbc3..9bd2b0ef34 100644 --- a/mayan/apps/cabinets/apps.py +++ b/mayan/apps/cabinets/apps.py @@ -28,8 +28,8 @@ from .permissions import ( class CabinetsApp(MayanAppConfig): + has_tests = True name = 'cabinets' - test = True verbose_name = _('Cabinets') def ready(self): diff --git a/mayan/apps/checkouts/apps.py b/mayan/apps/checkouts/apps.py index 759f5fcfdd..2f57b48efa 100644 --- a/mayan/apps/checkouts/apps.py +++ b/mayan/apps/checkouts/apps.py @@ -30,8 +30,8 @@ from .tasks import task_check_expired_check_outs # NOQA class CheckoutsApp(MayanAppConfig): + has_tests = True name = 'checkouts' - test = True verbose_name = _('Checkouts') def ready(self): diff --git a/mayan/apps/common/apps.py b/mayan/apps/common/apps.py index 2e8dd36642..a415d5e7c3 100644 --- a/mayan/apps/common/apps.py +++ b/mayan/apps/common/apps.py @@ -71,8 +71,8 @@ class MayanAppConfig(apps.AppConfig): class CommonApp(MayanAppConfig): app_url = '' + has_tests = True name = 'common' - test = True verbose_name = _('Common') def ready(self): diff --git a/mayan/apps/common/tests/runner.py b/mayan/apps/common/tests/runner.py index db617c46d6..f600cf0353 100644 --- a/mayan/apps/common/tests/runner.py +++ b/mayan/apps/common/tests/runner.py @@ -1,41 +1,30 @@ from __future__ import unicode_literals -import os - from django import apps -from django.conf import settings from django.test.runner import DiscoverRunner class MayanTestRunner(DiscoverRunner): @classmethod def add_arguments(cls, parser): - DiscoverRunner.add_arguments(parser) + parser.add_argument( + '--mayan-apps', action='store_true', default=False, + dest='mayan_apps', + help='Test all Mayan apps that report to have tests.' + ) + + def __init__(self, *args, **kwargs): + self.mayan_apps = kwargs.pop('mayan_apps') + super(MayanTestRunner, self).__init__(*args, **kwargs) def build_suite(self, *args, **kwargs): - self.top_level = os.path.join(settings.BASE_DIR, 'apps') - - test_suit = super(MayanTestRunner, self).build_suite(*args, **kwargs) - - new_suite = self.test_suite() - # Apps that report they have tests + if self.mayan_apps: + args = list(args) + args[0] = [ + app.name for app in apps.apps.get_app_configs() if getattr( + app, 'has_tests', False + ) + ] - test_apps = [ - app.name for app in apps.apps.get_app_configs() if getattr(app, 'test', False) - ] - - # Filter the test cases reported by the test runner by the apps that - # reported tests - - for test_case in test_suit: - app_label = repr(test_case.__class__).split("'")[1].split('.')[0] - if app_label in test_apps: - new_suite.addTest(test_case) - - print '-' * 10 - print 'Apps to test: {}'.format(', '.join(test_apps)) - print 'Total test cases: {}'.format(new_suite.countTestCases()) - print '-' * 10 - - return new_suite + return super(MayanTestRunner, self).build_suite(*args, **kwargs) diff --git a/mayan/apps/converter/apps.py b/mayan/apps/converter/apps.py index 40b54d6bc0..a04056c761 100644 --- a/mayan/apps/converter/apps.py +++ b/mayan/apps/converter/apps.py @@ -14,8 +14,8 @@ from .licenses import * # NOQA class ConverterApp(MayanAppConfig): + has_tests = True name = 'converter' - test = True verbose_name = _('Converter') def ready(self): diff --git a/mayan/apps/django_gpg/apps.py b/mayan/apps/django_gpg/apps.py index 381a745894..14de67f9ad 100644 --- a/mayan/apps/django_gpg/apps.py +++ b/mayan/apps/django_gpg/apps.py @@ -26,8 +26,8 @@ from .permissions import ( class DjangoGPGApp(MayanAppConfig): app_url = 'gpg' + has_tests = True name = 'django_gpg' - test = True verbose_name = _('Django GPG') def ready(self): diff --git a/mayan/apps/document_comments/apps.py b/mayan/apps/document_comments/apps.py index 905af2c7cf..da6e219132 100644 --- a/mayan/apps/document_comments/apps.py +++ b/mayan/apps/document_comments/apps.py @@ -20,8 +20,8 @@ from .permissions import ( class DocumentCommentsApp(MayanAppConfig): app_namespace = 'comments' app_url = 'comments' + has_tests = True name = 'document_comments' - test = True verbose_name = _('Document comments') def ready(self): diff --git a/mayan/apps/document_indexing/apps.py b/mayan/apps/document_indexing/apps.py index 2e95e0c807..3c19e832e3 100644 --- a/mayan/apps/document_indexing/apps.py +++ b/mayan/apps/document_indexing/apps.py @@ -44,8 +44,8 @@ from .widgets import get_instance_link, index_instance_item_link, node_level class DocumentIndexingApp(MayanAppConfig): app_namespace = 'indexing' app_url = 'indexing' + has_tests = True name = 'document_indexing' - test = True verbose_name = _('Document indexing') def ready(self): diff --git a/mayan/apps/document_signatures/apps.py b/mayan/apps/document_signatures/apps.py index eecfad9102..b5901b8bb4 100644 --- a/mayan/apps/document_signatures/apps.py +++ b/mayan/apps/document_signatures/apps.py @@ -46,8 +46,8 @@ logger = logging.getLogger(__name__) class DocumentSignaturesApp(MayanAppConfig): app_namespace = 'signatures' app_url = 'signatures' + has_tests = True name = 'document_signatures' - test = True verbose_name = _('Document signatures') def ready(self): diff --git a/mayan/apps/document_states/apps.py b/mayan/apps/document_states/apps.py index 01b43c550e..c7fdaf1ebb 100644 --- a/mayan/apps/document_states/apps.py +++ b/mayan/apps/document_states/apps.py @@ -36,8 +36,8 @@ from .permissions import permission_workflow_transition class DocumentStatesApp(MayanAppConfig): app_url = 'states' + has_tests = True name = 'document_states' - test = True verbose_name = _('Document states') def ready(self): diff --git a/mayan/apps/documents/apps.py b/mayan/apps/documents/apps.py index 936d87d7e0..8e0468f6a8 100644 --- a/mayan/apps/documents/apps.py +++ b/mayan/apps/documents/apps.py @@ -82,8 +82,8 @@ from .widgets import DocumentThumbnailWidget, DocumentPageThumbnailWidget class DocumentsApp(MayanAppConfig): + has_tests = True name = 'documents' - test = True verbose_name = _('Documents') def ready(self): diff --git a/mayan/apps/dynamic_search/apps.py b/mayan/apps/dynamic_search/apps.py index 4a3fc58685..44f2495171 100644 --- a/mayan/apps/dynamic_search/apps.py +++ b/mayan/apps/dynamic_search/apps.py @@ -11,8 +11,8 @@ from .links import link_search, link_search_advanced, link_search_again class DynamicSearchApp(MayanAppConfig): app_namespace = 'search' app_url = 'search' + has_tests = True name = 'dynamic_search' - test = True verbose_name = _('Dynamic search') def ready(self): diff --git a/mayan/apps/events/apps.py b/mayan/apps/events/apps.py index 620171d205..b866d0d459 100644 --- a/mayan/apps/events/apps.py +++ b/mayan/apps/events/apps.py @@ -13,8 +13,8 @@ from .widgets import event_type_link class EventsApp(MayanAppConfig): + has_tests = True name = 'events' - test = True verbose_name = _('Events') def ready(self): diff --git a/mayan/apps/folders/apps.py b/mayan/apps/folders/apps.py index 0d1a0eed95..8de30eb12b 100644 --- a/mayan/apps/folders/apps.py +++ b/mayan/apps/folders/apps.py @@ -28,8 +28,8 @@ from .permissions import ( class FoldersApp(MayanAppConfig): + has_tests = True name = 'folders' - test = True verbose_name = _('Folders') def ready(self): diff --git a/mayan/apps/linking/apps.py b/mayan/apps/linking/apps.py index 41eb9df8cc..82403ae1ca 100644 --- a/mayan/apps/linking/apps.py +++ b/mayan/apps/linking/apps.py @@ -29,8 +29,8 @@ from .permissions import ( class LinkingApp(MayanAppConfig): + has_tests = True name = 'linking' - test = True verbose_name = _('Linking') def ready(self): diff --git a/mayan/apps/lock_manager/apps.py b/mayan/apps/lock_manager/apps.py index 9ad96c81d5..27e11f8bd1 100644 --- a/mayan/apps/lock_manager/apps.py +++ b/mayan/apps/lock_manager/apps.py @@ -5,6 +5,6 @@ from django.utils.translation import ugettext_lazy as _ class LockManagerApp(apps.AppConfig): + has_tests = True name = 'lock_manager' - test = True verbose_name = _('Lock manager') diff --git a/mayan/apps/mailer/apps.py b/mayan/apps/mailer/apps.py index a333eb3d23..aacea96688 100644 --- a/mayan/apps/mailer/apps.py +++ b/mayan/apps/mailer/apps.py @@ -21,8 +21,8 @@ from .permissions import ( class MailerApp(MayanAppConfig): + has_tests = True name = 'mailer' - test = True verbose_name = _('Mailer') def ready(self): diff --git a/mayan/apps/metadata/apps.py b/mayan/apps/metadata/apps.py index bbac674ad4..4463d936d9 100644 --- a/mayan/apps/metadata/apps.py +++ b/mayan/apps/metadata/apps.py @@ -47,8 +47,8 @@ logger = logging.getLogger(__name__) class MetadataApp(MayanAppConfig): + has_tests = True name = 'metadata' - test = True verbose_name = _('Metadata') def ready(self): diff --git a/mayan/apps/motd/apps.py b/mayan/apps/motd/apps.py index afb6c8f132..af38dfa4c0 100644 --- a/mayan/apps/motd/apps.py +++ b/mayan/apps/motd/apps.py @@ -17,8 +17,8 @@ logger = logging.getLogger(__name__) class MOTDApp(MayanAppConfig): + has_tests = True name = 'motd' - test = True verbose_name = _('Message of the day') def ready(self): diff --git a/mayan/apps/navigation/apps.py b/mayan/apps/navigation/apps.py index e529d10406..c7289ffb0b 100644 --- a/mayan/apps/navigation/apps.py +++ b/mayan/apps/navigation/apps.py @@ -6,6 +6,6 @@ from common.apps import MayanAppConfig class NavigationApp(MayanAppConfig): + has_tests = True name = 'navigation' - test = True verbose_name = _('Navigation') diff --git a/mayan/apps/ocr/apps.py b/mayan/apps/ocr/apps.py index 97aef9d214..e0e7042552 100644 --- a/mayan/apps/ocr/apps.py +++ b/mayan/apps/ocr/apps.py @@ -48,8 +48,8 @@ def document_version_ocr_submit(self): class OCRApp(MayanAppConfig): + has_tests = True name = 'ocr' - test = True verbose_name = _('OCR') def ready(self): diff --git a/mayan/apps/permissions/apps.py b/mayan/apps/permissions/apps.py index 9cc06178c1..2547e0aaf6 100644 --- a/mayan/apps/permissions/apps.py +++ b/mayan/apps/permissions/apps.py @@ -17,8 +17,8 @@ from .links import ( class PermissionsApp(MayanAppConfig): + has_tests = True name = 'permissions' - test = True verbose_name = _('Permissions') def ready(self): diff --git a/mayan/apps/smart_settings/apps.py b/mayan/apps/smart_settings/apps.py index 7032b084db..6825455503 100644 --- a/mayan/apps/smart_settings/apps.py +++ b/mayan/apps/smart_settings/apps.py @@ -13,8 +13,8 @@ from .widgets import setting_widget class SmartSettingsApp(MayanAppConfig): app_namespace = 'settings' app_url = 'settings' + has_tests = True name = 'smart_settings' - test = True verbose_name = _('Smart settings') def ready(self): diff --git a/mayan/apps/sources/apps.py b/mayan/apps/sources/apps.py index e05c3ee4e6..acfb5d6724 100644 --- a/mayan/apps/sources/apps.py +++ b/mayan/apps/sources/apps.py @@ -33,8 +33,8 @@ from .widgets import StagingFileThumbnailWidget class SourcesApp(MayanAppConfig): + has_tests = True name = 'sources' - test = True verbose_name = _('Sources') def ready(self): diff --git a/mayan/apps/statistics/apps.py b/mayan/apps/statistics/apps.py index ba0f36b43f..d0909ad7c4 100644 --- a/mayan/apps/statistics/apps.py +++ b/mayan/apps/statistics/apps.py @@ -19,8 +19,8 @@ from .tasks import task_execute_statistic # NOQA - Force registration of task class StatisticsApp(MayanAppConfig): + has_tests = True name = 'statistics' - test = True verbose_name = _('Statistics') def ready(self): diff --git a/mayan/apps/tags/apps.py b/mayan/apps/tags/apps.py index c0c39ef7cd..397eb2bcfc 100644 --- a/mayan/apps/tags/apps.py +++ b/mayan/apps/tags/apps.py @@ -29,8 +29,8 @@ from .widgets import widget_document_tags, widget_single_tag class TagsApp(MayanAppConfig): + has_tests = True name = 'tags' - test = True verbose_name = _('Tags') def ready(self): diff --git a/mayan/apps/user_management/apps.py b/mayan/apps/user_management/apps.py index 08a7e0a5a3..ddc721a655 100644 --- a/mayan/apps/user_management/apps.py +++ b/mayan/apps/user_management/apps.py @@ -37,8 +37,8 @@ def get_users(): class UserManagementApp(MayanAppConfig): app_url = 'accounts' + has_tests = True name = 'user_management' - test = True verbose_name = _('User management') def ready(self): diff --git a/tox.ini b/tox.ini index 5f801bcb01..25f3cdf28e 100644 --- a/tox.ini +++ b/tox.ini @@ -12,7 +12,7 @@ basepython = py35: python3.5 commands= - coverage run {envdir}/bin/django-admin.py test --settings=mayan.settings.testing --nomigrations + coverage run {envdir}/bin/django-admin.py test --mayan-apps --settings=mayan.settings.testing --nomigrations deps = -rrequirements/testing-no-django.txt From 10faf2bb49b3bd686577435b736f91d74134a9ab Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 14 Mar 2017 23:48:18 -0400 Subject: [PATCH 108/144] Update MANIFEST to not include static files and to include test files. Signed-off-by: Roberto Rosario --- MANIFEST.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MANIFEST.in b/MANIFEST.in index 4767f09b9b..fb6fa7a6ea 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,3 +1,3 @@ -include README.md LICENSE HISTORY.rst -recursive-include mayan *.txt *.html *.css *.ico *.png *.jpg *.js *.po *.mo *.ttf *.woff *.woff2 *.gif *.eot *.svg LICENSE +include README.md LICENSE HISTORY.rst mayan/LICENSE +recursive-include mayan/apps *.txt *.html *.css *.ico *.png *.jpg *.js *.po *.mo *.ttf *.woff *.woff2 *.gif *.eot *.svg *.doc *.pdf *.tiff global-exclude mayan/settings/local.py mayan/settings/travis/* mayan/media/* From 0708184be248de0f8e9b884bf76decc6ce80b513 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 14 Mar 2017 23:51:21 -0400 Subject: [PATCH 109/144] Update release notes. Signed-off-by: Roberto Rosario --- docs/releases/2.2.rst | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/docs/releases/2.2.rst b/docs/releases/2.2.rst index d7d990dfcd..49e67df088 100644 --- a/docs/releases/2.2.rst +++ b/docs/releases/2.2.rst @@ -61,22 +61,28 @@ resolved to '/api/documents//pages//pages'. Other changes ------------- -- The Cabinets app integration. +- Simplify test runner by adding a new option '--mayan-apps' that automatically + tests all Mayan apps that report to have tests. +- Change the app flag that indicates when an app has test from 'test' to the + more explicit 'has_test'. +- The packaging manifest now includes test files. Test can now be executed + in production. +- The Cabinets app integration as core app. - Add "Check now" button to interval sources. -- Remove the installation app -- Add support for page search -- Remove recent searches feature -- Remove dependency on the django-filetransfer library -- Fix height calculation in resize transformation -- Improve upgrade instructions -- New image caching pipeline +- Remove the installation app. +- Add support for page search. +- Remove recent searches feature. +- Remove dependency on the django-filetransfer library. +- Fix height calculation in resize transformation. +- Improve upgrade instructions. +- New image caching pipeline. - New drop down menus for the documents, folders and tags app as well as for - the user links -- Dashboard -- Moved licenses to their own module in every app -- Update project to work with Django 1.10.4 -- Tags are alphabetically ordered by label -- Stop loading theme fonts from the web + the user links. +- Add support for a dashboard with default widgets. +- Moved licenses to their own module in every app. +- Update project to work with Django 1.10. +- Tags are alphabetically ordered by label. +- Stop loading theme fonts from the web. - Add support for attaching multiple tags to single or multiple documents. - Refactor the workflow for removing tags from single and multiple documents. - Move new version creation blocking from the documents app to the checkouts app. From cc851588b6b4d5bdb6350a69369def50aaa950c9 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 15 Mar 2017 00:15:56 -0400 Subject: [PATCH 110/144] Add further test files to the MANIFEST: zip and GPG files. Signed-off-by: Roberto Rosario --- MANIFEST.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MANIFEST.in b/MANIFEST.in index fb6fa7a6ea..4d82143547 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,3 +1,3 @@ include README.md LICENSE HISTORY.rst mayan/LICENSE -recursive-include mayan/apps *.txt *.html *.css *.ico *.png *.jpg *.js *.po *.mo *.ttf *.woff *.woff2 *.gif *.eot *.svg *.doc *.pdf *.tiff +recursive-include mayan/apps *.txt *.html *.css *.ico *.png *.jpg *.js *.po *.mo *.ttf *.woff *.woff2 *.gif *.eot *.svg *.doc *.pdf *.tiff *.sig *.asc *.gpg *.zip global-exclude mayan/settings/local.py mayan/settings/travis/* mayan/media/* From 106816ab7f491d62c26f3308ea08d69358ed1e7b Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 15 Mar 2017 00:16:44 -0400 Subject: [PATCH 111/144] Do not impot psutils for test if it is not going to be used. Signed-off-by: Roberto Rosario --- mayan/apps/common/tests/mixins.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mayan/apps/common/tests/mixins.py b/mayan/apps/common/tests/mixins.py index 32f7b1cd6b..161134eb19 100644 --- a/mayan/apps/common/tests/mixins.py +++ b/mayan/apps/common/tests/mixins.py @@ -3,9 +3,9 @@ from __future__ import unicode_literals import glob import os -import psutil - from django.conf import settings +if getattr(settings, 'COMMON_TEST_FILE_HANDLES', False): + import psutil from ..settings import setting_temporary_directory From b7040cd2714b846614e61c257e51f711afcbbf6a Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 15 Mar 2017 00:17:10 -0400 Subject: [PATCH 112/144] Include all test arguments from the test runner parent class. Signed-off-by: Roberto Rosario --- mayan/apps/common/tests/runner.py | 1 + 1 file changed, 1 insertion(+) diff --git a/mayan/apps/common/tests/runner.py b/mayan/apps/common/tests/runner.py index f600cf0353..1c47d24574 100644 --- a/mayan/apps/common/tests/runner.py +++ b/mayan/apps/common/tests/runner.py @@ -7,6 +7,7 @@ from django.test.runner import DiscoverRunner class MayanTestRunner(DiscoverRunner): @classmethod def add_arguments(cls, parser): + DiscoverRunner.add_arguments(parser) parser.add_argument( '--mayan-apps', action='store_true', default=False, dest='mayan_apps', From abcf53f7787ff48e8b76c8f969d4d727ffc6b27f Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 20 Mar 2017 00:24:46 -0400 Subject: [PATCH 113/144] Update .gitignore to ignore the mayan/media directory. --- .gitignore | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/.gitignore b/.gitignore index f049c86ec2..d786d1c049 100644 --- a/.gitignore +++ b/.gitignore @@ -3,26 +3,27 @@ *.pyo *.sqlite *.sqlite3 -settings_local.py -/celerybeat-schedule -document_storage/ -/misc/mayan.geany -mayan/media/document_cache/ -build/ -_build/ -gpg_home/ -/mayan/media/static/ -/whoosh_index/ -/fabfile_install -/venv/ -.coverage -/dist/ -.idea/ -static_collected/ *egg-info* -mayan/settings/local.py -.vagrant -.tox/ -coverage.xml +.coverage .coverage.tox* +.idea/ +.tox/ +.vagrant +_build/ +build/ +coverage.xml +document_storage/ +gpg_home/ htmlcov/ +mayan/media/ +mayan/media/document_cache/ +mayan/settings/local.py +settings_local.py +static_collected/ +/celerybeat-schedule +/fabfile_install +/dist/ +/misc/mayan.geany +/mayan/media/static/ +/venv/ +/whoosh_index/ From 69c1eacb75eb08f49af4d8e2889256e66f05c43e Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 20 Mar 2017 00:37:11 -0400 Subject: [PATCH 114/144] Update Font Awesome to version 4.7.0. Improve dashboard widget CSS class names. Signed-off-by: Roberto Rosario --- .../appearance/static/appearance/css/base.css | 8 +- .../css/font-awesome.min.css | 4 - .../font-awesome-4.3.0/fonts/FontAwesome.otf | Bin 93888 -> 0 bytes .../fonts/fontawesome-webfont.eot | Bin 60767 -> 0 bytes .../fonts/fontawesome-webfont.svg | 565 ---- .../fonts/fontawesome-webfont.woff | Bin 71508 -> 0 bytes .../fonts/fontawesome-webfont.woff2 | Bin 56780 -> 0 bytes .../font-awesome-4.3.0/less/mixins.less | 27 - .../font-awesome-4.3.0/scss/_mixins.scss | 27 - .../font-awesome-4.7.0/HELP-US-OUT.txt | 7 + .../css/font-awesome.css | 558 +++- .../css/font-awesome.min.css | 4 + .../font-awesome-4.7.0/fonts/FontAwesome.otf | Bin 0 -> 134808 bytes .../fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes .../fonts/fontawesome-webfont.svg | 2671 +++++++++++++++++ .../fonts/fontawesome-webfont.ttf | Bin 122092 -> 165548 bytes .../fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes .../less/animated.less | 0 .../less/bordered-pulled.less | 9 + .../less/core.less | 3 +- .../less/fixed-width.less | 0 .../less/font-awesome.less | 3 +- .../less/icons.less | 197 +- .../less/larger.less | 0 .../less/list.less | 0 .../font-awesome-4.7.0/less/mixins.less | 60 + .../less/path.less | 2 +- .../less/rotated-flipped.less | 0 .../less/screen-reader.less | 5 + .../less/stacked.less | 0 .../less/variables.less | 202 +- .../scss/_animated.scss | 0 .../scss/_bordered-pulled.scss | 9 + .../scss/_core.scss | 3 +- .../scss/_fixed-width.scss | 0 .../scss/_icons.scss | 197 +- .../scss/_larger.scss | 0 .../scss/_list.scss | 0 .../font-awesome-4.7.0/scss/_mixins.scss | 60 + .../scss/_path.scss | 0 .../scss/_rotated-flipped.scss | 0 .../scss/_screen-reader.scss | 5 + .../scss/_stacked.scss | 0 .../scss/_variables.scss | 202 +- .../scss/font-awesome.scss | 3 +- .../appearance/templates/appearance/base.html | 4 +- .../appearance/dashboard_widget.html | 4 +- 48 files changed, 4180 insertions(+), 659 deletions(-) delete mode 100644 mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/css/font-awesome.min.css delete mode 100644 mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/fonts/FontAwesome.otf delete mode 100644 mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/fonts/fontawesome-webfont.eot delete mode 100644 mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/fonts/fontawesome-webfont.svg delete mode 100644 mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/fonts/fontawesome-webfont.woff delete mode 100644 mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/fonts/fontawesome-webfont.woff2 delete mode 100644 mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/mixins.less delete mode 100644 mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_mixins.scss create mode 100644 mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/HELP-US-OUT.txt rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/css/font-awesome.css (74%) create mode 100644 mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/css/font-awesome.min.css create mode 100644 mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/fonts/FontAwesome.otf create mode 100644 mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/fonts/fontawesome-webfont.eot create mode 100644 mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/fonts/fontawesome-webfont.svg rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/fonts/fontawesome-webfont.ttf (50%) create mode 100644 mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/fonts/fontawesome-webfont.woff create mode 100644 mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/less/animated.less (100%) rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/less/bordered-pulled.less (56%) rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/less/core.less (66%) rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/less/fixed-width.less (100%) rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/less/font-awesome.less (81%) rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/less/icons.less (74%) rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/less/larger.less (100%) rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/less/list.less (100%) create mode 100644 mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/mixins.less rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/less/path.less (87%) rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/less/rotated-flipped.less (100%) create mode 100644 mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/screen-reader.less rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/less/stacked.less (100%) rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/less/variables.less (73%) rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/scss/_animated.scss (100%) rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/scss/_bordered-pulled.scss (56%) rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/scss/_core.scss (66%) rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/scss/_fixed-width.scss (100%) rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/scss/_icons.scss (74%) rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/scss/_larger.scss (100%) rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/scss/_list.scss (100%) create mode 100644 mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_mixins.scss rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/scss/_path.scss (100%) rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/scss/_rotated-flipped.scss (100%) create mode 100644 mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_screen-reader.scss rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/scss/_stacked.scss (100%) rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/scss/_variables.scss (73%) rename mayan/apps/appearance/static/appearance/packages/{font-awesome-4.3.0 => font-awesome-4.7.0}/scss/font-awesome.scss (79%) diff --git a/mayan/apps/appearance/static/appearance/css/base.css b/mayan/apps/appearance/static/appearance/css/base.css index ace6e9cf3d..97c832828e 100644 --- a/mayan/apps/appearance/static/appearance/css/base.css +++ b/mayan/apps/appearance/static/appearance/css/base.css @@ -151,15 +151,19 @@ a i { padding-right: 3px; } -.panel-dashboard-widget { +.dashboard-widget { box-shadow: 1px 1px 1px rgba(0,0,0,0.3); border: 1px solid black; } -.panel-dashboard-widget .panel-heading i { +.dashboard-widget .panel-heading i { text-shadow: 1px 1px 1px rgba(0,0,0,0.3); } +.dashboard-widget-icon { + font-size: 200%; +} + .select2-container--default .select2-selection--multiple .select2-selection__choice .label { padding-bottom: 1px; } diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/css/font-awesome.min.css b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/css/font-awesome.min.css deleted file mode 100644 index 24fcc04c4e..0000000000 --- a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/css/font-awesome.min.css +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.3.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.3.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.3.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.3.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0)}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-genderless:before,.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"} \ No newline at end of file diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/fonts/FontAwesome.otf b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/fonts/FontAwesome.otf deleted file mode 100644 index f7936cc1e789eea5438d576d6b12de20191da09d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 93888 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 z -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 E0UHWiZ2$lO diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/fonts/fontawesome-webfont.eot b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/fonts/fontawesome-webfont.eot deleted file mode 100644 index 33b2bb80055cc480e797de704925acaba4ba7d7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60767 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%0DKehr}RFC`2XTB_?==0w^)u1m5PYii@6f)6_5Ydu zv+NIZ_(Rt}Q++LT5!n8!J4x!>sE&v_3*cXat{Zq5;17w;B6$epw}$Rg`0nFJg5D-L zYvw@(goc5TeJjM($AJAZxZHZN}RzBcP0=_>ZI6WVGU zO#Nk-YqZTa3{!84P0K~GsI#32<+_AsXU43wILwZS(8n%S9)lP!Dg$$e2$$9$E?^Nj zql4do#+a8qEP(bD2)DpP|$dp<`TZ#bY6^~7Xv_Lle)77^OsVhMOm(@ z??8O8kA%}ZWpR&2v!7qFSw@TF6d*=9YT^Rtk(n8p=CQWvt1Om=n&5uP;GiT6 zMRvbm39kbp*KB`qoVg12w52Z)T}`X41P>D|q_%K#zuhwb+BpEogY0E)KnSy#@+(m5 z20@LG@LUEvk`I|OIUV^^0_YtG9AElBS!Dsh%k^P9r0moJ25Lkm-gh#igwBDhAOj0!EF&8MxV^-m1U1MEd?H7} zL;r;tfFIT|ei3-Z@gyM=!%Ba7Pa626JRAA`V<2D<{RLRT@0o=bE)XF)nFtUL67`2L z{?_Qz_`Yy2t+I)?9&z#z__Q%L3pnhN}U z_rN#WU)kD59D4whbSYERHY01jM7id50EuI1ctl?<_IT=Y5vP>(sNNkB&U5&F&^kBhm5y{o!y!F+4wdxXoy;!4$W`?_nL(+bK_QDAMUV1O0AwZ| z6j)s}9YEZbY-C^Y)9Ej`aS&~{sXCG2SS3ce$EY;Yv-c8TlrD$C85ATlLZpGP_YWfi z`RQ?z1@zIfa{yqfsUDMEPpwuX%XHdO+ASb3EPi1fBPocvfgsC0xa^CG2SWBPWQ&GS zpCXPti8b>WkYbf#Vg%A?&_UwUsUQE_t4GX?7QqUpKJ2Iw#%)Q4Ft(`9Ja&Yk{C@38 z@%T`)#wWy(kKfEH;ZBQ(m*Iq&L=<)4D7tNO{SsA4Fp4D?(Ex6nQS&f3TK|atgj`fE z2|OX0(&(ZqxJd~IANX&dvX?U14_<~h2(lP6k^H8ep;2HW6oPo?U%v{M>|{sU~;p zLTv$OTx3H^4zNUn4wUfo>j{CEvTC@C+cw+cW*ABH6u@!M2EdBL?1GbL_#e;7YDBas zic?MTazk(khXSyPeDom_I~wkLv?Wr8<%egEfM!*M9^kl$>zsVzaP}S!gcD3;Czy#58RTm?`p)RTS8I<-sC3+*n{A)P*rU!@Npj`e{x9xsif2v zTW`{q3p^?A!Mk60Q{(FLt(&TVe9z z0-!PiOV02JcNeq?AbJaI+B9xC;LB=}Ho0vH(@;Qe0zq~-8ckOa!(u@Wou`p_TR|QT z38H`lJE$G{q1egUX@&v$x7wNLWD#j*!D58GLv^bT+jpdKBrK#SsQsWK(+RO40VA^w z0nA7MN1Y1Fc#5JkwD5TtHG1t;lo=i)U+kFG?1Jh11h9382!marrRE2eZh;JGh`wNO zQA_~n?%97HOKLA^#oG(5*bgSllS%rOc(S%Yj00cYR;!D9G_90{pfq7D4I*$k?byOV zR|epi%oIJ{ou`5zS!-_dnxOa{uNv)(luMo^5TCOItq}2}sxCztLEzBGS)Mf6dzaw< z!GweAgvFYJu&mH(Vl9HJBV%=Jz~~i%nDGIF9ncTET-AQ=fv{L11&K_;ei!iht(!De;ym|y7ksL|^5Ko~B-vSh80++s?unD}bZaYa@ zPH4M$&fw;xEGN3_H1vHW><%-+dg7dfW)F8$bB+h7sThoOtteO(v{&-+iK}r$%G))# z*Nhx^!ZMj1VeG?EkWg+0CYQSX1t96fV9^3c+9C393LU&CHsFCa1q99$`zTMsEWwLc zxsw1|A?k8-m8HCrk6;K7dhNDJN3R9iws%6vTq_}PtR2CZ8TG;ltZ4I}sU+^s8`P3F5QxrypG1-{ zGlr^7$Wsy(lo=xfC~BpKfg<2z4OEeEF@~x{Pi7O#CvqMJy+f+}=CB_$&IuEslB@s# J000000038FvZ??8 diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/fonts/fontawesome-webfont.svg b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/fonts/fontawesome-webfont.svg deleted file mode 100644 index 1ee89d4368..0000000000 --- a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,565 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/fonts/fontawesome-webfont.woff b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/fonts/fontawesome-webfont.woff deleted file mode 100644 index 8b280b98fa2fa261aa4b0f8fd061f772073ef83e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71508 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 diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/mixins.less b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/mixins.less deleted file mode 100644 index c97f4604ca..0000000000 --- a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/mixins.less +++ /dev/null @@ -1,27 +0,0 @@ -// Mixins -// -------------------------- - -.fa-icon() { - display: inline-block; - font: normal normal normal @fa-font-size-base/1 FontAwesome; // shortening font declaration - font-size: inherit; // can't have font-size inherit on line above, so need to override - text-rendering: auto; // optimizelegibility throws things off #1094 - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - transform: translate(0, 0); // ensures no half-pixel rendering in firefox - -} - -.fa-icon-rotate(@degrees, @rotation) { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation); - -webkit-transform: rotate(@degrees); - -ms-transform: rotate(@degrees); - transform: rotate(@degrees); -} - -.fa-icon-flip(@horiz, @vert, @rotation) { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1); - -webkit-transform: scale(@horiz, @vert); - -ms-transform: scale(@horiz, @vert); - transform: scale(@horiz, @vert); -} diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_mixins.scss b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_mixins.scss deleted file mode 100644 index 6b7f160931..0000000000 --- a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_mixins.scss +++ /dev/null @@ -1,27 +0,0 @@ -// Mixins -// -------------------------- - -@mixin fa-icon() { - display: inline-block; - font: normal normal normal #{$fa-font-size-base}/1 FontAwesome; // shortening font declaration - font-size: inherit; // can't have font-size inherit on line above, so need to override - text-rendering: auto; // optimizelegibility throws things off #1094 - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - transform: translate(0, 0); // ensures no half-pixel rendering in firefox - -} - -@mixin fa-icon-rotate($degrees, $rotation) { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); - -webkit-transform: rotate($degrees); - -ms-transform: rotate($degrees); - transform: rotate($degrees); -} - -@mixin fa-icon-flip($horiz, $vert, $rotation) { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); - -webkit-transform: scale($horiz, $vert); - -ms-transform: scale($horiz, $vert); - transform: scale($horiz, $vert); -} diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/HELP-US-OUT.txt b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/HELP-US-OUT.txt new file mode 100644 index 0000000000..83d083dd77 --- /dev/null +++ b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/HELP-US-OUT.txt @@ -0,0 +1,7 @@ +I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, +Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, +comprehensive icon sets or copy and paste your own. + +Please. Check it out. + +-Dave Gandy diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/css/font-awesome.css b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/css/font-awesome.css similarity index 74% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/css/font-awesome.css rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/css/font-awesome.css index 2dcdc22072..ee906a8196 100644 --- a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/css/font-awesome.css +++ b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/css/font-awesome.css @@ -1,13 +1,13 @@ /*! - * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */ /* FONT PATH * -------------------------- */ @font-face { font-family: 'FontAwesome'; - src: url('../fonts/fontawesome-webfont.eot?v=4.3.0'); - src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.3.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.3.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.3.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular') format('svg'); + src: url('../fonts/fontawesome-webfont.eot?v=4.7.0'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg'); font-weight: normal; font-style: normal; } @@ -18,7 +18,6 @@ text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; - transform: translate(0, 0); } /* makes the font 33% larger relative to the icon container */ .fa-lg { @@ -65,6 +64,19 @@ border: solid 0.08em #eeeeee; border-radius: .1em; } +.fa-pull-left { + float: left; +} +.fa-pull-right { + float: right; +} +.fa.fa-pull-left { + margin-right: .3em; +} +.fa.fa-pull-right { + margin-left: .3em; +} +/* Deprecated as of 4.4.0 */ .pull-right { float: right; } @@ -106,31 +118,31 @@ } } .fa-rotate-90 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .fa-rotate-180 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .fa-rotate-270 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); } .fa-flip-horizontal { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; -webkit-transform: scale(-1, 1); -ms-transform: scale(-1, 1); transform: scale(-1, 1); } .fa-flip-vertical { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; -webkit-transform: scale(1, -1); -ms-transform: scale(1, -1); transform: scale(1, -1); @@ -628,6 +640,7 @@ .fa-credit-card:before { content: "\f09d"; } +.fa-feed:before, .fa-rss:before { content: "\f09e"; } @@ -1370,7 +1383,7 @@ .fa-digg:before { content: "\f1a6"; } -.fa-pied-piper:before { +.fa-pied-piper-pp:before { content: "\f1a7"; } .fa-pied-piper-alt:before { @@ -1496,6 +1509,7 @@ content: "\f1ce"; } .fa-ra:before, +.fa-resistance:before, .fa-rebel:before { content: "\f1d0"; } @@ -1509,6 +1523,8 @@ .fa-git:before { content: "\f1d3"; } +.fa-y-combinator-square:before, +.fa-yc-square:before, .fa-hacker-news:before { content: "\f1d4"; } @@ -1533,7 +1549,6 @@ .fa-history:before { content: "\f1da"; } -.fa-genderless:before, .fa-circle-thin:before { content: "\f1db"; } @@ -1738,6 +1753,7 @@ .fa-mercury:before { content: "\f223"; } +.fa-intersex:before, .fa-transgender:before { content: "\f224"; } @@ -1765,6 +1781,9 @@ .fa-neuter:before { content: "\f22c"; } +.fa-genderless:before { + content: "\f22d"; +} .fa-facebook-official:before { content: "\f230"; } @@ -1799,3 +1818,520 @@ .fa-medium:before { content: "\f23a"; } +.fa-yc:before, +.fa-y-combinator:before { + content: "\f23b"; +} +.fa-optin-monster:before { + content: "\f23c"; +} +.fa-opencart:before { + content: "\f23d"; +} +.fa-expeditedssl:before { + content: "\f23e"; +} +.fa-battery-4:before, +.fa-battery:before, +.fa-battery-full:before { + content: "\f240"; +} +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: "\f241"; +} +.fa-battery-2:before, +.fa-battery-half:before { + content: "\f242"; +} +.fa-battery-1:before, +.fa-battery-quarter:before { + content: "\f243"; +} +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\f244"; +} +.fa-mouse-pointer:before { + content: "\f245"; +} +.fa-i-cursor:before { + content: "\f246"; +} +.fa-object-group:before { + content: "\f247"; +} +.fa-object-ungroup:before { + content: "\f248"; +} +.fa-sticky-note:before { + content: "\f249"; +} +.fa-sticky-note-o:before { + content: "\f24a"; +} +.fa-cc-jcb:before { + content: "\f24b"; +} +.fa-cc-diners-club:before { + content: "\f24c"; +} +.fa-clone:before { + content: "\f24d"; +} +.fa-balance-scale:before { + content: "\f24e"; +} +.fa-hourglass-o:before { + content: "\f250"; +} +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\f251"; +} +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\f252"; +} +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\f253"; +} +.fa-hourglass:before { + content: "\f254"; +} +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: "\f255"; +} +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: "\f256"; +} +.fa-hand-scissors-o:before { + content: "\f257"; +} +.fa-hand-lizard-o:before { + content: "\f258"; +} +.fa-hand-spock-o:before { + content: "\f259"; +} +.fa-hand-pointer-o:before { + content: "\f25a"; +} +.fa-hand-peace-o:before { + content: "\f25b"; +} +.fa-trademark:before { + content: "\f25c"; +} +.fa-registered:before { + content: "\f25d"; +} +.fa-creative-commons:before { + content: "\f25e"; +} +.fa-gg:before { + content: "\f260"; +} +.fa-gg-circle:before { + content: "\f261"; +} +.fa-tripadvisor:before { + content: "\f262"; +} +.fa-odnoklassniki:before { + content: "\f263"; +} +.fa-odnoklassniki-square:before { + content: "\f264"; +} +.fa-get-pocket:before { + content: "\f265"; +} +.fa-wikipedia-w:before { + content: "\f266"; +} +.fa-safari:before { + content: "\f267"; +} +.fa-chrome:before { + content: "\f268"; +} +.fa-firefox:before { + content: "\f269"; +} +.fa-opera:before { + content: "\f26a"; +} +.fa-internet-explorer:before { + content: "\f26b"; +} +.fa-tv:before, +.fa-television:before { + content: "\f26c"; +} +.fa-contao:before { + content: "\f26d"; +} +.fa-500px:before { + content: "\f26e"; +} +.fa-amazon:before { + content: "\f270"; +} +.fa-calendar-plus-o:before { + content: "\f271"; +} +.fa-calendar-minus-o:before { + content: "\f272"; +} +.fa-calendar-times-o:before { + content: "\f273"; +} +.fa-calendar-check-o:before { + content: "\f274"; +} +.fa-industry:before { + content: "\f275"; +} +.fa-map-pin:before { + content: "\f276"; +} +.fa-map-signs:before { + content: "\f277"; +} +.fa-map-o:before { + content: "\f278"; +} +.fa-map:before { + content: "\f279"; +} +.fa-commenting:before { + content: "\f27a"; +} +.fa-commenting-o:before { + content: "\f27b"; +} +.fa-houzz:before { + content: "\f27c"; +} +.fa-vimeo:before { + content: "\f27d"; +} +.fa-black-tie:before { + content: "\f27e"; +} +.fa-fonticons:before { + content: "\f280"; +} +.fa-reddit-alien:before { + content: "\f281"; +} +.fa-edge:before { + content: "\f282"; +} +.fa-credit-card-alt:before { + content: "\f283"; +} +.fa-codiepie:before { + content: "\f284"; +} +.fa-modx:before { + content: "\f285"; +} +.fa-fort-awesome:before { + content: "\f286"; +} +.fa-usb:before { + content: "\f287"; +} +.fa-product-hunt:before { + content: "\f288"; +} +.fa-mixcloud:before { + content: "\f289"; +} +.fa-scribd:before { + content: "\f28a"; +} +.fa-pause-circle:before { + content: "\f28b"; +} +.fa-pause-circle-o:before { + content: "\f28c"; +} +.fa-stop-circle:before { + content: "\f28d"; +} +.fa-stop-circle-o:before { + content: "\f28e"; +} +.fa-shopping-bag:before { + content: "\f290"; +} +.fa-shopping-basket:before { + content: "\f291"; +} +.fa-hashtag:before { + content: "\f292"; +} +.fa-bluetooth:before { + content: "\f293"; +} +.fa-bluetooth-b:before { + content: "\f294"; +} +.fa-percent:before { + content: "\f295"; +} +.fa-gitlab:before { + content: "\f296"; +} +.fa-wpbeginner:before { + content: "\f297"; +} +.fa-wpforms:before { + content: "\f298"; +} +.fa-envira:before { + content: "\f299"; +} +.fa-universal-access:before { + content: "\f29a"; +} +.fa-wheelchair-alt:before { + content: "\f29b"; +} +.fa-question-circle-o:before { + content: "\f29c"; +} +.fa-blind:before { + content: "\f29d"; +} +.fa-audio-description:before { + content: "\f29e"; +} +.fa-volume-control-phone:before { + content: "\f2a0"; +} +.fa-braille:before { + content: "\f2a1"; +} +.fa-assistive-listening-systems:before { + content: "\f2a2"; +} +.fa-asl-interpreting:before, +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; +} +.fa-deafness:before, +.fa-hard-of-hearing:before, +.fa-deaf:before { + content: "\f2a4"; +} +.fa-glide:before { + content: "\f2a5"; +} +.fa-glide-g:before { + content: "\f2a6"; +} +.fa-signing:before, +.fa-sign-language:before { + content: "\f2a7"; +} +.fa-low-vision:before { + content: "\f2a8"; +} +.fa-viadeo:before { + content: "\f2a9"; +} +.fa-viadeo-square:before { + content: "\f2aa"; +} +.fa-snapchat:before { + content: "\f2ab"; +} +.fa-snapchat-ghost:before { + content: "\f2ac"; +} +.fa-snapchat-square:before { + content: "\f2ad"; +} +.fa-pied-piper:before { + content: "\f2ae"; +} +.fa-first-order:before { + content: "\f2b0"; +} +.fa-yoast:before { + content: "\f2b1"; +} +.fa-themeisle:before { + content: "\f2b2"; +} +.fa-google-plus-circle:before, +.fa-google-plus-official:before { + content: "\f2b3"; +} +.fa-fa:before, +.fa-font-awesome:before { + content: "\f2b4"; +} +.fa-handshake-o:before { + content: "\f2b5"; +} +.fa-envelope-open:before { + content: "\f2b6"; +} +.fa-envelope-open-o:before { + content: "\f2b7"; +} +.fa-linode:before { + content: "\f2b8"; +} +.fa-address-book:before { + content: "\f2b9"; +} +.fa-address-book-o:before { + content: "\f2ba"; +} +.fa-vcard:before, +.fa-address-card:before { + content: "\f2bb"; +} +.fa-vcard-o:before, +.fa-address-card-o:before { + content: "\f2bc"; +} +.fa-user-circle:before { + content: "\f2bd"; +} +.fa-user-circle-o:before { + content: "\f2be"; +} +.fa-user-o:before { + content: "\f2c0"; +} +.fa-id-badge:before { + content: "\f2c1"; +} +.fa-drivers-license:before, +.fa-id-card:before { + content: "\f2c2"; +} +.fa-drivers-license-o:before, +.fa-id-card-o:before { + content: "\f2c3"; +} +.fa-quora:before { + content: "\f2c4"; +} +.fa-free-code-camp:before { + content: "\f2c5"; +} +.fa-telegram:before { + content: "\f2c6"; +} +.fa-thermometer-4:before, +.fa-thermometer:before, +.fa-thermometer-full:before { + content: "\f2c7"; +} +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: "\f2c8"; +} +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: "\f2c9"; +} +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: "\f2ca"; +} +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: "\f2cb"; +} +.fa-shower:before { + content: "\f2cc"; +} +.fa-bathtub:before, +.fa-s15:before, +.fa-bath:before { + content: "\f2cd"; +} +.fa-podcast:before { + content: "\f2ce"; +} +.fa-window-maximize:before { + content: "\f2d0"; +} +.fa-window-minimize:before { + content: "\f2d1"; +} +.fa-window-restore:before { + content: "\f2d2"; +} +.fa-times-rectangle:before, +.fa-window-close:before { + content: "\f2d3"; +} +.fa-times-rectangle-o:before, +.fa-window-close-o:before { + content: "\f2d4"; +} +.fa-bandcamp:before { + content: "\f2d5"; +} +.fa-grav:before { + content: "\f2d6"; +} +.fa-etsy:before { + content: "\f2d7"; +} +.fa-imdb:before { + content: "\f2d8"; +} +.fa-ravelry:before { + content: "\f2d9"; +} +.fa-eercast:before { + content: "\f2da"; +} +.fa-microchip:before { + content: "\f2db"; +} +.fa-snowflake-o:before { + content: "\f2dc"; +} +.fa-superpowers:before { + content: "\f2dd"; +} +.fa-wpexplorer:before { + content: "\f2de"; +} +.fa-meetup:before { + content: "\f2e0"; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/css/font-awesome.min.css b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/css/font-awesome.min.css new file mode 100644 index 0000000000..540440ce89 --- /dev/null +++ b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/fonts/FontAwesome.otf b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/fonts/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..401ec0f36e4f73b8efa40bd6f604fe80d286db70 GIT binary patch literal 134808 zcmbTed0Z368#p`*x!BDCB%zS7iCT}g-at@1S{090>rJgUas+}vf=M{#z9E1d;RZp( zTk)*csx3XW+FN?rySCrfT6=x96PQ4M&nDV$`+NU*-_Pr^*_qjA=9!u2oM&cT84zXq}B5k!$BD4Vu&?bM+1pscNs?|}TanB=Gw z>T*v6IVvN? z<7If|L2rZi0%KIN{&DZI4@2I75Kod~vRI*C@Lrk$zoRI`^F$Oyi5HuU*7@mriz!*p z<-;A`Xy{#P=sl02_dFc|Je%0lCgxR=#y~GBP(blD-RPP8(7$Z9zY}6%V9+^PV9-}S zeJrBBmiT&{^*|I7AO`uM0Hi@<&?Gbsg`hd;akL06LCaAD+KeKR9vM(F+JQ1r4k|#^ zs1dcJZgd2lM9-ss^cuQ?K0u$NAJA{;Pc%#+ibshkZ%Rq2DJ}Id^(YlWJx)DIMNpAc z5|u*jq{^s9s)OpGj#8(nv(yXJOVn%B73xFkTk0q37wW$hrbawy4?hpJ#{`cMkGUR8 zJl1$@@QCv;d1QK&dhGIO_1Npt2c7Ttc++FR<7`t1o^76cJ&$`{^t|GE>K)k3GNh{I92zC*(@N#&?yeeKjuZ6dlx1V>2carxUub+37cb#{GcawLQFW@Wryy^!4biE!Rvyz z1Ro2&68s>zBluk~A`}Rv!iR*c@Dbr8VURFXxJ0-?Xb@%!i-a}8CSkYmfbf{`wD2Y2 zHQ|TCuZ2Gd?+E`8Iz?iUS~N~HT@)&sEqYwENVHt^j3`EwC^CsML}j8zQLCs&bWn6u zbWZe&=$hzV(PyIXMgJ8IdI`P!y)<59y>wnnyw-WednI|Lc%^yedzE{&dmZ&U;dS2Y zC9k)=KJoh6>nE?fUc)p+Gqf+QqQ}#Z(Ua+EbTA!ChtYHBC+G$AVtOSVNypHsw2f|| z57Ecylk_F}HTnwuKK%v#9sN5!#306#5i&|f&5UPs%mQXL6UD?a$&8iBWb&C3W*5`Q zv@>1IKIR~ElsV0uWu9j)F|RV0nGcyynO~Sc#7N8&dy5s~(c*F9N5zxH)5SV*n0T&u zzW7P;)8bX)2=RLHX7M(0tk@t<5~ql*;tX-NIA2^QwuyI%8^q1xc5#<@ulRuYi1@hp zwD_F(g7_uz8{)Uc?~6Yae=7b${Ehf~@h$Nk@$ce$;z9ASgp!CPGKrr=CDBO6NhV2x zB{L+mB~M7gB}*jBBr7HBBpW4LCDD>N$##iRVwR*yvLv~ZLP@ElQc@#nl(b4ZC3__M zB!?u&Bqt@$NzO|yNnVz`E_qY(w&Z=uhmubvUr4@@d@s2rxg+^qa!)cS8J1E~zSK)9 zk@`rL(f}zd9W5OveN;MGI$f%hhDqm2=Svq!mr7Si*GSh%H%hlkqor}u?NX!EEKQSU zNpq!z(o$)qv_@JlZIZT0cT0Pu`=y7aebQ6Xv(gu&FG^pLz9GFTeMkC%^dspF>6g-P zrT>xsB>hGDhxAYBkaR@mArr`GnN;R0^OLD$8rc}xc-dpJDY770sBD((aoGadV%bvJ z3fUUjI@w0qR#~(xPPScUl$m8|vMgDytWZ`etCZEq>Sax`HrZ}jk8Ho}u&ht^oa~~k zU-p{pitJt4N3t8TFJ<4#{v-QI_KWNf*`Kl@*@(A?x4@hBmU{bo`+2LpHQr;q$9q5K zJ;gi7JIs5Y_Y&_F-p_b%_Kxx1?!Ci1!#mHr)Vtc-?%nR)<9*2cg!eh`7rkHie#`s1 z_YLoFynpom)%#EHVIQ6kPx>cKQ_h zRQS~TH2duK+2?cA=d{lYJ}>)R@p;$hBcCsPzVo^5^M}u%FY*=oN_~BO1AIsMPVk-L ztMi@Xo9LSspA==WB&S*uVl4V7bBsZ6Ow%WsQuJUl%vOsv%FNx7`s5UAW~xPRj!Q^N zwi+UnqRjDntAR@;SgfW*vp(6Brq42&k|Pt0u7@erYKn`qB*Yt|l44BpR&$iaU;sM- z4d^4IlC0K*WWCuG6&q_xHzvW8D|?VmP2oxsjM1iyl%%N4$e09kOp@NLPtiwN&H6aA z-eTa;a#fN{F^O?WQSqF~OEH*?dP|xqDK%Li3CQoKxK{5cQ&V=BV@$F7Xc#FxtWojs zXNfkM61h7$%AA;DPB2qoM4Ov7+011Nf%sPRE(aRk;t@!SiLC) z(4}(2HO9bnN2Nq^J%e^*xrU$#s~$RKF+`d5K(ClYZt5*oeM)3>R7_%elsPso3MS`4 z=E0Mj$&@IdAbalxm6OD4U#Myq|K@ z-&JTzbUk*Y0-^+{&H*ME<4mrECC04R8!ZMC(2?u*ebPc5H;tpCU=m%_jxw7~>F%j@ zrQFl$N~Wf`Uvh+X%>u^=z!V8t`pCG{q@?>vOLA0Fl0G9QDJnVY@1Ddb#95Q{QE_nz z(2-1F6PRS~8IxqP=wV8rtMRU$!gLw+F;Pi+V=Q2cGRB&cV@%1(K)mFrc%%OB*-1@# zFgILx%zA6OUJtY}rKE5z#efjS0T1cTZVdO+9M=22Ow*gK34rH*)?hLxWC7zvB>|5{ z#sH12*7O8mIkT%*9G`Hk>dLs;G!k%{O^NzUkTT2tE?TUH)Z}POWNL~_)Z7`ae_Ylj z(7?KJE)jQ&Hb*3o*rWtwBJh@*Xep@{0}KNAUT+2=21z$2x`_$+QVf~#34kTq)f2bC zy5teaYIF&ri#6S?KM*c=&h^$+?f%Ff49eYLDyV~)MBo$Pac=%%%@&IxHZ~dv3zK7v z)+Z&!aB~(1vu4#BfHILT-f*QjQFJ9zQ(O;j%x->){2xR8tH4$FUnM|M7YE+2!8H+| zWQx|On?W8yq%DaSP+~AC(dGnwTuhWj&oP~wvyCRJen%=uy)iDqm|)FJ(pxO9f_SqD zCJAN`7%eq6S|0`S9FuB|F{OY|rnuN6A;l5}g3RfWXkb3jsU|ZpPHK`V$znApB!a$$ zM&b>rphC>h6sWK0Bt38=XbW>{Od`+XNK_^W~`uM1%SkU{?CLrT| z*5rU5a4DAt4QsU|SYaF~z_MnbZd3}WFFoi`11Pc7q-YRfpk=(?HFGY!oON*L+>FN= zrpV-2sAV;nKn7Cumed63yhYD(iyLEHoL(PiGR3;=k4uAd$Ws$QzZ>JBRtl%)qmlt( zlrcu1tdC7hu*PwHfTp+Wtez}SISAlE3{#BBi@~MV=s9VU~oa*A29jU;4uHLv)t`=cj zMkBD=0}Gn;Kx|?3|5QxeB>h7H-63>M1rORUPw)_81!IgVnE33zbVFL~|4d{TmH>B{(ST?=mZBvFKDQ zs6e71u%5ZNZgM&lh)@6d3N{!aL268{00aWAef0lv1i^_}z`hyP% zyasc1UyCFdAscUwN{$1kE)jexW8Cx^)1woB65NEk+OUEqN;12DT?I)dX#Iaq$3L>1 z0{Z(M#~c61xyK|v7Q!EnR;&(y&k3ik}S zXTlwpYD`!>eg3q#=~2@ogTnwcEEv)N8U~)gNue|5Zu9Vhq$UQ zm=4KMxM#pU6K(*VJ`HXtpAMkY0d#r@+&Z`cZaTnC2e|2O?BUZ~t%L(~5I_e3bPzxX z0dx>R2LW^tKnFpq!O&_jzy$+bFu(=7JFw8*!oumUh8A)!p+c~``Gq=nX{h@Ft%X3% z5Wo-u7(xI;2v-IbLfjP=0TLY`(Lp;p0M!Ag4nTDPssm6Rfa;(#p#T>OaG?Mf3UHzB z&MfAN0W@?*-1IoE7(i!0*$e=k0iZLWYz8zr1Dc!>3NSJ7geGSI+)RL*32;EO5TIEI z&@2RK76LR20h)yX%|d1ZTo}NG0UQu4Bn;rfLgIqB84nAECszh=Krr33X>d=6I|%Mz zxI^I9!5s?s47g{)9hRo&)&V*omkuiHfLuBtmk!9K19ItrTsk0^ZaOp=1PulO91uze zgwg?_bU-K_5K0Gx(gC4#Kqws$N(Y3}0ikq2C>;pDE*Ri~0WKKefIhllfC~Y*5P%B- zI3SA-$f5(X=zuIbAd3#jq6+~y9l!xibU+gw&_o9`(E&|#KocF%L`hz;)DWmLP3;5fv}-Kn^2%lD9|PpXcG#w z2?g4O0&PNpHlaY9P@qjH&?XdU6AH8m1=@rHZ9;)Ip+K8ZpiO9yi^YTHyZbQTB``tr zgIpb(AMAd(*f?muyEF4$ViPofhWp)2_v3ym^WC`x?nk)$vC#ck*h}=pfDBO)G+>I#QjVRoW zDBO)G+>I#QjVRoWDBO)G+>I#QjVRoWDBO)G+>OYsYl7UmCTO7>(Ly((g>FP{jT5xc zjcB18(Ly((g>FO(-G~;t5iN8hTIfc!(2Z!3d+HXsN3_U|XptMyA~&K%?h!3=BU%JB z4s&B!kI%_aQR>IrR=x#+$+m z;mzdD<1ON?aK+rWLd3m{XXDlKF7tlj5kBJc_#(bPKaf9_AIz`iH}m)K`}oiCFYx>M zm-%n=-{;@vV?KeH`Llwpf*3)(AW4u1G4l#RpWvL}qTr5jrf`mMv2dxdS=b@mD?BVb zC463ZN%*qxvhY3O_rhO=4pE>e9OBP801EGXWnOSFyAwG zTv6*$;wj=_@l5eN@nZ2Zh*qaSY`R=r4N>V1@qY0M@g?y!@q6OWAO?L){EI{=882BR ziIpTnM7d02lhi{L`JCic$vcvdC7(mg_&<_gB)>zHn1$%@bchNskS>9k@H5g)QoS@! z+A2K_vEG-ZuS?&8IPWLY-yx#=u>zUPB{q&{POCP9RCmd^r+u&(rp@QL@y@~QS|_v!Z8?{m!OIiHIVSH0@lOL9!ke`vC zm%k`~TmGs1M>&>{C?twN#iNRuig}8ainWUMip`2>g+Y;`$W@dm8Wf$1Ud1uRDa8fF z%Zkg2w-oOyK2dzBxT(0M_(gG7NhzgDwQ`Jdsxm}5Tls`?vGQr%R{`icA`e!hMW`33q-@SEfp919`B@V$_Hqg<(g&v8BX9I=vHqtmmC?CQiTI)~<@i|)VblQ3H8$=5wV+lKpUN(tkX3=CokeSoksl^f7X+{TA zIF)6dh2AY2%Q6!H89e$99_(Y*(NEJ_CXL1~&@gHZ!{tKhI3Nu-(Ha=IyBUSBv$eHT zgB60#)|^Z&R`8NoCM!ETi&2iFnc+MaF`j>W($I9M|{Fdn9I0?i2Fo&$U{Z$8c3Z@s||tuw%~3Wi@-Qn;%~T~t_BQle$H z(%4@xz~aD7*k|q?4X(!xeC$IzBLc~&skAbfW@1}K{oBs2(=e?$os8k2kr~4h zJ2O0>T)++~{L*NRd_Vq^9U6!SiC8JPP*C~V5;d_4fTOkv@S@>s{2b%v$CGe8J!BW$ zWJe|m8oOG%dsIDzy=8keLkF>xe{|R014mR+Y`{OWCs<;@^T<4GVD_^hV!}nQuYO;{ z5XCB*xT4s7O{^guzsd)gfXJQqzy2L25&H1IC#;IT7k4stQAl`4B!EN5{B z%pdSc|Jk$sj4=3m_)QJ7aLt;9j9?+l;Lq7qmdS+Ivq3g^vuWr9Ori3g?wip|f$O8$ zKoRc7K@j_H<&QM^hJ3>(Z90(msVr_2V938oGun{|A+`@ijA8@%`OHKb zX4RUNno+1Fsm@K#$_0FLSyEoIDzhc4IalLA zb%1SMvT*GQkdEyv6C56npQmv*NZ^3*=Jo3^6G|OS!ffJ!A0cyp)U<7ESpTewESXBe z$ZR6j5FVLIBA1gywK2K6+Nce~K6us!{FM628+DDZYQJ1{Yuj%-_7@*4Jyh0S(blr7 zQ-nqAuHCuK`7N>MB2OiJDPqjMF*dWAQ9BcC&ID(IiorKn=&gOoj_sZd&SY^p4GIN6 z$ujr8`Q{!onZ=4VG(+JDv?mkDM~vf;4L=7e7Nj%+!^8^nu>vGj-o{J^t(iXu^z1a6 z0mZ>6lSYiTBz1Onc}b2oGRqXbRTVgdgMEsSh7)?(We#mOJJ+mOJP0 z(|Qi(A6B=uRoAs@&vhI)^SmmM?4jyV%qZQ#(?JiOp< zO{!&p^j-9@LQu~-JXr0BLP+N0wPX}7F42$#vX!5n)@nGY9y%j9*xJ{XrX>k@D<2ov z;k9@ap064LgRzKg!4DG~FhVD&S$f$cv~yq~%`67qSK?$420t)W6Gjt0(Gb6%U_j&E zc%%E!0Zp~w;f&=Ih*)jhQCFX?&9BMdRk$mb@co-hTT9zZMTPrL6hE)Vh1dg|@K!K* zTZoNO{z3a$X(ofl(}7b#UtVCzXvSV&Z`U&KzyA9B4F4p{ELy#Kk(SYcNpULjSf-&I zC$NOGes#q~y9(8uDPS^NbFd%F(Htv)nK+TfCuw38tlM_BUwZ`qLE~4!4&lS}a0Gsy z)i@LaJOb1^3B(c{rnOE5SBkCp2Rcz0O>36T0c(Z(aF&Ay)hz3moP-^ynaT#zZENX=Dem$rBj#FkIX-f$24$w)OS~yvH)( z;A7l3ngKsZp>)h9ckmtOY_fr@okIf1XkZJh%-n6NwH5?e3U*p|sN8HWU{vQg zCL+RkEEHe`i*@)@mf6%Uu+exiEpRDX8aihIL)OnReaLhgw+fiIp;iYz59ArZ1N^$W z8he9^5ti4N)s@r@Zyem{Z|+Sm1c_1NM_Js=uBDk{aG(Y}0$W-k%aA^j1y>(PYAw(T z+zKnO1%98!@D$>A;fbvRM)^KWHGP|@VZn;bpoa!(Sl4WS1|n(q!%|jb6E0=7PP@Zy zghoFgO>licKEUwAAHdZF*9VMpB6Jp?IRcHAdma(6LTQ!$uG!tPgz^r867LH@VA>{RgLukD%WQ6OsZCj^x4qz~8LrOebNhkr? zhA-l$aTnNsJcl$2$S9Iwjw&rKE3POGC>Jna&>Jp23*GpIQ^=f)f@R}>BQhZ34VuY? zuC(OB3vdOMU^W>c_GFn)xdG!Q_8Z-3M%jIh-&wc2wL|T=E9h*@$t=;PE#qgFWaMP2 zop%M91+ATRTE++?hk@I073jMNb_UCs&9<0cGt&Zt&uwAA!5GR1s|QvN61bM;yqFCe zz`4P-q;?feYH=;olG|l#X$fGIj>qtqNu8Y&vpO-(hm zc5O#vb9>EhY+ptD@9Hhso7N_RG2mP_3t9*N6mMs3^hANHvM2Ut83!nEPIqgioI}Ap z1!jzd;1ZSz)l6Zhy;JQJHyHgbL5aKZA zb(hGdvC@4#?Ry)wjXk9YGCG;OyqzUk>a3l0&3WL4tcPibPCGDuVP>#WUrwqV58>0~87#&v_za1|68Z4FK;8kSI~i6PbuJ&@4!#2{Vqkt@6*CBW zq^@pPT}^!eGrVzlV@XL_NqKPqQ_g}FCW-|#)7xu1ZSDo{#df;4m&vN%*__AV_vnc< ztWQ9f&-r{KOo>#5r5CZsjn6eVW?h8olB$@4yBkiYA0i8Ii+|h6)AqA!ybzBiW646s z&sK&@$s>5K20Z3KVyGY+Z7N$isbziwvcf!l0qZni2*D?ux8bmZ{_kk7Z*FE>ejwv4 zbdHCs&{^n!r=t+A@o*I~+Qz*6`kiWWejWLhq>&kaPQ)SF!4UxyB<#v;-jSl>Gy!K9 z_c!nB>ePHEWR}vf9AoeXS}I(AX~Ua%53qTT!;@|Wis8qh2iyWg3#%=of#GLn7MRT{ zbECO46BI#;)taIiFG#WW?AHQuh+RiB*5cfVZ=^pjXXMwjsOc zkew0cLXVfj0@@R=uF#&k)P3!ms3YH}Sa6as z-+zA+GXolCB%%>8a~>xQfqOv4<#Gf8qw+ZQUkE=Sl(6)xtKZdNR{`&U2{nTY%Z=Gy zQU@?kaW+rLjjCYpK2>ky-cG170gvZ*bTZ5S3j(38Pj8ECkL-!*sp+ZT(;%wrtK`(y z01g4q*A56nU{!-dJel_Py5?r>pr_+!zTJ*f@D^OGV%D(a3?88IT_J;)u-qaoyN@E#8N z^ERHLWduYvems$BhX*iN))}m0fC1Zjm{SewU=_fC!sS8&%w(Ed<}e?+tO*DVTnibc zjb?5OCxLy>IcnXjVQj0odcrtYOZ@ACHWTkB^Kz9)IrK@#E)UG?-_@ zyb8?I6c$t!s-r5ImuYEjb4^RDid!giOzq+bATcBw*$R$JIHO+5-eYcF4-aNs#yc&Z9}$OTab3Op!K zsi#?r5kN3(ctA*k8KJ|2W*Y1@b#+WBhy@XXJaSCQxr>XI5JASqMq`;Kld-bAz#$00 ztpcFt_QsBe-J-5)tZZ$AWh9Fys_?{Bn4R>8<~U#wLVSWzwKg=i)@Xj{dgtn?uS85y zNkc=G_ASRGep6Lr12>{F&gJADOr+tAHu+dj#*69~_v}8z2!d$r2jgt0YpT~ab=W(b zJ47G74Bb=05~M-RRIo}0>@4_3J@h$l%(1K^1eme4Lj_D}-_=l8r>SE?z=CZ86S8e& zIUj#3z}tqF^W95v5&=;zj_qMSouCH^rw1L}n$iK99dvpj=Sq}-Dj0CFsFSua$FYND zPO;olnE~&00?SOH$8oJ(gUJSmPspUu-~}@~tUIj*+5$_hX?G^01!GoJsIuU3WGsOG zeQ|v1iw{E-Ah;}8oko^b*A#PdasuQbgi|n#U^C0)=GoF(@|bS?1w>+UwkN0(S{Y$D zjA$O7#}Jli^7AV*8gm0cg@;4M8|<=lUq&}-bjUY<-uw33dw(+NiCU5+%q}j@)-ak$ zV^=|)i7GM?C@UchsS@NB+89kuQDJqV8u;ga?>H6f4(GwZl=v*SS`x%#fq>y#dXDBC zQ-e)v&&jOPGW^b}cJMHP-VQ#;_zG|&m|oztI3heD0H^c?uuv@gfh7oFhvfqi-60R*koEXQCOtVrdnj{zmqE>_i9bPb`GX62 z%G49LQ6IZ8mJvQn#{n`8INIQ-m3v0MgE_nfH^4OB@{rAN`_R8NF9v=C!@fh5W57ik%-Mi>^{T} zAofqh{)IFXkmhluc?M}pk>(20Qb_wa(#9a|5E``xjrtsoo`yz$h{jApW459(SJ1=L z(8JwmtQd{mfyRE0#@D3Q85wBC1vJxu!iLbSwP*{{<~*LE-IaVGUYz04?rEOYWd2m!c<6qo?@jsR*<}jaD?G6O-_{*1Urv_MvB%pml+0-2t@jI9m56dX`1&r=tz)(Z<)&rip0N z%V={r+TxA2^rJ0KwAGFxC!)wO6uAUNnowi|iu?dYeupA|N0EP_ZFMNhA4M%e(V-~% zB^3P~idltXE~D59DE0=@uRw82P+SL!yMy8%NAaH_Lpd_MixMWIgnX3n9ojw$ZNGsM z(^1kml+=onXQ1RRl>7!t{uLR=BI9giT#1Y^$XJYwmyq!-Wc&=7#voHYGQEaUSd=mz zr96&O)}tL1+CifoImrAJGS?%^Ok|mbEOU^h8d<(XmLX)VM5&c1Z4OF*3Z)xR`T)vU zf->GgnWIo<5y~2mc7~#zsc7f(C|irN3sLq*DCb3#%SX9wDEBv%>qL3aq5N=^-+}T! zK?OdjU^yx%K?S!^VHhg%Mn&PMC>s^EqoT8@I0zNjppu!WWF0Emg-U)!rK?bBIV$r) zWihDiYgDd4V8{4#1uMy)hzZ9r`lYF~xgO{l#ab@ZdokJ0YwXm=&r zeFJqphPpCP*Bhw27InXa_PmAmhoA#-=-?D|$P*oU5*_*o9af{m&!8il(UITK(dp>u zPw3bW==d&l!UvtWicU^IC&SUnbae7CI{7?0wF#XXM5mucr@PUa{ph)JbXJ7UJ%Y}) zq32oj{2g>Y8l8U^z3?`=a2#EnjV^wUE-BEZqv*w@sDCGV`8;}c3VPiez21r5SdHE| zhAzjU%YEp|W9Z5!=*=tWYCF2tjNYn1Z&#tWucCJX&^y`a-EHXIBj|&T=z~r)@CX`s z1%0>_efSdkh(aIzfK(Dxss|NMo1u%aJ6M?c1+A06nYN$97~(e0z?XMgl_8M?Cr z-T4;%`ULv*F8b{&^t%cDu?78CgYHg8gHebqrBFBpTm7Eh6pu&oj!^t*6#son@FgXT zr-U~tQ3WOHr9@v*USlbUQ`6s4%nFKWqQotfWHBY3LU{*JJ_5=olk(j``F=<#Kc)Oa zD8KKhhlVKsbCjxyQct7;HB{hoDzJ@W=TMpwO1q01b(R|aI5qkkYRqhEjDZ^SCH1hJ zdbo-j8%>Rir^YX&#@A631k{9TYQkx1!e`WkFQ^G$QI7;tk6fZ2y+l1WhI(u-HL;PJ z_$4*z32IUbHR&uhc`-Hl87ky)D&!!g%cXR`QK3RAl%+z0snEx%&{}GS7d3MX71lz9 zy-m%UOwC?Q&Hj;^6GqJ;)Z7Ww+|AV7R%-4`)Z>2C6C0>`YpD6}Q420m3l-F&`PAYo z)RIc-$w#Osd#I=Q)KkgSvL)2hfz;EVP|LScD>hOqFHx&9sMYhRHBxHrIBIPYwe~M+ z-4W{9)71J|)cQ5l`hC>;@2CwTYQq+4!w1yHd}`y%)TW8lCL^`!3bi?w+FVC%iKn)1 zptk-%MFvrkH>qtpYTGp`Y7Z6l3l+0~iuI&oXH&7yQn6`NY&)eNO~v_BaX(P;CMy1I z%CLemyh0@;QrqWI+drieuTx21P|1aqv5PWwQz=erhk-KJQr7cSY9f`kfl7~~GJdAA z)=@jnRCXbiGnL8}P`S@jc|}ydlPWkt6+c52S5w6!RB0+zrlraiRK=TAivl7{e^0k;pVIJl=A~4Sr zmb^S=Ab*r20=5#I5klDC;VB10R?)*D;Aab@fkPikN5!xh;yZTFK>k%nmXhqoQ!w0D z`nqozt^_Q@9)>G(x>pzi$Zj&3k1q>vKz!ymnp_qFm9B;FD#iR^J1oBn=phB{wUU8ByI>H$ zx8!$q^&C71XwoQrfyNoM=PID%C?&UCEhwxkFVqYV5Ia96*Ay3}8rg(L(}Np?fUSV< zJO&x*C>!j`DNaJG(1B7|a?Yb+Ls8lddmB)K6#yE|o@S4?6&lz_NK%B zkq5-McvwqBqNhLl@$vtvtKdW3|Ni*N)sM7Ti$$=S=i!I3M{ifpp6J)(lYyQ1kItoa2CREud1?qW}t zM4Dkg^u(WZ_eR(ZM4m(7XDhLZ?W2K;DP&7Sv38K>`~~8??IrDMDYinNha}2FiOrT> z8fWDINp)=E?=H;RV^ycIj%P?dzqq-zv{ikudG9{VMbCj6I~)g<*PUTb3Et$Cl1&4S zF!BbzGapVPj0g@yT%AR8J2pNGeYam|7_VzY*!nqQF95f6X_??}N zy}c^XE;S%19?&dkI$yl~L4z+~*L5H4Us%Ws+y(Fdhs9L_Wq|Ns$Xsne`9HBgz|0BS zI@STA#{FWu!U-$<>onnZrtTk~;dZTr?qf9E#+Bd{t+{3f-o#en+%_)cTwCLKgmtMA7k=EzdSd(S4Zx%j-keF30X!bM3MnU- z8j66_NCc!Hx&=wlHNVnQJ)A2URP3aIH7R9BUVB!JhAcZ!a5U#=){%f?FPu1c?7XP9 zzNX%;g3X%JI!)9Yi{4y!QB+r42wTR5h2^k^M8=FVwk0x#IF2}DiCZ?|Z$P`9YMsJ2-1-0Jt2 z_iqvv*W1hNYCD9#;9S?}KM!Uf$~#;TaDY6`&#G?E?Nnnk?C&(U@6xtku6wKg%HhVt zEeG4Mh9EFTT+L%xjVB!0tF3bl7)na&HF3|!pG&ydez5sa(-FM{#m`cG+2uf29T+j|ZIiwhQQaBtkbmc4h zV*1L{>(re1uZ-E4u3bcC^U0g_kh{yHmH{o!S;O6yP*aK?eR8GlIrLf!WX=NQ} zl-0KC%4&`Cy2I$a?lkf%Dk~~fPAeR#xB?(fU;`Fg9OsoyEfw9lO~izk`a33NvE*4H zDaYHQ`j*(D3<1M2&fB^96=_Ym0dLN)Eomrgs0^@IHq_MD4nFDl(0}kr=ZE~#y84O+ z*T#55Rl}~@x;H=cmzD$PU^(bJoKBC1kexsZf?x%YLg6^$J~snT1>~(@NrtTWEt=dV zRujbWz^k~ed>8_3pfCq;1O%)v1quT_hi*GgD0fz6=Vhx&xga~cxxGreOSl(62#Z(X zA$BiBT+4)mHfOx@bpGk=;~J-K=pethAZ1UAn*0C&Z6t!9S(Tdu{5MOGncLb~rEP=Q zA4JN25TvA}nhUf}-N-?Hc6@$JjLO&$c~UbNA;^NWaaGzbFvNhS7h358Tb@~!1DmVx z_GH7kgD!P2M1wlDgH!Yx?Ti(0x{x0qw<&$Sdi|!Z<8fM|#({jN9*5Fk5_<})?K|KU zmm@-em$A+WVi)4C;e?7a!XImBM}#9{cW3Q^g1rIK4463J7MLW(%%QuEyEkF00SI&# ztib=vkwqK_V2*(>_Fql>G5CnGwz<5euo0wxz#mR_)WCtYqVkerExAsv^Gk}k5axK; zxQifne+6VXLfF#W&|Iq}e>l3s*zU9;pvZUhPy=xAB$!U%%Sjj>?+L1FtLmz2vB6R7 zKe%3i4bI}~(yEf`(g3_6S$RCaKj)Z+6gn>QkLJYeGpK>p4KX{m=V(cx^CCYdA%9)G z%9#ec&S$|3=!WwSJ$c>fO&aGJJdn|Bwx#C>r03)dc5? zAQ0>a{PHX8IojnXR?+w>n0uP|5v4zdlM-a@4YEOv+h{nRk@Oqv3y#+|w%B&(H3302 zFb9P-psFeh%SwwyME)q55Ke;Ccr1+{!rmJ~ZfWK3!4VwLFF=?C4hb%2TVh3I(i9Rll`K}nIa8lYHz#W$V$QxpPX|K7v9$=H{JrZm zcO;b$JTV5ZejGomcJT4@usihU*V?LTTTQj97t{otb%O!$v5Jf#YdC#@z-MFdPg<_)c3024Z7yxZ zX{0cYR~4RM2kwqx@c?f$?fNN&-YH+?3Lg9@h7}K-&Vd2f-t!U`HWFZyYv51X39AI~ zBX9(T6FB=2;R#CsyAn7C`_jOmcwiy~)DvNo8CR06cq{ZBo^VydlqG%zmI)R-aLjT5 z$dyKK>5V>R)dUhLoL@E5fxJJ2r+RwNoQHE^{mbI%NHP~hYPvefSlepSzD2Y|_7Y@a zY9_B;Mtrq9a*a8bouZ7Kyex}qI7>K%ZEmcoYtnoOJ5IB&!x3QPO*ozPv>IsY^U4*> z*B)%^X+5Emg1U4M0T>=S!tD|Oe|w&02Q^B^RHqOA)%h%3KIB*DR6=!)KK+QMYa?F1 zolmHPzs$mnI&mQlCiH1I%`|c5y19|sCC&VdHw&)4qr$J?mv9HZ1=mZYgS_%&!Lp3y znk9MsPa|jcPgEZfcCbf;nEB;%OdZtXwv~GsC3X${ug9SJyOXFjR#4I8w#6b(t)~he;onKx4+XoqKb%twrsn zZAAyN4`l6wgH|(%)(tK@K4CK-GAA#%E)mvA&e}}LB zbPKXq<#~VgU-fe&x{oiW!Qm^{3D50t!n3=}wnu%nO4-cj7ufO(*=D<~Nqwt`5sRB&PuCXhsj@dTi<<52H7)AFK>?QUJBFvcpvC)#G_5a`ys+bV zK%Y6Pd$W4DT9B1hT9&1)sv+{@MTCu79+c&8kM9}+SLzF>e;nb^MU4(oR}p)R0Md691%r!J&2P;SdP_oLMFu6B05;>kLWc4)lfKS#W5?wI%|hoq`hu zfx>*xp@_k|@M(qn0}BG5U2uozAAEj+p&UwrwSy6k5G4?GJvc;fo9Di~NbR%>7R`O; zDYJGxI8E>dA7Mun!eUxuWd+Mv?U2Gj!*NnrXHTVJbU#n}+OZll+_5Y9iNS;+y;7d? z0U39NOnr$=5>;koRA#6jd8DT55v}v3;fIx1->hl6s;zGAs%wRSh*vrmsjKW&cDt&} zw!3n-W=#W`Q1glEkfXx}Qs8t(5j3uAvN51y4j&X3@w_#tyW_a0#W72@XmpdFU zwJ9yH+wscx?pEEqr)oTK)^?2gpr4CX53 zcPo2r+|^&z-!C2~cl=iL+i$A+vuEqhsqt()|4CRs?j#ddlj!)ks=9cs^W=y`S&tXv zr`qw7n>R~ts_}XJHWt7kx;Qcy=3~uSSTJ3~f$!iYD%?V7I(K0-txXmcqySZXyRjTUA+J_CRG|P7^tz5RVVzNI33P*p{0cvi@F5gCc zd9^pcZTn6w?|%2a%F6e&m9M>#@!Fp5nmy`T)iJ zi=lMC;hb$h#99HCFYoKypK~Bm9XMDJ$omVwLyP3QFYmJ9%@>Y}x)1)@aYEgJAF9c2 z)i&ppg=eaWmym3&;~XW`(=}vo>PGl*;8;06R*8>kPqf&4t^!sXg3 zyyb<%qV~NwZ_jfNI?$F?O!A_$YqN7y!S&8$^IAY1T7g3=@eIwg!b&{JjXj_hEbf?M zEK@gLs48#JHgOB#!m5g1=*G$8(2d;8w4Btc06Xa<-6fg9;ABVdud~@CVJga}S!k|L*VRApay+;r@@byUz821q4~J zRS758;d>ePZy(nsI9jUgbCvnt|COeLwHvZ3H`A^ILubet?!ZuCk*cVsu&zYI9sA)v zGJ-=ekJDBN!^g7eup%3bP`Z!i!?_^tiz8UTLA=U2kV(7FZo5idXSW0S-A-#P3w{Nj z#x1Ip`*!wN8(l|0ir~;uNp7CjIl(!ekHdtIfqrddhhbmhzSf3??|2r^5;`V0C-8G2 zp!+swo#B{R1cZqcz)f(j2>j7O#ZZKi9kN3h(-{K00(PezY(t3a>=TKwvclWo?6?j! zLbP4j$>Kxc+4nnyU_25bKx%^sscYZxnb-e+vHdADl<>_>P5x zpDIf#N=i#L&Qs1){L)g$sB;VLEp^p(wY6HuDaR>(Z7pQfE%w4(?KAKd+3>*d0H5oW zaByI7fRDQ{d__>kl02Nt-)q_4nxIbDo@23U$t)7a?PuUwaDneIoL36}2_&4tfiFUa zAn?UGti?3u(<|zq-WQ>9P{VEf$gcA#7t|Nd??2bAb)dmE{=Qf0uU=8XY8@)wR>FsN zBLfiN2Ty$z&FzfXNgk*?ya#4VzDi!pZ9pg?WGC|4Kv;H%(9q*lmdqijRqPr8-i7{#0a<#Ka z5A34sT|ZkS-?m|P(&X__ha89P75E+j!zU9`_u}vNP>7p&4*P8`_~JPv#&?x#Z%=$x z0Jaepk7N=bf8zK}X)mnIE-WN}kU#tj3$rT=?S=NLHaPY82mZs~Zf~oy7m7Y}{zutT z)Rb4N$*aw+C@5IA%paJys7M9+aXkw`skXL?vNq5S%{6xW#f$#%HDzN(Q$=I3y>OSP zBQB;P24VoK*@;6T%HfdV5IzCM6%K|BhVbz;JWYAxgze3^6Pz33A9rH8EiP{ARDVt& ze)xgU1z#1V^kEjq555e8fJoOlWlN#ED>-F_g*&q|bJGh&`6b2qc`BH$^(^KI>T0X2 zYqckPp6|K@8%Z@yE$yn#?AHIo*qgvNRqXBKAkAX*;*td0q&cU`A_^i%0XJ5GB4sD+ zTiIy~rL^h3rEQvKY11T4_kE*4Tb5E4WZwiS2x8q)@hYHl-79m_N%8kgTD;!(zVGM% zH_{|0=ggTi=giD^d7ftyIjhwQxcS3R(fs)ulJ3q{k{2{UIQbT(B{>tpbN^YU_X^7vwhtHfNgl_b`YXRm)J{q|E5@CJ!g zqd#cHJIZvm>6|Iw1xR~&nWMOfhfi_;Qix(^97Aj)aHo)eB0q#H`mMKdbF;H^vRQ=2 zVBmv;+4#Vk*eU5@l*vE&JE!cgMz`2(7MnVsF%yp-?P++w|7v-X+Z(?wB z-|(ho*6{Fdb+_7=mXWfauYL@R9v*I8))ek1Oz})<3O{CTYVvcRcApmYC*Nz_E(~^$ zU|>Zo0g)MC>L1gzAaWu@9)-GGxE>E)aEz{EsPn)r19p)FYIyX81`QdH4=8}eMqssG zKt5B9(1>>n`XOm!@tl5Ln;C+#%^Q^l^1Zruv%mNQQm=6@C$X9~_U5k%z%Qh~zgP@= zf8qV#7|8q=jh`EDqWY*R*It!(U)Wpz{^Cbrw~Eq`h1eqeq1;n$ZQNS!-*wd;>$|l) zDtU{Fe5u(|pS-7>Llm54^d@bVd0by(#215ydrtv#`~HSdS??add23-sB}j>^dpU_i z)o{WWG=7XhBkEz$V7tGJT?ZmnuKWA7vEBVKTwptE)qaPlMA^oo@F=7|O%asHB0bQr zL^!34igLy6RU;+0*Hu*?#j}#raf#{v^dHJka0F;f@C*j~i)ZyEBf6^L8sz)?e83)T zib2jdUDKV|o#^|E#?9V(Xh&@H^TiIHMxoJHz#q~55^kb^uG{XX+2P%Z?nE4pA@gM% zE;M=?eLeVt_9fWVAamn)*s==J0r#r|L%H`I=RZmGGWI}-BQ?155^{-Q_FUpE>~WER zfyj83q@x|f<#GgI*ulLAbz`R<9ws@3$D?FhQzcqZqz7IT3RC6rJ=8r z*C}53n#6Fmi40de>LwDBhH?;3oQ!xvy!#OBQ)FOl6lXa$-n`ectPr*v zko3-Sb$L14c5{@dD9xFes7f>>;gswwY&W(sDNzLyL@esgShSB@J2moZf02*-O+qxD zgPwz|a;Qy`w>C(P-NUJSh%oHbw{DWzG7?K;h2g?5e7wa@XvpnGEm>>I`mp3k^LRWDvH1T?jtan@DV9 z6B+cTl=jWjkiHT!D1_j!H|Zd3c@Rl)q{aGS>LAfbOpv zKRSdAA!3;yTFATI`*{c*atr;zyNPPpM{M~62e22_;1iA#k#G`>6bB1-=eswvzBTw) z*0UOEqc44$JdOT5crfc%NOLyGgqMYvMdZmBaRfS-uIp2wzYL>Rfcpt0Jq_p242pl> z!OdsJaBibJOLTf{(-7KMbuWpYP%ivB>{rrHMNWZcWd?(%-)~{_zvhH3o)t=AJSeU| zGO{a3uRnUmdnSPN`XeK~{wPe~py3c4*S8(vSD+aXGq|$){A*k{V!4OOVNqRONpp(| z^nmC(ZqkRar^0*fsc62N@8(205-SU<)p2gVJAho4ee|)YuJ-;BwH!T6-WDNu^1-3= zSNNXuU>rV)D>{j+LQ86MbS>A-yZQTeT6juyG(TyQC|XB;(1g|LIC7Z2Eka#hTRk_3 z4IM#;=6=9ZHS{n&EQ)65u8ZbAnk3TIHG!*zz>wQpT3syr-n-TJnUZu9im%`Y_HcdF}k_D~uF=<@})!5YYhonVs3Y zQyu@&N21!gk|uVpN&cetzs?2A9p{>aU+>$WI@q7M!)T0NG!HYuk--+#>Uu3yT{J%# zSMI&0p7s>!*lBt$Du7w6z=;4~fYCOrUlNOZ?b9&!&kH?^7D+El_0vhPdbHBfaiYJY$^ zPrx*ddC;9L=n6IN8h2-ztUs0bi*EHT#vj~fim4&Iq$)n`ar+=o8&X~P@`35|dVDcl=B09QZcH;~+ee~(4 z5nb2_2K20<$h;5I++h%^t_}vFLfRHi8t&XzCWgrnWXO{|Ka-B5uX8I_uUWBtjWjJa z#gKqd|E|3i&XS^Hp5&7x5>JMbyJ|Lj3NEr-d1Dj0g=k#l%B5Nk`4L~wjL+!WASvDd z9Cgq*dQG*(w#5<3<;68D&X`Y^zdTSC>&$W`a;tV$ZoT-=^CaY$`rw^eNk{mtw|+{x zqb9@2u!C2Knnz@vBP+@3cG4~_Zg*a4XJK||cz9_&G!VKYj5^r^nLyWy!bIQIsU)`m zi+PRiB62RrV#*QinX`AqG@9?xhI-^GdW-1kYh)LdbC#SuizxiUmhavt`GU4ZkOM}A zd)Vbe2K5!RWDrs@7!!~{nMilhS@c6S{SbxDBG|zH03z1_gjhy?E?plKJN{Mhp2<#G z?5FF|HAlVz0{!DZ(5I!{8{lp2h>6)j#m_y5nPipB{Vn{}`b=aPIdU3>-Xv=&QBy*1 z(zO^*XYpyVnL1GK@FSGC`>P}yi|G&XXy*<%rr$(M-)Cg2>Eprs0B zgP}ULhGSvB$H-&!(JyCFA73IG|HF_EF@TJuMo2JBqi;n`roO(IS86e_#gL_Z>!H@8 zdyY$sYn;^$Xc;yJ5QPaYFB!wScmle3N^ci0DTRmtx;I@QF$*$fswFwSw}%%L^NGSL zk;7Ktw6h-W=rA2rxJ}JsEo2(`^;xzoQXOSe&z+O2(s^lACr_J|8YRvA) z%+D^c_~lq34}eGvf9DQ(R-k73G1^!WUQHf5JHTc3v)BO4P&=Kud3GS`?iA$Pi%ms- zG|)W@f!#58?zEG@;C8?M0VWw~YlmG73RocNJRxgpZ-V6&h@XKj@_t5Wzb_I|&6@TB zWWTH%dnqyEwE?7v4INC$2q+Rf|JXy&cI%XEC#~E2-t)a#bN`^8eKD?Ug7r9WhpZip zMi9^3y6(RU?I~-&423siei3y4bLanCkf|CqXB26Z#yz6zpprZ_gg)^lOOorrLq^Ph zSUXE#p5qUG-}c>^uccjG-3OI0>0J^!EEwU&f6V9CKeuj#c8ru3gN_=!mmE`L;D$iW zIm~%JJ$rtN@NYH9eEs<71yS=O7D{QKg|kLdzrRlMDaMOx2nh7!>(17n+jT}t`kc9V zi}frZ-*&i-+9x3?{8imB}-hQDf;E;tR8X9et2nNnd$w?yRZF35m(} zC@De+7L`4^I;keN)!ypdS3oAeMMi#sRDo1#eEX>BsG12nkydh-_j;1d4j2rpnucbC zgwRkI35F>l!6wgeME#En^O4{9m>d;`bN5_s@N~h%_Nv`g*#t*Jyg4e%GfZP8J@j4Q0){MqSXa@p0GkwiYhWH)s^sI;KZ@h78Ke` zfyH86edNLZBI?T{-HHMCp>j+B2{1WmE&Y89C*K7KF2gz8*IhDyj#>Qgx=Tr0S5NwH z-KDzBT4QaG?vi{QPAALhcANgend4zG<$b1djlMPRjCH?SE zxUM|3v~V+buR}bV$`%F9=jpee08vsxGU&dmkL&kwU4VNL*{Lh%c=D|fAS$aUt*cYf zJIK_e$vkau$TD*fK(;%`P5gN0I(hyYc}(r@5Cc>|cyDY4;B0o{eVYFY)!cJI9_Igu z&R`fve7qW#2C#(wl0FFfV0VS&Dttg#;D3c}$nKsPE^(zGf~r6_qAm{(f~Z@U3!ib2 zOUw>Y`U`plwG}KfF6|@k?)e$nakeX>#?-}twJtAejD-@~@U(Tkpxhp^dDFTGX-N;Znm8HfPX%B!iC5$rRL&dbFsRz#AdJHhgD9v z@v92*Emp26xjB8WMY`ZXXnTk1K;iz1J>2gw*Pefoyp|!&F13`GsfhIZ?}_yM>8N!F zxFfDZ6>W7%%fr^L+3}|1VBvvsDQ36D0UGyQ2p?=C$$kArkC9CButwN*Mn>k5*EH21 zYTgyz{GKQ-lP@&wEUb;7E1m#miedm5tYJnax$ad{m<52fjtf| zT~nr^mE8ld2@W_mx!{Gv!1a~16NShPT#}f|fW{#%B?RculHx7UDuNcpL4=kN(gjep znsr8`gSDuE_r0IH12xC zmAhyYDT7*HkF=TY`R8>zzJIwomdEr7b4c`Q=SiI2S4AS|F!C(jMz8n2w&B|_5&<0? z#mP@QIrr%9(SYQhX>UK{1@`hZl0@FQBZ{rQ{#=8)_V(>s9{pgOCOh_UEL!#!dr}pT zGa#dULKmK*BsdZtmvY*I`BSIOKYNX=$7AR7*SC8bx%2&VP%lET@g-$RdT|O+s>5qD z8q;>B?(}PH-Mw#Ds}!OW4yURSLqVS%b(}p5BMJf^W+MQqvKOL@q6&B9`{_W9C@~|E ztEO|rDQW2`*?j79qt>`AG9xNIDwRrZ`sR5Li~#udACYl95)tq^3^qev7T2_K_ol}6 zsZsi<%pLUkXkSFdlT%f6wj`w>wZzPk;nA+`MUf?uei0kCZHm|^h4KaD$0CRz+bt9ZLT*XdN{n;aOE!w+oRzx`lwePMlm19`sAw>Y<;v{;4A|1U~%Oco*| z-^k<>D%Sp-QN@uH2t?%gV6%Kmh)kY=pL%|f&%sX&P!0w^9K&uISa(RK(GL;7O1y1+V&ot2&<_2$EwcT0N3d7Hq*F&H4SI1QWS1z&0=&prF=_Fd6?qV`D7tp=xI;;ZU#v3%}Hw36h^ z?R}M}_yf>Q5$`23HNqD1xz(iKhs)4H^11eSGjJ>18@k#Bt5i61bXIg)EY}iVxqhW8 zJY{8UG>3iOwlt2~1em2oi9^pNo((_3IcjWmwJMzASn9E;x47JroYE3idu;oLW1L+g zf9oWfn*(+?XnktxBc>yuUa^c0;?pBu-nLy$(R6c9{?(8>#jQK8jM}}SWzF7@1MAp|nb3H6p8|Kf2UJp_-Dkw z^nUo-U+JDnlDcO~O1lD-uPYdJVIj&?m%7sCx(hY_9TdsY{mLAHD+IHS#fb$E_Ymr6A6=HRA6qzDZfUJTj*pk@D7$h z)P`!hwex{oLgt#KS*G;lji%D6-2vSJK{6KZU8HdbxC02bk@En1!Gu71Q^yk1ILNJN zX87e!$kGC&yt+7O`=(YqfK<3OMd-m=NhA~L@cz&WaUn>2_78y5+M`n;bTEuQQ7B#% zR=b~6(q(M`9QgmJx{H=gIZE|Ny&Ge9x;(`D=~3N-mX>M6!vI+DOgC@5vdnIW<*h42wveq+9)&bonRy7rn^5h8L%v`Y@9B zOl0u?mC7F3E{|5w`WB}pI+BnZ@`5q69xYJjAZ8$)0(TvcT93>Z8x|Orj-!3a6aGH? z;qnu16y^}bXB1B&i0X5gC;&5+I|Jk|AiSOCUamy6Y&m1Njo>0)q&|ihkW%Tlhl-c2 zj9IRh&kxv^RNKhERrAJSmE2x^J?gXTDw6d+X(p@5bKE;`ebjVir?lnkn|r@g%Z&k; zU_~p)L#?f@R&}1;YRTi}&PlGMoVfVa>8n?%78OQTuHeenyXYe;F+=1k+x5gxcaB4C z(wZ_#_8lrXd`R{Cy6aTTZP=K;kv>R8N9aRpxn&aVH)zwk!6+@@)vaSU1uc?nerdP!rjde;9Q??q^o2Mluhw;l}!xu)amWI!Z zpF2Y};=s5)W4W3+JLk1%JLv>O5Z96kPn`~ZC-Op!bnA_;Hh!mm?|fy`JN%*gGfmY; zrKQbf@9$%g)BA&6S0`gBu#w0++;xZ%wF$&nW$o^e4E-P4!^p)FWYxXn8wjE}(4P*G zcwP~nec{FnV?D2Uo)!7~eAeZX0JD~>$z(y~JIWntOVgvd*SFEfS4>yWn6tBXHcz*I zPBTcxD`dM=_ip5c_f%JpkjF3Y<_hYL7d5Eu4y)PDS7d!ihm>uX7RJ};bZh7nGdHN> zDxwM!xDToCt&zlcvNXM-KB21h5_#e+b!}~ozLIZDB10xS5~R5pS&SF}-4*By;32)` zFCK~Jpj> z9NuWMRJwgdl6J0&`kWp5&-vWq+-0R9byADfY*Eosq#v{|hi>BxkrCMu>e#qkTO8kp zPV&$Q@{~y$Nc&MhNr$N;qjGFJ_~*fZov@e$tA$(SQ$a6GEU}hYO8AS1PoI6OT?(9m z`yr?^eoc1u1-#{*eq9UwMV-pL$PxLpj~au|^I%Xocp5?T=~0s3Z6)uxt;8v5B}YZb zW6c-esC@^nJQ*eKKgwV9nSa;QWHO)}dx*Z>{VLfbKZI<=zY`$5JRU@(NZLlu4dz-6 zC3RJmmheKR8mGfv-OHGxOPOPLs zm&x0zuXbNKdWy@e+VSZde@NS_$kRius`3k$U6<6CE@vcO;H~88pW5TNH=f)vJ~K{w zbkXjhaVoG!X3V4$c_Yvb-3jiYtk3b#mm~uh27VBezxZL(tXq?6~(0hH^F} zXW2}4%ndeBd&~}#&1lY+?g_<^4Qh|w=&(5RY;A2*9Ms~LJY?RWRm4PEOaXJV?eI2{gG zE`GvPC;d0C1I@2R&_atmLYG!a25FH0=??q~Nd?JD%`nDI0awNKyrv!0o@ej~;RQ)H zyt%v-8GkX8iv&zJAsKpiKPDH$liXG*a3aQ{SD-+0X zn54b{OgD$-kX-r&d7A!KA+=bn7FKFn8lReGNJ6OtC1DNQTg;sBX{fN?v%cB$sWddV zaYu_9Iq`}zCs0botkiNT%d26i4a7eH%kjl+Ac1$h-x1KLXV^NV%>k9eUmqF>(hvnx zoiNf6S`4k!A@Qd#2s$MhCB%x#?Ult9YIm);qB1oR{_ZGGtcXm<@V7IwHnX0i%Y@%V z@9Sn9oviMz6;GbAd>YcE%RIk{GNUqekt*8Z)myzNtL{>hfAl3Uu+SPv7z&m{4TP=G zL3JL5+M`>AIO1kNg2dBk%-3}KIXeCJSW=k#F6sZ|m!qz~PbA|%Zv##Kp@Zb-2&f;f zK^2Bd5%xn#h@D(paCR!vc%EOBw1ljr4y^FuY?P8(32`xxa)na6~2q< z9D{ckzl!*shI%KNbJF(+o#%+EjB7CX)o1N=R#YPS#`z*g$B9ykD>EzA4rfk|gRgg1 zRXOU9ka@mj&SF#_JNmIpGt@68b9~9XBlV7|Drdc)!+UAc{$#kby;(tD>j^{r zaqVVDJKuKrz~SbT#nnYMMK#je!sA5Rs78S|J_;X(=V;i>St_C9-*Je)f)E~=xU|jr z=36QtP?Z0qqdC-sszT_*5%c+ND?`_9UMCHU2pY43InD5xQIqc8=)=XIHpN`vH~#*| zR^p>Z#G!hB@j=@gQZil)m2q$#NC1Lrxa4C*jsQ#$QLab7#kI4SJmN(>4j7;0dzaGJ z=mg}eafW_VjuII!k2qABQ)#Q<*4FCI9#+*k>WZp4`Suq>o8k|?t!gTHySk1w&h&Zj zT)lGP{ChkuOCI~;#bK9-LUre(rW-qtQIW2QE7BF|N@AK9A6V74N;;+e+NeL&O>h!{ zW%`k|FWL{a`2b!|#Jhif^o zxH+~srYNRJswi(81B157>**V` z-|{Jx#qV~-$LH7*__ewPx>f4vXh%^j9~!VfdiO}}z67dHKLQH3jE&s5PaJY?u7xY8A4g2Ey=^q|m{ z+oU7r(}^KerJ|$1fiLyy8*e+xT3NG!+KVQ{s2G4ABP9VG&Wsjr%{yGuQYl4k%q69k z5_Nlf^}%Dj-6E3j+fNo+ekUq23--LCQv-7^ud4)+>KQN@^fHe{jCAmPk^B&Vd;kZ^ zXFyhQtH~t|N~HMKbJ{sxd5&8n8ORWI zBY6YlhZwAnox=-Vv@__U(t92TqhzSco}wg?C`m$5M^Yz4VeATU9m8cz@8f=Pb_*bj z-vP1+OUm0O-ZJO0GUX_f)f_ER=WU6e3IY7sbJ;sI9*YFkoZr(d-rCu7{#_hLOsAoy zFE_i0rj$HhT2WbE3j3P|lD;EKtPOX|b81@15ZsF+WLooQUu4w0-PqtdQk8!qwu(qy z@-Lol(f@}j{y&#^kbi|e$WBj%ve1bPVs@d)m7SU)mH&v%S=mtUHoMHl+1VKl$)O2} zxzc<~RC10g!vYDv4&Z4_}n!6me}HSdsd^V&{SlxW)`I;n+x?$ski2O zN0K?qk*wF-Oy${``DqrDF+C$U(~(-RJu%rS&B@C)+jvu&!I_oaQ)7b>_z`1qR7!MC zq%^L0OQoK38F!mqc_j{Wp}ojn>~NIkyqO!e#h73M{KA|jHQVhuc6FZ3Zc{nZt4xj} zXIe={Zi+M|w>UXool>^ln9CQ&Rb*BbNHa|_dNY@9j<3!uv}Bu1CUbgGq9dcoY>RAj zP9dzilg$TFurRRbG+d-Lf3L#kA7~7p62h$Bg_>K4h8m_3%4P zx$7G&mOQ7$nPr#8Cl~BWw;||-Xx6#g*FU*)Qkvt)x8|!W%mvBC8M*fCe3RXlUzF>F ze^H#9pPl70)wa)zd?0h528FpM> zm{p`tPIp?GGmNQH2gLC6)hQ`{U0V&7YFoLr%Ft6niLn|_ zTb`rRuj2@_buvO+lsu`#iB%pXtn~$S=q*thCunr1`bsrgBw5vCUG% z6(m;`Ik^JIk#tv1a$@piC$gEKiL+m+jpo{)uWF+1{{@E~2rTuWh%!-DHd z&CANmC^Y3|NS%qMq}nW}xw6obEX{)xnxo1|aU_-J0&fv-HgQ=Q$+;OulO;OVW=buM zwIeIO4Izs;eD(9 z#i0;iXpfM&eT5g5^obKsbuJ-KbdT>I?|UEV`3JJNmu2n=?g=7ye<4U&l~x)TN0aH0 z_%Mzxx+?a-}=DwmHLVrl?oQ0E3%PCPMaq`bEC5si>{F2UFK$ z`2F?Q1GkA~qg~8NMT!;q<$Er;${7Hg0Epe2awdxI4&`Aa|9pD?AcRE~2(+~VQI+KH z^J%Y`37lUs(=bW*r2BdjB|s5yK>GJm$J~h$AzetnFKWUNHb_}2KutSA9;2P4uZDJlKju*+X(T|_ z_>1~=#lgp?gD@AC87|8NZM@6_?u{-f8Y;~?rqaxQ^##-qFZ>6+b8n?;{p!4uEIkSx zBvQtHA>O^P-(lJRw#*9Au;qk&Sux%{QLtAdWF$^2Ve%tAXF`&^SA7l%CLWYG5T%8i z@WYmT6mj#GswTI_R>LKStjSzO)dO$Ds;S&Y>t6;Nc*V~=QHkIC{QE<{+oWA*x*t=L z*u~^$dYB7EW`(CK@p_c-p?@tvF!t`VJqr*(1pZ%SEO?gwKHVFUNdel?D`+M_f=zkd zM(TmPj2$?Zs@1F31-WkjjLSE&Hl zZyj0BWcVQgw!5gdx{3>HZrpHOJzFM!tk3ZcjbY7PbyaQQE_HorypyftR*!Zw}*Q<8B_ zDZ3}A<^KAKQz8~E;+fpEXwl-WlP9Vs?0W6Amh;we(Wwu&eXRcM!=^K*`EN#x7HY#M zy{eMe^qIJ8%Be*h&|>RF+EX3dK2f8mdJA2@Y#&xao)iPMAq(F6OVXE42) zRE{9fgo9ke!P2*nlSWzaeBFjM9GN?T29qafm>NXHl$_)o=;jQc`XqvrK_@jp1pQMM zz`|91?=V^b`9|rnx?4oTz;?+uz=C6~xOUG#vB%ooBBBpXI{7SlQf&l07pAy zZTnt*=6GS%Tf74+M!K>{|0%xm%s#aLl#DEcAuGeLYR%HZh3e;qZd){#r+ueQADS`P zFn-s>vx}um&wLztQ!Ss{=ldUbpSr=52j0K>qw6(C3P@^}_pA z7u1K_(xMyq3kx?6p?!j+WV+y1LewNTH^*l4%Xd2R^Ya@Td_P;6k|~NyONIK89$+8( zvXTZ4+tHAjpOv4P?`O(2=a_97`M!w9VHH|NJB8a6+^zF;h=fjbea~m)b34SDY+V3x}2Jp%gDBiFvQMZ97*WtL%Tgf&op1gI_ zCf+j~hi=-mb@F0WH`F6=gwTdi_RGMIoJ2I$(?&y;@}I8K6ZC|He(#>B^nMaD0XXS7 zib25`zz>R{LLm5nSU~e9ID7Xxl}wfbkUu#Y+4GZxO*4-Yc^B5WA~y19-#paTf@!LV z$nl6LlVQqlHr<%@E{9b9r=o)!7S%3P(+9?kp$}+lwFfuw!U)d@aHk^y(T_>#oKFH8mN@We9wFK84Oj{SvKe?5tU17cH(ou#xL7cUOp39NB*9 zii$i5)P#gQb>-5wl}9+?H_z|hQeEomGiQ2A{S~pw52ifRHdqZT+AH7{Z5i^$GuK|@ z-4)&CqS^1>*a$6!kw~FEL`L!~k*7d=vxdj}2^pqah{7ob2yk$rGy{YI8fT@ZyMrmN zQU&YN9<;RJr3px?T9Z;rc+x^!M8&D)>*7`S7$mF<(N>BzELpG>VMlMQ6%MqrSIDE8 zH1`U5+{1mu$cfdRunemgh}zW|ps`{_tRXVR4R8^)puST$T8$ z`04ScKPtiJ2W0<2A|KQ#pQ#rf8>hUw=ERIL?gt_feS>8mhyNjwp9(lBk=Fz?HRm>| zEs~H8VM{l!YFOyoW@|SsRIT5XxMkzIs`^N7!Dtb7U45uM_M-atuiu3>UaniBd`c{T zAYd+)OKhK#ZOvq;>ZeyukC+&=VR{&MW1gt7eAn*1>gMW%P<|YZ-A-q#5^Q*Je2d^3CNzyBE}~D4|cajd*j-A?cb!F^7+;&ea?})XKFUx={78`txhs=DfqV zY~CBxGNi=p`&CwvO=K&}1v2MN@B&=xV&NJC7G&Ji9XMe zm(3Mq)@HQoNx*vF*bgt8PpiLt&slPkKUsXN_So*Dd-mKgXNwRaBEhKNAue_m@#ugiCkZPb|V#;zZ zeM{no9qZHLVq&-Iwnm2~ZP82P=LKg3sprotZJNuks|nwuYu$P(>AmdhDWuugLJ~x! zmdZNSr+II=3b^v(hWvx-H`{EEgS<;(ZqF$ZS&}0xYtp0Zsl33fU1(XLPFk32 ze~!0p*qF0Losw#`r1Ca&jzvYLQfq}p>My$L-<1XiCuqiEd2XOAhKal_@JbRZNQgJn zgYoKDHc$noVWjeDgh7E|Tn`1c<30tocg5e1o)v%bh_f{$cLKHJcI`y6%V!J*GMI#r z#O-1$D6<5Ph$-R@@fUCGyAyu^*xA`NR~c}Z(F^Yeh{%Wm@`70YGdKzm@^!s~><@#B-^0>eNJ0flHm`__ibB{HK#b)g zt+wFRsVcHpGx^hkV|=^#Z@C%8-@Y9CH2p*GG|}!JMP31efZ@P$;W<1*>$O_c)w-wtZA#C(ml() z6o3Bp&(&nek7O>{frJCnpL88fK?Z&bT|A>|<(^G^Nn&o6F)lkLGc-HZ7zZM?QyTEr zGJx$E$`@RyQlSr6kc+T>WgN&-uhJN5eR2Gu<2$(3bXrEJRh2X^Y+l4FY3%zS=s!kO zn}q^DaX*8lFb4ptG!(BK96kp#;KLdcEY3Qeaku6+tMiwnlZ!rT{Q!0Lx%AcbtIbPh zPhT@oH;j83b;e3#gZ>5H$9624>q8!eV0a?@tBF)QqiWS|)Hx~FV2o#VHl-Tly>)&P zb%va-ifkn_LB8oGZ(@PgO{nd0&>Ett>7@y89gpPJ(AQX{$So?#VJJLdX;MB0~bq;IOJ z4U0ssN2|DiOA|m!^iNcF#LqK3AWFk^g`X*>Xq|%vmCe|oS#ThoiL`o$y0R_Zl z0qri}_QkbW`qd?Yco!TE2zdbyi203iDcpU=AW^P=9_#&uGO>dWp@S>|;w^(IuXr(c zOP~OtOqJdHli^+ZwhKUYD!Mu#hw0IJwCMK+7Pm%tfyt!;_Sd_g75fPt=(b?LY6a~D z4QwOOR`C(ERp`O7+^jcmtpGw9V5z_Xb+WEbHwdVDn9Pt?_jE#eU2(4y;5|&uJwp|e z{%n})PQzOqswrqQ*l3oDEy3P;vkjlZ#Ybdj*Qf}-&1Z23ys(u1*1@eZXyPs zQzo4~Zs0`P*DJP8`wsm0-Elk}M;@ZDBDwrB5pAju-LYULk`XuOwf(ejGn3GwMzGj~;E z%eMu2238FJh5jPSKx98vg)F-(gWJ6=rg4>ehYs?6{N~UVn-}#i$|%4c z0;l2Bz9aiu_=?Jc+6L9(?KRtWa~ZB8W3jrp$nJs@iTbfXSY%|<){R)x%S&JX)6?fK z7WZA;Ek@$@KBDWGGIJ1AmIQ5(MwsM@QC?cz@>1-}k%OO_J!t3PowGZ4{#JAS>gmrM zzX*@}x?1*Dw`2e)*^*JUB{NhioT0x$pH<;j;9xC95uinBmE=Rs{WUD_VvYSfSD*Jo^h> z)_v3%TO3#<5k%ms%5K^Q|&OxjhJF!6tXXJZl+9IyZ!>?R9DwnsvjN%!w9VJBNzeM zy+`9foyTh&x?R9FfyJTl`l^9QzhXH8QFR#r+Ds zS3mm1(Gk-%t+JDMBd52@*kTod1A=$VSi78ykBLEqaO&8(Pp4Cnl*WtGiD>T6Q*Xr8 z##G1GNY@_S@m{+M-1aqCm-KaH@Ih5sLm#Fq5&9W`C}|Opgjn`~Yc0VnTSBD%zzhOXQLgGj!3au<~t<30!81F)>Lczcust)^ptahI1P)sxO{9 zaIS$rcYMz!Bn&c3_{NIz-OZ}HjM}7fuB_ZuTc>JHXo@K3^6%cdd-Y@K)sI`g{SEyP zP5hk<6A2LPUZE=gu4+7b_(Mu zjzI?o4Qp6$c%c(t@4!N)x*TBU@DSWD&>g5u1ksxV5UEpK(G!&Dq&i6g6x7)|jS$`c zo&1iK#R2bAyYfw04xV(s=6piTX1^)ef&(7jgXnHV<3tRDP_F{GQ$nGX_ekBuz8!IS)^gU^Pp~ww*BL z5jI!BBpR*BGFmJ~t~F-u&K2q`+1UlxYHOT@mAq#N_7;Xn^p!P+TF3-=@nVWmuY_&^cyLm?hAkz}3A_aL_-NCxL3E> z@)d2cqS!dC@FrQhI|l@l6ivIhi=mLw;>e`H6zbFEl7Oe#1}bSVzO^%UYW3eBZ0@sw zu>D`yw7-C9+`oZo{|hYbZ;lT@X-qtp-BnK%bWASS9ZIU zup-S~IoNi%pK$*FrJ-9O7p@;8>(*h7TZ}RDHBIf3f8q&ZX%=W*!?+WjWTP13jO4N= zV%L@}SlpcZ&u`rd$;&6Ed>qMjS7AjYca`MhohLf3tC%t~Xvi)xStR4T+nDGrQ>g{F z1#{L%8bq;PVlM69mp8cQ0@M%W4KHzJD0(2(DZ90!P_t0%?{ohn3vBit%^vfYyf7qu zU~xdAyD!J?YM&!RNKmURPcBX5g2jo+SQt8((cR0rb}SQ(u8vYVUf2Bp*y;bHjIo;O zOsx&;Qjyi5jT#w`6xKS>t&IB2%yl=+bu-L$Z_U}@Z)SayQP_TBji8W|MgLj%u^PE_ z>I5`jcN@xNrgu1knA*uQxk1!K7_k@ZR#0@j>H&9vjRRVii4Guw$wUW+!Aa?m$z@uv z0zrpFo;^))HQ{zZ*+49h+=EcF7E^8;ylKXE?Wr6*WUt%K>h}$*)#}xsU}FeID7m{D zeteLo*N@L}*s-cS^W%NxcTd{$3c)&&VrgG6lNBBp%qE39@DfC%WK`!J>k!buRM)0N zF-#m3&m8T5gTH0D*TKJg((BmeB!7>7n z$AIyK%ArF(DuZVRkIc#twWulv5&@@|-_`%S2H1*9U=yr69m~yP%9UW_J;i`GbyGaC~d(;h9^TFqXQ)@jnocO^>r&q`Vn_fX1_0n`m1*M?0IS zu3Z!iDJ4t+SA~DbhJl_h4i0Ze7C?R-AE}n;M8m}4;UcPS3MYz83Dri!vV)XPv?!A* z!oyL~rf`wG`HmQ8(}^H59f;#W=NI2WdDEGKRHq2vb?v0HNd$!pYm?PWlE*{z9dg3B zgFVdgZuFPUgM$Bh?WAi0QhOBjcSz`va}+1o1`68(2DM9#o<&T^61!GdoUKI zVB_K>#9Oy;g?~T<9sV=csL+zPHT}Kp2(1!AbR8ZSc8tV$vjc-Xth|mL%xgpxCorIg zL;=yd4%)#)>+t4Pt?K|`Zwq@6@zp64+5$A)X;_!J@1d^c{oKfUE5DF=G=le4Aj7O2 z4y$Oue{F+R!wxFOLBee`zMbu5hiKoQ=X<0#oTFPa;+t~U# zS=_N@ySz215k6xz=tK?J$xnH|y4!Gam=9z_4{9JuBeazuhnc^HDLWZgh;hr2tKus*svFgAdV_^LL1oe9v4<)!|`}_yfvd*_qPn~&EdoVR+inw z9>2)$xx8yJAt3UR=1p{abk&y_KZfbdGT}Se@*Pch3I#QU z+l+}A&#!A4+RBKr=vLh0?Qkm(!p38vG`0!9%5{B&TJn^VLD#3vUoe%;SJ%#-d!G}G zbe(bv8qcl8o4-%1$EdtE|Ln9anrUa}UxWO`y`^38%5Pr#V05Hx^arnf!y%cz9_bw? z_QPSQfRfw*=5u!+a!)4gL}BESA-~W^AZvwH<{@i^pn#q{@(V<;dL>R2z%TX+llhCE z^-7Zofl7ik(qNJ)4r?bGxl~xxv71l}-%6cD5Km=eEp^6{im*_B{!gvnE+Cpvx!bxNe z>{Tpc0d{-=Ei64bt;poUAGe*#d_?nT!3!YOC9H@^T z!hcU69&(kwpbia6oHR+bz%{=@%MGJG>w(xEqN4o@=|jhda0uLL1f`CYt05!tX9Glv zefeX*79!Z%57&Z0uM5mSB;UOK1d(5i3(U;okbPr9Wqg;GtY&@XHu?$cecJy+U<4(3 z3vu<7HeCZPK#*j`e+a)SlQU8?^c-a9{uHeZoffuO4egPbt6l|+xbz|8)zEBw8Ud9t$9PYM z5cHyKn+E+NROT&^oL7=D%Rr3jL&pOq4LC<1I%XNK53StNqHoskt1N7h-fjNr0|ut| z`RTQQX1*|VUwlhpb7AFPeTx(Ye*K~hHN2+z1U8MJ-7JHrn+`J*LgVOuFM6FJZ7^xW zD5gc=7p~Yz^vOdQBDF}dASa*|%j4lb;DaPk2AHp61uR}TbqH4cHZ9y zGjAaFkw4j|Pj~0v_H%dMLR0*EzkeS?9?{67CiQv!Z^f`pBkj$St(@22Vv;fqjyxpSR25^PuzM2`o8C-Mqr~?`-IdH1t^iw zGF0S4P6XHZ1;Z+^nFg|QY09wK^x=85pL#=RK2{alULraf@bqyyLM{IitnOEr%)uJ; z!X0R>z&5-{lwiIP>C(k_`ItA4rk^Cg$UGhi@>%ZPO8M$o+?CXo4eJiXuqBM9%H&_N z6^w{VM$XFQt4X3p{$)JYuZmG&Z6bLpRt%7myic8 zkfHC8#~o6N;Jmm&~1*wNS@4-q~@jCQytQ?&~$( zu05n>#}1^kJYouvk4-s0^a`6 z96KfwzUexlw3nw>B-&?}`zF~F(v69p2mQPL@Wrw$3FXFj6Mf5!6$SQk;X!}VL%#08 z-TYy1iXO%Vn^^osGclO~tg>9`c~W?ij7Hf{3QviyUV`V;1n^-3*#sir^BnlakPYad zyDFum^pcF^K~gr6a7%9t|AqRr&>0c5!IJDsDK$!=)@`+^iwYfucHUWx@clbv1CU{C zIn-L=W99OdMX#R+Uhx`vb>1FP*AfYo$3NOV_i{QBmWarbBIR3ero1uNg#}i9y(_Hl zOi3(BP+KJl2`Q1OJdN?J@K~nI%}81MW{98Ahu$6IF^Sd~%69Bg7nbDZm-50QqW7-G znpq0eyLwMq!&?S^j9?;vlDpo8N$#UP6a0PZl*RSN-Eo!DVsAz^J>3jM7yOHE#g5dJ zZO#b42xooVZl=xEA>LLMwadV<_^Mr9S5sV5h^0!+8c3c)J&aj5!YPb#Fi&rbJhvs? zibLMd65&*L-~tRo?%QHwC6=OMYgJmYUusdDH8l;gm{#BJ+fa+s$`E7HNhZQj?(QTo zsyZ=n?Z&tNN7#FSH*sxU!#1|0xeg%-@(^3HM)ZUddJQEeK!DJ}1TdJ6ZQOA0MY83h z<|?^Y+%edI4Vd10CqPJmgc2YLNeBt#jC5q)e~q1c-}`+3^L(F+Mw*#(&dg}$oU`{{ zdo4^D#t9J_>ihx^`irI)J@qfp6YF7Ey@1D7`U2(#TZ*sBu@oIQdeqM0R7!-=^!Pr$ zrxWloh&A*;rrnF}PBZq*KkcW~(#?I=(glk=p~sSe+765LFmm8taP6$z%HDA6(+yum1x| zJb9w=>$@^rhsBqbcDGBaNGy*nrH{!Imo6ma)an0$L3%6;oIX`HwQ>3hz#xC5KbFRp zCsrg0HJ1?$@)+v?!>l&f%4@4T!JM^Nl~N|MygMF;Z)<}o{hxE#B zpbfV;3$r$iuL!bE_7%aCS3W$93-}pri znC75zY!Fl~dpRi^VHGzUwl??*3YxxKgM1Cj`VN!G*U%UQ3iV%|8XKCi#$plyUowdg zBt3n=`tkyaByOUmc+e0Zm!6i^JXADgS9CU<(@AQMRY65i}8Fi087pn&=$&yPUEx zc-Rh;7*uiK3xitqM9UoZK%`g0N;%eg`^Iez!;tyb&3rP2}h+KgTIjb22@ptD}%PD z?%ykWkpH0YK4&!Np3Tf+j1uXtRD?gpAygutF|Gaq0GPx9WGOOYKlbc^K7%0~hdO@s z_(J9z5fB#61qG~4T`!+FF~9IrrP{a%#J-F)7)F#%h<9*>+Omvt{JSRJf1r9G-@8Aj zVY{+=Th;dF>w`}csf4CY`Y$EVt@A0pGw$@0)O2u#Cs49hT-5K%*j?ck)^=1JO3(P8*=d8T+U(WNl4LSI-&a!Ibsjdk~e9wsy2W0KZc zc$L$%ndMCjIPj+>?cAl=Ek~0GSx86+=@8l8CoV`WUPGOJq?}xEUn2N!u?KB3SR{nW zkB7bW7W}N%TW~x8_u))G>^+{FG;iYS6~T-k!0pk2nmh#F$xcsKhe=|a$UmaxH7X7c z4Xp_P)x7TgYx4O=q@14!Ger=3)uBsw>W2ueV8_FK*ORopfL9CMuyhx1LVP^P$?Dw1 zg19jyN8nyFYUEn2UYDV?c?=OHWT+CMp_zXO|i3Zw@LB<)lARuP;BMU!|$z z{0ld4k7LqIW~~{#6T*06G=KwsEAf@%8x+%C8$ZDp-cQ!ih7JO*A%w`gVF(`B$h`uS zN_>7|Q3fyrLqz`}U(L=z1UoM$%VZYp#&E#c?Sa);2Y6{E@CK!wUURlAt|$f(;iZ$P zk!EsB7B8B!aE9%@C>OO(jfe>iw>i6Ll8kX?)up*EU0OXD%?+7K((q6KYL24~8LG^r zyku9nrHELO0~{{&YMe>9DJRElFuPXp@7+9i_t{^~5EJxK8?w`E4?N?-cO+ZlKm8pU`{cIubI(!s`@qOJh=Gsj@6G z+dsvZe$jEug*+A`#6H22)hW%8i7-+o_&fWMJ}mKevU&2JE||seol76Zs{t-#rV~9! z&$&RS@f_Z}@>P7F&TK^TPg%?QuCk!4M@e#yoO8jR=Y+Y?t5?JaGa^r$XJ<+Kb`*r9 zLuWx?yo{&`jS73C2o~N>t^;0mPNLBMe-|ZHXyd=iLg_{Q-^cq3ZTq0@&f`SeX!X?q zp-ob?LO9s};Z;urJu@;L7A*1`-&#LoJI0BNq1j+@5wEnhQTnk+moA}iUq+DaA~IcE zh}7a0Uy+r^t4OrS#*0_;m~Am)H=0Hc!sF^@-N4_Zw03>TEIbvVn zCjQBR)PpHv5j_GbmUi)Gx>V#wXNed8^LZA1Zi}U3ZJ&~{4df#cJtCe#dCLM?VQGia zU+yLvi~2Atg0(7`jvwUMXu|SBK)r|H$w!RDiG1gT{3MI>X2HlyLeKJ#6w`kUUq~Ba<$5QwOz55w zC;uPbgojIrDZyj8R&dOD{O_WNo7D`eRo+=pz7;k@?*5+_P}W<+$X+3&Ei4`2frAzP z*C(tYIXyX*TyrWc)hXk_@-vZ4r0a{BSVJPYs>m^AnRMi0Ec9)4rSu}hgCEa;FscRx zii86EXi%L$vyB!CB%nZUZl+nsm&WoFZ4*mvAQ9bbUD_MW3^?2WC5ibzGgEozj!P_V zSOj|2stgtKC^ECv%BX@Q^pzH8$+m*ZiUO`8zXpoNh??JWsZbRlRUkYmGD-#EC%V>6 zY^Hn3-kv7}{iJ_BNVBab>vh(4-FBT^r`LJ>ifq*#aG7$*(nW5sVAs6m-&R-e)mMkP z3OT-=4_9?Ld-$;af#(sJHy^mTyVD+e_dD))^rXj~J5baU2*Xz%nW*<%=_>Vot9;9? zT&bUU#M2dQ7CrCWAwBeW++FXu>uC>ncK{E2x*Ya=pg(fhs49#-WQE@YJg>;2 z7Cao6;rbN+<7P)xFT4|uDhx2r4>350L$>V}!fUt4O(&Z(o2am0ve?O|)a8eUrWy35 zU<>@?QFX9pS|_skRq1tc<#6{qyM#5Y)Q1JpTj;{$qBDZc5y;g>zG{48g+`vOtQ&qGrAMArk!a)lzTg+)LDw2{?RB6gIl_4Q7 zSzs%6>C&7hw@{~tI5Z+YLWNAU%;1t}fwI`8i)&CID|RU<&#F^xW2#gU#i4MTS^g52 z3F^|qbqPXjF37<$t*Z;9R$>)8-haA4AL`@6`|v*h)di|a70AJy5#%|AJFC=Q|L=DW z{KvdIyL`Dw(EO4d0}P{>-@|J160}hJ+E4dG?Ms`09Lqsc_}ll@TpG8U!eg7&iG z3zoJa{>Hb#2EmOax^$^?#q;O8c3sf#@^%%}!*+S==X>LAJ82gVfHYfUJ7IU7OMJ0# z_k_fSheHSp!dij|T~1+=5|b#~cH8#<8Vj}q4u8NYx-6~UT8ZgCcOS=?YuDG-WVZy~3k zQe7Tf00u`WsuzVABUP>us>BGWWjjm43L~miT&1ekSYCt?=$1=qfw{aA)HAklI4<9M z3{_Y?R^h)B-W`UJmmWZzTr%@DMpzArwEvxCIaoK57*?B?mY0&9f+X&g3`RF2Y>XWI z4gG&3BcLGkp}4p(zc^D_O&pCTtvNN%H8&NB-g4Vov38GcXJ!+_$BRq;*+pzLWtdZQ zUGq|tv#^V=m<+l~`aC0(Z(fTv$V<~o%~_@U$Y>X1p3amGx+zUgijgs-kFDw_N79jr zE}%O`DF;DmL)>3+Rjl>ZZ#MWdbA%yh$2LkLjmK_h;B_D$E>+Mo z#9#dCn`=b$$D>&~1DBHq^+w3e3NWlciPXhhsDtc0lbs3%3gC?7G#By{6KS-Ph7FaV z!Vmi^ez8dh3&%OQzrwl*ZZ4o=l}^`4?(byPYv^}cy~$rJNu`_a(|I>J+V>>waqx}o z*^`R^M-3+L_C}+5sknAVvmq}h+jO4{bjdByf`~mm3l8#bbnP~V%)o)l0Vzm8Qs!(4 z-MkS{>Y;R=jAoJWk!1D^5CknFPOFE=sHo5KLC|{WO=Jcw2aV6nWF3Cf(=`1-=98Rc zh&3l=ry?b-H%atk=yVAf^h;5Cyn;-Z5Z`84xMRsWS&xnmOlT(nU)Y~~3LsxE2Wv0u zQC!B)#Hy2#hy2?Zk}zKJYAO12d}FR%Ul17p7MrJ=-FGW(BR_T;&|krSCZ_g5wA&&I zO=w5q5=kZhfS?vrFY+;+NygG;OiGR^-7F`|#fAB~aH!?vYl~7$@W{;vjgki)1UcfU zI>ZP**iJkcnEJTD@c=WvC6gYK$@a*AM0W1WUZuqb1^J%r!`J#JF4n$>WZ!tjUy@Rx zL#F;>a)tjU+pI^{wW~Q*ouiV|rD6b+lYlu~YMT(fHe!A3I@h?}ajjtosXsr(B|lY_ znmt=Ry@`7)%gw>yhz7FuNQKg~Pz^HB36!%`waB%*JBd$n(?_6TWOZOd?%M zwUUh+bh-^nq8C2TrP&glpPxPeZd>YW5J~6L2@)bQ!bFx`tnl#%|6nVUPxQJR5RU89 zhAll(=#1B0k?1|Q5KL9C`? z3`fpM9+R3nItTeFCfpB#`kNIV+yHTMQF4LWEWkKj)aE2pf{6ibnt|opI{sn3MU>t{ zVQsSs9}%_e(K&c_-d18e=ZBDJx3;rF@vhRYwg5gr(p4#A3#Jp`q(!O!Uvvad z#&UBQAbw^;SsiYpvKOM{`2WpXZ?dwmS==mx|rV* zMM9h)FYbrFv#XZm>*b0-%lbQ@p2iN=zQUd%X!8f`<3`n8J8h!LcbppCM78AtK4Ck8 z=nev7norPHU!Se@EzR`}Eg)sWv{iGj98^w7|W^;ZO zQ+KT4%mdk7J*e)&p%cojTc0#vwJ2$^YT>3$0Rdaq`FO2eJcPdEox%8JY~AW7>tH3m zjazr>xMtnC$cqt-H^RH})uf-iRQwI*Bl;})6T_9-eMfhZ&mM#-Vs`zb0_xv=Js_*=hTiiFzE^U z82M-7STXHK<*U7^opN5p!bo2ovqcxU)mJzXzxu79aNL#gg1)nVaf{c^b=w2>Y|39) zusDBF!Tf#ence83abfO02s{&VOsT3;n^T$?(kTAx@sqy{%Hxq|w(N#$(U~}q-scH( z^5MCoH;D69KJ^#441&m*+fT2oc~)>W=~DL9w37u_RA;lUT)Fyy1W8+N?XnIb39O$w zE?T9^&Q~F{i`zawJ6~RIj`dU0k-*sX%|>!p4|b};F*YKtVeYFolKd0kmieV#JA*jTdztW>4! zEOCe~K3x`@u1=1VhpS3=DlZe)ZzOv(^$F!%O-yj1pL|PjVraB7Av$&ICK+WVn{tDS zVz|)qy2NJr&icZ-GG!ikj*P{OA=gk;C9^HJ+-7&G$|57wFR#oPg?&SDJ z+X+P0Z?7At9}zX4OI*Ba-4YEGPZbo&1PY8ISQb--a!Ky0eTiq7s2}vt9ztC6k>OeS z_gvxGL;KF;FvU=sLjsHfG=*5k6F24Q)I;lv7BS@$^drV%?~ZhflBHhLh?hju5`Qf0 zM*M-;1Mvr#Z^g&y@}o#7ydx&7Z11w0G=T{?i|CL{O^h<3T+;x*aW9Z%Hx%LA z%W4aE%6HTzhL$UfqH}|A?!6??BJIw$N&QYWC{6+e9U@j{WOuB zk190USMDEBwkuG%YLsQjj}obPupJGQv@~ol+aYhRiT2J{=0+L)ykv-klV@f&NFSw5 z=Cn~MF{(JmH_ST*YGS^nJ42Mw)#^RR0VJ0kH|;L3;da(GmmZL}H^*+NRhEUCHh(4S z4~A-qS8@3Es=|WmY|fBvsA!QrOBCB)TL-XSiD7|33DpNU;w?E)w5_4BFx-oy-V)2k zjue(K@REcOM=s{OFV9RhF%_8lFVNHZkT%3J3L>jhlIJdtp3H<&M;$!b4DK2#(bM;8 z!8chp`SRksDNH0D(FJ-kUyfAB1^P+|(cR6vbf)|}riM5gFw{w8Z)4pYZR{*sGJ}+e z`iLv%SIw)M-!!aZrU}xf)h|i4guKi56Ol^#h&`UXCmQD%>Rak1U*j9QB~%$5n!M>N z87A^ynKqS&a9e7cW838inoD=qD9dY1t++Bz$WwNN?E`U8RCEGl>NI&pTA>FhsFd*z zBW#?+Co?QNo(nZqCN;=+?5x<^q6BPJWLNnNkuN~|-NccCckXA4h1Kf}$bH+*RVKw$ z`^aeu^j6X^Io7BR3Au@w$~U>_AQhmK(;SSdOLkjOEosq9}%9YwB^6;9~-Ebp$782!=8)GFAr-GiWcQ(n{$;pW_^*S zkp9S17oFZ#8L5EV6lAQ+^ zPoB=4W5!eSy9*9e&%yN-kY?89XTz?|Hf0sa$vkm=QA`|A9zAJ@UWdbU}g9=81z6%1e-kR?LS(EJ3C(+{X8{e8rWS3rg$c zWT7}eFFggMxl#1v-ik`Io8zyLR9nRlWqG}XkH*!CrkNr#-|{DPFl_JA%ox4WH+`yp z)^tYiu`G_h&qdP#20B15qizztjt(fN1Gp0U-boL=?AnZ{##RmP(|!rOx4_R2;lRvt zy|Ov$uKwChMt|~T3AnDy$p9Ted4lo=G9a1^;Nr;p9w+p&Szk}p`(`nEnptLhSMWXJ z`*yOw)QVvLKntk+pV4YQk$z2nA-hGqie|F(qapMK*@a1%PNy@7v=aIY-9g+%Po}3?TQUsq7j!qDK)x2)5-gzX z6+U4Tx}a^M9+$~zd(7-cBee6cAuJDcAQF_U8!*g|5qwHB_)6ANO(*OiBRZ;~jCO+r zvX(9M*;O*2V+(mM0@b58%Uf;cSL8jLl{bq3Tgw9kc?ciUfylrMc>0%h++;0C59?^_ z6s*b=NFg&7(wFXn`(N#`(5P2vt;ZiWwb9tQs7XXKYw`21U3CQnhrJ4kIN^T zN0{cG+jHth{sl8xxPy4;$il!Ysypiai<#4JD_FzM=F_W-;I~?78>^>B$;y~ym(;kD zK_!D~hPa*{M0)uB6-`$9lE8d2>-WD-#}SwM-xxB-x{S?k&f62V{j00vo2G1|TQAYL zJQ^9%N8LO2BX9Su12-j&tf3oQ>H22yQY_NXJidV;qA{eeHxWV^5hSRDEd2Rc-G!F? zOS?(X9ul+@!T`ejat=v*M#T5X_b;b_JJq2Z!Z1w&z#){54yL&OMy7bJ z4cQz;<+JEW75%v6qx}ALpI+G9s6UdjHM>Q7WMU)SC(yqinLm5@oP zWR%zG*mL2#SCvMj1*L~Er1YhL^SAs#vhA-~7dcpGkd16W{G!CQI)=(JLVmp=8q~ z*daO^e1{F+(s$D*T81{I^#u<=KN&v`N(U1q=h?iX>xVo|+IuBoM?#G9mGGGUa9E;4uH>o%75_!~|U-Aqd0&-}PDR+3W&s zVTzd&1TO@6xMZPJGRPNGIr^u~IYq4%q9#e%`Ii+xhWB!!y*q^`cq_XP7q5M{P+fjAIS!Lw81FD_!hmRn#@kn{* zaqAB?-!ZoCZjNR)R|gS0U5++aYobi>c+Zv7S56NZtNr+3*3O)5xh(}P)h#W1_ijH> zafB&9Y(CHilQ&gRpR`Qn>sWoqRND!OW$Gs)H&Li#2bQ)AmZ=h}-+1<|vSX0gs-z!? zS{06Og=NP`t5TrhvO1ATc>dR;uUrr7W&>Q3>m7KtbvGLsTUJ?FT2@(A8WR~A8xx`A zKkXIKwXUkNYh9$W<2aqiF7fhOsA!7R)N1E}uRtK6rt0I&n$QO*U#WTs7%h@b})NAG**!(}x0pKU!uTDJG+bqWa!n zb9{&`o;~f=zGSJ_nk8J5HP-)?T(vitI*x??*_n$NUUp%)#WTueTwl$L*a;aAHLtA+J9YQxP2 zCSOx#tWfGDj}usPmbxM+5h?s-*@kFyCPV+Sea7a2Coe5FH31W112!cX%gnijrXp>b zDTA@Rpp@OP1EX%nBqkzG8<(h*er#tqV&$R()G2K)Bkg5(-Y$JL;(R>F(-|v{Q%nup=QSzxj4|RepVe)+{vW z=$_m@Y~c8e&AJ3re9_u{hkdRTG-R8zw-+`QG?zDHpA5!+M@^2lT%8RSXuU=iA2K68 zLKBo6kh0!5*I3->RhyWbRZ&`IHr3=5Rx-xSlF~v`R;K>jO<=|CX4m`uEe3UnA%qDr z7DXUe+7KJ1&WKNox|rE$Y$`d`s%z2JuF*|l63>)ZL~=z5^C64I<+o^>lZwWtr4%iW z&;%#PnoDZUwdyM#=}R;6J}%Z4Yj+3Nr7@3V=dR3Oz)0V>%eE_=)n3*{zsytZRPUg@ z8|VichTq65F;r)pTWX(gBn}(zgzt}NNHQM?K0BspE>kwHz$bVlQ=-`eiH{D(a*fRZ zD2kK1J7(A=>p(cHG#S%!(%}_O)oRNM1UBB7^iYN$Pgk;;(4$H+MrEx&RJo0jGWK?M z_?nn*c6PbBSyAOlCF-KwtZ0UQLAJ0N>U5(_Tbxpa7#XTErsovGZmmqxg)t}K6-rZu zL)j%-lNytptIjJnW#wb9OtZSO0yNionv^`HNmB?l7>2*#hUac;*{t$Z(kmo9lfL_P z*uCH*Yv`aAIDH(!pe?cLDPK;WL!D|XartiLoQ=7d+?d{)Q9&nP1N4OBsxG zk)xg6%k+vrnzAc1tIo&$7V~;OnK=0eMyj&2bDVQy!}*ZM5x0|WW?j#D;z{0{a>lb| zYQ+~iW|Mbn{8lAp=EaRP_BRg6q}}rSC9aw^V%^fkOM?=bfS7;`-Os<$w`g#7w{Loyr5QVI3*==YtHYJv-YE`uv6{dV9 z$5fQLP1}&soKs$~y}Wo&!XajLT-H<3WCVJh4muqA*j!mrU-!+W(+#-iRd(*T zc9AI;>3iRF&bb`B(Ouzr)rMvo8#5eA(8iHenaQ)*5c z2M}o;4@o+xlYtLg{+w!d)79q144u#a#inFH6$f%}^l#uUXVI@YjE4OPBLo4!P5Lnu zvJAOgKDnFn2YIF}_b&4;@n(7xfPU{!px0zEnRP z5xWf_bR4fPWD1TP%RMfaA{I!7&L4mT0}^J7VN(n=>@bZCVx%k5^3w~_@)Mfko8q^V zf;X?pP^0lVbv#M?8R>9_IBGD9pG!2>DMDx#jCodfa@n$*90N?w(aZ<3bS+)+30(xP zr$sNxdndOaxxxKyro-Sid2)Ks(MulYQB_JhutkIb2z5M%OM;X2x;x{qMzrsYMuRocxkbW*B|3d@WCxQ1@Ugpe)a*iIA@vflZ zx@L1-u_9HyiaYY1-gEijzn2k&ijtG1v^;`Fl@_Kk1 z>goc65Z4OYN(W}dF>x8uTm9tvU_JF+o0RGs$mxT;X)(RVft%fsDYHHTSf!!KGObQ1 zSsm)HQIaL~fcn(?-lo0e9k9wUW2HTOhA&2@?P51;yKGK#SVam~k#a(_V>kL6J~lT` zFUvO@borHJoF0^x;<5(^3zX(I;=o_oMP@U4M{hctI@qqLH+0_4ZPr`lnF3G|XZ(+G zo?rp64OjwOIIsk!RSG_Qi4!2bLKNelwH72p32WhUCu1z8KM`I7cEx0`*D3_yNH|-b zTCOhU5X^8Eo!vP9&@{QtSv+n2szn=-geEA8$EQLrcDYkiV@X|^Fm?D@)J|Q*RBsy& z+*F1tsZ(v7)`;gHU3ng{3NfjI9bN+f-|WT_i?;)1JBEK3S+kek0s^eyH(j!A!qVFR5`B&J zw9WDwmB3alB8e=0#RmrO@+a^7an<$lsR!%!tz=?K>LQNGkJVR|l_>Wed9d%%(pR(n z={v#R3_o%evhwvlIZ7YPS2&g+(gIWTA(+fcb|_}EFo-v6Tkmi3hO!2 zKpR=0&Jaqavx&h4aa}`>$zaYfyJna{;+{#{U$~I75_1};-8r!C8`bHw{Sy~q=cJOY z`lL8le6a@F{X${fk(dApSLsiU{&p(TuET_k528tag z!!8P$`hO`QCDfp*QCEkTY}GNgQStO!`qVaBM!r^%qsVZWj%2M5;N`-N;nC^j0?Njt zGlXP9szO6EP?)A-Auke{44@7j3n0yKkfe@qy5uHO39IZfofbK5aY8CEZ~7KF<^ufK z9rnvQ{uam%!oftQe|ZJYX#9>+xT+Nh#7=YRcqpb=qgJ^7p&-JFIr@*NGprhRz>mGzrS)dr&*TG`SIBM*2UMKQ1(`|v@!cQ}4k0r#s4CK`Z%E1Q=_c7) zEWPd~Nw6ANeM0LPQ5 zlcC$VfZXuxPYwMIV|1P%!VL8()|O}NOWqd1=xa7)jpXvFaYcY$wkdK}^G9R@qhI`L z4czD{m2vr~J*FrmivxRDomR9yK3cDjk1O(1f(}Wb3(dxM5=Ik9P6>iD5=k?pcCf0X zOt*v6l3`zO)5~sDJ*A($n8WCAtvs0z9nUNgksIa`N4+e~ezU)@50c^1g}26QsAO(P9N(Ub4}D_N0$n=IkIiPIaxNy$UYc#_Qq zdCiaVs$5fglT4Tj1`yJ?>mI(p`O`u=<>JqLb?eqNaO0Uf-Ge17{Jaf3E2_y@}Aa->Gh zp+^E4X|_8(5`@T(ESfCGA0C}KaDZZ`SVn_;*?|0D_2-$bfo?^w}wcFtr#iqeuAn>1>|i zU3o-YP2ThU zVb~ADtEkk6I$*QPr($zUQcKeAih>qU#43)E5djc$b0WQjvB*vI=Z}a*2X0{j5ptyc z$dpyYb2T_S`r#~QQb%SXNb^3}LR{r=^nS4O9I;p0Qrtu)mcCs88P#jH_hoePHIPY& zsEi|(NZwhD@%k5;wHK{saq#?NHwx1^Y!qEGa)rYAMOl)Pm0ynbLYpTN;an0!p6-|A(?X8nC_ z4m|R4{A}AQGLl0Y!eicrR_SFKsr19t1-SJAr{!1KX3^NXfhL z-JSS*!i&<8IF5cs?YNG|Vrn;f1a(x-Mm?Yd9E&hJ3wfc};HUz`@*j#SBOrj#eZlrl+U?a|B*G zHc1^7C5tpimnI?g11nPU3)2hbLdQ(UECd-t7q}dAiZ(DZfZdE26677MdE^yK&1E37 z3#P!5Eme>&05T=xzgEVQ4@ER;0^o81G)+ctkOHuT-2h!@C>c+Z?{fT-zgX(|F^%R| zi7M6MMPYK=DsdcOO-OTdwoMXylf9zn>U-Zl>&$YQF?Y=u(HzXP2!r}XM}>=jR()ub z9Eci{Vha&PnztoXV|47~q6gfxGkv4Y>OtBt0M51kOfuk{>Td1Drc=AmApJLxE@D7# zJA^t9>L>ql**Wsg8f75q7D(*z%8+;be9mo_rv$}pS*cup_2i-Bhff@I{rb|Wrk1S7 zdB+!3(4JLPQ9M2m>GY!7+NF*1ZOtvW4=NAbsyUUpo4J%5+O$+29IQ#&sysnv{q>j( zOC#d+6Q67700uWts307!ClPdAqyT{m2aY9N8Z6xfpf->xbc}d_0$@i^T++-~CHjhg zIsJrxG6(3oF+ikclI~8#|B7fBmf)wvI~yS$3Nh~jHr4CA3ou8W0C0f7oo!vZQ z$$Z>D^z~NZ26`<{>D2q~gtGl#0O6Q#-?~=BdO`;5`L#tpW!$B?-~xL6b9L)=rS&fi1NR$6Z9#QwJ!PK3Yc~XO zpEin`sw#KvlI@Dz;a|l`3*Y`uE7=Xx28R!j2Z?{OZ4&Lch^hI-%S}y9%BCjVgJWL2 zVDw0>a^^_NUJ|%l4}xPJNB-*9@C~<>R=rqH19#Juy&S?*FZ9YGFEDnE@o!?9{6Xt2 z*MF%G;D({v9=%C3m|SoJy|ftE__&O;cqN^%v@fpq$P=Pd<%f=4klmYoW=ed5HXZ%Z zIFGN$Skc+2rLFVilfRrZIW99UJ6?GL;P{Jumm%14F3MxiJo%)#|K4&O*6PTwM2n&} zE}bu%bYa20l9J5q5{`^G@tR(tBmTYR)AI}OmzHJ;TRu5{l8zTGtT?&pqWs>atKXJn zl%y3aJ;(%d@y$s(5nE1S%XgQqd{?3swk$;krTbaYxyl{wmt+s-otwyYG}B_XFS$Z4 z{{0%H6g~LxOL$I90y^Iz%&F;ZTUV}c$1Skn3vja8l5MeN5!>Q_n)}<5pXM@t2haGN zm6LCs&Yo%6aZvfwrC-nde4)Cyvb?;KAqvNpixzGQ;YKYQwPe&{CUo;WFE6>*yaP3x zm7~v$I63+(v%Y@m*%LBvOpI=cPqnUDCJ>mK+K4YwUtZ#QZR0ckK& zwEms}aWCw+z2oXP#3X9^yY8DSGFv7D?qfSfi6XDxQr(e1eOOX|PpQq+BG-rECtI(v zS)s;|t+FXmV>b!Pmq{I;ibxD`g)>1HeOKfw#qTkbGx(AaE@;BA;>oy=p4I2)*ts|`qSlW9s?e!h~^c0<6P^2oE7D+Y-AoqA~tKyQRIiO)Px5xsJe}_pBCj38_;2xj!)&ukuPU6l& zn1D!BM5_>r_23&l6>k4Rut)s6Wf5z;iFCBIICya(%WKSzQ`&BlIWhFQi1tY#hY&J; zBPVajp>n4bB`?I0fwN4^=H8;?6Qvt6^sw&r>D~LkMc*e%OiNBmkR_Os3gH`i)NlS6 z=zgctf4Ods2;Q(twr1O==5TJYZKe(o?i`J)rYp$fAvT$^a&we9xtS)NX)!<3rFq-7 zJ?*lCp{<*%xI7|nCEZT9TYA$CE?LOF%|vQrR`>o^q5Z;aQ$Z0}3ic{2Bgjez%S$j7 zfSGh1{@0Rs$lB}VUsp)?dl-21_(GGtH>GWs`}ky=kiabi*Y!x6iV-UfWGoqwK2AmG z$H1icY}RQJLmbWygrS8N~0G4O+11aU-AuV{s z+rgk@NoHv&9%(9yfy*n1o|eP^;YR{7U8^L*vX~5dIoIQ~l58ekB0Nem`uR6>que$H zNP!o&DYhxV54_-~@Cz}uyUc%iG;OzLkFsM61aL^heyD)V0{7Ksd;SgH1dv${)_c5& zP035pr=&36-cyr2irFWYWExPV9Z|FLkY|YAo6*zjETMIZ9#;WV4(`Adi{c z--X0JsK?^GfpNywK8I-QFu;(8VR_EM`WZh2`9n}aOkn~7W~+dsnw`HrK-slQqtPej zY8cPMKd0Br>wnHVd{~*At1r+XpQwb4fUt`bdDcsK_5YLI81CyA%VotGLGKM`?L6ut z*czC?x{&cD#?s7UZcAxcbDQiGB0&wcNm1q8^+P{x|1;|xsdPcIQm#3JEMD(YTUcA# zDBs)cyMDbd{Fu$WsT)-va2uF8FdXF00o7#_lOzb&0H_5v)2zGZDhg3w? z)>c;5a->D_=IIY_-aH-GhXXH5It^v9_ZUzN*^PSqH%H!+oZI@eRz%;Egj7b>bQS4I z221F>ohYEEgoBrd3>xMpI*5yW9}m)Z|NP%~upYErX32*O$nrBHfNn?}U5<2y1gOES zz;%k@I_xA%yw)sT>eY^zSuyyJX^B1qh$OYZGz1525-iunB$4BJ39jC$Q#g4JBwjzU zv|fUkmr(E&2VrZvd@=p-yogpxXc7qimk<>Sd*D}%Q_dtMFlC%Cg)1mHrA5y4*;DPkqP<-@NcgNSZy6X z3Cr~laHd#DUmlmPu_O209G|gt553I%2Arn}#zGFUJFShzS zlJ#Qga%`jPC8TvC+c94veR7=KpGfc1@qDB8b1_|SYZQvLqF4v=sVCBV*wSGAT=LHr zoX?Mz_se;n%*I7OKzwks`H)q}DX(_0Zs!ZxM`X3)p%NW~JNpoCA1V2>w&^VFUOAjj zpRU`KQ|Jq|FbVb9AhNtKxtDdP<<$9Iduk69A7zY%g$BgEKSc`G06I&k1A0hZ1t+cF zlw0t>1@Dsul5P7A7ao>lPSdqFZzZ#F)hco$_mzOty%$N?pLr1(SG{`j2VrRZ(V`(A zN^jV?Ii7{LUssuakT@;QBk#Db3>A^lU+igwRKSY$sp=KV%xIzGSevvVz@NJoElO3T ztCD2W_f?;hK^J?==E5B_VBS__#(dsv;0z_?%T`fERzYbwsI*HW5~;#JErKi4L~oBk z(kW6;mD0f~|K!hfI~Lkv`?y4>C&fg|BFked>-lNF7oOrws$5lm3bXPC+!e+%@*jxP zx7Q9R^O5#dt~IWrjx*BynDjt{Z-6XbkLR4zY^%wzEyQAv(mEDvvaas%tjG8PaQj?g6JFwn2r%eJF&Yu@W+WaW`a5234W{oNY^SR@^D#$9$%Vly+phT6MwfgjIWysE>;lxf( z?7rDvvr{R(RZ;+_u!h-0By4W1MxCHZO4Vg1RWVgb>Z(QZMbVMrLCURRsuYBFq&4cI z%);{0^3uk-24s;p6l?3`bq(6Y3Z?XLMM6PfZY%?}#GUL{v7c;Q$Zc2@8nG&CK^Bt8 zmrluKG6z9aWD}h%9~e-yZHrP`v!Xfdq~W#^Pvv`<;Epg5Pb1(np1&j2?;&P|pWc&8 zcRbuSdbv{Qh`?d=kgQ#{gBx{fT-CT!%bP!cxZoC!NJanUyK24PxLM00-8VAx{OC_~ zjcvBfHivhhxA~zk%>O2bc@M5f74fq)6MuWSLHsN`!SZB1iEK`!jt!+_Vd)H^Ljwan zJtyfs54(CE(cL?8I6vP-*qW3ydUPOtzk!NeM?}t^I9Nu-&xaGyZx60LujGg$aBhuH z9yd0+5bP^ha3W}5siT^ znBJmYpkc=dr3G6KpN0lCcplc@KYZBr@Zo#*j&3B zO2Q$cg@S@-&l(8pM=WpzBu=M5Eu*N*qfmCCv zk-l>zHZLJ}OHo{I`;GeJS$Vm|hki!%I>%52E!XT=byx}$ma--=CL=a|X=IQ(NWCmB zA~hm4N|%(*7-F+h^|H*gg2cj%qV#PBb7sD=405~1tc-%JtgOtFg%vrKx!={9bs0(X zXwS&aOw?w;`#uc~iVF8y5|@;vZGax~j>;3)$|{eYKXAF_BxbX@8K+kltBciV{RCpP z!{J8EX4dnuY+(lSUgc_CU`l*iLV7@QVn$*{P*ysAO}+(*RS{(wCLL2z1L0+5aZXL4 zx!jnQotsh0fCYkOKcn-Bay@{gfwmj0wM1h1k|c=UmP+{j4_R*v3O<+D&~5{^lK_6l z%K$Q`V}Qu^${NA)H^>SwzDQ`X8#S`~J`acuiuQ|l^`zo)ar6WEK-#mdeWWrcadkto zT%D4l(jfMqrd;p?SvK#D{0DKvj+~qZB|ML<_m8#CaXEo|lkBtJ1uXZVh#w~@OwLm! zcXXrvS`BAA2^}Vzvt(S*f~X8#Dzt-BHCnAMO_#yEy(rNcbUJwGa?|qUX0U^#<(4P` zUA7caoqz&{J4i6Qgg?AH)G7N49xh=;8=^RPIj^A3UF@sG+0zN3LnXu!)`3WpjF%h_ zxb3}*6YgTsF7IjEzmj*1xg-Qnd=!?~Vkpd5Op>3MfB)Hjt|R^-YplWSuHE``-n%#NTBzUb4Txd1 zi_K9?qe*nv8dvYl`h~kTlXlwf(s5acNIHW;3rovogw#m8h~6a=5RvTd2@Y8YOQrQN zOL`9`xa5>w4Dv%q+WR*M5{)D58Cd$T`hT%Sv19-=C|05?v|m18FdYC%iWPX+yB+=G zSB~fESgNHzz#9jtg-3qBDiIYC{|JY=GqD>`Y*bY4j6oNAR;YeU|Oyq1AblpirOoIMMPTk zC4ni-!>U34J>2>=UC}A{5lnRTWBMWKv5H&MaY5v(trNJuJjBg)4b58R8p{O{>2c^W z!d|OEwbLaoLg0Cc71WTOhp`q7M2PYDb-XXZjJA;NSU_?uo&Pi!UVSZlV#}eGWn6~` zJSf=-@tN`R`1p*p1Z9T@^8Q!GY+1ET2GXR}wd>jTw)%b)NyC^p<7ATI`*bEJv3a|o1t0M!vfI{dm zv3)@o{QJ`w$*Q_F`y&P4c({lZI%NV&Vl=uMwMJd0PFU%Jm7@KXb?t{>>Njf1B7_qB zfC(OzOO|NK;=hSMrWuX=R|M!|()fU6Nt^B5Boo{mcfu~P<&pO#q`)?nB|R@rqwnT} z@>fi{=iR$Qy30#!575m_eMAN-Ed#}dVnay@a>$?|9D%9-cDfketvb33NrKDKJp_?H zzmd)0*$oj-2^+NGGr61f!Vy;bm5RJ1CnYcfNRPWKa0^L?Z=@n6JwWaV7zuiPcX_IH}UZON+LRO_5sMlq&wZg39#@y4S=i0 zg#^;+H-9HR3}jx`U7V;h0pulM#IvH6bIWI^HkGqe$=7!!LPEw!GMN9H4DRVB z_9KI(?QY^>aGqh1=|=3~7m-7e%pR{`M8j-Vh>2l6k;AXuk>3%^LV4N&zseyKPJFi> zRJ3hzZLw`}uhtXhNZYHnS1XBRKwH1PE?H$|#xj91wR2~sxBXYAz zuY(X&1i2$3D~(`87(-Udp*k}b(B9-)}y#>O0yJzIx5G8eo zH}De)Of(jp5u-V)$3O+u3+g;F@Hq&wbgqJrL0ICG9Xe|n5@fN&z^jei4fpeksGcQm z;)l{;%U#}qwaqA*TA-H&j#^H;wGJy^yU+7jIzJ)E#aLC$JBn-{^53(znWd!nSkYwq zf$u!{jD6?rSso-bc$e}da)T}ufobDk2QMH&svkYa zMyn7Z0I_MD&3@+$z3gcX>0WW-huXa*7lXk&OZZ2uH2d@akFocFi{fhAhgZYQZZ^gk zmm#pj&Zw~)V=S>p(b!F5Lu1E=Ac7#hvvgP%SlFfa-ocK&ml!ogi6$l*O;6OACzdnI zS$zK2pn2Z+`G4Q{`+ctLPC4hynRd#3U-xwpZp$Yq-~GbuM8P%;0rP%o;85%dPK|2< z9r3O-A%yrzFUuBRytGiSmEBQc>NZ$12w>1^sjY3k9RFF$B~jY6O%1Xz@G=o4tQoPLH-Xdc zq~s>&8x-On9iN#UBYY;mxova^KXH;i;yp1XCL$@0_X(}4ZYnLTG>PSZ{GR`Smsv5~ zr=br9Rf*nLdyj1AymtC+i_m9h>4mT8>vYC3x|AP2Au4pXm>e0O9L0P2)iyU5RWw<| zs=Ggy$V|!W$ck0(kdb0_WKO7`{6reLjoWN1R7Jk5hSij+7iashS zlHcUrv~Pb+6@q}9(A@Mcl-=>cBzEm!GDED2Dhl1Ig-v)EjASyot23*I9G|n@mmE2R znA6l$KVJk24xlw|K8!8XHkLH8RX+5L?OTSPA*Yn->9uu69-y9@_67zDCJ9MN2>5_}Qf79dn2ecxmbN=8P)}my7``0ohB1rDFs8fU}aav$ITQqfkjw zn5)38nGIlu;^Pw%;>8deT}BNIXu{3r>}-osC?^I6EMbYykGkL5gUg9G$HgXqI}66c zv@lyAp#&LXjoI-z(0(%K0RJxM>5#T^xpC%LJ!U7}DI;v22uDm|^hR?$ED{!TE>f1F z1~(-WmuHB}iQ)CJu`yzVEu)AgF)>C~(OiK( zH!4c6j}oG6*#$J7i8AKs3;2TE+yZ1NB=OAmxJX3?eI7<~F)w@XYwkcuHrm7XSuZ&Vsio+*lA* z%oi6F6eF{oJ%Z`HU&;Y0q#+vm&X%q5QQHJ!4umOxEiK>|ei#$vDh9Y{ftKUK7zlE4}-D2Hvcv!eBv|4sqXm#)fLSvgO2&<(1!H|n@f@QKt z4e1$~7_>jVPn5Q)f;|7RKjjrns!!H^Dh2+omWnTA9r0;Hb7xPy_sTz-HcNkP%FMngI{ijvH+8SzQ9&w}OCV%MdFWa>>x z-8%M$su;&43xL`Dg`0QDtiQ#lyU5^1A{MILzQ4cY5`VI=tRw>-S$bob5n6dhLu!fv)HW)Ool9y=N>pliYIJHOkhLfz{!H4DoH}5cRJ2dmFs`t+ zu&xlReN=5%>n@jm(lWDs(a{aqZD)zkNyv$p6AlX-<~!C?Wz`mO#_p-H0q-gr+Vwdl zt3}eICNv2H5}7s?0#efCZ1O7!QTNy3iaWyqhQ8)xztQZUwgqs8fM?JtJ($U4Gs`pb zjm4QoPGq38A55Yw8ED%tC&-9)GA5+QCu%d<^m1c8!z0m{%(NO~x`a zo|2}1^H_k=TH%bSVLtEAYA9`ga)a$h-c86!%t|&p!PT4rS926QiC=cI=@;$&tIo+n%Q;&>mXaW7*rI zy@hBz4;y6uhAF@Gry#F*A~|qifN88T<&=y2%gYX&(Vh(1=TR=?1^Z=zAi5VV?>;D$ zuBHcf+W)SGI1SGJMEB8fkvcex96IE#*+<7{zDHEJD@27lEy}JA$-+Ikd-n-MQsf)k z{W^uJP4TX;bgXqT$>->0a`}a| zePdUl7W=h7Xs}RqM}SWF`{op z^4`ii)#YznA3V}N@_ex1TOqJ6b8lT`ZNEmNKK2ME*e_C1_AzoM6X`6O zm4_Z>-M7n#;twq`Bc63AFdV5sUoHli z(Ey~Q2U#*gm`cYEqW$~#r^`qrok>2OCH$65sB`tfr|UBp4j_|y3-z3)^~K7cu%1F>p))fT1pfmLYP-DB`aKW7V}G%#fGiG2C{-V zi#fw<%>>aYlb>~QNaqC~kOShoo5^d~ClEPT*os)!#o8q~%Su)VQmE|#htq$p`7D^1 z&`DwU$uqI%`17Z8N={+}(l5nC`86+uykN`(fw=oR;#q>p>L=wxkYV+3}*Up#a&S9Y_LuG?BnmL?Zyna|hEyX%4yuY8!V^prJ6Z zE+&3ZjlHOq0}}9g@=svGMdAl7`h({M5~{R~`;c}}YMZ0A?UdfY%zGz3Z{V{Nhj3=* zhg5|0EhWLALXE^Tq8R1;pMgv9PA9gvB&PTa}!0kDY%!Pa``Iq#% zw7k4bWy(lQ#YC)x&IB5@IF{}KPM%uY+W`fFC1Pzz^Og4YzG>|T$VfT9ZRCM=4LNCj zHi+9~++^C4U3}M(4z8#6H%2~Pu+-77(Z4yk6%Lmr+X!S#z?AnEX^nTX{UQCv1zw51 z_LcUlyla(Lgh_Szdy03LwmL0sW2Y@4@R-WZLUZkvWwmGydVpr52r`vTP=KhJ! z=7K%_z5KivoOK)tv9RfMFe1)gRusRxC1F$2CW8}P$Mcn>)eLOgTd-aQsi?bjhYR|2 z+u03ALDVze5s>?>2Ua#N&O1U99J9T>GPd#CyiyXp#UnIfam-5Zts9)+%Nf66^|qx! zA2^YyDNLMSlCO`}$K-2)Vr%4-@()^;9sngW67AY>+~<6Z(;Aw{BsMlDOE0N2vl_)U zB=LOS@rGRokcN&waJ1!Y`KL}a@>|AIYpQF|HYC->L8&(CTgH}#KzGdXTH~n!{yUKd zpY?LAXsv3lZMeM5@%N|1{stLb7k<}qk9l9_KBLNd4fZ=C0_E@_VTGk$rJlv^`CFVO z`7)LB^WLAKoe}+h;C$h>Z`78Et)U)HXT6wHd|8Ww0pk z65Aaz)mVQAitn(mEPRT&P6wI!_z$$-sj`2jFJ?!J;QO3>kvLu;pFvNn>kbqNL%CCn zvNyUdk8@piDdB)DSJ!?t@093)+2rBC{VSJ-xPSa{#rD$}!YEFawH_16`~LLRHlq3J;DOI8gbd}5 z;+WcIZBy2srUI;eSib4*MGzAF{5@g!?2Zj>77iWCFFJsbdF6TA1TLdG4UM_vtgK9{ zPN@{2UKU){jlvmcDJ9_Az~#4GT{X<39$~=2r9igH=`81!V$#RS6pT72GT?9-Kp0!jKrqyLDFHaT>12N2&tX+v4zxs1peo-)K;{s#9__3b z{Bk~;-|k4iR&e9q3!6D-VD8U9{ZM%I^ZPMlfpkpfCU0LhZmh?N+ut{R^6Txkxh?|w z*RMIhIWt0B_{QZQ7Ikx24Z=Ws(cmjo{A-(-to%4o|G`S_@^ZIBz5-bGdw9&8LwjlI zCi3x8n6bBzQP)YBpt0AJR@=}w$w=*~`toBiEKY8GL^$%Ewmz{gwpOUks>!agsL0i> zDO~cwwDyBq$%^N0ziFR9{aMpS!-fr7+Y{ybG`HmS&|GAt2k4%Iw!7=M@H3*XofkE6 z3aQ5(WnF!8Jr4`!bfqRme>(NF8JamEtZ9eQ$49Ffpr1ZM3FA3ks>~=Y%P7kOsRfU8 z$*J^_QnP#momoxaBVHFi$*Dgn*gBl;Lb&V8u1%e?WcIY_=jYrMG#mPTeeTQaV(-K1 zpMZgnk(7UTE`8MZ?4y;BI(3gUUu%A|-tJtOXuq{%BxfBeaJUoko~~=r0zMl_h{Q5RZ!FJ=zRzoee%N( zPekc;Jx8w70#ZP))2{$^#P6tzQTrzg`8yk9Yx3b@6(xIL|`(=q!`i+2EmY& zY)IlgQUk-i6IEM0Vj`BIFC~YQZrmlqNS<##e zijUmzKSm`jJ$?CN>o-leO_`2}D>fL#odpNp+QXkICB0k8nD>bAF42I3EYX}^RZ?54 zJ+<@1j&{gSts*fi$Okm$Pp6hiBg)4DU_lk(s|Sj7$`lMeqv(g)kZ}D9Fam@JhpqS3 zh8e@N!-02fFb7-vlLOC(VA9u}7r5mf9+fJQ6jlVVzSHT)#%jC9VtA|J1t~UI` zRu6&drA#^Pa@XZZcd8Bl<+QKKX}5Y{$MdwOcFAc=WgU!zAJQvuF`+kqlis9NZ~&}< z%Vi>ZV2$`b=%BKQh6(%STG%gqWrZ=lQj9zje;f>KUtp-3L+)2q8qmB*KiST4pU2K7-MD54`My$OH^E7lCr--x$06?Z9 z&37l@P|~S1_u*g?n9tSZfll)sc(w);@4+ODCyRArmrUD!Sxp~<6j^hB8uk-ckjH@Y z4eDfY1X(R$@rRzoMm3NHUG~>>P$5&3SJ9Z-BOt90>4QIw^eq`H)so(QaVIjYuv<*>vJ%o4PO?Y?g z*zB>qN7QDY@elVN^ATHv(*|wT8W5$VhhtAKq(n!j#qeE=SWPLGGNMI8Zdy*RR_mX~*cNM~-=m2mKQ0+iSF4r#~-tQ{OPBJA9H2Jr6`U z1e@UU2<+@2f%bRg&|nTg1bgzB#j<5TkROsg*M%)Wj6lp5djqjI5J>%g&#(h4)CznoZp1{9|r$uDqn}9IP{{HLclK`p9`weAo^( z8IPTRAbwSS?+^0wnd3p8yG0`JG~hipYst$9DpKS7d47B^TUpWOj{LM2W5nPjEj}&Y zkPwe^l()3)K3;JKPH!ZarAe)27;SW7UJ03HL@B}IHOblT2pMI%WP%J6Jg=G#>GRIH zT!B}_R<9^(w|?~K^$5K5*9S)KiQdy$uy{Uu(y zR9&66&%fG9<39Iu#Hl4S?*HQQ^U}(r^G5&T7~QQa7!#cqk{A8UXmDRa;fgn#$y_K@ z(s1s%`rtc1JI3S(r^Q5*-*i8};#Ch-^^bIGf z&HI4ffQnz>zkXum9$ZVOxzcw=QhUrx5m1G?%6}`!NOA}x^o6oY(f`YTO=mrvu7Rt7 zo02+Ksih9;x(d|mI!%INyc%&Xk2y)hw$<0SiG;J|g1^_Je#b5Wh*jIZRcg&e#s8h{ z2bb|^Ynu~M$mCfd2;&`Qlo zQ-e-AU?(4f#Ua`R$)45t4edTMT;#xu$-t_POT==CblCe@UGaud8i zvyKDk%}>|+0J_|75lyw~*yOZTt89a81050M6fF&u1|2(^c5Br!r&UL>XSHphZIB}! zPKEp6vO zhgbd$x}}0LrimHep2@Bug&{@3Wyu*S_=J`ESk@ZoOUcwN2=N7dRMvOl2yfhtyq)*i zC%e{DrPwt}NhX-MrX!xmS8Pp4l0Pcz0_DB;zZnB@+&9=U@4q)f>{_5qFvXh^Oe=PI zu54O!X)5VGoP0E$uId_Vo!n1P?yC}w@FKsdElDm+E=*C;0YFW<&fhGMesSru8J#emS8!Tlt>8&d3XY?4CSrcC#R-m_l*rVb{6;`J@&i1$}=l%XU4YY7i1Qi+VhhhsjS1Pg6nQ);;#dA z_wjtQDhRLvL+P9SYqfWfQOr_`qq{`JUG}UGw%_Zl)%FE0% zm*!i_Q>(#-2+)N+KB;h-OosafLpu%qt6OS7_PijN5b{o4=(X+9YumG(_I7DqShv~( zv?rVCE%0<%SQz;Jzm`}HqeluLNV_^XvIVj>@Q~sV&s>#zbq-*Fm+yaeS!P9rwzFfg z`dJ5#C$|aCRt2j`G|3(tr6zR4vkr1l2RZ;9d4}O*gJciiY>)lU%4YjJotAvA1}5r$ zwMVIat-Cw5_gn2p0PCp{NhPV`s_<|Qtg?_U^^<;d=6O1l$FyqZ;{N@}U0sz>`1B#X zFhfX>Aq70CA=O+Z`ow`%W+Vq3ZZ56-lV(EGfmRO1%3Klri1G2-00QmFN+B0xE>Cir zM~s>{9sTYkF&UA5F#J~Gu$BKgEbvuXwjQvmJ>}_BTMu+6*nopqn$4Lea6Y<`2$BxJ z8>DeAlXT3Sut7{h=V<18lT6$c^jMKH;ALs|DH649oN>@Lv5a!*utlQ+0)ETy5H6 zHweRXtNqX5deZ+TgMXjBS*hVNl#Z!YGF_i5LC38s|v z)R_47F>aA=UL#jem^pXy^kHsP5imJyV)FY&m2u@}!)87pB03;N45M~o^rh}^yKs5g zPUV|i5?IHROtz)2x+PmoFFZ~D%q(SEvargxvjl{x=&EmD77MOtd=Y&C#!Apcv~uLF z_dql;;IvRPZ)oWT-u4H(W!nySh>1lycg|pTBvozoRN`j6pJ37CQl1)s4nI0 zYr4!|xL`0|5bqlA20%Xx3Q{ENz!h>jvHmnD+2B~ zXXU?T%$>3wu9>uiCT}uQh&de}5b16-I(O(TVwPlvv`gkVGxt}FNm**E|7|mW}kx1xyubs3w(V2d|HFg?GXQ1chGgFHWi3EW*nVqRJqJ5 zD%m39^{db`{wLewKjROdC_PXYT)v=D{Gf5-apSLO!Hop6C=>ZhC!(U8Md`gF0Q2Mn zz0F2`l?0ZK0Qz29D4&)P?mJbWGg)Gg?lAj{8}jz@2roudYR49})POgYPcF!B_P#yw zu6I){fX-`ktVg;%$G3>`)A~;vY8t+)Yx!kQXl3Z(hHH&qHZ(L`PTliGedBj^d+IMY zd|TfhotsfuMs8^m?u}U9`N-L>iKC@-N2+ZU*hqG$Tqh3m8NzFNo>C}ii;NP-liQ4M z{EFRK9zO7Ky)8Bez)?osj5Yz@i}hf(SZ|aBklwhdnya|ew;wbhAf$x=Y)+eDTT?wR z3~Mbzhc=v^C|d=6lBIWO3E82thIMV_!c&S9AU*)Lzl`D(Wkonws7#6m_#iQ#iA*Uo zDYK%p@)=VI8)N%`>&A4T_cZV+DH&`xft>uMjk8NOF@~g+{47=z*V9Fj4nzfS#JKeN z$IxpKmQwl5Bt|o!r(WSqU;CU3C=9I;G4R+999_y!qWFRu!ZC zaJl?`ilGYs2)X=z;M*i)-sfP=Ga4aMi+?gB9)475SOazi2pA*kot`G6LvSvsMpgF@ z`pMK@17!+5gF%HK17wrr^8_g*&Jj7})B-Z&5*Xy-@q(Pl_l{Vv3ich~ILC?=;RCu;|@0jA=(QoIOAm|vJ> z$rTHNn5c-*q!78zihi4S)EyAzy?yrA)$b9=SOW$u_fOBf>|Ap(-!O~YSJ%)ECeI!{dzKX>=?lcD0LHA>!_KDB<9!GS z58t`7IJ`>ChhjjkS%wcO6a@h|0DfblqLNXe1Vtacn=kGHNuA5#8Y=X-H*wwf#;0N5 zzJ}*_#UkRapaS}adF)(ecc#CI$jO`fWLXR;S#rIfS2;8mRhA3tGkpi)>z~)S&+{5% zcp`Go%ManVJ}-Y)8Sc78yo&PsC=~UyHx6*Lj7x|17v4ZT#0D^S4pjisWdwpsB?GCt zAJtU(QN_cHhgj1CjGo<#1{Gw$(z^e84McK$y7%_Pa=NiwQcQj`($dp=4FWzZ-6(YD zmEWFpqYCQ)aN3;hetzCwUXp&iavXE?ATY@X4!%F*tG;PZE|USDHC*0Lww05dQtRM) z^1*@2mblww#3jvF|8^l)tZBH4ClyW6je%uCS@6#6jeI!uD`xlCnoAI$h%}Yu`Hf9l zXZEklNcobYDX4gp5Hh%w-Ct3HcG7O5i?emv0&aECTKDaOrk|t2Z~IpLDqi047PB}m16jnzzB8x&_UtU&QkeC;3 z786X-CVz|Sql)0FL)udZ_nmKRiSe%!wz)C5S^CoO2y+PU8xj#5mK(b#O8m;NB4CA< zG>+z?b_68(@+kIjC zt9x{1{T@0`WV&<#_S10>RkkW+*RR%8Zph@xL*zD7KVha+iFtl)f^9D3?*?X!6Q3CE4sSnm93W)M){^%gW{5 zXRjad_+X`<*Xmdi%(jZhv>(D#t?zMPExs^QaF$f;%*Bglh|aW^a>n^Z9fGq`Vmr=X zfcHUaAXRN1=bBHiJ-zPq$ET0LlD+!OsUOFZVF_oJ5fxP-U}P)VN?p#lo!~yjOAR@}bg8mmFZbL zUVa1750{CqvhuS<@QuyC{8@F#=jJO*KR^7`^|WU8EYWM_FXgE1A6z?89Ha_Hs<%~g zbnGcI;4~UReNQ`;st+A-6jIAyPGvNT1V=^B0p;HtxIdpV5THTW{b&v>$O<%33jZ*D zprBEt^hA@QnE1u_Y(+_2fJpXda(=;xv!2W%A>K2E;*(p-vWjGXkv77exwCuUgMDwoqB@E>v!VGP|qt$=_K9FeZHm~JY$MJE^xI$QUUCf}%>t00UeQ)wF_SlkBU{8qtPlnn9 zsUhWJ1#wr_wI-no zq?dIv+p+kQe;(wIW{Ngm`3-^E#CvQ7Uf}-yT}Gp%cARBT7nL5DXf=Ca_<{S3RmIlS zCWn=Y71*UxbnkKr!sY3yP`M}+CCz&>ckv{htwbT%FW*x--H0Tz8#L$h4!!aeZEKL!(xzu{}XVwvqYg=^1ebL~K>W zTWOnS4d&+4sw*sJC$DqFflht*ytbk=qgWuXoTU!zs*O7ljL(rN-!9Pxhb2b{wC@tq zmp#{BaS7pwh$h1Wjei?9oubU@Bif3R47lIbXJIv5wc$n1n@iy{OhV4rmyp-lrd`=} zr6QeVU5eu_W+_V+GefBbrX$1!4rfQvZOjh#V|~-1-!4XeZV=CZpd7Vn?K|W4uKP*6 z-u=#L*_!Tm&JCd_6nEK0FF#X@e`V#kgneXaA$b{wbbHC2yw&LqGzumJnn-JuRW0?> z)duf6x@Xr>0r2o)2#7i0p1w^8V-u2+6A(JkugS=qXv@1Gl1FqH64wRqIwB`_?yQIJ z{g{sSWb}sEcs<1G$Qd07?#2JWNOL~^*>%Tt2gMV-J@o)aPe)qxdmc(t9 zA~~m)hNp8WX{o6Q$1>aOm_%q?B=FPNgv6}uysN+E7K#bw?~!1WHajajTe!~VSQ6qg z#CAIT33-Rf%FNEp=D%jMvl0?Ssn1cl8Y(6sH8C-spTuhBp(42u;6z0hYCuV1h#`Me5I3~-OWy<2e!qF1r z;nGx5o;zjPmbIP_WnnMrzDCVProAQWxLI^ohD!PJs6vXli%_{S4}Lp@dfdaM*OEWJ zB+*An?k+O?Jg8wHLfi<`Oi$1O*=tTbc4ptRzRGk=oIqo?@i)Up!H;t}hx8+CF7nGaQEdo_5lfwfOw(zSwa?1S09aWKg z&T5J8hsxr=51C7FZd^G-`FnEUnlqOk3vUna;TInWY2x#AI7qzSQ06RS_U5-#?B^{O zLn`Q!MddDpFk;tm+jgboP13p1A#*pm3F|hx#%|?<12VG%MLI%Bhx;>DCnYWzab(SF zncZ!>OAhddcZGY_iVg0CA5GEPJjq|2o2Q2x#>@6@o^9>zt*!X;bQ3|bY31~WZH5Ga z8rckQOHfg?3MEAslqJ^lM-Jqc?GlRyGX7f^M=s=NFE81(Rn(NLHtr3+^u3n6b@O*( zfAMJ0#%7^uW6@$4#3Eb8Er{x(mT$?*;ELeBR?D~F5?4?uvkq1lPV+@qW7iCDZyCXM z&XWGTW*5TCC0Ag5U)HH?ja`3n57b1d>x>3XFE`0twr+XekJc81T@E@1t6w30`CezYOESE;Fuu!J)6s+O7x}Sju0ET4qV(z^mSEN zDocj};`%@Je^L9p&Ws=Tys~m#9kbQXtLX$z#XYdw!PFM7>q{oV6{0zz`ChVsOk=Xn z>beHd_e&t;h7;v`VsV&^RjccCdA)n>#jb5+cDz7eVG(~6C(c%WK%M>GN7$@0Or?l61Dq7vXt&6#J3bI* zD*=tiW$n@v^)G7DLy6eHyw;%rM{K~S3WTkjs5=Op`;(v(1hJldJI4ays}pgkjcVb4 zy#AtG!mBz|a1j`7dJ)b#2#~Igu0dQ^<+ZSa{5T#1mqe=wv^;IUhS%HGz)%b7_t;Q_6ue!g>4#Z3{prwWXP znWgXxNS#KL!JLxel$ny0oy1c$n~)F-MI!yO)KKQms*%U&%RH^5J7MU#MkC2<2p`>! zE2y~f%|$W8E7!L)NafjhH0)x5NoFxxng!_a%jA+AFK-XFYqCuZ@JOXIgR$`IU{iB5 z0*2g|2GAhKHy;sJ?F2aZ)?ai^j|bQu+8#0i0nyvHX{no1HlBkL6aGVnxUnrw`BhaS zfYuKm4|oD$T(b3FIw#~00yeuZ>0=;na^X(SbiH#YWJnR$&Pp9Xe7GX+;yKRb8EUZz zpyJi*g0_2#U43mgn8nMz-kYMOQ*p-zlK1XhYdH(HcZ5U|5bJ(JhN`L#mjgxf$Ar({ z5uWvbhGK(asnh21)L#`C7aZl!LvHHt>a8MZ+J?|dMCR-vt3f-kJ5exPr9JE4y7BQ} z@U6jAZRtTas_p$EfEnQ=R=0|Ls>aVseq~Uo&o<4U(-{Lq!{t((LK&!Ezk*ln|q z&?&91cBHpXSSY!IwH|-}{ku?Rl84vwcx7ori`csFc>ACHgA?SO4lDbQw?E+jJdTyt zfA$=A^V}!;v{r;3=V3JO+{fL}Nfw6}U%iPF4hd=vn?3EY;kwyeZ5@oQW3LW@;9&oh zwUS^A)pFJh8R4>xtoQ+MgeX!f?c${UwgZg3`U76AZCV6&T+?+~K(!&4iug-r1H^~t zvc8eqg3Cn+M7(O-V%q`?a+G}YZMST<eKbYMH`QJ@9{KFOM8x*_a20e2yEhDGl@)BCf%YTUmV{v&=Rc^J@1oBqU1|N5CPmtfZEF2p077vizC_p1O zgF1UA8sF6<;5$s2R(~zhgx?<81ah6n#hDC8&l<9lj`@jBIV`%Ae^BgqOO=`(UzgP_ zT{pm)Q9r_|ARoZaXEL(Ii`gEj<^x8()g|xr+k+lz6zXlQn>SQuU_Y$ah?K$A3 z2C7M`44I&$B z>{hfO5=$Oa!|gvur@5iGW&ju@v1&lX4yn=eBlPrZ^@fH<-ul0VMwZ>>bF{+vb8W+WtAI zKMo6U?Lww?;mk5{I^58&QMcUB~-ZgaMe$7Wvh^x0u{ zvrpUJZ1EaMOB%9jDjNCD;cR0~kWZF)4a6oiSdw782=)`8fuXVP3@Wd!tthV%;g_u~ z5B3wKfnD3UTS=dUeJc!*Rx@NA90&L4?>zmTHjkj=LdAi$)lArwgpVd^Z4YsKPRXN@ zQ)p4q%rv0Gbs?9?^zVtw_n5X^A}&2}Cexi6Co&x`RJ+xcJM6w^jnK7}UE{uG?b_X2 zj)>N!?2+Aj4uk*S0T`=8^dO})2B70UWD!*go&B(P_mRWyyVr=%yx7Ro@n_C!0oghP z*OZM!%K|mPnk$88{ZOL&nzg&#kBFUKY@w@p*;?7Q9p1La z#@JZf>LpoAb1}hml(Vi~BWEQ`Sh^eIlD%{_xywtdB}QVU)#nn=>Q9S^fg z3uM6=zQOG6KacV@#%Gd9U&bK*Lnwr`=vz}-6Ly9M1_t@ZHpJBH>s9n%r#)Ah*HnAr z99`g^FQ7es#H0uKWdy(+sR|EEjgJ!D{{pz?>c6y8yVAJY_QSQe{-B%Z)d-fL%B6wY zu<#%_8Tz`+1no~n2mB~{=m7o5ooKoJDHs;1$NF%;n5gBeF7MePgw_OChg7RVLZZWc z&>{odrXh+iFQ4py^iXQHkY8lT$P+W)szY!X8?Va9t}uSG_2fnEpEvG(eMYD&Z_01Z zYsqgbtf@&YOD>HrQsJBnV&Y7p{BU|B3IO4>(ma!xlUrqki<}|5eP?_xwr@6!0kU|k z8+_>s+Do8zgQ)!yidK9JM6g)$@l-LoIi|Hut7#ZVS5dc+$sr!KMVu6Xf{Y0x#yZq+*4I-YXVB1K0x(N@r(Xk*}?#FA!rO+NL zrwqoKyh?xEPhSzuK>^tT{G`EyCV3aTOqyWGTA8 z6_C{14w_B3v-r`2tYkECeaTuQRdZA0w=bFlGL{g4c9mqz!EdjBzJK-jY!Tl10RW`p zb@3<_rF4g>@m}5OLjRNQvjeNgLr`UdoUYgNbO39;g0Qw|`tk>pgqV<^`0!}e+7IZV zu;*{%h0;SGieUx8=BQHDN4KL;#|kYe&nGWmgu;1oMNUb+>d-}Up_u&6li$gq@O7Vx z#WCgj{BYI92?gjA%eBN6<6mb<0pC1=*I2YRft`SV;S2*YtpCs7OPzt8136NQ5H){V zE7-OSg*X4?LmlQw)k+MldqenoxM)jw2sA)vH*x$>^)oxnA+a5M1X^vifP+KkjDO}j z5IQ^XQ)6iAPikQ$C0oN2-wjHV{?Dmk5?ILBB z+si_l1hSrODlKagZP8T4MJ6Of39f8pLUy4@!j;__h9f=smu@*5nfPLB2#OiWdWB-E zD;w3FHbZ&!$l)&q;=mqk4)rP#n@gHY5Awu`y?S`oaRL2iB29 zFi+%X<>ZK@nYA595Z_X=mg&6VOlNV^+2Wg*=BB2A{4?39zk_Wv`@to06wJ&fgdNkK zHXkm@kerGDmb>JhqcojeKtE-kO>*NBvl24nGLo|#$&b>@vefod#v9`wvQvpxXEM1+ zzgjq-vHj{`$V|lt4b*H$x%jq@}WbFYjlI<-U0$Dx< zFYi%$fnEY(lY0gSiYN%w?@~(PHgFocG2>aOx8%%8J*C$ec+As;j3nyVWyd_RikwYh z>rFpJ#K3%Mvs`PF!HIa=0BQ!1KnoEnQ#{~AuA~p>|GPUp@~xr;k5 zhkq7_a0Q-x3TAUH85j3i*cHEvHXl0Lrn0H&+csZS=kX=ncJjJA>9d}^dg5;DgMx>k z(Hla8Fyk0ZYyK|$bJvfjNw4+fH6+>IZQrsd6C#PO(;b>ea=5a_&spj2Y!}LXhgr_d zLv#`d#Hi@|9{AY40f0=bqdX5uo0;n-(>F!PHH~tH`Pan$bgR7WJ5l3z7E^SG79z+b zJ#VZX{FnIGUj)ot19)6lhiyyA>&WB&{kNgN@fyD_f$Zim9)8txCRK?Y=zd;pr8*w$ z=ngAqQ5U2neLAz4<4{R=swJ=Sn4rDkHvDh#{@>({cG8bWyXE8u$#0Cgo@FstsS9;D z4niZ1-`*B(vynPxpvR`nY^N_#Z?1_t@`!hK+VUYCArcnwtpkrpuS#OaqqllxO~1$D zUw;$!C>fX`UzK;rCTF|fLVA#$ux70L<;DNy#Ef3(J2Hv$3k>uV-e&y*D{DpTPGwzX zWv%cVTU!|jS<78rJIMl_R7XBi(}T7;d3nb3>*LN9e&t1?P2>a z55gWM${NJ+Yl!kNVJDDv7-0b?g&{lEhlk)tSzrXSr|Mz_Fv;#R5^Ul#{e^ zlw~!`H?IByR|QB>OkQ;4^{L!05~}m~hNU57w+>|Y|Bo-*uTwY#X96UOZx_t^`{UMu zWCI@;=)3jD78f{|q}RD0{;K%m-2RZ@6N1kYCWUPY`XF~J?>#GVy*LAas~&Wc7A*52 z^FCai)3j1({FKRHH3cnaq4#PA3pI>>qV10x{!@Cm=lYg;$IFkM67kh@m5Mn*XonLcgkzjkDUA%hD zVv)Yvl|`MeJ}#%Bi&%I zG>SGr7_4=+pLxv*S_6OLdRj;8U?y4u>n#jFw=k}GLo6xU-&U}CQPM0 z>8PdDnWvlSIGE_YL`@7#MMJQ-UXV&3bnTUZ9NmImbQCJF8esiFbOlb?5wv9|VduK3 z1KS+n$5IcqvQn*C`753rKmrqWQ0^f^bWj_yb!^Zfd8!Vn!xJK6VjzAAhEXt7k$Ro< zx{is-ODHPVy6B3F5@PZM%}Q7-K}c~(DVK3biK+~i`s%Wac`{E9dqZIjm|p93GPwlt zL>L3P!IG0*BN?)!A2cbg`Hb}=w(Eu*JoP6__F>9T3R!8pGX+)aNh^}wz^fS}n?g3o z`)XOT0X6_K$bojR7b1^r6Og%(i(^79A+Sm6*^tn<@EDoS&Jr4s?pYq_)ai;5Xmnn2 zLWvykm!Btgx^`O1E7My;tDNLvrUj354>H6ZC)0!AamD}cC1|$5R3ZCO@be9#^6WK+ zvzqL)&H!U`ngM4gPMmlfqKN-LevnB{HF`8IeYO8ygljt;2A|J@v$w%qD5$af_U+pf zfBxA=hw?OOvz)CrcXNkz&-ebXT@xowyoD5@Ve&Ocd;eKwYs8VwplX>7puq{HCT$+> zu*PtZ*rx!+{2Vu)HW2Jwn#5UHJHgV~OEyPEtf};L0*K`^2KQ{?!tNq*W^&=(HDpkO z=e1NxL!e^EY0?JbInfyE;Ti@KT|NrFXW?X6n0sL}g7FAKnLS9y1L^ATFG(E^c%Y`K z7v95mG7cuH5t8dY`B}TfG)XLH0C5>)J>!!yl4De}cE-4lrd%6&Wg{QMZft`YiQ`Ad zoW8nKgd}fDqB#{hF$POFO>8TbGjAx^ zB%suvsUJf>8oeDf74u1??z!Pl=3Kj{-h)>T&YS1PzdF5UyWUyVC8cmdm?sQFOvJL* zA*CZDCT{^fjEf_{#b?xm+3@g$m>5hL!RV%`)6ahVkEJe)_4Wz!P7*gKG@2$1J*OeYgXp0;Q!lv_XR9*Y+GGJ8=3Vj z2I74mi&y(G8V~)TQH!Xqh`yylMJqrPHwU9{uP7C&L7Kuq9I4+u%0@!38Qo}C-r$u^)Df^ zYJ}ASLh5qpBPkWK;;)4Z2r4MoL+Q(o4z`6ce)0aHzC7_%@9;0Jg(q;Sb<}Ly!uTfa z3;{ZbVRK{53F!u_o$XJ@n7pFIBEG07D=$y9z9ijGPd8`h%P#x-L7RkykaEnSavui4fYcrgx(`%w~1L0lW=_oPm$#0K6CQ2<# zcDPV@i0ozV<`7Wtb-HroH#iom=wDj|TIqu>Bp`@Z`$HZu5>!HGyi@>51^Pms6)LR| zsS6~5%2_%ZNb=bZ-7|~BZ1oy7LTGwGd;H0*d;5q=Rc?-`2;x6tgZ1$-m^X_{ zsBSn#4E$KCyHCU=VqTKo9L>*RgCc^0&Eh_)x;5hQM=H8>B*;@%{vW#D10ag4Z5sw< zcGpcF+p-3B*%?jj-H2Ud?_IHCK|rNT?;REvmbS3;4uT4(s9?i_(ZqsX)WpQZ5>2AU z_!#4vIp@Bw`?_eLip-I3kt1B+3NJIXV%O7Ezp^y5 zWBn*ZYq3v3jx#qvJ_|_~kDh3#r{J963=*aYHOVrP8R#l)$`b>!z)F(WNQ4y>Cd@vul}YL+oiUJbO3=>=<{-#^Peo zH)uI<$lElEw>FZFwm7`CF|&oyx{Q~#S7YfBkeMEGD};5^-#RU9p)6TNVWWK;LfY$ zt>!DLdD)-cxoBqKR5gNgV(Jneh+ngx?7w&V-i9ZxzsAT~FmRnZv+N*HTyI~#{fabe zuHGfcpBO^3h(f&gI6d*xI|V7}mbfDyX3;eM*t|mC_U?&h^c~8apgj%N0hc{4IGsip zKg){rlD`I6;cPRNcHXyf!L-T)*t_5mS{+EgMZ(W+ax?4+O(h0coWnMi(YzGDNCRdue3FKaJw1HfAk!_Jn6lWe0D=F?q-M!N?R751x z$!9yr@Cu?mhz!` zQ_Tz9^2IZ7%R3*3A0D-dL8GZN$__5(UcCJpcev#q?(lgHh#*}>f~wEt7#+-*Htqjm z6ux}`&~`tvPm`OgFOABx#*m>e!nkh#x1rF%Nd0ZDOqOjum2ltLiYCaGOcJ$9{#(Ts zvKd_(^nf>$Jk8HPGq}IDFkH5xlKOc!C{C5{rnk!RfZ#1B6`nHk#u-fOmE;!{IYs>; z=GIWlF7C(xn}Qf`!!!9Ak!5<(#$!LC zTDDEw9U(?ElF-`z%SL*OmYV1h=aUOOOersI)qo+?PFzb*Efl zEjcL$d5|kAMbK%JsHh7+&Lq=+IwRjpO@EN^u5HsT=qG0}j`_?1tR`SK6tzVt3ccmM5co6Fow>ZLm$!5iE}PKW=Zd-zyK3&sed`_ZzFmT5Q)Ao6;XJ8@QIao7}12p%J~Mo zu|?qIe1xazpIP2$Q6zr}`-L=7^lt$43DbzlshzX``=>a{0SU=VVto11+#jebXjmYM zUM}CJ!C;7@i}a3Y(Y=z)({S)5zLQS)Aa8pZ&!e612aQ{@NZ!#({gnh@tPTzFleDaw zQ9E88799_2V?MMqCj*nOQoKbfL4bbB8#BEEQl-ID+;lzzW5j zcgC+WvTnbssjRB5mQ4>v^YYipP9HX8Gwr3Oy@s5)KMW^ZP>_NeJJ@-gg{k`C>e>+iu71e_ZvYbDd}Dw$lt*(9*W&@JD6>|t_2#} zD$2(68~6Cnml^AJGj;cR4g8RglZ-C`(MJFJ#K-1n})As11 z29J1yQfS~YI61>NNce`12C&n27Pj(6z7;Z;6yC*GIt~A8+waO05b~z5LKY4wGa@1@ zOzj=z?~4qL6sc$V&OH$TZ4us4-2vNQfDtT3Vcjib7pKtmu zT?IBR{$I$%7vqU5aFP&kP1}9?%=*jz#BEb^%^61oI|m(gKIYb#e&q1En@4uuBlbsr zJWrN<|HG5sPn+*I+=qAaUv;rHX%kqB>Qdkcg^+5_Szd;CTk+*%D|%szx^^^_LY|O8oN;Cu+nQ; z5xXUKPIJgXnN8caKIKPuerp#mTdAd;i@)-^RKy<7z13WNP-gOi+SZ?srwkrEZc4v? zf+0#Dkq})RUKC!KQIuSONRS~sDJ(8DH!wFaTUM;ikIP`A4FQQE zA%SUu`e1MuM8!wN%2F!zmAh3LnJFn5+|``hCyMT6>`tkQ-xqy)+g_(aUAb?Kx53*G z?57QqB_P929h&5o5D^B1xGq^2l!~fSvoo^|Iq9YQ_h*5C5HiMTDgf<~JaH%WN$HW} zC(mR)iMtlt;(gEVut)jE;Kc1oA-Yvzv9e?_b!fDi*{<+)poZN3bnQ0_F3=p}L;n*% z4=$HM6s513S!?Kn@S9#kV~4oeZe8uQZ2RV|n>Jg0nRPbj%Y>al?!KO2c5KG&lX)e3 zrH2^9jJmIqiV_cREcOVrbM~GQw+JNO;^NqaS+*zE%RW2;N47i*ZcUOQ*#;RG$%)X| zRUJvHjVp1>NzB$7q8J5jAI3#r@{?;G#! zsSDU1=HL|taY6H*$R^Qx>AelUg)?q%xf%tGSccx9_SO6OsiKULnUQJ18G-shT}W|Y zdX!ccmyi$Qp-}EKn`1W7EG#Q5HD0UL>ci7R!^0xNqJkqbBK3*dgm^

            zA)4ApBHI0o=#zcPGS z;Z&!ro%w+kGBS6KGCVvbHIxgznSHPNtSni2yrej@II|?(+Ig1ml-NnKwsp?RQ^}|F zO}gZTzErxxGax!XBe5dpTEex+YhsT70Ytaq)>Q!VItrMO57SX_GJ&RFEXQ;dM}pfG z%CwLi`bm)1A@Wn5V`+F!62yc`u*X{|xAnJ@ft#TAO8dxuN%m!a+1X@J=KkBMxAk|B z4J=Lf$f9FIV`YFDu2ddRJCS-E*~8M4S`u4+j2P+A0(Gu7q4udQ#fn z^u1|&(+vJuc&TN$IOfr2^-D&yG(}gH)xhW z1L^au(#*n~q+;2Gc9}9_;exFT(~!+7W-QG~8+dWkofw3VW)O=Xe8sm7IW}L0H4P~n zhbobRk`&9Pk?G3V@~Ena-FRLs@H!=()}Kx}4Jab)24o^C4V8IW1(^j=xuMx9kf2UU z!=~BkIq6v$I7M?iv$9Uv8}otWv+2}k8?{3C82S@sR zM>JQ-kfTR~8^ex8Wa;$!thDBWvn6LL$Vdmm&LlQdgI4yf z(Y|p3)=_SeTXfrGyp6wd)9iuE=jayd795MXCW9vxY;I+bPyKeT@W$=+QH0jvjq?*7N7BtP1uUhKU2ONN>MIOxt0$MRYHGsf88a>kP!SoAn0w;bdwSIKH&eZG5rSRI(%=iaN$FRYKKv!9f7%q7{0*GQM%&{vh!d@VV zfPI*uB6wDn;`W|UNT_mMf#qd-8TLXi>r&5rp$as=jAj*)>4}|Z^ry}IR|v<(n+<1OR4D61r~_$K1@K4claWM_vn`DTi;Z|G_zd%>R1miu|hQ@}*$BTX^tN3{Q*2+i8MoIJCn)-T9+yPTxUvsxvq{HDiA^NnC^nE~-7`%bt?wo1x zU9tnAP5RJ8DzA7 z&bYa>r;7G`JeTy(VILZ zF(rjSW!xvizH`Ir&!d8=|gyfYv4Y};Bl%7xBm^uJ|jQY@+M|JV$E zSU}!Ivmkmn5$P@@7QOW?CQuUMQAXp8Uy9$Ok+FlidCPV?2I&qRmL|J@W^61PVTkxB zS2Q4!d){-KC#WaPT|2{@6Qah*`6x-rnqynf1!Ls-r|=H`+y!!scE-yU6=pl+!aE!0 zBgwgvW5-I)$>_o`CHYalb>~hbU$%Bwh(cOka+0iJv3~&Q4m~7}a0Hn3!S+}n7NVj1 zP|kMmFGrT-dZlk{sGqmWyOSoEY?%&Tg;K#>1)I&A!<|`5w%li5$@?RXsLxiNgVvGl zh?Qs?bVrY=5Kn3|Lz^cd6cLAFV*edWLM6n03h)!fl&Y`;Y(xjTQRO;n&bGghtRv=b z@COc5wb{dyqwM$;bOUQ3f~XTMfbz(_ zHHg|su{o=_<1bbL#Yt(cC&NQp^RGHbcJBJ3KYBZGh+8aL>bGSRhqd!P+%jF^W$ZVE zD&n}5gao~o|44%r=!JV1pWGrI0l5SWCGGOm1eT`Pjj|DH>b1|19wd{O`U?nUwVHi@y z)32?C$v{5(skX1+JHB!ys{o1rKR-fd#h&l}P2?)mXkIQC21wdvP`b+7B!?FNAe{JF?#Q4#O=aIHBWfx#3o2xvRn$>*WhQ&2 zopiy;6;~rzc-TiW@eyIVF!j<6r!OC?I&!3#BNOg2{4N@=-0I`x6vD!LZObIYgn_nc z!RDrG_b*jmtmYs{V8vwS7p4`eJMR+>H^nP&N@&*sjF)$)vy+N$l+uWPj8H3?v+BZa z4yncBlV?KrRHy(3dSi)OQ?u&!R~K#-7U&Yd`t)Ns56FT{Ia&gQYd_{pMcvu+IE7QU z)?b>NgOuA-2dc{(kE@8YJ9U;W+hDhJ+4>WgS#nBRlee#;jD-?yZ-!iwkblX!_R-Q6 zPU~0U?0z24L~dBCU5Cd`#3Z4I@S^i^vpkD&2I7n8pGUy~+_75B*mRdJtXR|t8Vsu( z(scl_R-0x?wuw1h6SFn$B26TJR6-5|)lBDh&Y>IBAtx9Z_i-e>zW9R`Zko!OYxdI) zPga|Cq!}&2d%k?l(XXSq#FCWK5*6Int+nl~l5IP7IYx3WN0aNDQP#Fv(r_rq z9qG5X+RK@Xlj;Tz>;wsl0|gU$W%lCGi9w$dKu4rFBVif-@D0^zDPJ=t zk~fUvH8JxUcAs`tQ`yidl)=ETN92eB=t;n}pAn4B1Ro|NKp)_*+L^H<%Y}U-3}6&L z4BGwE+_!3z^%0Ho>WQ^WVnrVUM~4CpUL~SA0-4jf#}A%Wx13zNG$u)07UMvbLUo)9 zyeI(3hcZRw)y6&Qn_t<@bqH{D_2Hlv+JgxV@Q(FXw=a@x-M;T=G&hJJ5dKy6R}o)X zQyK5eBxNNVjjGFMPG3HI+<9Xz`&t-|y-_Rv7$d@=Ac*+-a?_cXGskys$Ysd@;Wa}P z62%Y5aQ&k5aL)W~x?o4`iRBbr(|4lrGS<3xS}$tXX~pbtou3sco_UxoVZvI!TsoT* zuGeDRE9;zL$JDm`W0JvocCDyZvP1J_gZ)|-L_>?>7KJTlM}d{&10JT`@h?-RxLX8k zruez&=J~I0H696c+s#72WedYwN_nGLw`jjetwuN|t#ICwyID*|l>k!RSF~7;lBeHX zd{oB$3~68-Sjk=E{d>qNED{-Udk%R=dk2Sz7W>OB3udS6=zWGBV_xqVcC8<* z9c&&Fu}ECIj1dM%<6%r-E9C$F4knU&M1E!pE@oZ1q9Sua1MC0CmIuR*vW0FtGIyvI z2#$JWDn&B|I~N~;#2osZxf-$J~mrP)e6d$QNriN=;t-RK>c|lZSSV9a( zZRtD4Da6TVYo~RDvCGUy;F=s|E>>4wx({fiAE8RIk!fyn+X!sKCZU3XoIM_5E5T;eMy=TI+iZUF7d+?3K36U!tN=n4u|ZS^*^ud;pg2Qx`7A!i8Tx{9)W zc{PZZOD>;Szig@9hGiUe#>GZV(OGi5vHUcRsGuYj#i1kh@@XT&03p70<3(Uzwvaze_H{=Wzhv$c~?fVDIX*X%;X0YF$Zf_<> zHDHe_%1_aln#mbyQ2_)`+mOo$LDh)7P&Mr*iHwem1_;SVD2fl$hQxx?l}L1tPrL%QHGrOTs8Svl9!W- z6hN|)pLRlc#Dt~fM;1b=Tw)Zt+YOm%cx5}Krx4?M3xxZAVBG!5b2OvqS2jaW0+iWZ z+p0}>m18!n8_U9rxu5iq+}sl%UCJE^D0N(^It$(_ok5qO%aFZly7UL>p&~YO0X$+F z*#hUy#!uDsxlxV+;Qp4om#D?aKd~oLBN6$pPFQKsFF-jotZ)#6zB)l&wvVJwC}QGdd|e zE=HD^`1v3@QEig<5!W4zb=PCvHRmT_-JB$&HbY$3@b|i72Z^Z|Kev7L9`U{pemb;h z?&#l|x4===)#PvTR}LFS8j*UvhOQC(p_Pr#o!Kv6feac{Xfm!AWEmXpNu6XkFh!g2tgVdrrJGvTcj2(+FaXXR4nBRz$VN#fg>o^*S z41V8E(sgAZDS7moEPwsz0txvH!Tl~TdS_rV=kX)piX@MKps>(me(|G65F=+Elf}eB zvHwA{iQ^9{&unX4zi!*M_3Ik9ojudocou09u_?;4+Zxub+vd1VEIlihcI-}uI{Y|j z_&k39=i?{u{}ff?kt~p+>^lyc@sBar(VVO#BY;Qh1v4=cAhcc>s*l86FESDzl#`Jk zYDbr{7o4>tv0T*e!`fJ@CrEG=UE!0$3|1b=DYVgM9qV;Ungxit6U_oUj#)Io?oRLx zWZ@%Dfjk1OFBWp>=G{`#%dtSO7-)-%+(JN`-b!I_lZnLPFxe*ZNzOnT+cM|bWD>{w z30OM|geBNk+<{mp2sCvw{;F8qLFYmgT9`qw=86*XC+lhHL;AHElt70jfh2xCCzwkv z&OJ6FXOV2)a7Q#7y;bO{WaG)ci8pTCL(=D6XQf9s+#ZGVBpXp^XEG{ z>K8UR0V>oRw$p&xjlC5oH=91-k$UH>FwK3S!i?pM_Idgr^n>A z^R|u%U8+61&I%cHtM+>7H+gwk$HsbjZPI(~wcgk?_txxIx|*)G`cM*UwDQ`kKe>1B zsis@E?%X+Z)@qqySkb&=lbd(e)V35KJX3RhtxW%XHaKerKEI=9uQ#9ZDBdaCNdBV) zjrah3L~ii`uqN~I`DZGYv-}D&v9D%5wOk?M3x1|Q+enT>iRULpnc}961Ux+$AxBBZ z&zUox6AGn*AFqJkn=kLpD}Y<|WBEeq<~*Q%XZ{Fb7r94x_y=&pV8MzB4DgKdRO5xWVQf#?pGMMI zH#3EU$o74&zfylnuV=|}emXf|>i>*5AAWl2+?%wNV^#`>EShfr-Enlq-oYvGT-$c`PZ?V>8S3s@SQX~#TVl&hhI~OhK_C+My3gU$y~t(Q%;uL zjC>asgcCs+=*A)D6hfNX7h8!^iZ4w;q`T?Upm#6L^)F4k@H^^d*S3Yw0X*PQ;qKz+ z;pST7S9hSIrj9LGsf-R577If*JHU_ija6@4YTU9iL#x%&I+^na$lsxA2ogRHfESw`@s>+sYLz zgpND{z7UO1%}V0JuhThBbX4B~bcl6sT(ftC3S#o{arSkF7QqK{ z6Bl-a$w*Gm&Qxa^l4HT0zJSbvm?SZKO@>-WWp1j>1Nj_|xY08qo4rB09>fLwMD?hT zu#C3RHes1KC2jmNei`{^DweY^Awwv(Cr9ONy+mA3Q8LY;a-?Fpk-frHtDERHY$9^9 zBgz!&Y&9M1R3E__j(JW$eMmKA2(-<(=_78_8v%k^HN7Ten(1;5S9R!n+NeB1(8( zmHaAxh89AhGr)ULMqj^yqiV=oni)j>x4)Tv;1_H2lB_wP9{VEv z-IotYFWE1#`RDX1MSae3*QRk9wi#O|)1HCUBAA-JIgZ>YZh=)eS&2bU#mTFB)xpzg zmqM~vq*IHOSrySgq0c+}LK7XTqsu3*q+LTR`U2OGL-t#Nhdh(^7VaPq9qq<_bVM(L zPNWaK9cVq^c>4~ZZMhCzqq{bY4IH~jiF1BTgAp4C7q(i6gMi8ad0GFI! z0MGzll^u_fNcK55_fy)#iGHF6kah*|#1O3IhLMjKkS`Jl457YJ&t{Od*U1+z$;UD@ zkyhv#fYwS4d7K_jbKh~~Z2M>>$pv>s1X3m@vW@emS4>uq8t1uoIv5yc0D_%Ozg8h> zc_@Btoyo4b|HSiW^@Drm4L3MYeoe$<8%gp-zO48wCR^fd>JjwpcQM1lMl$(W*DwwL zQb}xFh_!QG- zC0Ub6rXg~$0_1Gu3j`+CWOD65xphJyE#X#?i2@(^Z)pQ2t%gG6sL9*xFp4NBV!^UU zd^B)}h@sb=8k0YgrrwQ_n_7_!@D9Ex|10t`Cr$Y?8;R9#U6Cg|RK9rKy2XIt{vus` zc3lfgc1s|sHO7&6Z6qPf$$=&C^^YQP_2(N;pFApSOYGA+>(a0jR4%v-vReOo+7EPu z`-G6y_P*;p7l)&5eR+qzIJ*2CfUdWK9u+K4x9yAt<|DM)7MYfDcdo2WbknHu#qM8w%quG z)6XorI{(J{`)&{2AH-ZtER}Wg$g_zRfvFw|kx9yPg2wx1 zW6}~6Qxnv&F|qx$W}0;9P6_&H%YxK zD{6aUWcbF4n2aP@(bo{k?w#AX6lcHY%C=jcGLJjogg;O}_@v@P z^kINJoWx!aBALi}UJ72X@L5RCi-9^~c7 zYTv+;liti#w8F!o8$^c3&>r5Pf0NR6@j{TDFdXh)VG(~i1VjCUY-V&;RCbI^e|_#x z6Ik@2{K0^td_%gZ+HC`spikR!h^W&s=7+8febz*_!tZG-2jayNf41b^*?+QV;Hdjk z1Dx*_1ejk+d=STbDfK}FO6sWb*MuO%D}5lADM^)PfQHSJ=NE&93?b(KF`ocHv8X5o z@T0(XcO(Q~&=vA?&}0k&Ju|9%PvE4x`}z83yhMT_?-iUXo$T54j#_(pHEq z){0Jrx?JncC!#u)?5x2of)AD;Z)7EY;tz=&m|saSgG3Le!=2XtQ>6{_34im0PF?Qi z6ILH85mpE*tf)7n%27!JZODr%)#v3}11D?*eTHlMiqAAh#p_inCvkwmM~~9jNTNpr zG968d<$Mo(we<*=19t+JKsYyWzQ(TD*iO0CAtT$7YyT`=WBN=Q#*AQnyk%o?Ux~O%Kc+au zH``Y&7+WM`G-Qm1TP(C9+Qm`hC=KGAyLV?7BQAjz!7bUby<-^CtkRKOCI*Zid233&AOfa?zja72g$abf2%fH$yI-X2Bu zHj>xo`Zn<)BflwypWxU=Y?FT~6^sxG!kIN8ijDJb!hB~rZ)^jFiZ~-Y{qM?8EwIji zw-W{QW(1i(w2^GWyoO_@zxrec^fC4&ZL!gHgTLJMR?jYo`!)ejGD9vRCetll|k zJ~fk3vw7>+x~jK2|3D`1;G&xRNiPqw$&)Po0=X|yYZ4}J>NjHQys5LN%=u=B)tT1D z-MQ-X&9-!Q6S%U+b^f=N(b-qO8~Z{HU(ho2&yIkg1O4&6=r(v}lFwzLRC+g&i)Q&x za&kr^tn2t)NpH~$@V#6hKBkY5+IX5VAt%9yo@T_A{Y{pyhQbEq5`T=~8}RwpVbRu+ z2E|!a&@Q8`$`_L6mrSjsc^LCTlIu2OBBS`RhT^s8d!g?t-`zDtGUEpZo}xa=B}uN! zxhc}PsCWo=he@`JNe-)pPb5L{y5c0342fXI33g9G_}rSw6sKkwN>qGrX%@6&+3ARO z-;t0np5FqmLbrFj=m=;c1u`uuVFiwA{*QLJq~1N2+%jUbtaNN9k>(>&;Af`GHj>h=EHA+K!nD_wMvZZ`bEdsvYt zGnq-(7d-so`t=_kF1S8%<$70pKUQGA4@nP>N(@1WM<}M7;^~5AR6WA_@Q(GBtJJg$ z`Uzd8o|u2#jf?k8baz)Fo7Due*2Vl1V#0HJvo5hVu7P|CQe##{Rh@`h7#rQ;dF8Q8uc2wIP=ADF1$crQIMaXU!l*BkS)6i>Cc~`cdabD zbdmc|SP-rc2oIO($TsCf)PXwj*IDNzye+(z+=hL9(HmZuK$|vu(yDl*xOvkQ0=FY5 z&?<-*FVBgrmP|49F_8Yej?M~ z%J_dt6_3D`=+HhXEP;2HwVB8Y2^qVK44h8j{09ifrB}=ik{7Gf43v#KT*P(6mlc0wv_gU=$@bQU|oAHvEjuXaV8CLEFG- z#1Y?H(|*uX{`S^f{}u#~FY(5WCdo?pGW!9rGo03|g+-JQ0uRO_OfUuYNh-#}fn*Q| zn$}(n=|7N8d_-rf=^5x(YVmy3Iaqo`hJ&b0lo;zCgJuGeN*nqPB|ecH7vQR~eWNlT1*rDdJmYo5Noo`HEmC9y0tDk67f z1Y)ELF;GoA>c*I5p}ajFcE45n68s^prcOi>vZkIv?XMG!EPG?xrKD&vV-1lhFw ztu`h~1&rZqY3=FiuPe{Xh*{Gq()E`5y<|r9t+g01=4i$}?)L$R)K@}B%%fu{yOis@ z35n73)gVgi;x*_YV#9wU5XeWrW1O@X`p1$Rr)ZbHCppSqzKML`5o)C6A<$$eC#|cI z4mDUlY?yTJM%Y6$d(Q8?_t);HWv17F6h;|hvbC%(12k@G10?AYBEkVP*%=sxsB*M9 zF&W6>#7UOJvtSWvDp1~AesKoia0aBF8uZe87oj^t=Jx>?59Au@tPe}*f;LNjE5!*Xt{Cm+qo(^ZW15Mi)XCJGk=PTjOYWh8yTERBY^C?=t=YN2Ha57 zd^~4Uscs@iH+bP)nnt&&XaKwoi%B4hyj3&{BVj*4GnUqeNZd%5#lNzC2kf(5{9OEE zH&wdGPR^^GJW(~lZ_1{5te=a~{(!$MHV>k#@C5Fz%qcJ6T3*zN#D6N#!jrL^$%wI} z59@bulMyxe$JnEWTb~|+A07iS%k8x1+*eeX?J{~$0-yfkd`xuh7ui!kP5oEuTEDa@_1t-K;=$F5H z|9C@ny#+@!fYp=!`nnw~tszT`PM;x~BV-&I2VYW@FhQ7ri;@M-taQ?4AURH17GEHB zSOYb3Q2R(`(qXv!!}Ns@nBNQUTlalU&)C3*sHRf@ zBf>%0hYT-eyE`FcP~tEG%ZYnnNSfP_}v#m8>LmRL)-%27it2F}N z7ooL33@x%vJ6S74{EFlu5UVz(c@h^2bqYgBZiIDYZgE_(8sPZi;w&)pX&D+;KksH@u2-haq3f&MV1d{xfrXGd_AOk0y zI)c-<5aMsq_k;68XVr+~!{Oja#Z!hHWHfNiHjr7>$}gg_JU6=!J&-V5PWfC;<)NZ?~>U5ktZ>u{{U2`DK`aoKZcbZGB zU~84;;_cz0lkuZk$a*=@(YBb7cfus4n{JnnTj$0uY2Gzy2Wok&e4wTpyn z|4Fo)4>wT2Vk?+khG<;|{+WdHAeP&9KbHR{I37(Y{WvUqK&5~tmV>4pZphHwc z)KmQWP7)4LJ{`B3`s-rSVhnNC@djf8gj-rb%8jg3ERTwTS~ZrFJ(|CkOruvZlMTlV z36SLHW#^}J-;?jfef_-z75M+pCErO3uv!{-p7^I_>u@C2e;>(*qr~!Du^KE#uhNM8 za0wEr&EMNFL%W(D@<3mI2dptcI!+fLb14*7grPe&gF0cbQnc|KE9yjq3F=0_03OkUI8_fU_5g9>tB8ddl-Pwg;!D{f= zFj+YndHHZtpf|n^h+7-8C-O47)JEc~)BIt&jdRmW2hvNiyRtnhL#$1FyPTmvwCR=P zhYmf?04It$bT~lD9bL0kAMHUm3cQt`ca*lh?;|d6uj|m8c$2)cIJ+ixkM%%uNl7>I z{D+mT#kCpU5l<@r1*yS%`4S4hz!>AXwFRovG>JY^dd!;?0>XOdWIE+rYW_O;r4^Bl zA=9UjH7So%Zf8E;CmSUdz9o;ak;xJp@y1#uKNaJ)SAPv0k>*1c2kFOGK4n)gcAGj* z1tpG+^b3*%$9Dg3iS#~Ol3b!MDZ$^z{i*am=|7E3R%7u-P;_p8?Dk-F3wPz+L70Dq zN<`;tVLCp16nuY?=mB$Tl7USBUoo}p%IBIGC9J$9$&m003;a^xmnj+jQ~IkOyt?F9 zJ|#WnCtfnP-3?xT!`j5qj02TP)3Ar)z3@r^XcXv|@2K}d?ne+QWk-md9T z7c(;YS}cl<1~huGwEbn<3nhkNLm7Ukge1|SN^n$sn0XYWe7Nx1q|Q1gEnGOMbNxxz z7Cr%KxB+c}TxZ4;W&-K4 z6m7f(&Bxy=@Kp3B+M#6WM3AH`MASwP+Urk{54 zes}>UztKfxKRsmi2Qt{ncMMiupTw`QvG~)5PXd2k`>r7Rg0$1aptrO|=8&z)SPL5Y z7UBr+$daSJ$|HzJmjXM5oi|^&=XonK95R&nSR^a}u16lj`mmP?cxnjiEXBV-=%_V*I>?fabSQ41!Dx+`70EkGp;?DBc^ai;h zSVJ1+2JM^@OnGa-eo)R^BNUC626U>w(cgqA!W8CO$72sj8#C!Y?R0lVE?Y%(0 zp17LdAnQyk$XawtN=!SI0TrG(9!Y{U$O_1c@V)ypkHs9ej;{`{@+pu(vsDO#JJP9g zLxQUZjiats4$g@S4sSiY^?Ks5BXCuYvm!%mX%TIv<{?8id@&2Kb;>dqt~@;OTn%W= z81$Ccj&Yf|dMSqm8s_I$=W#>(s~!hEbh!iZh%6UjX5z}D>%LC3PEJE=r25MfjpsAC zV|-KEzUX~{<#?g_&C1u`J$U`wlWO>6m$L+8N| zML1^GNC!mX6e`*b9v2-shrmU*qpd%)oeQ_Gp6@?fExvL6(RR0h$NaCi4XoQD3Y+Z4 z%LefEPpdSDpi2kA=KT)4Xad>yEDU%0(220x=zT)BM+vWWL|SlO3^AKzl?cicLOU~|NTN_@VC!eYW z3%Kwg+_O#2{a3UHf<5#Q;T9zU9QYuvcG zbH|UnHTN;cH$fvB4R3-GNt?Q~#LPs4Hr-m7$``|?RtCEku2C=B8RI94Ye9sUibLxY z^emHd>@gC34$#{*9ota!t^SgXYTsO;M(wg2@PfY3qjt0lBi_* zd&KE6Nn?}AdkQvTCOR)OORv)B<`(*}d{y{fL=L7zCp+8iVeh^p8~F;nL!) zQ}mKT*RM9-X>4uW@Tb>ZnSLBuGYpU&(^cUorT$Ygn_lAeY+Q7#p4CUkYExNqMTi72 zce-9x=4x;$$<4_OsSKqiHX89dCs+80(fvv@0jv20=qfcmW8U9!a8O5@NNS(A=KH1cVlP zfcUahM8Fvh+?VKa99t?0E(kAXL2pr9P*B2|uJb*VNWif}fH9AyWs>0V@L;YTsX%pR zSh0i^IaewqP=B%m+h`$2Mkg!vi6jAR%hOoJ!Dt60Hd2=)x)B#o2a9e)$FpZ7P{=dM zk(M!0^LN1rv0$NCp#JX~5WS*C8_8R9laXwd^X+tm(sj%RuV_{q9-b7gc5^ctK@dOj zl=JV4NI%(JGAtBN`Xm*ZR7CpUBE#6Lq~GD+$;4AKV{M(WPF+xtq%Gj~MnBu&s`6V) zzle5XwZ2J?!6CA!$iSq~O`CEysUrfD!O9XA8Mg&I34RkJ$J?rG^Tt}ErfU>X<1a@3gQ}xvwsvF){?VH#b zjjwOAQEWFa^RYKZJ=9zZ&3JB$oGs&^ddk zfm+Ki#L`_XN6%mwv3w0=^?y8(bYpiAE(C(_R!8R{cF-+Ta`0g8sv56_ZD0`g7f_2XS>Rrv;n&UcNv`a1iqR6 z?SSL7o6N_!JAAhoC`ilX>hg-}BkN>j$M?#4@Y~7BXg~#}GKFd=woC~03fz_9v^S8b z2EL^>7wKr3Pj+Q^l{zakB`piv7S%};4S2@0scx2Z*#YXlYg>zdGXk=WH z-GahgWm^Ka?%JUC@X9F-;9{~Ezw#)M?O=>``q-{57v=NbPL1@Tc*q*4Capa`gD2hW&<%t_^Mt%M6Za z)yGro0d%E5kcxw8sTCvuKJp5U-cjHI1TSr60&*%ME6{wTW@K{;XMm+XW)yYgsCPkf zesVz)gp*RCD2?3zk3U7gow-B0HggqCffwv6WQM57v1cuZg;chdi>(u$Lyhk!s{d9;6?zd9y1Nd$Yx;Wao` zjnto%h*axjNs=goE$$Qe3}!a%x|Z{|FI&~*FVp7c>GIVPkveS@XYU`ls={7IyEYSM zHtAu=OfjgVJ>0Y|>P=g+%eHZwDpm&hZ}PJ*UDf0#bGvaj^uBt3U0P->w`td!pq24! zwL9!H*UA)j_J)R?O={$dAsbZT{5tp9!Ec-0H#s?M+3x77UB2H@=3i1BwMSi6o>_o6 z*mz?7Z?dw2IAT;*YNfCv+sQ|Ji*oA2YoKb@*6`At|Kt~w-RrJx4PwW?=fK}ZM8*n>^i^Sn&@V*ZFO+Z~q+-J?AWOQM-nSW)`xEy$ zhJr|R|ACwBiYDL zBf-(ck1r+Lde?)Ua|{gRy)v+ znUV3A0RtNL1D9V}ZLC(eWNco`nG)LjEBC-RxzHz@&4}6sW>7fmB`cRvGfwe9m&R0* z2^ZiagojZNGEjylu!^HQU36L(j()Y4E~EdZhgI}EnFGN1IYVuF92+a8-NRdG_ZpMwxMoLO!Xj1%zxX2dW$h}p3L#B9; zo}XsO&y<~qk5^hxdZ}+-42ikH8IqaoJcwd+@9Pd3LL25NS<}^Y$MlEN%PZ11gmc@P zv-E@qw8nZ_g;a+-dM1HHbx7m4}jfjo6`o>nq%9}vYmZy z@~)PzJbyG}e{EKy^&Ngp=Ar1rzI(0dK=Orq{f;`vYHR8X|3_{}kReb#mu^vdl?K&l z_iGPi9VpwImX?;9mIiV4K~^sHtFoOu9NglU*EoVAOP87izP19ZgWEHbh}RCrw35HC zJgeJwY@OOJ*XJ!{S><#G&$oLp7$a56c(nk5cT;I1D;hp_qZQ&-!_nLpFd*Bs_Ezve2TP@ z=|B@r10uLDT|QkVbTO?_R+X1m0jUR8JUZ1UAi&2bpuFnKfM(~z>|y7%<#uXup5wb* zRf6>+lK~w5Q_{c9$-;j>$~^>)0nNaVF=7Pdr-0Wc5K9;u_f3= zBVtzs6r_vvp*QJ6laAOGjbe$45@U+dSV_^um~Nsb0o1I4HR^rWz!=Z@<(~h2p8tKW z<7TbB_Ue6o>-*lXW5{{HaFAa2Ejk z-y}#pgn^%9GI%K>&Yn%&c8bqCS$3lOsI+F`+@iTE`aV3TL4Ql%CTjPnkA_;b5``xj zr~)a^{v0s}v)Gd+90&U#;#LSCWw?XRT8|v<*TvzH{>&FxR02$c!A#uovjt@?bUC@^*#`aq*U3=of zrb{ZTqf9RL8~y4ZGKzPf1scO$`E^uEk^)yJBj|X#j+g(6?ZXHxerxf=L`K%1IG!AP zOcNWF5Re`qE%o1&4?*UU;KOyIL$JdVgOoB#BfkzbCt!Dz;YU-BMjr;&!rqcy<}Gh-*8CG>gX*|zw> zU5^WNaNb}k`SFRuKXq|@06#b6owui{)_B+L-J+4Ve0YEidX)dQRQ~JwQT=BO4VT8$ zCGOs>{O!h(JGK0U9j8w0JSRQ8Y{%SrN^%#vL5irOY!QtsJbUeDK5#?-0u^0KmXH5u=wzx%GTA^XgZ{m`j?;lX>D zm5KP*d411lcKBy|`6|8By)(S|%v`83s;w-qQ|&w$6{K;ewz^fy#9SO=`FF=(pYuzE zv@E?aAyx^|k38IYIImal=p|lf(eV=)IH^|#9W-+cT_g=#o;GEP(miiZ?i@ZfL7So7 z;J?dX<-0OugJw8cRX$!BlM#aIg3mUd@q^bToX0* zgTp6woKn@)WTw?x@LRL$;P-wRdYCZiiPLBa=*(g*VZ&NtUjIx{e@chPVNxuncwz_wv=UzH6xS zA}sFF;3WmxNwhOf-{vRHitw8VY0g=|oGb<>9(bR%bcP|DR%&Rh2j$_EmXVPLrK*{k z$~yo1Lr8p%G#8Rv(LazQD(rpCV-nA3s?w@-x(duizdII|rB=iiO1Gz{XQ!z~mr&nY zIw6Sq`Ofg775$}Io*}(`dE!It?l*(&ZxQs41-?&$6VLwkF)=&7=foZ|?CSCFj^C>! zQ+J-MKd~S9$0rGp9`x6U#w_dOb1nK3qSlwTockE`y1`&(+LgI0t)8a|u_WwvT+_BQ z!6%%kUtg$T9^>EWb9nuJCmh^nwv$b3cCD!PEOmOFhL@29QAln`c5p~=MraS0QmUOo z!aU0Ys7q{tg$eM^1ah^^j+?6JliPA$dg0t|;4hiYe zk0g}QFxOJg>J{~?oyexgfKnU1f8F7YjR8&|#m#h~n@@ZJzQc*@*TRZsqA#siCs=E*ussXGaL6GKD@6H>LzgWxXGpdMD^*?b2#zPu-il% zE6T0kUcXDZ&jDa3JHSKn1)xvL0Cn;exlNe)CHVq?DCP7v-=dc*p7qnqpY=1yMb8Q( z9WXoaE`q}x#j|Dlk)n>vl8$Bi5gp46BSgCbw?XgbvtUuFUxAO0(kIzB&X4zY znLdwNL`vy95^}Z>9Q-*ylVm;MJFFZ@gyDjM^c@9Mg&8(CA_R?2y5K1K75_8Pwo0+N9&Fq=IMl9oi&Q}{(kG%2Q(bz0d*!% zcwc*T-=SkX3w3P2-v(fy0Ta(*Lx3*{l{$24M-GAs9i-vtBHBeliKt0Fcbb(o2dN9hj&RgZXDIy?Jvu_(t=&VY2l)P|(61$=>dKQ4lNzhs|6nwk_o(|rt2ucY~ z4(8X)n;PV%!h+fZoArf{_C0F;MiVtVZq`gC9dd018QpYNSJcGk>|m%4O|>DO8pFJf z0SfokZ_S*!`m@WQp8V|k^^vKsEhG!uR&_9m;FI$7V)GrKd;o2`g44 zdO`kt=~u+*$GS)L-)g?R`A73pmD~nZvl{9(-=+&RsGw$uj0PxvjUqj#UEy~I`P6Sz zg>H?HjM0RWzH^|H&HRxxzo4kFNLjhQDkhKD6&*fQs)TB|^c?=M&(fM@DvzaM>!3m? zV(a#;D$HNv28v%Q-(gakp_YY4tU4(`)N$z%Hc@WBdh9@Pi_ z((Em)uG`N5tsqfiKL(Vyaz=f_PiLgTfjox+rNC}Vp?8PyMl7S)8DHfm^M1Dq(*>JSz`0-nXF7O8 zY^5w+TjKolu&?^uad9GJ7AjKChn?|1w)|7CE1s7&o?Lgr`((|P@n=>p!(GW1#|3Zo z*}mwS&&jMyM^1ujlID2)@cZ>pBsE!l`O`qJ;~LD!vqka<{jUZcFrXb!8kDNVM@F%Q zbfgkj99N)Y?xY@^0dLQV@L8%kymU_W+c*k~>9onXhn7N@onhiQ*|V_{!~#ZxPBAnG zHxO$m-I_OvO#Id9r<9+LU%2sk`DbTNe0sn1&WDG8km_fOQR1=SshBS#>wAgTk@b)* z>J%$#Fp^hqu_JUgW!Rs3ESc<6Goyi}^7Nu7gm%V%5vAC={r%ZciArZKO7%7sj zxBX_{zT;RNn;sFHFnK;TbHxT*WV}UWT>{9~ z>;~~dhlN607LgOHowa0;8`Rc_q~4wbhtE*q_6*3KprOqe`0Kl#8XTg`hI~G&IkseL zx;AFxJC0i1AeCuzf}I6_O}2uy#zV?+JFp2h7t;)p z;jVsy;w@0jGU%E!^lMR_RZrnaED$GwSD^$vx z+g-D1lIU4uM~h-4SR@b7sn-nNqK<0AdIiMbrepxiC5lWCJu3lWcBbARSDoXlz?}jS z{tpzhPZtnwdrn4fdbSgFd64}Cw52{G^2RU)4z9{-TpG;+WI5epa8l%^Lse-GSxkmG zW^V@pLzz=|kc4LxWHNN`Y??t-j`AvO=(3=K6z4w2bZiOJmFd)c{0HgTsafe6PPFIL zRAMb+sX-yE-FHOxi3nmyxw*;+{d!SOIx@j9Z-$AmF$8CiVFp#DW~8TXPjPx^*q9Sf zq~puuo#ZvcR;8wAKs%??E!>kOd^5d7>m+ZUw=tc0O>@c%IZLzhQXxi?>IlH*tei|~ zcJ}t|*%~PPjuYi%Z%59P$++Jq6*O2y6S!gvl-+3_))$W zNDkzjV&L1;C-a6D@#ME}{y}D(09?aN&E^YVc-&Rp{o=v_==Yv^f_hSPh^hKt6wrui ziSgZ+nNY3V7lgPjvoB}}K+xkmYz#*hsc}>B5Lgl(i`7HKxQ4eUOEHB=Dr3tczg1V3 zLAb=q831uzO!AD+fvF&}=q&AoIu92XaaRH?LWsQ~Vk88UCCGcxAjO8aW_!7+TxXv- z`j#dYI_(2!EbTqMdE9;A$&2qde}9h*2p|!3v8Drv_)M`tMa+((?I(fo;E5EE=|LZNwH( zPq6f(wwlgShJ0|=8Cv$q7#p0sgp>*+qN5{t!xeEvba}Pr14(sxc{Q)UBCalvj?gTY zkUXJ$5(@#e*L&fnP&&e}`g(P^`GX(qp?E4&LiO+s6!?i`y^JxcVFAMx)(@y@R^v;7 z@d}Mk#?p`x-T>_#%?B=j%WIly+FNJ#EZ5M{-mC;;FV4NG0oMM_i9Dls%>AEm+P0mwR#{94FO*>n4HHDg4c zs~+-9_YlHFL+BI9PSy@+3^8jAG!Eu1IG73t=TE_FBm++mN}yw6wU3FX0(cG@8VNa@ z5*00h0FDBho-~?WWd4^}-KW$^hx|z7^N2Ikpeq05;g1?JCG1N&X&0R@rD+}W74b4X zq)EUg!Nf6)(zuCWpzaR_>SVo(etQ%ZoIwKNCx@F3Cg7Gk1R0kmU&=b<%4}+G_|Xf0j)13&!pSbR9Nkb!5MSjNAae zv{C%ZY-RXf&!1^>;qJgM%;4)LB z$oe(1Ki0fRHUv3;`0pK-<#i&v;?=QShA~?a>q}oj1I%WeBOUqm>peo}spfg?Jhom# z9XGSQO*^yTBaMEF_@gr)wHWic1<9`uUT87*XsBIwuhOAi-8JB)WB6AtUYf_7Z<2ckLy- z-;n^J{cx&UHGr3|0HJvBeY#jBccoTC*DqV3IXhS+uPCYCoeSL!eOhqKW_1Y+Ch_an zq~ZwF36oRrHqL<;D$Nw=iqj} zBKn=?5LHSV5U@jzEnlS!h}i1y760U53Li?Gx3p5tXVUUb>q>o8@mtcP5{i=x(=?UZ z-M+<<(klP_;Ee!ENdj~|M!hRmMkN`(7*&yxSC^Ql(&_Swixame=4gD&!Ya4!m-;m& zHGK>+zWYw%bZ+yGGNmpjOLy=+kDxMMw{3gM)-CA)Ta;_6Hl5ymwEO^HA5*tenUj^B zQ&zt@p@84Hv3U7v3b@XhTa<}A5({-jd3l9=^X{vk9y}{ObF&JFc^y7m6g8Q(nKgV2 z30VX+SV}TmdfIm=v3g4t5*!rb)3mBCRC9Cc>A9yyNL%QjY7nI-D5=*1pzqtzk^Gj8 z*iD%EDYw=K*Zcyp_hmPZ^S_WGr*Y1ku7va-E>B6MLc4rR{JJ^{g=_$o>??|oPe=$; zm6L5Ea$BY!qvtBi!*!w2PKF}Tg@Uhp?Z`a%QJquA6Y~AB9Sxyz^PKc6XhXM%!)$dY z#?f<4AK7em2W-!bHa%3-Yhj5jNGz43=}e!*U)L-&VTexRtAsH~SrqL>J+zcQ!QtEu@9w0{+~Tjum|ICc1# zx~Ry0$n-*655#}n)z>Zst$vT6N}WpRwB?6DI`r&Jv}@u?GqWyds-MU^*S7eI;SQpxR`O|6jnVA$%< zJ@ijv)p8qq!R5y?xfJvof0T_OwL5G=X#g6|-i1cPTq@{nG3XZIEauz=c*o0yW`aZe z+67o}yuXW5%Day*vCs)Z;$Nc=PqLlo##~oAh6S7iLpozy^ z5FYMvVybR#h|`%BZ|{3k1th~~3@cnH7&3}&hQ_O(+k>x&&Gu{^iY$w*WLs(8{qjpU zz;gnkTzg7AL^c$>K4!o{XSoK0o(yUgG5tDpFsxNOws3DHj}$;#F*}H3vV@v#qN=wF z-YR;V-_du6bA3PQw90EypQ%2(R?$+asc+ly*N(^1qALZTeWuhO)w?S6a|{ylmtj#L zZ+I<~UZFR(8D5K`zX8ANENPblG9VO)3o=%D=-vVwQ3u8kMmsJ?o*Yu+8#?JoNWZZ4zmrJ^ zdf?Pd_5s6;t^RD!%1#q^F|~l-OD6vd9i8b=kjOg?ED|&^4#yfCq2Txo1Q=b%6GZjg z12H`@Jdw!%T8tOA16q!azTUXIN228Wj!yDD69p?Fn-y_!5m|AikSB_D#L+0W>y_Q) z_m3;hsxB>cVyq|Zv*{IIN=q@&aQ@or-6D#N;FWC!&r%V*S{clY1SuFsnh08%;-)KWNT*e;ols z+-vV2yb?Yz*F20}Byqb&}{B9jteD6c~o(?x4hIgJ)d^~$}XwbpHgXcdv z;3G9S(@aHCQC3AlkyI`gXtl*rSqWNgLRM69LXoy2tGHN7CQbz-W7h8Ia_^&#QRP8d z(b2xXj?q!z0*ZoK;|{lXy(^-2XO&ktH8gv^w#aR_v#Fy&UoPhWc9pWp}7AI6> z6%|1r_V0?5_vV~k(>U|W%ssDa<+qgaYqp0Z3<#AT&8~^eQig6^wqjB6gbkrzooFg5DJm)|OesjyWul-` zb?9RZlzweTrCB)Zx!-Q!%gT0E=LxEM@pwzp*=q*G#(QeLnS#cSjS8d!*mHS8gBqI*|zDzUdc7g-Ns4 zEn4g^%_{YYU4_jRP|L!kS!)W`Zs8x*om+W!Y~`kJGZGg{ zsZfCPSbyWGElCd(r#6^+m>Mf^e_M87ym!1!EX^R;SY@H#(M$A}qCUHq`ws|wi_YO45sJh4b*p)LNpdPP`QTwCx&FPPI(K(ac^Mx=k3`*;T#TSvy7ApNhMsZGC_ay;q$ z#`LuTkW2ZVCK}$Z1{#3FCeng?U02Ylra+VDmhHQW?+wjGJT|95uY8Lyx>|O=rcsI! zq#q0)EhDA7CK#S-CYTJkoFN>!DL) z=8o$-m)ZnU^_ppGhbB@hX;!*Fxcq3}N;>J6Eai~}#P`ilFk}i0eISOW;#b~CDnU1; zP9&|4%m#;7W{!%IM@XeqZ>y@`xjlQQ=3>f)+;f$CbbBgxRYFC?802o+&!oEcO7We7 zYYbCoI{`n`Cl`Jyg|x;9vm?hIp6DeE23!GTUergQMSMD*Y@+6yr=(L!&~sHUAq6bi z;f^^{nxtQ%AcyHTkU0+Fw~a>8!vIu)368o$pxZ`42!$MjlxX@zFCtuf*-+9^->Wm% zkWGGh{yiPvd9Rn~9OUHn&(2Ec(g%ttdY{$;-fH(79e2wDdkJqoE8QhcTUU#-61hGW zTZZT;`U~jz_PE!9JkUS?wYzL2@!QMy9|5faf{sFHdvUIj$!nZ%%H%f8Hjvqb%qC+t zGiEcdflaUmHn$^ZqQ!{?$vWsL5qGv=(=$f)tmQJ>9k|LmTBfocbTUa%%e6Ka)ba&3 zJJsc9Bs;;0EzFY1otc~czq?79o9N%&%$b|nf`1Du$b*}}3 z2(g_IO+TIMNOyuN#hy>+ig23E%2jCJDH-?L96J{?`X{ zoX7@n0?^MSNN;36(j0V$TCLkN+35lhrsq8ksN9ec>F*R7P`rL$6q)DjNGER+#kdty z;g>4p2`s_n(@RjGJPPTJqMu%xP#!{Uzm0MtlQ+?M&H+){^_2lml>tY!`zp!2r;Z*_ z_6(Wkb-V9?OSl=O8)-}#IaoaB(Z4QSc0w=49l$1|NH6{(#~0imeYf~iC+M6^G?oYD zYNO4&T`}bbe(l5nmFD%{7kRX}a-UP>KJBr93OesEN5J@iEWNUqFqy2xn0R0R7`^T$ zz=4zKwJLhE3Reh~m87K-$gl^{%Gb7$8{2RdQW;5Gq~uoTI0gNFHT_{V{u+dyP}$NH zX0VK-A>UDdG6pPPf6_l4$@eF_{_8E805;Q9tCyCMka4(f83V4sHqvT@(DLYsn|9GTvEfuFu0$N@MRE~T8V7Pw zbj(B1k0z6(e(g}O(6~Y|3Bq`bCfy~AMCAR|3d3~z1bfiw%*57nI-9~wCUZysb|9at z$s0hQ1gfB}HHJ*kKPG{1>c~{$c$LWRkr80@9acheT!3)j=MP4dn?}X~H$+|?(+h%t z7Zhc~=&XkI)$Rv2w3Oc}eIKh^P~JglLvCb_Ru!{dn;a7!7lFIA^Kl{TTzi+6e4VrN zH?k@BP)>DPZA5WIQD}5>d_oj1lOM+hOG8$L#BRtKnL6vMeZQ6-|B+lj_4U5@ziqr2 zvM=uV){>Mxar+udiuUiWDm#%Z-J4bsQM{ zu+Wt_eo*|T^tn6rSEN-(lx$1emKGn8yDc}OD!vL>s5aW_+>$C_*y*q0kQ`IzpC1+- z9-ZR9Bdk1Ze@b0>ZF&Cw=sM}M3MfU`c{uTmZ@uqMuf$Lv;1Dct2yF;CquY5{YODv@ zvxy2s7ktFCXk)NXaN@H1jqF4H#-_w0^+$H;&V?M2LbDeU>RVaG5$PZ6$Rg@;vI+>o zDUf{8zD}2cqzFF7F;H_pH@H9b{ew<`jzJ-qH^+WYPm)OQ>_rue4tYL+K-@e(qJEH@ zo0o%oFk6h)m7g3Z6R&4nulnQ!3MFJaKjH;IQ|WVk$3R8o?v44ukwM#1HdY2z1|3P+ zRk^z=|41a%Bq1YXfM1YS7hV>g8lD;(o*SMQRvTNJSDRN>n_3GcgmuqnD^hm_R|Ka9 zr$hzk2jvCtirSUGE3aZ#%5Leip`Er0`Mee3M^=>hg!_cYd)02N@i`rTxb{eG@tLjA zB^w9c?zHM{sQ3t0@u>Q$xa!=hywa-FYAIbzQWO#U))j8q8n88aU3EZpKx6X0>b*4u zjS>5>l>L`q&~CsZ?S|?s5Og@U7WC+0{M!@iZh&$5P|+Yadt@#!6Z90Q1V;qTW=>{( z%?6kaF&kkv+RW9=&1{C*+h+64)|>g5Z8i%ui!zHhOEOC{%Qf3&_MzD&vm0ign>{f5 z!>rwWn)yugx6S97FEaNuUuEuZ9%-ItUTEH6e$4!&`8o3s%s)22W`4{3OY`r|e>MNz zyxm-H!C6>a*jqSRs4a$DOtfgW_|oD#i(f4Muy|_GVew2T6iS3v!v4bH!imDyg;Rwy zg>!`qh0BHOgd2qc!cbv^Fk09wyej-f_)ugaau6v+ylA3mn&@rOJkcVNr)ZTZT$Ccp z5`84PCi+5jPb?M>6Gw@Y#M$B^agBJFc)z$o+$g>+ejxrs{8-{DnJZZ$@sg~S_(%dJ zp_2C`7bG7`u1H!WMDjw~M><+MQR*h0A)O~(B@L2plg3F;OYd3QTPiJ`Etgs@w_I(R zZCPYlVR_B+Tgx`f=Q0bKrOZlZD|3{MkWG=zlm*JtW#zI%vPRi^vL@MYvUXVqXU0i5 zp6kyI<=i-LE|iPr;<*$qlgr@>xE)+Aw~sr_o#ejeTDeZ{c@Og*c0FF}q3Yq>V_1(# zJ=}XN>9M|tPY?ed;XPt{B=$(_vA4&^J?{2+-qWI|rss&B^LsAsxxD9^o|}3G_6+YC z-E&9J6Foog`K0GFE1A`6Rw}FhR@1H4S%q4~S>;;ktV*q_t?I4zTD@m=-s+mwEvwsB z_pE-ldT8~h)njXswcL7`^(gBJ)>Eu!Si4)#xAw3Ouuiouw%%=h$oiD^dFzj?FI!)? zZn3^&{j2pK)}1y|n;tf{HcA_3n?W|iZN}TU+Dx}uXya+K#U|7y!=~Eipv`+W=WQ<9 zT($Ya=AO+jHox1n+5BZgZEbA(*-o-`vt45AXB%ysZCho#)AoSvVcSOA)3)brKe7GV z_K|J7?O(WRd|@ZHSmU7TH>U8!A_-5$Gl?M~WV zu>08Viro#nAM7655jlpuTqAdp50np+kCso9&z3I$G_{X>vpifLEsvL{$TQ{n@?v?F ze7F3d{FwZ-{G9xv{IdLp{7d;a^6%xp$e-E^?R(hU+V`?|u^(zb+J3720{eIDm)ozl z-(VkNA7LMBpJrcVztjGJeWU$*_UG*{+F!B1VSn5HJNw`4+w40PW(u)_Q#dL#iXn;# ziW!ReiX{p!#X5zbVv8b75vhn%BrEb16^gxzgNmbyCdDPi=Zd?EpA`=kkFl7UIaoSa zJIEcJ95fCt4uc$qJB)Fd;P9ryJO@vQ)eajR0v)0pQXKLeN*yX4>Kyhs9CUd1hD;A_ zolH?DZ}q0ko$0D~->kkIBI6{l2YODMto%Qx^x~c!lwP-gqx1p{`@c|n-TphJm(h0r zru619N-uU?kZFcw^E7~$gbl)|Ss)`va4`g`9`2O}%O3hM-jJ(mu|W(5j~ZNrI`Ft2 zWwh!VgIGBP*H^KT8h27JyDS+lDV>i3UQ;Aer&z&At2L zO=6^bUKUrDp&Z0RI8V(1w3181{4GgSqt(>L{P3WaGbt_&u@469rG%S_WF%9OgqO^e z$r&=h2tI339Ev>{R>#waGKuxR3IGCwdP|X6F;|#gm7?6X-zE=E^wnFd4T3 zRU}E0ae3+zS+$yD$iJK@1&m2a%B0-H{1l!WgT)SAGiE%~gp>kJb8(hK+k=sO{KDZlhYmtwtU8QFFs&!_^!XDr1R3 zc<01#s<|K(wCh&TW1x(Kz*-8bXPEl3m|J>cO*8l7o43$*-S>vTr-;Sy8y z#eh;3N1sC92LKeANdQgs6bD2vHOC;T@axSn{ZbmPOC4jNdO0dzV8LBpjBYSW&E3aU z!VVcXQf7saV87r}@_Emuchm;d_AD8z^Cjx0rXm@)lF=-D)LewDmqdVDpxH7`u>>;& zdi9t$-yFj&lew>y4dKL7P~SEn&Js^pO4Q^Yn(8vL!w`Oa)m%-!IvqU}DNByZIL2?{ zfgQVth2EpHWtO`0yrD%w($vpZcdQbfTQ>OEbd_OjtIRM~GX2=#bDn(1>St?2VRhs+ zbse-_#p|`?9b^NLW4H#D0E^3xy}hDan0U*KY9efSj_B%sRu`!xh}tc65UZ5UWf$H3kd@)B1zOeOj}+vqk)aY!c4P z5}?&`Swu$VkEmO{loY6$j?~zkxV(7WJ8S^Q{6^}bG(>=H zCJg)@wtQ$ocu52hqBqJi1y1{8BFTJNn%$XriX#C2Hsh z{EoR@l5s41OV^xeZa$&6ldW0Gb5B#%=mMlS2dyHG09IK?Ej26Xl1fugpG`me3hF5oWJi0U@2NL;O=KMF zK5oPpvk~T9E-Ge61=`x46so!UkYic(^-i2(4@RCI%}?X#e*9n>#;#eNleb2*D1VLj z#5YGQ>c7@$*L(FBs&4Ln=s30s=tsW~z??fsN%rHs8K)o1ciJ0t3T_GJMEypL&7taW z8P|K6D%ZmNNX;D}u`;lcK=Qahwbnqs2~vD)3bEkG0QKGmj-RuUsx!Uk zNfRYe*^%3$_}13SRu!m-&f&SFkLJ*JQ8p$!ow6dmBBPvtyN}uh-?>gl1XZAKPFc$H8nFmRbvPPxK~0d6Gz0} zBvJ<9pPW2i9|pXkqPzmgI)c%Mq{uiQuyX-=lk5HcxJt}I`ukv1jlq528)Bd)SwZM` z#=Vx5^ctS7hg@!^XmI4J*&5JkBP9VeMnt^~_c^F|)j2G|RsdpxV=zJIB#+z-DJn|W~c$4yYy({+$-H>epg<|ZW zFacvWe;t)0d=t|>o!9}{d@&dU=H4B5>BG{}!lFEYot22Pqs0lCadAozYbH~%-cQ2a zm9gIPj+z^bySi-{By8Ho0(oQMhckF?m+aebzn$=(e>u_!od!Y~SC~fpFr_;J_$~pQ z5#k@!nBE=5Ef~yaiDeEjZ}PW0ksIQ?OkGM&+8Ju;s1Mt`NKG$^XOPJv<6NYnEw128 z!p>nFXrI8^=D>$$#XxpEIMQEc!HMgz1=*?Q&d7}S*W4I2mMIk09%}>}b~-X2f0+tx zR9C&OV&`tw1I-aij64IR2dNZiq6&uVT+fhwdy}?@zcD?gRS5TnS6(lFRUU~Zt zGr1{hC|3h`TLCB8hxv3jN`Nj2MR4}m5racd&4tPII_`2TR%=j9ImQ`vjzNH&Ll)WH z1-sOJ-hxYArrYwF?q~QWU^~}I*jAW0sIi;kx}m(gkhr;8ETps%TQQKcfeua&b8)4( zppD}ylFQ>uxSJO*-sB{DHR&lT%hQ#VL4UNQD77dlpHIryW+$dYafZ~9BVO36iev>k z4Yb^{Qt=PPtU$mR2R0eDb4;ThHYq5Hha{>jrc!T(T?UPvE{aV}jE@Ckr6eIQp)iF{ z%g+Z+5k$VBQX6S6n$F>DU^SH5`D^+Z#)|^Q)COv%Y%piKs2_4*!Ux;SVKwfrF`e3T zB}LmI|DK<_Jy(@3(I%#*CM6`rI~hcVU7}I?ZzLR5PM3WnI+yb|?%3$yB}Zp;JX1*%x5s>9go16*%wbicZy09WXv?wq&avK*{Qjt=w>Vlf#O4VlEB6Sz1D)u;%-Sgin zfpm!(^;yP{)rrqCuuYl~pL5VQi&c4J6i8<_bcG6{JucWTRN$WWHApM_lc|U|A}c=L zY30iJ_^gPMI46!WR?g35dWRkBiJBjMXR}4vL??ZY77FL zEW*?ZV?Wdp9Ep6@sIwL96F0Vwqt=I=~*i~WsL39t`4h`JK%HrzPH$Gg5=^T`Ru3S@_KL-#SE+k}qR!BXk94+Ip z$;)Dm=)ox#du(`n=*mxSeSY%djjykcoyZ&h;@0vZ5fNJ>L!OLqEG{i6D=n7R)N=!; zPwVH>GPRYz|LN83s)E9z+@egbpA0;)+)>)5f4=56U#$%Xj7%8l^I8qJ9)jxkA^z8J zl*xe^#r!x)aCz9y1U|h$mr? zudY3Zy}d81x>tT#aF+a!l^d8~SX(~75;$H%F3~FrZAM~}R>gT#dK_G>0c@*IH0R7$ z8@^U?CwvdBUF++&W^IG-@#75*$9Xo+**e6Hz$OyRZYU{Bj$`|NOyR7>?a7xiY%Cc# z75mGPN3y+~-WGot-Gxi2#4UuXx+=G*5=S)>##x-gWj{8ioCzL~+){I{lc@P}YNdjL zck{D%CKSJah1mbDoZQl zK1Cm3jQ(z17W7baObWydUGun__0LYQ3}Uz32<He($3v zuqxuBQljJIdE+6Q=f?2QTErZ6Auil>fbVj~t|Rf=9dw8%0`Z~UyANr&9Z(SzkJ*9C8)Y3j&GGH&Bs>flCYs!aj; zrNJ5wcs#W`R9}h<^OKS?LCiwm#ex5l%u0`q3x^e1%&C@zZ42dk4bWSYyVH{Qxw(&%*v3;EmJp|@{S?_V*Kjj!&D*JJ8Gxj72wQlWCta%X47wF!J{zWT09y_I4KB73FXiH*hq|3)A}L ztd~D-Jd(S2FN@lbS8=K=1}`o=bK+|acLWmw*i`w;824fmm8Y}X3`(=+;7+>`0~cCd zqG}U&?@@9fV+*7L0m}z!15*VXqZ`b zE(sg<6!^ua2gi}8+##S=abQ7cz{;AK%+dY<5H~TWBS3=cN87{bE@fOc2a(cYkRz=i zJvefcwGxy#^Bi4)?$`&wKpvd17adFsdkMb~bK-`**qd%C@I@7cp_aosTQFMb3n0}W zRdbNhVq+b3#E$Ts0f##d(olUl0sff@>;x9f^75ZlAYt|wF9foeHp`bb3$d?Ro$MVkC`!#y>{y&H`tn$#R3otWWp1 zUU-8qybH|4Mju^&SjfLazx?nIPA|XxzqH7DSc=3)CDLR6w-Xhbbt1}bs7sMxg1}j@ zPtYJ}6nrH3s&}70e4jO~R;_&Nl-7Bzt6Dd<`n7Ipjcd(mt!iy(J=%J;_1o4zTA#OB zwef8O+6J}_Z=2FKuWeP^mbSRIoVKdAhPHEUSKGdA`=jl7yHz{iKBawL`>OUW?Q!in z?N#j!?dRIBwtw6H$5Ylf1W0-Bf21sEwQ23$>ejlTbxo^J>!#MAR&8ruYfbBs*5=mh zt>3k_wh7v7+MJQ{ptg~1Zfy(N*0cq+Y1{JJYTAypHMd=F`>w6EUC?gR-n-qceL?%0 z_MmocdtQ4@`;qqM_UrB6v6NqYkG{F$#lja;UyS_r{Kj~{{ciop`l0m$>)&vJcHjCJ>z}QEvi{Nf z2kY;xzq7t)eb@RM>#uRScH8o2Xpu>KrZZMUp%a*f8Gw)MX><*NVk?f>5=v7iS= z04HD<#~5~Im%r>6^Vw=^*QWvt<3JT$p6@!6CDAg<_q`V{p1-g(6EmL{2+{QqZ(U=~ zlGPu+|L3?dZ?w<~g3OxXPb=6e(jpmwU^R>VpC0zT+kGV)kO*UXH`>`dCJ2E9=BwWj zCK6${FgN4F{NQ16usGqSG{(o=wSv(mKPId6qbu&7rf|&7RBmQBy_?cDg@L);_-MQGZTt>9>d%e&!BS@| zAB&g08y{_Vxw^kunBHMBe?pkdUw0n=&188pK7W57%KDbcFKZ7|U3I7DhQ9iu+ujwI zDeQlmT7iQ3GnM<_@(lOxwzlauH=5#vf1xq`?)bXht(j@c7wScYcjV>o`mpSdll1}i zm}>=Yc#Q3Da%1Mpc)IKZyW=;yTfo2Zd$(!w&+=%h3sZUE&&}k<^1#@d)7OmB(0afuINbCe(I) zV{T^McIFq~#xaw*v$T!r!+bTK|FoO@!5n6hh%l%amLHZ5%n2|3YXutQSp#?D19y$_ z(RP)k+n>rjrnO`s}--{Qf`0zdj-yKcw-Ql|Znfx0~w!zqd?@PM#J($IXcPY%i zEZ_h1z^@g1Ol|+4@tg8wGTC=#XOF2am>qfKn907Io>$+Q-Sqy_u7zJb-R}@W`8!UQ zcf@Io%VaV)??c4o52#O#V%#1nXgU+|F>@jCcpKZ_J&A z@3MF03-+%5t`!Vm@tMZ>tLZTRq8EaGtY0v9QyVgOxLGr^J1@q*V@d<={Y-i7cC%-3 zywbm3mfe^J;$ivj&b!(ametFDK5R`erNd12{AYbi%)83U;>Nr+5`MbsN-G#{3WIoD znEk*1TOcrh-{|8tGo`?++wTaNU3N3C@eIPM{E6?6zA8c)@KO^scH4!o_z?+Q%*wmn#jm(a1a)TTyWOP%NAtDac1wZ1xhWn_FxWi1+ucgwYJT#~ zK%Cb7e0;;4r?1`W?L2GkmJN~4qeqVV*Kp^l{{GI!Pod5s-l5(hTfH|7pBcC%Y-)se zXkdW%%=z;?=1iS7X}-tI8Os*TU*xgWJ0#REaEtTU;p2yoG{&*O-+OJSH$rdp4si|( zbPn_NcK$oTQ1A6&%>Twfe8iWHh}$_VWbFp;fVCl;o!5qih4`%tH+tC;80NR$I~2)> zggJMo|95_U!@`0ljTphgukFg)aKFHRbQ}R(I`1u^-XjEW3IYW|f=EG#z)#>K@D+p! zoCVVbYXw^c-muMrZHr(7zB>y>3q}e?3H~J*4*OJrKYq@ygbFpjc?&`jF2opm1ANXz z>{}4$R6zvXL-7^>a}gdNK{#Sq3%@f3^9Az+9)daWH4PnaKI}6EGX%>73t(S_x2487 zLyxYu^5reqXbk0y)C1uXhO)6Q|5RQUW<7kE;@^l6 zA+LmC@2nIomJp<|0saGwdEX4TwQyzbeu8x<)8DadK`8dN9==1n>mmd$toB~5jen|b s)(&B4mq{38BT$mA^w<7dxZ%e9{-66Cfg0+{%@$)VvB8fK@L&J^FN3;7EdT%j literal 0 HcmV?d00001 diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/fonts/fontawesome-webfont.eot b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..e9f60ca953f93e35eab4108bd414bc02ddcf3928 GIT binary patch literal 165742 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 G*yFsbY~cLNXLP73aA74Mq6M9f^&YV`isWW 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

            5q!RY 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 + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/fonts/fontawesome-webfont.ttf b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf similarity index 50% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/fonts/fontawesome-webfont.ttf rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf index ed9372f8ea0fbaa04f42630a48887e4b38945345..35acda2fa1196aad98c2adf4378a7611dd713aa3 100644 GIT binary patch delta 54090 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

            -
            +
            - +
            {{ widget.label }} From 2ad4b9c06f47d676bb3e700ef79c49b559252375 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 20 Mar 2017 01:18:17 -0400 Subject: [PATCH 115/144] Display the work "Profile" instead of the user's full name or username. This avoid style breakage on long full names or usernames. The user's full name or username is no longer displayed in the main menu. Signed-off-by: Roberto Rosario --- docs/releases/2.2.rst | 4 ++++ .../appearance/templates/appearance/base.html | 15 ++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/docs/releases/2.2.rst b/docs/releases/2.2.rst index 49e67df088..c08fed9095 100644 --- a/docs/releases/2.2.rst +++ b/docs/releases/2.2.rst @@ -61,6 +61,10 @@ resolved to '/api/documents//pages//pages'. Other changes ------------- +- The user's full name or username is no longer displayed in the main menu. + Instead the work "Profile" is displayed. The users's full name or username + will be displayed when the "Profile" icon is clicked. This avoid menu + style breakable on long full names or usernames. - Simplify test runner by adding a new option '--mayan-apps' that automatically tests all Mayan apps that report to have tests. - Change the app flag that indicates when an app has test from 'test' to the diff --git a/mayan/apps/appearance/templates/appearance/base.html b/mayan/apps/appearance/templates/appearance/base.html index 73a69824fc..57ab139e7e 100644 --- a/mayan/apps/appearance/templates/appearance/base.html +++ b/mayan/apps/appearance/templates/appearance/base.html @@ -72,14 +72,19 @@

            +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 delta 11716 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 ZfSEq4enHn$^T@LbiNK5zCp@ze`X3sO4ix|Z diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/fonts/fontawesome-webfont.woff b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..400014a4b06eee3d0c0d54402a47ab2601b2862b GIT binary patch literal 98024 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 SdSQM28?+M|D(2r_;{O0|uQ74} literal 0 HcmV?d00001 diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4d13fc60404b91e398a37200c4a77b645cfd9586 GIT binary patch literal 77160 zcmV(81_!itTT%&fM`8Do zgetlXfhX-f>pHa>CezJ5a+CKJB5E?t-D3Q@I zv;Az_{%F*wqQWVk+*x^)@=9sx>ldws&U_`?fwx|)6i0%hGq@6No|Wjj+Lhc2#LbXI zik@&>S#lthOy5xS4viawbfqcF5t#22r#4c;ULsQqOn&iMQrAORQWXh`G=YxhM*4YN zTfgWxZlU6?d>wP(yNq!jqfNVxB}>Ww7cSen4lE1$g!lMN&~*PN_7ITCO&u%|6=U~^ zD`NV@*N5j%{d4(V*d&F9*Lp4o^=-wV4E$&&XJX#);dbqZ^8pUYCyEa?qdKs=!}D|N zZKGn0G1#bWFe1l-8nC}AR*a~P9;0KUBrGsNR8Um3F%kp&^sGD!?K|!B(qItgwkPpO z4nOg8&Z#<)4^Bj%sQjrANfD$Zj098^i(7$$Vl;{o&HR7r?C&hE&b-&}y`y4mHj%mu zNlfW!ecOyC;56fuZ7e6t7R&P^z1O9)e^Pe=qGENxwk%7Q3&sYU;&zJz+X!u6Ex^F$ zTu6(Z`;JIR{;Knn>IcTcKbV%&ZSxB`P>8MADLLm#sD>oQy@;IWvGh3j=*Qa5&VIQ& z#BvplZofSw5gN50lul%1ZW|#duBPzgJG1nxIGMaB*-obI9wC1%7zRoi%C^%k;Mn?+ z?pUuq3@j1^4v?E3B49cgqW>EY2?-#3jqje^;JgycOCcwp0HG~LNR*rji6bO_n_6Fl zxt$OawF6EyR#iAg$gdotjwKXO)cf75+S~gE2n>cpa0mh<1W_5Hw7c36opP+~qRPFS z?z(HcYuX#9GugKj(K=EQB_0sAfiipahu*36k{xIzyD2!y5%vK1@c|DQ3Q0^$kT!Po zBklXM?*0ZWJJ6;!hoDZHGR|mrw+{{o{_lUy{_6}+Pm!l|BNl}Q;&@bv@2Wy(0-c_O zab6Z9oUWgiKYRW)Vv0%P;3X|rT9E6xVx&Q%6AWJDG0oX-H5vJ?>5A8;PEnm%C;H~y z%@URb{E<@x+!!CGA#@@j24G?{>Gvg*2lVeVHM;^7(Pnl#tDV)(Y|gCiIh;CbXJ$WV za+~#V|9GDufDe2U{2(L>iu$ z&FbBmZ9gV+TlVF2nNyNeYL2HloUh~eKdpS)>J9Pm#Xd(4%myqFVno%qUa9n|Ua803 z8#-)?GmgDZL7HHzH4B_FHnRat`EXP62|?edFIDRb!q%9yytA|?Ib5`-)rNGqg%GbH z-}d(Uw;KH$fouQgEh;fvK+gfZPMGsl{cktu>gD1?zL z`z7_05U{qkjReFC1qI#x+jpODe!iG=?eIufIBbyAS`i6yq~pK;J!P{R?B6jf<_85Y z$&N8sKi05v?h+0-IZ#Z-(g8koZ#f{v7%?Dp!%F^s91LTw|BvSLb7Oj@878i9HK*kSp)6{%ZXlv-PQ)RD zE`x4f_xM$H9{@mn{1`uWwLbR;xgELO9FcMuRbkvnQXmT&j}ZE~*Z9?u0F(1c4Md6G z%ZpLJy?$`%3V_^=J3F{;`T31Z7#Ad=bomK731~(`S)uLTR8OErP908ueHZaDB4D$q z{GZri&j-sW%|A#W5to*SAH-ai&E<86{%v3LDwPh%=3Mm7wrS#iOV1$&8oKgshx_jMlowl4ED4$f#L1!t6C1g9p~=ODPt z5-F*yQZ*RmNQ`~4r~k{Ouxs3@+Z>Q5N}1kIzW_;y+Y`2(U+=Sj1(9)2Vkg!}$DaT~ zSw&5w0~|KUc7%a7st`^}4doR9Pl!$j8b%9FcqlQFIssg|->XC5YmQ@}VmJj+^a&GW z;TT&?6ewkE94j()E$+}^)|h0Xjx{@?P9)U!BBDsDj}WU31 zAtcV{=d|bI-bs8=m>_-=CKKcXWW_GX0~^$^=>jcb2lM)283`*Z!V{7?x-M-}_~|s` zV|lNhxg(2J)xt(s?g(|g4crMAX)o}cuastffHd9kY=i3#SX1;l!-O06F-4v5y)!_N z{n~32h};!G7bhd5ytZSkz1eQ+sUW)X74K7DJFF%9?n#Q!!7ID?F7r$p*h2z%vFq+0 z9=`hOhOu`E+Rawmf`Ea#sNtl*!}&#cW`0Ouz3DI?ydh+i=s;0>PiQfT7Zu*A>rw!Z2oWMZdTlLANQLT4}czIhYZic*axDrD;QpTldic#?)QnYZQ#V&@GPdWKu$ce zkR96D(D?F+uOEL7E{&8{@#anN+7VOiE7M#=o-3l-Qlfm(Hnj`lCvjX<;N1eImGc}P zIfq1q23S0QB<*mCfZhipyXl3dlKdo_(zgrVEctLByL0)aRMXBH-Ttp)yZ_WqYe|tF zU*@4;)#eID=!hTcSCgMs|CA-!(RT=~eyOCyMAVSk!pq$%^Rswq@*cQ(TXI^ehX9#d zQzf)Vo7@<4U`9OSg`E*=es@n8G*SbT@I9!qVekl|qYka=BE@A6$s=C?(x-c+DlyNW} z6eaQe@Drh#XmE?Ex(!VKoZcdgD?X0w=CviN3tmmjikMECbJNHMagMY-l@hQIzV7AZ zriQRf5j1k=Eh_KlCFt5{BiAK6a8T){lxWsNJ@?M~+S(158s#PwDXC&%gvLuu_&~q; zp5%18A)_>(Gy@` zHu}fy7?5gdqUqRaZ9G+VYFVjT`f3hBTtJLx%QHo4W^k7Hn4dbj+U@EPSKG&~pSs!K zvyPmU&Tyr~vom3Dulo^!F^FVgi})a%1Gn9)rTvJRN`lw2KOkz(aW}5MO~dBSW@edL zwPwp4)N=wJup1;S7@U)OkZj2gQGo~o4#o=@iYEeNjFZoLvW2r$?(LKzQYnI52$jlzP&K3-Fs?@ z8TYz{a*Ip6o|)y)qHif|*~IjRGj3tOR55>Cr^87ZMJVZQz4x-c--DZz!bJ3J`mBFt zv$MzMB*TT@cUYc?%vG%XC_t5juJ=v#VIpp<4lLvW$%%|VH?JfU3&D=q@FkudiARUh(d2N+ zWLd~2X5t4S?fb`JHk6Khs0b;)4m))>Bf>MuG>~md#IxJ@3UBxJiBI@&t;m6*b~tLF z>Y4m_C`-#PTHIv21B#D$$;E^HZ8uiYUtFhV*G%O%3~-xR^LiE@?1e}-zAdW`mbEM> zF-u5dt!0p?EOIRw9HXESaG^}g@5b$*Gd<>1m;%N!sdSMt*}PbmYdWd4wf_iOfHlC+ za|MYGa1MylQ*%_SxCI*3>pCu7wYNkflt8fcEw)9s%#j8m5R?-^jqs5&y2-XJ@J1PZ zvCEQxGD63Ll8sRsnbjBI1u1mJ!>4@OBQ%73++6qLsDSXuV7F#t5G=NzBh&|HiRm#q z*)7%le!&>OD#^0421Im4)tJOE2i~}o^A-DsEaeX+t0KZ z{sQInfSneVRDtp{f^<>g*rTZi2sAuCI!Z9Zh$ZFSky>G5VCcOA>UPbn{DxunR4-Zq z0{Rr3Vcwm`(344N37c0jkQV&${exerkPtp8!}^!LNFtPq`QzzulIshDd^c?rMzvmA z&&_^jixC$vO7ZGm0Le*_7u+*exgqHorQCbdJY~!;JgCi-!q5HtGLD2^A9dP#_`PVfh~Qf+*{6POoKUi6l2P%*Hl&QKAyfLqkaIKd`D8JY1@={Zhq*1zZjQU5-VVG9EdQhh(N}S^W*!YLJe?QZ~`l?e_yw z5+Rt%0P61dAXbLEnF=K$2o+w?V3$raPx6eS5Bi3KtXuINb~@n7ggV*iUfP^;*T3fx zK(YWg|IErMMW^{br`nI~*hvLG+;Qa(JTE9Xz2mD|`K zWkMsBLSxbz*}wwmYD`=a5~IW|zFKINTi5zYJdLXS5AlQ;aj16QewJ%pn@7XW)l@{k zKU1m8+14)_#x2y>CEb#Vl-cMv42b@BrfGab7RyPY#BuR=W2k^v0h<(f44SbZ&kQd& z1c7+0f=Eva?9UId@{fgyyLhy>XLZ>Hs_gVQ>JLK39^$?US5+# zF8FwgP0>wLKjyriCrA1t{C?ppovgaV>1c~smv@h!4uR$(`2`$DeE7c~B> zpO)wsEU7ZQ#)-uJ6()96NKJ8Y@H7-Z0#aPGy|SvlSYbSo*fbFCmK;D$X{<=pL|?w> z37bU`XR6OqiFvV2n$yv2RQ}kYO5LsvtCo2WW6I7VnMg|XEFd+Y{o1b`B?Ku6B<2+= z&U7;n*3GsPjMqSY02HvKv_gCJS?}VwnX)lP$9Q?8>7cln_TCYaRXg*#;^hb%1uH+IT+qbi5QUIEkAPwUL- zZcK{joDF?6iF-BK80ny(qch>Bj2#sVh;E9olq4i9E2BhC2h@ZuNbOcWnAb?Aj+ol{ zPjg%dw*~)|Ezvu`S2h4n_?1nG-8izHMroCi)H}Y7r8gOC^D?nEB?8ux%nux4T`W2w zjmomxy+te?pWb^_g#G~wZee%3vH68gXQ75Jt@23+IdVE`poA6wl8hR#JV_HpwK4Eu zBw$Qpa>tT{f!Cet&Rr4Zc;X#7JyIEVCMr=i=zs(;dVe1C%lLUbh~NS0gJ4a3_SBi0 zWKV|KrDg~RR0H=-#?#LMUi65trDJ==U20Be7 z%Xwpj z8rGRuVi>6*eIn2 z4sdTqnx|BWhY_zMYaCA7zUpjza))jPvt-vupa&k7+<6n*ist$5`NN|BwO~KBX%LYryjwYCD`L@BOz&Y#&6yLk zrl09#3<5$~a4xgYhziDTTr}+GvxUZ_irgNJWb6?^#5mb!Oz(fO^4&7G%H z5^GS_GXIRAC_Q6#bn~Jjo?A1S$rmQJt!U~*P6dbvJ-70Rj*C#qoAg1nM--Cz!Y317 z=u#u7#!Wgd*X$9WGk^)j?$&fleixkNGkSM;Ai$K^JD4}R=>kur91A#{$yq51$wX5{ z_^yQCFMy;I)XX=RX%FBGjUjh=$~M62v?QPtjW|Ux>QrIgjQe~*2*&>nXZq^b5AiNL zZOI)6wC_3KIl*(?NODXbHzum22a=JFGaEv41mKQ*TW=5nCK7LT+EZuu)vXw=D|?|q zMZe$WYg*z7q#{n@ie%~;HG`r$nwUvewW8XJl|HLR?P9D;g~!gQW+^ITmZnEFJoC&$ zpqK!kl`d!W6#u8;k_s8NrGXb9K``UKExyy)qZX#Ac7FthR3Nwo1`lL3ODL!o z#aVG+vZ|XXb=~EAEWJ7~DkOX|><)vPi!TI8y2~t+U`4!!=-3qTcu*UzvmX| zU;vxoFY7w$fXLF*)+alS*@;#LhY>_6%d`y63v$W)kPx*5f^bYS(x#$=iQiEsSbWTj#TRZs?$7t8|iN~L%c(PyNt zN>cc8olk|i&vOa$9mc_tq1qTUO?Q~7+#U@N=prKaG!!!T;ppICO~e}UM7l3dA&J#? zf-}{*xAKAEE{qjsE0aKYPnTB6aq63DUe`n4s;NtDuJ@l2EaI^^NCY{ITBxi%Cb)05 zg&!!x67sqr4))=f2=^B;|&U9nAtxK%O?JrH(qLN-KLYGA2ys`5Pbca_F5=9yX0 zI@KWOZ;?E|06C&Ni~*hajz+-M`jaFaJ2KXs*J`w}5c=M_?075|63ZIOft^DH#ZttH zbQl)6uo5JL99BwZ9>Hda#W}|*0Iy-0IZ%nKCgAwd#WqiGzSaX5Y^gk*)brv38S)wL zWOF?u0W-yO7LT=1Ezn{_pw#>#jSuWwImbE(F^wt}}lf1z<$?f+@!t&&enhvFSp|oAa+s9!U zHXe30?GjS`pv=ByF^BCWSWJbRy2A=eiD6-y5fj~pEXMQfgpkY{A~P+|N8}+K%cVH8 zxAHg&eBe|%Q{GUMi~=9Hw)OFF98FTLS>9sw=B0b@E4xqqW!sxF_VU+f1*fUgb*|_4 zRz3PvJ}t!oYhpH4pAwRi(5Y}*;!VBKPpDx3vfLzB=tRMJ8;%jV@j>6aqg%i<1&#b+ zk^D-3Kdxp(KRuW4k%?rmuP94I&g0b4>O%zd6?@oyO6liO1^U`$YEO(w~dfSW-)I*JFbc95RKnhH_Ueo)^V z5O<-H?_2BbD+u?V6s?hlkNW{&D{7-4R^P`fkDgL0;{mp{b)#&5Aruay{_1@GD<`i@ zS^hSgHnz=Q2J4n}WYT?K1Ba~KTmN}=+nAMVj->#wyKf}M<5@kRd1_Le5osxl7MTWO zkkpGzVMHjsSp8MXcS#7V+PhkS79{jH0@}OoIU2e8CV!dMG+M*m)+daUL`I+W-4I(& zUB!OpWEez0R`B*0QI%Jr&CRlbeRfkm!A=eXZTHE;D+5#BaqzefNU;B5|N6>RA@|Ob zujYmt7m3)_czpI-ihZS1NN z{mBusZ?O_Oo54A_*Q29z84jB*6Wst#IvTqXn1FOd0WHRQYg4!CYPDfB?VoaEw10XJ zM*G{lAl|>>gn0kjc8K>kTL8Snq(eBCBR95iHQy_>TsDaOw3GMV`td+(amo3Y-6~SVgFExhSbYQt48O)0=vGOBz@93V1J{b z%hnjMkz5Lb^ba^Q<`P+L@G)XOzkbHOO0N0Xg0Ihy$^3ajb3G!GhUm=0X6-0?ONj*> z_f3DrB8?gdNMPm0cL=p(y+ve&>N;XLt~MwFIj|UsJns<6WB+W8-IyLPg}oO15Nn;A zXX*?`q_n+^0gs7HP%P#UtYbBYu|?p@^*>8)y$gH5q(rM|2sDE3?Nr_ z6;wk|U!eBTYxBbDj4oegyx`H4PD;~E0DDx)A+w4$lWIO__?$4^47wxdhTYj)uj=EM znyJ8s%uB-ov3ip%{vp~EGl-_rGMMKEfwnp}WIi3G1!!q)Mb=!*J@7~jy3`z6D|(ulUfoM`T~yvcgH%qlR3L>cQz}3KH_#K=7el_UiNveh$%U8? z_LGuK4xOlJQHD;H94v&y2_rh?&Qj5;yNIP~_>vbFIhO?$;xT|Nf?1iDP{&TfzW|C{ zCb@Y`IIq*W&G(5WFw0|-!FC7~@WzQ;j=+kc@=CQq%FR2Z@=-e+m0g92{YkVJKEF#;crZ%nQcFJ%ER9s%lZuHyt zzJCQXZKOUpq-8^{@!U>*5UtJX?PJ5B=GmY497K(+_9#(mFzjTf_-f`njzVGrbu~ zIo%B~2+9wdNd~?$Ckbz>{gcoZ5?p1VB{W_&eWQl99s=eyg47Eg{UFjXJqPm>4W7YD z$9-*oALJ8xuo5PzsHx8)k^U}Y)`AIEyYYQx=Stt&>pC^1 z<1Ipzi|(09mqxhhS;O1DqBDH|#e6Brh?)T?##hqzUdF1q6jPRD!uP? zbWjmu@AiW4LERk~L~lO?LlBOkXS8(lwDr(C^0>rF%Uwqug_tr@MLb@WZA&whtoIbB zE8!EYJKqhOTZ^g|%QMT``HvY}F|fSBy?KOoxP^}j7bAZUs@!njJZjWwL(^eq=6+n~ z8%LxAL!~qu?!w+=bz*cNLZC~R!u8OxQEj~wJTO)h@b)gBEo@zQDyI4YXo5}-(Ea; zYM(shM=smh)qbs|w%6;$>GU<*xxL%3UDH z0vH0D^OBr9a`sG=$rh?)7@YIo7tGXb<&x^?G`z4x$kihn?Wt54!tl=`j5ks~^J>k@Dr0)P<4=`SHK z9HqZCbCIW(RVN`J;D75Pe20ytLgS&Ts0!l`bX*&cR3jPU^U~6tO^zfhGHzeRUZ*DYv5=CgnUBb27sKfkX_*_QW8g{ZJrxy%`UQ0*MHZ%`jL5C?){`F! z&C1heYOrD0xYm%Mlg`aWz|)=J6XL61(PaYmoZu*Oee#}dZ#fyd`&CdjdPpQ^urvhm z*}68VQ1kadK;l>pC^5~>n9Trx;doyON_o9|l{4Dr69cU$EWU&B<4x-^ZkyN@g+6xh zPwMoB)w72E_{3`d-x8SCuyV~Y<7PBtbGlz8b|q|+<4fOKPHB=WR`~8S-zT@E#MIz^ z=alPCn@!+HKuGW89YXG6E7SeT?x%L$Rz`6^7@OU(bxT^EXsU2P?CnJ`_xORo0LS5ZqJMxCVbRWeo-#hK z{zFi%iIA{N#Sai5nrc7MZU}T|<(}BnT?3{T;ZumX`1pI_wN=xH1(7Hxv$bO9qbFvM z=4UX|gWc*FmBdU?L8VP}WEBU@DdV#;!@A>HA=Y*PjwWDlg|GfH5>Q(U8=Ya^l!UuA z`@jrShkPR|fU*HMN(H2f3L_iHxXfRx)nrwvq&6c~8APszz?(uMOM~~;e4-k-z`+?7 zfGGlRkkAmSbZh-=1DfW@EUpy$Y!T?8>kso)AM7dJxn-C&fjmLF2(TVpFr4e2U+g#7 z+4k*TetXy?4RKO}&ah^a69N0{Pzn%X8X;zvwD}fTRfDp#XjmKaqHNo}UcvD?D4zpu zpg)quKs{n;XPMnk&6ayDlWEX8k|(r56^l4OXTtD$NJe@v5fJxV4@4v5kU@+YF81KM zB`3Ckcdb1#4>KC1$+)+jS|{?MNO*>ms=Mx+CI?BKk~GjUN$;IXX{4>cn`P*Fl-e82 z)6I{U{cqygw40B6gQ97V*DIRULB6*KLPT`CR2Q|GilRB@t|Z3gvZLw#C-?I9 zy!hb|Fjj~seB&a|1(KNJ>wxs3916gZ*He~34@x1F)sNqi(l*9MHd0)QHWXaHyE(K7 z7cKZ-J*L4?vm!Z3S1w#G4ti~Cddo)5wN>F(8-aiB*r&s{6%BN!A zfXYqSk3jA<$0DOjjri6<$##L%7TK|6qVIW0hR0*(fg#o6fLB0H$oz`;1a}}DIS=m zbyp1H(H}*@XgRD90l;D@8c^gVE|w&ON1VYZKqwZG5%G1S)>4fd>}E_8%j0} z>CWmY4@fF`)8Fw6=$}2#(#%l{FRR_s*mX%Ry$HHIkK6B%!5A!-uyP}Uc?5jE0|so# zJYf39QTYezJ;eLe`Rl1hBpc|f(m|4R>6nc&+U%5MHUVSI^MY5$rR0aBG=BCa?{*tv z8T?`Y(3M|9)vn`N-fV}=sLpm8aiki6a}XqLIP~HXQxETrC1SUhA1v?k|2gmVR&_R2s(seFN2Y%r46JqWZi{zMzO@6d9I)pcW^+TATpWS22)!K7 z{@c%I{Tj3rhq(T^vsRbu&Ze%9K%2Jx;;cHVUtnV^eewPNOqD#*TeOfPRjbx2AAHc} zt-4#2+gs(Qnd`dLr*F8*$-Dx&zg#^>Qus?OAzM6)zDVOgj)gmgIpO%m1%Wz|)Je^w zE56KO{+Rh8zqjowkH|kGk|#&d2je}T?ZiXYJha&VyO4V8#=E9bh(Tco8rT zPe-~LXJF3m-dlc?;6F}7;88&8_{fAd=8#U#frP4_L49h#jzVGc!5lN~#ic3g6~oWV zv^sIRNviD2sp=g0o*CI#Z^KCv z#FxvQ-B_rBq7Gjt0mKsW!!`BC6$k3Nbv~=i32Sh;2_&#wx~G` z(eO_m^%*b>b$6$%N#e-yrUExgrg)Xbt1_?iT*?_%W<73Jkye1Kq|hQGIg_l`b~tzn z`?hTr4-{}gX!g?+=y~FiGlIKtQ3(zuiP@z5*mQMqJp{b_?lasFliFvhEL3A?EU$@}>?(xy?0}JwQH8W)@ zgM%@G>PXH-ueM<_`@adULW)`<8U01d5R+zQxRm%!F$xyv|chrOou44}{FQ zu6YqRf~q96u+ODLO0G^H%4Fs2B8k-be>oiK3g$C0AW6*^ms%)ZC=G0PHVrTJK#p08 zLXKYE*x7xsPgH(6W4>d;@{V2knw5LvDa+k`?zu!b?IaU>6Z`Pq6UTXDmMjv=q=0+& zbV0gTGkOq6NxG|T!|+7LG~A?B1pV4nGi0U@Nzx9T^F)#<4HAstN!zTAE&*ige(75b zE&EHBUNV4MV+@np3f(yUgLS?vS?RQ1T-jfytki+QU-&E97h_7L+8iXKTrxUZSLO`W zV$?#Q?RP!b+FLOvP6MA=R(dp(9y_!AD3@k>PN&3w;8lV1W+;Df)|ucTc-JF?m*BR~ zOsPF17R8HHWkv%j8E+8z^ns8d>p9D}&pP2~Dkoz~<@M#QkC?n$ z&e?ks$b<$?W~FX=nO!(W5x+0$ryG2dx-rUj?F|2CK-5Y)v02RT)wWJ`+B%|S>gH%j ztfKJtZwjIKzq@q2O_0W5goIMejlWX#_i4d8d`{b6P$HnB{fI(9u(`CzAZ=h_p7o2O zI!*lxi_iiR31c$L#i%^U6{h{zleCsq2#-&VQv#A)oq+%)VO&84x^U<84CMIggs<|k zy=BH+=Ey;ktf{G+F3hldr`GGNcZSEmemrDYNoc|SQck^RYZ`Xo=5O44Zl=_nqJ53m z?jA^dWvppdl~<{u*c`_{q0Ag3%_vJcw7Cau9bggfCgx23cwR=Xk^w6xrQHLW>mJ6~ zoLc6EiL#W%j~X5^KVItxMGgd}D4^Y)9{5DysmOKYi5BuUui;d}nD6_L6YasFOjC}# zHczo(ZSUG->j%o24td8i_|W>9e3D++Qxe`w@T9$cDvUBrFU6PyDH+cIXb67yo5J#3 zG40794Me%jg^c&;B&HbEF_T9x&XsSefG`7I4C>qZhx=cAaV){D41BBnVE){<2L>v7 z@O+e}#wYA`9CLORgK8)rap0>`tBHC{KGDrK|BkwuzlaI=96JbeGJ_Pwi(vS%g;$GU z{Zx5S_h+a9Wo0lHhxZH-?es7(>U}TAl)Q~QXj^ng`9!-l)?P)w#v|is_sESpWZ=t+AIf!#G5rs&Syz>JIdC**R%{28T7 z3V@q>j&C4r)}lPRp4ColvW%S&W~ir4e=5v=&{fKhhgb93U!Md&2bOjoJ19Yb8HK3L zy4q61UjHC7w>>t}Ha#-tZtH%1W3Rmx2ar!UlUNLfmEdH$tN}_H)_jlNOi-NOoqi9^ zg{k`SIGQU_MC|n7T(8vT(ya@_ty9AnT&F$vRoQmT4Nc^QnjT{!Vf(8~JI_I`92Py) zsKlD7l)2VxfdNW{PJnQm=uIU-Qee^9h&$N%C=>g=hc&|xSDL-sJ+%mnhFKt;XD#Gj z2zE4q&{%)2*@^mvO4vZ|*FE@S$1}z1{Oo{4vd%e)yV|NLF_6$95=Yw_z4vQ4lC3tBMDGfINUylPM{vLdC8$PvGww3M z#7!FCN}^#}-qt^>V~yZ$FrFzti)i5lP8Wc{b)L^3ngy~Q{tIn0A4raVvcVtQ$}w_8 z{3pGv*4Hunp5VvTf00XaophUX0ZP&+jLmekkfXZY#_;M=VNVsAyL*H&%BP~bR*Q}dWg0oT^8Hb z+8?1G&z0BSPn^-$hiXOPI+G&__cnoUIy{k1=Mc@&b;oJ3rj6kk$$N!*-WU(H*D=bT zr0V|Tqw7^x$?|Od3@g!L!cOqQSF7ZW$!NRFDNm;|d2K~(*`%*Q*3~y3q@}A_QE>1T z_6D(LLad5BIEtTzyE_8L9|e!)^p^N1XG>BwZkhJX2IjpB!BjvAu5P?4wikmTJr-d# ze~F%~qM?I`uv&gYSC`RHUPM?eSZ1ec==@HA#jy~*aWwx=5(dFZKo$AuQ_>Rp!25mj zSZFWpKHMx~mgDF1I61Y+^zJP>M|=fW1(A{|-QHr~ANxVa>i9KBlioZk*_GScI>eu& z1|bw(XKH?{PY2&7|BF?JPV1t%IM>@CuK1MYhZAS<3|$8;R~lD;C|B%GHu9HNvEw0;77(X?22w1IM z%aiOB(=+-KA2<0vs~0Nfhj)MhXFr;#l`0{U>G=9ec~qi63stjc&eM9u(Mj>TmCs)n zqy~jI(kAj;bc_&x@JKEnS@BxtC^T6o>twE#!UOw>4wdD*?dko{h9uAd6M2~^-V^XtQB8iDT>SuRV5`lF@KVqR6BpM!C7IOSK==Vpw&g(pxj3)fUkzqW=b~T@qFwtEZ zW+hV>@`(tZVIO~PD)HCr*ovK<9kXxHykgqU{en1fN;#jwg4p7qn!+cTEpyI5hH}vG z>x6~8sZ_AKr9oJMqy|Y0(OfufU3-I1W($>IBOJ=s6IioUUS_%(HTTpfCmY%9#O%-* z7Wh}nGS9alcExi=;#_~8?TAqrbG4o*nahwsLFg1}QWPF4TIl>4u;pQqh|II-98+uo z(Uzi8j9bgxoMgNzDV@owyPUubP~^g*#Jxy#7^83fyfvKkIEl$Fgu-3GXv3c-G_7y!TzN53|0z0QrgQ7caCIUODsHrJxMO^Wb*kGR?`kWpC;A=J&>1(h7!{7l6brcI(kLf%V{TT2<75-6 z8&zYT427ft`=>CKA>vVv&c z>9c-_$@t1_qhpRP6z0#+ww!e6an%ezStolEC*FwaLF8jo@%>hTO&IniscS@-4Xk^{ zrtKJ5&7a4q|Ll#BJS?d+UDhcz~oPM2|KSxUs4*+p8fP(ywu!Bkt8%c6sw78 zWyNMQf4$PiP-wJBw)J zFrI&zxy$w&L>{f?;zPdE1W50pp&X*=#w>q9Fo{|y964+OygHpN!b_)=H+o!D;6hCIj zaWcvUbE@H&Wtj%YJiK-AP$vs@i<*4hd0{uunqN#iOC>hj6>gO$NE&}#blRdD+`i|#RqLfDYEs|E;WZS(Jd4JuKXL$d|7$*@si*w5&^NgZ;jfd9P&&PAfyK0 z@-#u^rMW!<3dHgDRD+nfKzz(tB&HQ<8g4F2+(~@yQiKAa_dwrJf`{u|5QPP|UW&x-B%aYvU?T(iBW85A*9V0nld}B|2ByRyeWvN&^j9@JKZ@!Qbsb8_^ zONlcJ=M0REj)N6&mU~$eu?2^f;T}P5TkRP+t4-So4XIQpAtJu020vP`T?2z@1x3Vd zvJ1qX!amg}mWG+-dq>E0of@wos@EzJey05Ent8dE>tKl|t3mre*_a~%{M0D|w-9f} zC?w+bfEz#g9_ATATsZS!`bnjtFS^eH6s zdY{~Fa>v+oy@j+DD2O^9u(yLph#W_UVr5pQccN(|L%vTj^!N}UkkH#>=UUua>^w(f zJbJADK(RUlt4b}v)x_UlVCbm>IDnyO(zDGhZ+jkL3o0&`h0 z@{No_wWBu{*EDzEFzZK`(=~~~dX2&bK`()oMNe|h|4Dlo1x#xHR(r?t-E^1H#SqLUK8XTlHbx)yx-zJV%;W zKH0>$zqd^jvt0{Zv#3t^*dDNRu~*%VWSum|q z51|7P!|^AB8yP?XE}H1sStdAo3W_XgHx(MPwWI3&GkMs-JB@+sRef+T-$|bg0qg$@ zcvks%*4}As_(r{2#p-68|I7JkSlVNUnAGeZE@BMm>Ov~4d?vr*k9=pVw`DKNYshuG z{&rknNQbtbo??Qa3K@Uo4zmWL7IK@zzE~4tS9XEc*vZt)r;Y|JJv<;-Pq|0 z%OO{|+~4Q~2Y_nK%zLWsoY`7QB;R_zdr#gJaIYRa=XjEGnV2kj4}%4b7WKja_3cjMco6HoZV~yG2pj)qF`7L zVJc{QADVF*X?0cOT;3WMsv=DOy3n*h`BatGSlLolhrUJwXZBrl<;2|=MZwM#05d?$ zzq2)~RxsboSgg_(FUIe6>$S#fx_X73LiM~S2ib$bO1gL%8=}nT-y8|%NqY0{0f5ps z`ihbDjgrz?{)Wz#?J;z;zqWa=h_}v~Uwwh0e6)CN<68v4cmhg&di-qj$o@o|*H)MN zhH~@QV{>G4ak_TpTan|pCJ~N~V4rVQwtu+3Z0kPcpe!WQvt4J6;&li^~|lB(=48NU`r2 z$5ptqRbX95wQEDI>V|^m?Dw++2AZ+`PnhjdQ-wp7;&+p8j}{AOe&HW^M>tULnR|Ok zuD>oM_4^m!6*k2o77=|29Aq>saUVY9U>1M`Y;3hvO+r$Wxlm;ShBD?sjWJS$x#CFt zalGMd2ttrizow=n(pRG;iN|8%w`f9%viT0fnpPY@C_nri9kzc)_XwUrm{EN^M?~~8 z9KsqptPf>CkY>~*A_I*VIO4tc$c;w&m!_F!^Xs=YV7%&ksTIJ23`_L&b#~lbrq5XC zwJVsP@(gweY7>RvwgO%>J>JhSGf$I)DB$V(zS=M?Nr#PQOVRaGpb^N&Z?Kz!PpG`j zY2z{z2Er-Wh6fb0NAky>3RpbR633Wj$86{78f~M+Q_WnU=k|wC%-kU%`fqsdB*QBV z7l{ai1U_VJ?Zx0LjOU$ViklGOPDxDz7Q{@2g^ zTzoYk-lO!p*rq7Q`jeoGlGu3*@oJ@Ulo@R(vh4SO=F>b}N0A8?-ZIw*>G5P#o*45` zoR=`K^ynmrr?zg-4U}@Yt^%@cxh{CkoMm5 zoPXV&&8X3vA}~MBUNYsjSVrfKEPHdn=5k+U5I|P0`W2GF@sfF;XNZy%{u&bu&Q8i- z=V|l^j+gs)0&%@NSlY-OMMQ(3T%oOEF&Z96qmn4Lq!5jYQghe9lB!h2%iZ)m8(i9n zQU3Xn0y1<|34=SAp9^4;)!bVf2iYvJ>OpJ1qf4XeVnl2s<6=0?EM1vtT&$b1{(Ngg ziP`1QcuaAAau(eR)Xs)Je2aR_jJpp)irmA=VV~$?#P>g8-w^PChhYw9GrTaM=nm53 zC<$un+#*J`K`QNg-=oW9v|YuSD_BV8lzPB(|Jl~}3*`%1sRC2!;!GV6;0|>541kSrttz3llsEV32psoEb>y#`{&)#REmCm={YP3 zkS~Izr@rF*wXZJjgaYCHsz`u-g(1b@h09>l*8)ZPyAQk=cp3W?_!Lk1+m;~P8*K!4 z0ZFiI>Zi2PkyUz~diHB7y()Zd<(bL?Dhn<@{q^^L<@~-4$mL_}__@FWXmHolKV{8X zmtDCkNPNtjG0*go`N(BIsa87)*ry2&G7*|kQC5h&l5AHtZ5%aE5u`I4Cj;AF{i3TJ zcoP!fEU41C8?#|4RP34arDaw7u5&RktJ~QYgl2R(7ZZT|fW!VA{8YQHd(t7WicG+# z(LnD{Opce;bjQ6R$qxFtUgJz5bgkxTAoiq|Uby)>LlXGRQts9Xg1wpWOPu`;5H@|AnueaE;&Yr*p!z}53qVrc-7QXPLS&p48sckL6*~l23wsvl+#eZ@qD?{k}E!>@*~j(GCw3uZe+c6>cFUF(NmvF zC7+C~{t{)_o_?MERiAN})$tgb3cTL4+0ux5*#%N=;LyJ;H-rU?%dzP961Dfy#l=2g z7sV9@3e7L;bw(0rhldkSXDLwUl}hx5Tq#%^zXWR_Rz@Q6=mT7I_Se|Ta?%1L^4NDp zU9)or6R3XU9B02{=iu1H`}AmFc}s^F;7ukNi;7i&ih z)Bjxo@;ow7%fz+n`CL9A&@#?$i4;Th0(zq zq4@P%1npcbS*gTbO0&BD8R^ft-;ju`#KWw9ySA545D}A}9Ns}CKAj7;@tFi&)#MX0 zP?>BsaJb-4lf%)F2=;+n%78RaK%c^)5i9`50Me|Ahl4GHEE$u}8Xyn}nlhj}i8BndXM!{V9@ULn(5BO=r$<`sYbb4v3~;t~tLvr= za%ox-M$LVSxQl5z$uH~snh+g~V|q}Z#dTK2Q8`78(k3U&FYF74k#^;r@~!y%rO(}G_EA+zTka?F#8vv(l>5w`m)5p>zc?}JARmg2a;0vX@8X)$ zxrGwVeI2^a3I#e75dbX2(7D|AHX2wrq@S+utY)mi8fBX&1q}yIO&OsTGH`r?G}-iU zHU*Hj0#KEWC4DbARw|3e#iG>jy*FKP&EG4~32 zmoC^Zo2~LJm+tb7QgYY%8DF{mc~wIt63q`c`uX!V5sy>UWxeE81)SF@eNm%^c75VZ*KB>B;`2 z;ddS|3p!af%~7->3c!l$pDPw;A`&Gk9-}fE0qJzh^_pOfN2QS6w51KeW;$q2Gwc>K z#ui=$hJHLy5Ccv6zghsx1S)re`Nq%I(vb2=FrXH2AtGRbP*dgt3ry$(6*dbBHmpzF z)DwFHCb+zC5sVNNXL5^sPFcLNv>-LCj}*in zB%n`#2xa~aM{dQ&bC}^Iii}(a?`ivB<3!fj+0pGkwBNo3JMsYP=y%-A>orw^cxry` zw9KZ~+_i?Pr}WmHpFW3q)2ZL~;3*u^Zz*gl-tLh|@GTvdJNwA=0|P7Be32N^D_f*juK7AWtCz#4>hE>(_0DNNN*N>a1aA&IDhdw9bkWyB#<|~n11hB zccL`+tIBq9mMF%!i3+ z7PVFGOz=o-eeG5ewfKU|_u7UZRra6A9V$XI{cMyD z6jD%T>j}|h1Ft6zzWU8PYR1716h*Dx5hTjS2M1bZcwGy(MXMlwbkF7HBmQnTJ*tKi<85{MeCN8$Q(z-qr#~Oz!UG+tI~i0b9dl{Z0yvB||xj zSfxDrQSI$sY5BX_?~8CORUpWb6c-C0RKtn(ev$1}t}+)WCwF|-FPf`DGZX;A>ao}8 z=Sm1HyL1Zb9^CP)S7%I4B=R6z$X4V04t(CenRdWvFj$>f{tW5tn$OTY+iH$z=lPtr z8Hs8z(9U~uOipdHt>#->Odj?#Q?Vpj2!j##rSZy$6MhZfhoyg#kxQPix~=gT-67Rc zMJU*dnv;ve*-$zrf0y}tug1L7tTc1QlZk~_Ofx}@Hic3R5ovZU6*mP_5IUbsu`{i( zWd@q@?zuf)s*8!Q8KT9eG|RKUGzP*?L*MCAe%z3Zg-%N_D`O-kGnP%U{MPApJUXQ! z6v^u>OgO2=!ar*yf>Yt8mk!+9#p4YSJoDfdZ?`D-Lm?uLxs_J(rRaWjcjl(l~; zK?+iH{>VLBM7RoSIUI4S@8WhIf6qhQZf^tPol8<4GKO~FDaOszF=U)$eMFfuYdkqW zz+DbI#5nz-fBL#YQYm=$%cDC;(`mGQd(AgAp3TY^G|!J)7Q_n--a2QRRtGJ8K)4{? zp&DP;fJ#t$7p1e0`iG5`SUZ;~VMI#JKc$bHToof&lELh9>6+(v@NK@y&Hh32(2g=( zsSVvd5#}~IYKcssUrw z(x6waKfH!3`oiD<_5Zy0<6z!{&xf)jL%o2P%Lo|7Lh768S0_TN!+x`?g3bM7;bIK{ z6Vm?g+BJTCVDQyJ)=e?_>fj3~(wvuFsXmya5;| z*x|VcAa9N&-KDBKX7XU7%%a%*bg{X~pGvPJ-}~dLNFV;?TIB!)5=)iC)QW?#9M5Y5 zz$*|;0d4KA6yD$OQZgQ-<*qUGEUuZslsAo76}LL=}fX=+YRK2vu_!3iu+bq88_~6K6d23g`7+NXELRGw=j@D~xdDR;< zSpN0LOT*?Y4Kwiy?nVFt`{lej7~*hC>vfK=u+_JN3zv-9agadwoS08RcK&%sH1PV6 z%ii8DEN!`?BSa!z%+aHV0XS@=QCjt-G4=C;tI$J~uAk^!t2A#)+^CG`?VgGcm8PJD z9h3cJL^kJWTc*5x8kyHj(HvdXR``B_E{4}Sw&@Ox#uCibFnTHl7##W;6`Dv`*DQd~ zzt1>$l zy`tr!xYPUpkWSf{f5Sj7i_}-tF$F}i2YMV^5W%qGTd++fR^~PAav?M(Rhe?D4Rhk4 zHzj$00OwBGN+>_2Zdq-K9wJl|`a_LPZF2iA1n!vKw0mMxPE?E?>|H7uedv-Kc3`Tc znERrYG3s7Oo#pO}({__iZ|+swhCx#{SD8=QiDe60DB8|K5d-C-&7B^FbZ;?Y&#M($ zNP_3Qd(pu4q<+gzfPGdS%Zu5$0B^FA6+DYRBgg%sZ>sR_zEnm;BJUd|H}5m9tk*8} zC_fdxX19`qisj~A-_rG9A@!WVvHZZlyfGzJ@APp@I_R9IsL!~3k_7ueI4AQLE3Wlc zsJ2%gb=#nVoiKlk3(I{VD^xFu?on>(6QJU35bBa=XfzR!b_H+p_jZ;uafnByQ$ZFzeFCn{3?&FTXjn(nbO86K)<>eWp)YTN2fr4;#I; zuOdnA*$U}^3y!5y|wZ%gt2Spw?1r~Xs#>Bj<$lV% zOegfQxuQPduw&@N;gU{38I`@@s_{4=;TOt_ihJyWm3kCn_5?TuUw8;s;?(fd+}bD} zSR!4{l&r*?O*VJ_ETm@WXJ(YsE6toKRI1fV8&wE&J`FACU3z^38-{PADv@nR2gSA@ zmNAJ_%^i$9yRo{v+qLC~{I@2mg%vs%mzhz6dhtl@;cB|QY#OF&{<%y6?i>x+MlAdP z!SMKxVdz<^A}37CtcJ<7rLtm5aC`Q=mo}}{tLCH*Xp`pAT@$~J5N)ar{YBC}t_#wB zlImumyV?Xsb{vY|>W4+UU`1DHZWeWT;5Z>iR$1piKQ~KW_7y9eTQawn-6dbFZFl6l zbHiG->gi2dKiqcWY@V}|IitB|q=-+-49|NU`Le1kvnM&LFB^Ro01Z@q<;)xF%I7xO z-d5{+!?gc)RT8;d;?ZPO9xPvV>Q>6_qvS=+D?%1Jfq3HKVUJlZOf-#h-B8Oh@*)wf zp>D75YFjB-bJh_xG>!EE+aSp_bLCUYHr>IiqVf!TnJ5J;iECG?hY&ZGs*@ zMqi^@Gv{UkUbjpVm1gT^CmIz%)EFjBH@8MGdxDJTl@dp%im_D4Ld4O|(=V?dX1LXQ zabx&hE=(>-5wdPx9=)X5(pRBtl-4Ni5NH~T-D9L7$ejA?u6*K(CD=bDz|dU%gf`t3 zQO3ZuZYsH%Fu(%jvnLp<87GR3j?-7JXvC@GpFR5k?!}!!NfITQtWVex=oEq$Qbdv_)@$k~&IuRwktnFF{qbwn&9`6Nb>Uc41%a?M zgG${LZ>@pdbjP58^&MamShIiV3+(fVYy{dbgx)RP)TyehuE7}!6jVYZ%RegiAp?{fle zrZ~A&f3U?pW+7v@D4I(fNcW2BgHx@`=twsqOz=~`E=0rvH0O&X{@H$A%i7trVZ2A_ z0-AHLX$VU&kiqv@&@*~q_hy|-?`nyJ1?Y7xt?`{TNyhP**=B8&I%%g8dVJT|pQ!OT)J~x!odB)G@6&^!F&Xx#i;#~kuQXG?@y9`0` z8jmoU@C*%0W|Oo=J$eg_#%Ba)iUY57W}7z`OL!oVThJ2as~-$ZUM^d+rqr!I^IFjX zWBVC5Xt}pViP5L?6Ps)lU5J|-On4|x5|JRH{|v!INPmIG^6cHduk;ZDTpT-w*`2b=}lq&|5&VzP9gpLxa=Pdj-IB)8~jZ0xqAXJQ<(_Q1Ei` z&6%0u5p%gQxx6o&7S&E2IIwkfqP;HDzf-DTa)fHDUASDWrJ7-OUX|n{3@uxM!@ zW_&@H(PqGBU3px^=npz&)a3oneUBfD$JMVB=SHsCO|dRb7o{ys+C!t{MTlnUx~#vf zb?xF@Q79BkjoXBvQfjTMxl;QQ$B)tPFSYPn%>=h~4pdKK4y21jI}=0Lw_^g0MZ1>0 zMaEQ9al_sGXftG#+bw$q{AO5i7R1BwHm9v<4_%_U+g77UVKY3f)!YDfnbb-^Sf=9X zzUTJMO~iU+Qp!wX1*0>fkuR76^az-TxMX^$BA58{Kh%H&A7|P+L|>&H(ZW!uzBj$C z!e7~-%Tr?&eZCc;mcswvsPxK}{4kIt`JFHVrJ!^ByWpEmM2C~*PgS#&h!5i+1eBY&9lSe`3@5A=D2})4dQ=Lbi7ELpiQ@aGf`O>dG~-{rIee z9&s}0(W>Ca(zF2gRl|+DEbGjMZCmj6<=#PJ)7>Vh$6hE6ad&nj>*K!(9`EXsj{E;E(NN#n zqq}mP(>xZHN;%~eYdXK62QEvGuyRNb#S zGVo+VAqX@L`QWZD3X+OWkpnnSEM~p>rxKihGE`|+4RwpLb$8_IQ< zXVLJ&lFU1%8B25DCl6kvrxKufD}x$0RaH-&sQW^h_|UfME3G87B~QCKWo*@@Dv{b_ zK&puaMu`OVV>T3LX9e_4RexXEelcc*rgptnyEP4o5c4fo4V&CB9gi5nAQvfLMDcsQ z^VG9qF&i0{BT;b8BYvnDRc3XEhGa-0g&L$J zwlZr`49qW!tK8Hd13py~UzBx+xJKWsC_4{hGpMNf*5q8{KjbHZJNA z^jbTY%}}r_Ptz%g(^#edwhcZ=ca_8*&Y? zl{cCt)2II&xO<)-uML|M;dle8ZJ`~f2E8$F(2}$CX@l``6R_kU5=z#}+)tXXCsrYe znIg9musw++6$%Z}mo$XJ_)Al|E9#NL$|hRc+nIxrC#2?vrCE*+;Lu*%7Pkduz6Aoz z=6?VG_kH4)EQP{&Cn9sBZ{MzDvB&+fAEV#BeS0nl=WFQ5$W%&MJ7#9;mhXj**J`Ir zR+6|Jyh86Q(e`S^+yNbNO|Dl=uOgcpW%Vze*S5RgyIE$L{fzW@ccMx4@;YnlkxA?5 zaW003$Fc~VWK36SZSMTIvt1ql$(QxQ$NOCkX3yfdDS|@b>U(Um*1NaC9boQ^vC3-J zexu%o-s!J9#DP10tv9j7EqX!0@7UK^!6&TF4s>Fljo2K6S5MV0n9Cm|0Q3e&Q!rA= znpX9Z$)8+E81nn+%5I`6XaO5-DT|>j8V0%P3hEr&E5R&YWX(0Rh&Q}B338(XS`fzLR;O0^i zd>Hn<8c&)sFK*C4k~U4@vH;Ce=+&!2e5nwaToqMrp`;65!)&i}-NFU5JrG-atd}08 zK?AM@KeF)*dP-jqQZ@nvt^QL%gXO>D3BQc`kD#^uZ_*#iOk;S?;n2L=z$7UxKT4FBS~l*jqV5r3fL zc?yV&`?|@ewX^2-Wh-^gXstuOJjO5YEOQBWd8of5@oLxDN$2purs%J=pL_ArjuQT~ z`pGQWzw#ySrGw631ydqhJG9;XUw&X4AwKL~`rM8aD$d$;T{udabsN{W56yK?!3~Mk z4%MMZK8T74XzxsGaW`k;61Y+_7WOR4s*$=FT3yC`ppYc2Lt3S*wviCb!H35qsum>>o?g+x^38-2Cux#N_m_E3sN z0tqF7xNdRLU5MqF$v(gd`g-)XXqjy=ke8ct%L6}x@&+Ke05ej2PWVuP&-WV7*Xz-^YdpaeNVp4 zS347URKFp(y4dzcf?Euw`K@p14Q!Q&zAE|}u&1=ZO9lazgiD9wRd%-AyvB^#t4>)o zn zTIh5Ujl*cs#>u;pQp2VJM{vf&6*oV2Nj_6aiBDkj?Gq;%?$-RYrP1murR10)yKlB$jpRoq* zU7O+1_k{A7X`)3)%S6uynj4a-7SL)p zY{A_GL;yC~rxz{!hK~Zb)WIvKeOgsCpI)x#cu%$6yq%wB#r)V&9!U5b6c7uI!s=B! zB1wDqDUsYUg#?XSz_9olF7?xcD{h2wDDc&ny!|Y+GD2sBK(aaW{CO3T&3Tvuj8CNjN6N2 zc^<8pBeum+YM(Y_a(^QMr^u1Bg5DHL?aMT55*qSP76$I$#wd9XhZgTn_04@GZH^3E znglJ&eDjmkh${UN9h6h?id^^6oQ?kIhlxNE{|n1N3fR(~3Up*`2 zijvce&z>hx^xV344M)^U?$&HBi@N=CsB!yR$aWt@D4j$@85l>8CgVft*s;SQ5ux&v zuRW5-qk1%jf{J!1qa-^6yn6Hp>aAVR%!xZca8VP7<010#C z&pr(kf!0j6UhAS}@7lX}z714Y-k-Mr2U6J$%r9TLNgk@iro>GrLVqrvwAd_Anl0%1 zNXlv{{r)9TfBC(>^h9tn+sIz+UU!XPOV+D_OXveoVLr~j@2jP1&!}hW_$mEMQ~cA} zyb|tYM@Csk%p{W)s+AS^SYU_@HzktNfMc>tk=jufPq`bxkAWgW)u9_gl_#s{wq6h} z>tG`AhC9kff1(D{|A5GBWz>?bPhM<^gF2Z}8KFMxG&N-#7Wf)HTQ?+ny{83(w0{iY zX}{%0@LVcF^bQm!$DPJOmJ9`JZ{7m9kmpTCW4yrK5Wa+krveuUd*Pv0edJrHe_c_J+3K;Y0fGo2K7-^3KpC?_WFK2zB=YrOQX#|1ZRY}N$ zsjg3wbQaq1zOBrX2Esqh)oYCB=NAGx(#X}&Tlw5RR8wig^q~--1elwg97Q}g_Zmel z?@kHWkas)hZA1u-uXWbPdM8_271IRIjYHLUr-uPBp=?(Ras7yfm^#HYOSK& z`wvMb^~2LMmRw~tZiUa+5rruoQg&l_>o4?H(nG{Q-Ana{or#-gdml%+`dImrvbG{( z7p&tb<2KF1iyEl$<3+|T(cr$3H{GD2`gSx^hn7h3?N z-7f#2g>parXHTO6Xp+A#C2Zuc{Zdc36GglYx@H|9PCaBM{&in*V!%HPSi-P^+!JO5 zI@rugFRTlbeLpC5i#EQCqt8&7BKWgRe%EPME#GG`?dVxT9A|p(!G9fnHgQW#ss8N_Q1c&3xd57=V@14Ul( z;Oq|aNiyHKuw+(mm2ptbABVYXT46HV*GPgdjvGBFxMN#vS0!oI8@L~%w_{iUf@6pe z!J}wU#&NgP={AWH8DsoS@;|-{eIIF4Xopg5(CA$r`Op>xj-ym(=xp)QE=7Xv{$V{4qbf+kT65`SQT( z!ZyvE*xJEVow#eKj@8VD4<6E)84uEj`&>;30OfqZbRZDZHBUS=J|IdC=Y78387%)% z9dc1B&9C;GL0lCl^(lD;dekR|9TQ7r*scadjrLb$X}myZdUYo;Torx0UU9+a&q+K6 zK4o6kXer21DjvD?6l{8}e?ow4KMQBv`LY4j_lk?k1Ir+oK{PaH?B{SH*qzj};=~S$xWpk*YrTFKJ~fRkm`kA6J*@ z(N}Xe3Y2Hsg` zd_4%nK)XGK!B0X5uzJQ&ykzsh$u(ATY$O1^q0w5^ggB79gS0qa&ySdKa40%KHcB;6 zSuzO;!>CpsnY9ilN0f=q%y4Dq;hn8qwyJ1qlNKKx4x-X>n%%9B&MK?4XR z6VrUXNWt|*BRA29)zaX!+%fR}Xm1 zh)0bC`jGnm?+!;tk`SQRu6~VKx=N|OR5wj=Uc%_QBZ4r2r{vhfwQ+~O1RC?#%j#l_ zFq%tNZ*=in4T>4nmTeIZUgv8d7i+Y-Eo94Z+TEXj|F2#QO7z`i_A{c#-IYcf6OTsE zROZjR+n1d=Z%+j1JTn zd+6vm8?`#Qp7VM|4Fn(8W8II^OkLUcMnV0%8i zr-c?L`(fwaopm_}=js0UIS}xkC!hfcsZ1Uc`D4(y%EXaKXp!_}&7Sgy>)}~Pk7k*v z0R*+iSy#a$v~R zeX^24%(kxlnZBzNfrHfi>tqOoyp%v43|w(75S}?G)apg?N;OE`O0+b$p?Yc&Fa4;>M((f(+qN5a0fa6{?2lCvuLHUtJ~ zs?$>|(7(8KG&DIi>SSt=D-4F6OKZ8(PI2i%r5OSRluhu66AmjYKYItpG80XMn@&o9 zR`GQZ{5deuBqL;2oG;ZZDUr_&L2EFS#)4iOjE8~wMjVvio6QBl+}v)l0*m+ix|BR6 zq7j@*t-zf3jCOGVB%GV-9-qnRuVe{8>Sv@<-AIjL3V*mP=gMK7dWVl_LqBz>zeAM?E0)b*m z(-tW@b|C-yqZl(%hEkVNw2uUR%ev%$PwfoW32O$$RZzsii+!`7Q&yF){S3^1cz<&M zQOa^}ud$yq9;5$y=a4dqMi8Wo()uUXucO%AZcab&9@l#!UG*^*LMtD{)wQJ!^~{{|qje>0#VA_7t-GV0Vt=7IO_^w2S|1KGCn=&7 zIiMqlKFliD13Y7lJK7x7ntg0O;-~v1`zg0pU=VC&Sr_guH7d{#*$<^ee(Eg@iS`F% zHA>;eTJ<4O1GTx+rl($J0Z@RWFJ@}K3xQP1SdkK<1Xw00W+4cO!<}9e@|b5YYCH+E zFWSfJrGrx^O4gG#;Z|M={+0UQpTC}7#2Ib8d!Ua7GQO-kqNNQmX*UEU0pJe@7AE4U zwf@t!j*X40k61-dQ|KSSc*Zpj9>=l0*@|=`jumLC5r}r@uU|vj7K7zem7BeOK_t37 zhCmC^0leiNW{O-pQ_NwEDVnA>L($P+o!;NhiVSBkC^Ts;Yr+#e1qvfIbcC$AnegCRn?NkwemQ9q{hZ80)DRKKV55>n@+ zrF_6xec$!x3-5M?t7hpcw?AKqOMFRL_1?t$qmqSty(Mj6DiAf?M7yNXV2p=OfuA`f zBa>sjholVH6rcqddf`ip%Fh>sbg|fg9}8rHx@*{h-8b_G>|28~r~`VU8QhR8o~FUQ zVm$X6d{aD^e%QJ#Rz-f)Y+bL?@#<8df815HKiz1(<-p~CrfcD+F|np^Vcxs=+ty|2{Ww#AoH6&% zo#cyzwgikJ)APFGIg@CG*hvi-ht@)l>k0=EIZLZ=Unl@u0cII6x44LJA^Z!4lKC?+ z9iBtCzQH?K4wgx1B&ErK=cc(pgvCHGS8NR*-4R`eCMk0^@ZhL4ck!fIkTYX0{Nqgm zXA54u6v#2s$LYCGvvG4HO>^;rGg?keO=~o~A8voFukYHJ1yE)-pw)>!Y}+;oIY8agmiMNa9*?C0;5E;h zHZt=0bU-%>p5aW6&N2xd_SY96bo}-0C)BUNVo1v5@6@~jh<6gp=2vF&@wdr}H$BYT z{4PCWcnu{5WIqkMf5GmJVYAB1Ad)%YW&d!Hr;EKvkJ70OOUUK-T=0;^+mHL5gr0C3 zEfR5KgQKbmo0CAPN#e)o^I~h<*%Y~*smuj4Wl)?JMmXI8iCS${OeonAC~;6QHNP2d z87I7@!9)1R!d8j3ifO>Ls+-yplcA1kmC*3XzXVu6ap`AXI@6oLTU$`DRye7g8L|tZ zpEjfb+C53hi6{uQV+PGfmYNmYK&cfMz2Hn@A#As71>D9s->gk`+WGpOc2;8bao>Iw z+|m*+q}t6T$4O})h=stm(t^*S)}vJOojv*?LbHPePzF;5I;L%%b*y%a&;$ig1fR%r z&(EdrJEy-Frq5agd~+-oM}-f|I^f1|NcM`aXW8ji6?K547g`8XK4#|3K%L?MWfbCz zu0Te^JT~LavfwTq1(Ui=feqFWFM%nOSdLj|`ofd%rjvvjgu(Vy^JZUHZQ6_h6WNlg9F`pn0bGzs>?3HLw0ZOK&|M5DU zPKimPl{Zeo*d(cX7TUPF^a~>+90YH4G8YBWFps2b{&?jK$gEYWx3(D1 z!<21adU``7ytCf#r&HikiojIc~8C+D%CNYW3!UMh+0Xdsi zJa%p$1_QS`eLF%c*M|;d-cycTNT3ng2n@+=H5Bb2YKy3*W@TT9jMnMqPRxN}#5li# ze0*p1fWUan)K^A~Y4FG;5kt>L0VD19O>3u&F_-A{u@MHIcSe0TnJmI^0V)0=rO?PJ0vAVOUPhak5s4~M34*5kF z25O02RuL8fQ>{_BoGq=8f#?NIsMkGNodk7Ylh7DoD8 zzPfI@YFNx}*sLL!U@enFT-YvoYpfdnBm?&Bf@OHevw%+U zNRBWjHA7s0U^svMzgEe2yb+DSJl{eE#<^>v`hffK8eg-Ib!p$35ZH= z5}7G;Zk%*q^70w$Uk`XiORbbdlm;NByg~_?BxhNeLBCc$A7><$B}~vTOe5~&dmARs zotTzJbPr_fT)?GJloLIi(i>qk;>rz=9}hSpoIKo}ii>mnOkQ42-`w&=W1Po!xvcF- zEnhzAm-46a){EHM_yRk8D~DsL$RUfV1i!Yw-s%fDz8_C7(k|$ygu(YpZpJvgCa5gz z5rLK^>vQvTkX<$?3u_0KNH*~diAHfFDBFo!mU)+qkEVP3!7wP3Uf{|L*1y4G*7)n! zqpZcO4g-UdfaDhx0NmOOot^!(ktSw_&U!;}Nr}%A5Eb1#&YUEYt0*XFT+&5E=|j=< z9|0W|t=$~l^XX$>=y>)o!GlGDE;{5K{rqWO_{J-W&Yzw!e;C)M$@9{JN@+AeU~GqY z5Kiw*B<7HqHp9|Xm#W1QE}fP?(CUxm4>Si|42@W%F=%{!XE;1D$fP_A?m$ZdjhZhO z$MvEw3*)8HHSKT#$bZ+I%5UrFk#v%-aEB0KAZqEQbl_q|krJE>MX7oAwZ0-PRqgo|BCn>&`IF=Y?=7?)5<=Q#D7yDqGNhr5l|ces8J$>Q}~C`goaq;?B(t0HPdZ@otlM-AqfX#@VUglq#y zWsHU;X<;Tgvt)_3&m3ev^ZX7iX$`k*O%m?D+_2dep;STdlq9yCR!B#D=dR@7LJ z85N`5m3X>xbXYH-LD6v6GPDl}URyDKQhVzb^W8M3^|hoU-b4nq-D5+^lon2;PL zp(ocvSOQQmHb;Zou95p}Tj@NO8%~3BV^2n9QToa)l4ofo^B7W2=o7O2Zy7hzS9+Qa zUv#>;B0uVSJW_+F zhC<5xXSd1N+X}5uO%?u&Sz?xr+3NE3!%pTXIOg(K;@F{1e<)9X;eFV@x8p{La*u76dWsCAC0 z;3<~x07XE$zic`7(5?15A?1C^k-R-y@)9btnLDSgvH^s3d$6>z1M4mtq?T|Iz2YM3 zA?o4=EdIQF9Ci+?4{lBwn@bE6?KU%Y0AxOc_BM={1iR09FGv=mecTfslJU`zg93YT zOo1Jo@g$P+4GQO+;4Q?&^kJcoTaNzub94*cZc~hIGLFQb;6R~&lI|MOw~CDqzYY(N zjCe>+aKWO9$K$o$5FXMp@zCQ4CIsQ>3o`==r}2dIkaDmk(QT?&E&SMTv9|S&6XJknCMcy%W2@rdP%wEgdul!cz zeevkyGTT7sO3FwDl~dss9`+PIA%681n@s6mWE&6(nC5c8(lsyV9gs(PP7hc92rczs z1*EYX;^fJiOiBZui#@5-C{m?XGQ-G^>`gnqI*TpO>_G@HJQ>KO2~5KWF-$y0DAG#q zt@IR34uMfZFui753z0sPh|B0G^vM_P~}qobEq zrQ0l5Oo}5#*R0Y-wylJR92l8TH7-l~!I80%rumsuY;$h{jKzA1WRep%|$Mtgz z>Xr+=pZTauYs&7%qXV9JSn}5Q%GN$Inb@Zcg!Jn~;z5y>%z8 z^3vmGU7;TFwL<%I6im0bLCFC%Q-^5POQUw?oOW(4%3o!?IS^&_RtF+&ldlJfLJ~Uf zM+45QzIfJS^;%d8uD;1{8XM`_dH&`30P?~}5KCuNoE&~*P6xuc7wzHzhfi8dI^1I1 zK?i^(IYS9uox^YP70QEYqMHOIy;UmhPlW)g916w1eH_QvJjhlsxs zzRRIMb@u&1a;aLGnikCh(OuI)>sTNZU)6T+O%J?}F;*Owza|+_T<_`~#Wq-@lQQe; zoozSdrLkLV(vK&*9zm(eQ8rS$3sVd2QGM&{l&w>T>}7wI?C(l~^;=Qa)VPBkGn3IpP+HR#54sm{HY` z+mRkD9%1=qq|fB0SeqliDuv(YXIAV~ZgKgK%|}d^D44=pDbsI+P4mHNj^!aETG1E; z%18w+gU}@LiOGOh`t`J+uUxQjskjx;D#*6=jSCkq50sTIXTH*TAUTuoOfr{&8gQp5 z(IZ+dDQS+uxbwB$YU{MpYSgV6Js%ppFk+MQ@*7}oqcGrMU7Tw&lSwJMSnWmIIA)e^ zM6u4dyCpc1LsKr^Z`u`$#G4rQPG{dIe`MWotu39|N|QZdx{AG7JZ#+T$Dj;p*7UX{56pUxSdX5*+lmX{xiD172Y)8r^qOtsfs`JakDoOQx94|Zfum+8Ls zezZtV@&Kz_v2H}f%*thGFWQJGGO015Xk}l@lu>S0J&{A?_VALZ`AGj98-GQO?`Ion zey1g>LZ#y|HU7rnV|vAv3w8~GK4I%wfbk`UB}`S4+3I45lSh*7q z+hO`l8Q2kJcgc&M^(|;weL5bf!FXvPPq_skm5O+LD_)Dkv9d#P0VRZg1LnA0ds|x@ z9@udrnhD%^KuibLb#T>`9o55XyXu1r3*6Q%0o~}MTRq8ti@^1h*ru{v4Dn@&i)wLO z{w41mvtC!Fhm;x_C*nwI(|N*U>hvW_IEolaZFrT!HA2U&7A(LOnqvi2eC;=E(YKM^1`El#k zQ}QEbC`U9$-j_)}w5QbIh2(D4+Jr@t1`hn$ssHzl@?M0Sl7Qxy%a@DVJVYcuZt+M* zTgMhni6_ZJ)FzV0xF>J;a#d{z1%Moi#u59?PRq~TzJGU00Y8ZnP-B1t17 zR+L{Za&t*>4R9ORsqnewx*$Ff1j%AY>`r=>#l14Jah6z<{Y3dmuGV3S_LkZwNdFL4 zgH)oe?3}!rpC6S)$#jo=`r1deGnOa~Z%=e`N^B385_1APJ3fuNIMJ8rg!Roe5xQJDC_U?_s{tY_J-Nuwi)+f zWY`BH3AvFA+bwfZXCvY)F-@=*oP4jXFR69SX!cT+vC}QbE^8!5_)9F^g)w0jJz=Z- zj9E~}LB=d`lqDe%*8d7mP6ZWuc1||eUZutZKJf0wtU>8^+)9T=@YB7`DX_^3FP)i+ z-l}ZOlBq&7M@<==uP0j=kQyv*To%6Pj9eXS-qE8CZ7~IF59R2j!o&fVtm}T)n)zyOF+NOMiR^UwBUR5fNa=fSkCVa9152N(|@>YDi4> zO%JI&l0c6qkRajwR%$ zO>Wq5=AjE(0Ms-6Kt3n-O}y}A4gOiWEJ6fSvzK+T!b$J6YU+fqO93Djd_VvMQB)SN#!#r_D+d_kI&~iIvSZzS(4M_ivYX2bq40%5HH_M* z$^tksg4Srrsj8}+r(w65Ms@aBOk-Q2Zcf*zcyvzRM4MRH#VQd_I0ORy@W$NX!*e$t z0v3rCeE9YlhRre!e~<-Idp>cWJ{Hro9peUl!p4jv$vgDAsPKfCX;7=1yl zVD}F<8`K3jl<0sMOc_Wlt(rF{w;X`k) zw9awDr~6u`W$5Pfn!R+azh&bYS84v0w}D z2dB>*Lf_-4s)9MGaRN8iK=~Q5i-NDXC$tjK?G_&6p5gi(t6M!~9vq3pNGo2^m%7E? z>R~VSM}-qMjC$2P@HQ!V(6)!=L`dX!M$6Ch;}dq}`uZ|%M!hK|!({mL?*qB+E}bdi z2o%QKl~6Wb!?$t?jpGD+s%ZDfJc>-pKeI__E~mGcjsvS!7Y zusJ3)F4{W)=5srbLX5AK{q_nHnrrs;8QkXe^_70lKB#Ib&#-wSRLkR?ylTBoRU3f< z>157=O}yQ)t+ZSJghcUYG!J_kE8*RpAE}H2p%*%;JcBuLsRFkF{z1=w6aoc*p%r%r z2~2&v#X&v7qc#&8uiKzycKF>vbrF;+Rr+85ANEn+GiKgDpXB0|8&bDimk2NgQpNxn ze+{HkULf-<_n7Ne(RYR1SE3so6@q`V?lR(FK?xt_cBx0HJUI&wlgc!1SUaIVy9165W~)bEVdWK?t&E>anro9=REA^l2S{WD}o3I-yMc) zHONyJ~x~)-!6B6-+T3?r`y=Z8V zO!akq*TxVy`3(ue*5q20roz;H@kvO+I>w7{OMSbH3d~_IE!AtI^LSQqFvJ4Fa>~ws zOhb@g;DiViL=ZM;Cg{79Q>AfzaNnr%J(?J}els|}5TWs2c#c!wp<}+N)i_mc5wZ7W zemAhVwjT7ER#jTZI`nqNuM6Z`ZRtLRzY~Bz(+$xG;BXs#^j`+y`4DGI214ERq58vL z3MK1bq-Q<%Noag7-KE5Z^8Qv1UNPj8x-bbMdy|$ohJ$T}bI>`+59*tyv-HtI;PvcI zo|H+!6L5#jX?qG?N~|F25cWDvxT>YndE_OD#dU_~)dm2+`bXvj&Hq-`fuRDm3+B=R zYXWOLZz&qidpsRa@kdJ6rJ;C3PHHnP%c>iy@9_{QpEUqGU2?+IsT<#j` zWPWZHu#qxyaxzb1yEcMbmQ;b((h5=-535UK%USd1ii`NKG-F+nKC~31jRuTxdElq! zfocYDIvNB=U9Vcu=-9|45-b$pGVH3D>%Bu-UOz|o_*Q1(?DprNv9bjF7brsO;7Mik{3{fR zIjt7%It@V#4hzHeobL+%ymqLi)X+54QbM;#AlG{5(X)B%eE)bGzOJ0squW0&_+)V&)k&ZlVcwHls)yDF-7GhRwz{SlA71SeGBHRa#K0Baw`(tc>suBaw4;>+a^8 zyE`uH>D?LzyZSD4ir1++>Pr?$R3{gKHkcZf%5688(jxLY?;7mlzHc#ftUNg=wW9_cFMZljE zbDsz__PRp@cT8%1DH*Z(;yfsZo>_26cjDdiSBqYf{YXrVEem$b+i-;W#F0P&cizO% zpK!&@xt&$|OSqT7p*}I|w}A1)Ov}EhX5s`eaEZ{)j+Yxf)L-k2@t+|J2|508##_3& z!N#qw`E-OWV_Xf@2|(3x@m;c#;6p)5w6Ac@P+@O;9(k#3PTuN~dk;p2^C~m5M$q`n zcuap(cA~Vz<#{E6V7!wZG^fW|(pzO%7JafdOZ-X&%c+Es63hSqUL!oo zoyiE#N#9>D?yfR3EkLnsvow~=`(VoKP~trS=1V3$E-C5F)tp#%Osa^*X0dPC3!RHX zM_t~ojTX`?0`iOI*n&`bxX?+CZmCva=4&l}Q;fxA(Craq{Q}ryRkxQe+Goa>C*2@1 zPKy2YtuRm_^Z*E<&aZ-pNR{oVT}WoI5}prRv|7S=%N^py1zaw|Ad%pJy(^+zUlueI zVwk2+cCQ-$f{KzOyRP=Jh{bjxf^5tLEYx^B>>5N9cu7tIEk+Z9>}4!3iCk@h-qU2X zP+3&RXfPER%PaAAh7A(j2^#CyZFwKZ=7^+l2SZ#n&oRS1XbWI3xcA+g0SYCJwuqw z0lq`Ao}SV699L>VoU*kH+D~c2?VpULl4)!(2N*|mV?75{qY12aHJv=!gz<&?Cryez zBL$AD4emjwM2Hrm!{oMw5TYsQZG$4moADV~ArKBN>X*)(VZKrxm8ycdnP08+k$ovU z%{w*|#qZFcvM7#@Z#veL{Bc8G{rSh0?Wy~%+qLPfK|PLo`5I5}2V%+zg=B<&_{zoG z+xxbS*Y0R~mu@dgewfFq#iV*u=qyTtrb;6+#jV5h5NQkH|5|=uqI+Yzj2>NY2bN+| zI`nor>!afKKV?4&bXr~3xZl;F-)GgTO=}M778E9qdU~I6vmfOp!&O69Tv^`QyJd6r zwuU!pcB145xvW~3WbX(X6cL|PsTNk|tWnHEjvORy1jLMMz-bKKceKX81rj6k=C3;s z&G^iV$q6NS%SRurI6yTzd2uPUsH}YAjI2)G=RN(j#_Yx2Le_!BUR?gEQ~5Yu2LkK$ zs$H5td%U1>SNXN_(p!Hm?71sf4;Z9z*(qK!)%f52$1TXr8%s-|6fkEriA>VG?j}$9 zvQtpJWbNProyDFlZL$@B1;;-3xZU%Bhi>e68_H36S>?2j0Ak@B;)!{tLlRM%2%FBw z`auBC8Ivgpn2$os>qKBYV3LUJnZef>v$3-91?j*3H=fA{k-H^kBBfc07Lyf?`#!dk z+0dv*UEEZC>R@OSr8JmDa98lcwx9A-gh3Sj zPVeG{tq5mo-YMS6?BXV>ie#Ap47xQ7xHPSQA2fbzEiy~0qEPxGWkKaZ_zYE#=I?FR%$ z`X}qka2xh9=8he`O2Zg!>S6}k_RZB{TkkUOvE@H&OK|}lr?Mf8h(Ik~SvfcNDxH>Z zFz|tqX~j*_Y~(%l-@5#^wC$?DrIPl(DCsw6sl2~mtKY|&#{^g9*rTM=E-w3x3XBeL z&D$R6Yov?=pRNn;BM+?e`1rwNT?Rnl`2+5kl8tc#i*K597G11%OOC*4UDHDqD;=6k zHr5L*?Jp-&qRZ%eR;uAfBX9-Argcvy;pJx@^m>V@b@JeJlB#%ROq4E)sCM3S+)ZZh z(Vsvs(E-}a6UbJ? zi)t=*-PZ9{NTKsE!OCsNmDboQGZLu0htOgNbTfdX+Q}&4&m=}8vBXe=XnIucAv-Yc~5wEt#<(A_qRo#V9!r3PQ(T_+p zvDb$fg~Kxb)%*&vb!|;U&7}tCp>S;~S<9`fi_$p`0m5Iqo$}%pN)cPc^YgkcIkeX% z^WiLVfJnG$--9^Gg`n?Y!p+vm-x-%%zfK;QZnOS8jze;IOttTF`ARb4c4HV6{^UM* z%?bRR?$#0HN*;nEb>pN5w>oZFlNOzreHv`^dcxDLwCP@1JD#@Wv3j)Xvlr8etTDh~ zH+qA1FPfNN=bV$U$_{&w&l^1_REHp7O4+=1b4=r+>{F zJz}v137f{^?qY}leL_mwIf;h)#KP2$@ky@pJwsMfjkzVxOw~oop1wSB86Z#E4XT z@RsOP5gsq4QI%Q#rAz&e71cMl|C^R(y%bQy;I z=SraX>8v=nGuK(Qwce=wMqWCe%!=cD?vBcuIAC&p;8EwnXh!KY)$5|VY9g~bYoanc zYopFCEbk`%)_U7iNk+F+dH6k@OPRtu!fW|{B~$mW6rG`^P9mMg|(`OwEA(}UJ(8eEa{%8cMe z%`O7PK5(|??Uy0VT|B4)+wy5mxdFml#Mz~8&TD!I`8A0Vy9 z_LYqv+(tyYkaA?dME-0IVQF zq6on(SOc)SW|R7tuYcQIk^a?H%$GdpFj7aqHr3b^DfUK#a1 z1%xQI+DKBV)IxZTwM^89h-xhu@a^wm+Hf4=b(#WY-J3M zntBML_NYog>eV&+tKxaMLl*~)Q9x2sae`0zr?5OP9ponQ9Z5$f0xfVrUsEr;ZEmLZ zzu3Y9W2TT=H9Pe@c?1a<8hSkmdIs)AmE+0`hl$i@S+5i(+8GNE>~;xS&2k6 z&H+5_A3=)xrPCLtkWR;}m6~bAM3wdqP9%TAHz4izE`}h|E6c!V97&vKp~gD3BR}D| zq)>H7mlts>H9RPj8PD3TEl9gcM4ub4xZqVWCTHxs&b}jAxdIp?eZ+&1i3cr|bE6eJ zNt(*JjbP4uHo}2$*i)qYnsq_zoNa9ui${ZSJP_@f-1>9)PibQ?0?M|6b-x(+1)Y?f zW*)*dZzB(^lAMws+SM-aZ(W6Kt~@AzN$b^?E6^ZY6htkSvC|S{q45O2aUJTNyWuGr z%RE(3ad~f1UNkvN9Gem&2`a(A@g-jV=Jt;wRv&hR94als=IV3Vc`+hRq#?sJ#t86S zRV2}$%8OgA%)m{3f!~o&zJGE8J(=}OEs+NbiN829N#(8n-Yby^$|$iNS!8W!ucpP2 zh@1sXVW7MuRhd+mt_t>)L-!~K4+Os2<%%7S9VZ}2CqF1Ij&~sytX# zm#$Hiq{;({!UaqYDMn3;hhD2bhQhpsaK+vjh3_!~%tE-2YOpH34hR`f@__ApPq7XR z6fA=70*d{S?l8&Uu&>Iw0?@tlh%6j+?umfI=!E>h!V0uVbN&)Fz23yK*~(I-)#@mv zhx7G~E2PjyyG+L)KSpRHeo7bg^1U$+^^}&D0vrpJw4o4iDNiEJElS7|{c#Wtn*zy$ zH^+50mDecSgrdLqtL*>omLX6;f$9i88pDAxlnMZ(CKMSbj&n1u*@uQ$EbBR0gBN_i za~iADLC8Zzc5udg%(^8Mn6m^kxHlhvlwT@%L+j=^&k8)FB8(p!Cn86|wejcDAqU;U zqr?!T=T`OWv#H>7z$QF4L@jNekHMRviw=Qwu5_My=y5gvw<2x#jIX>(>)h;pU;HRu z4!v#dCsv@do11eI-U8dSM)y7v4}B_g)>g?C(}x2VBCw{Q%=c~lx3{eZ@BI9z)fV)r zId5^Oxu?3(`Fp{XZ>*3Z3_K2^e_eM6zd&IQ@FQW2#Ob+N*I9jO!J?GJd?V6w@6ufM z2J(rQNelv%U*DODS1a4gBJGim|J+X8o`Nu!e3$2^Ij1=2*1ZZY#d&6sq__z0ZtVVZ z%b@`1Vwk_qejRWsHAN!<@&$7W%XUuQIX=*1$>iv>QAgDw>wv?W#}9!x{`}C2k$JN= zCaTH|y)81ceo_0D%K(8}^kLz-mYD0%z9}`;ALHZM>0euyk$Uf6X&&!%s^#-yDBrCf z8c(E+J?KL(`pMv&4DAlE8BjDo3=cWxRLd*^?lAzOuhp#56oxs`%_8+?z2M1E?yRO= zQ@i!sAJm+GC?7C(H2ZVUN(XadwV7^Fw|nXA{04o^3?sonr2X>u?#Yj!@t+x(RoTJ& z6TPNhzMN7k7=bS~_a_Pxq?eExi;EG+OK7L}E$!b%_;Z0ZlUV+=-j-PWd00{RGlh;?}k=%CeTjT3gH8S}klO z-cE{TlvhYs2G32%Ul`E}R@0~Cc;<7H^_E#ihG;W_N+Zn02X1Gb;|^{|d`gISN$vPb6iA3F7=ul4nrMeB6Y z*XQm7VkWpe4VXpfU+eMFaM3VIbb24aSPZAFLbS5=tS(aa?fUf!E=9uP#EzhpbuBPY zQ$oYO7;OpS+ttUSoS^aIlk6G?U3Qcf-(;O&w|~pSomd(FQ2*eZ;`*Cg4Ht~+R_;U7 zG*1wbjFGjFzxOaEddCv@3C?)J?>!L=pYD~CkOjz=7SenIVc z)*kS@Lr_avssNX67ObD=zEWqrym-PZ&h#5;d>goL@yeXy@sc>Kw{M&maZ0mb1Dq7= z{6`er;eHH;iOH33AW#bDI1sRT4|Q>Z>!P*U!U)Xz*6@&^wfdQ-jg6m~)r>vHwx1K5 zRNTV1ZZdGK61l%&K^-sQMq3SCD{x-6wMMlUo5U!}^Zmj<$*ePHX94rG_1O*t>`^JS z0mH<^inR_zOl>sxm`6LmKR7YhThXi3RMB&PllwK#Z)ue{h&rb({Q!uxKDj+GFHFA&Z ze4l{Gq>7VX%s=>geYaciqQHSuR|i%1y&m=(u>|Z?eHwv{KTOxa_W2G~&0f2}jLm%* zObOC9Xt+4r4eny%jmM5f+OPs{yf1`J0nyn(g$@MlHp=4b`?ixdO=}c9>CAOGjc+w6 zKXIuEBgQZ>Id!8!F3N3K0v4%h$g1*YXU0)~8k4uWS8wtDXRScS>lk&cJHrXdZxaa*E0_iv+lS{OF)}dP)V5I@OJP>2nDX zo-+~l_juI0*DOc3Ae~K1WW1WNb{8dL?XhpZgMSCsd;;M7t=eohrFscoVM9kddRA<> z4j_DA^}`RQ{cYf{w?(O1QEZ&*yN*Z1H?2wk-`wgXYdgN!d(4dHe{W=Gps5=uM& zs6F0!cNRdrQoq~f{&Bh)TmuqoOE7yfbaw4920bEo4KRPiPTm)k1NFRe4X;G*ZrTQe zN?$c1TWqgUorX6^!WMtQ*YhxV8~87K$A$rMu#mwxJ~l?O zz78iaDhNkh@=@Di*Caawo@j|?6aYm+*ZilMLlU}{gtskV88Cs}0V(j0gL#x&Xv&e1 z_7lIvR_c`sNHU&qLy8%+cu}=b!lm%&IhqnaCVFS#fUS=zl`Ct>yo4vk6u-(>U!;CX z`L&M0P-kEF5JOLUV)5e6%$A9xs$tc)^R`aO$RP00^a`i@enBS=l`jHG+2!qwpKr36 z_39rYrwrQMtQsmXcLJxux%04r>yAqrqfbnDi~EUbF~ChKf6IV++?TO?nIM~O&1Fiu zAuLZP_NZDiPKs>~!Vd=GI;gac+@dN+$6(;}cwKYSwj*XlT$m930rI*Pqr^r@f}Kcr z^X**{tEvE!Nela;kw3UMBNfPkRf#U~HFq`1uFg_FH~ZEXkPoipFdUIOy)&u5ZW94; zCOIbOR&{W&9kirDMstu9n~WP(V>?NGyCGbU7_L=z!W*>ZeW-*1VuHU9nR+_S&CWS_ z9^4@yQrXnl*Ur9^?vvj9smcmYKq-kZ-jI@VOCAy`-Pzor;FIKC~AnIxkg#JEFRE_du zH#B0&q+aZPUhF6-dB+q%QNXQ_XSDMmyplN_Y;5q}yR-|V~XBWrhISFaFAU8k6$!ku*yc^EJSGK*T z=KmJrv-}|W)j{&|Q29k__J?rgrdiT*(u&d(@*R>&7U2?b7&pUyR-wDvz_&Qyw99Xw zKbNE0@4L&_{_7xztJ>$S{4*m;MhQDpY&H;4L4auz-G8eDr11qq-w*6&e^fA8@^>Br z!b$u0v@3qp9<*DRuxmmcu?6CjG|@3k`KVi=D)YuWFKW~JOaVbnFj(b%KK&4}xuml7 zF64CBx^)%E!*m~Njk3gPT8+5sHpJ|qDdP~aq;(PO9%T5M_-^B_`~<+cm8-v=e?OG8 z*~-cl?h1o^ZZvONyYo0m+b^TgXw@OB-2?`GgGoNA*A^e%{NH5$Z)T`L)kW06IxI=<98b%6lU} zd;iB+CHAF5u!l=cJK>D$!T?2$D0_BP5;hA=VVhZf#%kkFlZ?@=RQAxazhDq`AhEds zgq7{P%O6U_+S`NmGG>G^_TNOB>Eo_1pG_M4=u(X_vqNHs79c<)55!(1c}OC*V*}wO z8{dE%PE)z|3zSu&W$!s?u>Xg-9gr~?|U0uB@mjb^C5Ev3=!e?GFI*zjmb|Q4D zyu~u@3=`&LVB1jIu!OhXiT)16P)2N6vDfmM}z$}e0Zi01L{OR))P zfu4}63BO`^8d`|I>r7G-zM8sey-&v|J?^%A((R=D$5wrax+(Cr*S?+LTU!C?AKFm% zThH_E@opW=^W-w@Hdz;)ORAL#zf~Aa6PkSkl2;ipB!Ak2QaYfg45d#1{WD2wx+u<) zA5zwZN{xUE@R2E}ozxcj?YE|}u?71ENSjIfgV}DJQ@1F~XP8Usa0{iV?=qWQpO2;v zZ%*CsfgO2a=)0Qsufd);lqckn+HkfGu_YUS*8xkbMMbG+PZ-5pIx5W9xDWu(4{*Ae z;MPsxlNSsOfn>me1GePI-i?ZjASVHTm#mzJl7?24ui?0DtQoTo zs!1+h#mj{W!Mq+g-|#}8Zy>e5meHZgrj4= z8?!cubAI>-pzZ=nX>G6<7U{7Tqq%Fdj{ zJ6-jjMV`da96|v>(2xaDnTc#7lvUN*e}?e2EZ#%xDgF@TCuW;Nd)!MzhF#ilBPbjN zUh&S~9u>OfdG`);J-nG1Jyp5fYHt>9{t)nNR%I0Sb;+PHh2|qcnGMo#QJl8w2aXxPeRIhTR9(X3!3R|_iCoR%=rf{e*YNuQ9J2MWPNq6ar z4!pI1Hcme~o3T7?Cn}71MA!X4BthWHg7F$S4~b?XA~449yUJQg`8$lGAYb32RT5)I zYp5d03mRD>Vh_R)3Wq#$U)jJeROYo@y{cnAjje|rbW=m_5v zdRhre4peW9JI6TY%}C1-uZa$T%TOO)MRQaN5+_TXK*8h&?#~4G3<`vF_JKn4B}QuG zWJA+`gV)!p1{Mu(u^pqXhCoacn)1(OF^k+Q143^xvVp zbL#KqOr9Ywh(R))QuiPaAe%G_qZz4~f;t^%wO@@YTXY1Mi1bq`U5>vt73?g58&5gA zGXtii)TcZ5eX>j{;)dPC|}Y;umdv*NnW%@a{bJ%bE9HM1yc^v49`?q&f!})o1m8}dVgcOqEpVx4TXOF@ru2`4y|3%+mhgT=W*RK8 z6(O@ep%JM|2AZRqIayLNy6|@Ka`{9v@5Cqi3d8uB4@&O^R@KgztCSwA@*G zejM6|)v@YSADEAE&J1%pcDX={?om(r#j7lDc9prji1zFK94xnCq5@^uO7aSZC05 zUNoyxd;YU#6dH<5$q{+ee{cxV;hLJs1^_YMsC=+b2Myj7GTY!a-XaVP@^r~n;5w-WnAY*kzmT$khfH&2ouL;on2i6_id@}sdR_6ReKn5@%}+F;L77DhvpWU# zR~PA$Lq(#_o)&Wd<$LE~$tH=!EFUNI+jRfk>=llRTR6cNap8$|?)VBVD91|dUAvex z4XE1lnX>E3xizcj@L_rUw+d)z`dP94nYb?R{>wC-2Wlp;wi=T(-|~XCVfGxN_6vh? z%O@zB3xze{mlYEogz~r)a~g_R!$qCdnJxh~9m-+< zUmHO+y#4ztJ!HJx;|xB;xnC|B?y6|d&&cRFbVA{Cxacs%4@gSJABt?8;h}6>RY)}U zb}k9K%06AjC<<$gIWC|eRg^(GEI}<5tiQ&0=7o96u#nP;%kfs=YF1SYoL;_|fqk%i zcYjn!!PA&59|J*g$S^xB^IAkIuG}MgpS-PX%t$xj)nXn}Snn`HfyZRcbwbgi^)=FD zs6EYAuv}CSJnQ6K_r6wz`$U7Gvh4EHB^h>UCRfN0>oF8QmleUAP=ENiR0;ep?5Ol1bMx<)P ztE$4zlNy*+vINO|PA7Ftq~gOIq0xAyhbD?C3aK`Ca&m7+=AbkI7Y(t#-b~w4x4H>u zZj^{xVV|S9z?36&D-|;2K51ql2!9gKrM(;xDaXF~J}@LE+sg!Tq`(lp4;Ai?l>b_^H}p9?N?P7 zRV(TIQAf_v`BC%S#^2;KEadAi;3bMhZ=9n7j^D%HhYl3gyyy<+^p#}IH+p>p4I>>- zw{&}XL?ScctP8us^h=)3WUiI)AbUe~H~o+&(hV9zDQ<)?dmhg;tZSyNkSKf!btpCc zm31j1>wLBpRv`YAS8^1dobY9?6!C7|e{PfB>sVKWPadRukA#v!b(vRHhXx<1k}NVz zA&n@DOMSSa1CaEZr1Qc9y0`qCHF0z6pl^ZoF$ia4Lg4a`fI&`~0(aoLagn+LQRlq|N5^ zAo?@Ty_40YcT(~JErnoFdR*_*r;T>$0D)ulk34{L2mpz=&?+f^;>O=4ZRfvdPTZ#M zx~)lhvVJ4yn>s?eeeZjjL=Y<9{s&aT4?=5{ZP?qoUOTkK1S_$(jNz z*h0Td6Ql>gJg;ZuO-W6E2>{ur0Ok9R5*P^K&cZ-$X5avZT%h=U!L(!^9B-Jyhlz~s zj9V8rTdqPRthzZZx1Lg6)q<1a1_o5keeHD;K_r_i!DZ5-6g0+b0Q$R*b|>%Z>HMFT zUP}nh?9$2{7&Z-IJ2+%5cq_Hl;YtTzhIJKRG7Qe5N3Q_~%5no`Jsq7tz})-WD7O9m z1A&SYcZZZ4FE5lR#{yqqy*2uG&M%%XD>_(xw_5yI*1|4wb;yuWmVlRmS0?QP++|gB zKYxLG@PAH&(tK)a1R7t+O?NXfhvdf*9}gpO7D`)n|5rxvc=^t{UL!E`&pX(Tml8^17>keUn3>qx z_9L=9pXlpN>w0}2baie1xNG~4aEF#*Qx>e4uAb8tATslC7%o9xQ!$=jE_X*CVQ(cj zt}IhkSE-cMl?pfKZDh11MfN=`+faqx>Zx1Ou+!y=nyU5fY>MsY@k@|BGrB%#I&fMy zf7hQMyJvp?-Xrgd)H@t_M6Yz)-%q=y{(RZqbke$g)YT?gIsND76uQQ)aAI{;TV0Te z@t9P)qS(&4Bf{aTRn|ste}4HEdCt|Ps-evg+l9%YLdZI~68eRYJi;uE+=( zy^}oQq7v`}YQUPoHF>1bgKy<2UAm3$u`IoWwkzme$12f8jI200yT!cXn)Vf@plwr% z-BhJX%=S6ry14`6?As!${;kAcOG{^H#qcJ>TwY;4qze*QhNm77#{DRX9CcvsvmK>v zXHOd}i_?jQ0%(1K`;y*ys0JjN1KW}kq$CXAMaKJE)9GT8$L0*PTpikq$arjiTgC9c z0MXNIIk91iyVMQ8uU zLx2A$raTpYXSZbU+t<*ba!q?oSJJLW2WS#E{5i8%_eRN_EOSx@h0EWSdPq0Yde526 zMsj0FOZ@-%8sBdjQ?B9TMqw}+!xpW2vVoOo$3vn|?*Dyxxe6SAQ39 zr}o=50!rC%N7bOy()6@2%<7C^)zpoujsV|rSO3JAl$Z*CT{W0^43YrJ_Mn~?;Q2Aj zd3Dkz=BEy?I7rBkCljCkJEYP;yF5|ucJ(;9gp94ebyloA9_F{nrbSsP7Au+WbZ)t^ ze9qsp)l0SXl?>D$-RZT}Gb)M87O3hX+x)fy_TH-_BOCf2@VMIzlF*J$*=Zt8L!(BR zTETTx2nyZ7gQhq1?GWmDTs`;EhQ85}V+55CSXm@0=3d%KPU~pyaU2D~hiJ(>hp_C2 zqSERdTekq`t%i}cCBccsRay4VLGDNNIGk-8UXIXnAFZ-=7uLeIlanMi33PpWqwGzZGc^&=nRnea|NaiXT#nC$KguRg@; zFjIWnUqNM&XRbUl%s3GJK&>n3u{D$lGy7*ta5~oM@T^4#>P+7MLU#X4uda)UYWq6k zz3wU|dWDqT;HmmB;tp0I3qB5^%}2CY9sWZ~qv}cWPqOz#awYkt zVfMKTxtqb&36J<(y-k6*{Go|<^2nP?XLx;d4Oo1rBJAW;$YLuQ?P3oWpZMX9ftu~R*EY_5 z>qxKAn}=;AoSJlH)-f#}#G4B4{I$Hh2uEFMx!joWsF~ooB)hs%I&KH;M`>RX{u zppQp9s+yUpG8&cB;`Wa`y;aBL<&N%mu$7#ct}8v{IlaZZ5 z=Zq!ATK!0?TvF(_71yry!WnJoSz3fFUExbel3UtEw-Cd>$K)?;JKtu#>kZqP{YrS_#AOR!cJRfQ$C&JWVVDMyly zLYXAKMK@e#{8`quROGJhxW@|h21{q&-^sT-qBk4wAa}2+LTLUe`D=yE%`~!&m;dQp z^Rse1!g_VVt8}YVd}~=Kb&KS0C0xZ>O05*hZ^(wj(LXfpj?Ltv2gj zo8?Ha&UZ5`5o>v?l+mGht-Qj4$}B;K*S85};;G9chJ`QG=>2rtb9JnpBl?`eIEl08 z=F8#vJ7>(744v9t$Nn5!hks;X6vl6}u0eqaY>4|9XCt>DZ~Z{tULNz&c1aGSL$$ev z65-Dm;A_w05pn{E{A-9!a0?dI)PUjhOP!6*ZEg-q_%@``%^}1Idxd&YNmfpta)EM1 z&RUkbaOAbpSEY9-TX`D!9r>%W4Jryw`9t|r#SViZe<6Rv*rQ|A?vR9|{=&j7ajm`3 z9#wZr`#owb!W-}fozU3pz0hm`9__JPUUN*ob?Iu32|rp z;kgF3`_32QV@_zB`;`4u!hd$xDOa20WWvcA?On%R#~mt3*&W9n#uA)vzN8Pqkp@@8H+}ttZw5(A?hRnQ>%D5kf1xQip0-5#VERy0HuB#4XRgf zb-G*_%N++ublNIM#GVdz$~vmkTjRb=*K(NNEugEZdHhGvZ3=6HEjCLRzdeFE0oX)7 zxkqdEzTys>VMG}2Y&qaOYTX-Em=toaod7orjI7}FYP7j3?FLS4rMtiskCPWEIKdHW zkTR6eV&dsj%fKEjVTzk`^Y7?1WFRaVrU76Cf;a{N8y;#fUq(YJxDqy{6sL(Qzgr|< zTp)2LI~YSUY(&;c()klTBjOkFI^I@rEht}`=}2MBxg?|{J$Jt&7HtMYDna2fN{boQ zP`M?VbKqnur#jT(B?*1#y6e$2szFjX?!3eW28EfE_{ z5Z5feEJ4dm=;L*?TbY`i`5n))QA#!1CwiHc51K$u)Sb^-%!#K(M9x5?C{R{pY?G{9 zI8Ny%ES#_@NnN&NtLCIm^Zw7?Sr#}eyUL#GU%Li(pajnQ?EiJ*rHbr0*CYGnEAue| zWbHU}Hi41@^`6J98-3-YuMD5!(ezb$i}Ge;kinU_E6UXSAt{Z>rnBBLo3|CdTj#P) z>#+3d*L^d`u1QC%+jU)z+jxH7UWLk(m^2EVnVWHB>E@UNxLY1Rlq`Gft}!F=UNfri zNks3P>pkmn2PCm2@}SA3!t**oDuLcZX9^2a$-%@x43$EZhDiO6m_Xzq9#n4qn-$u3 zwrt|f%dPMg*kK41v0d)X^U18T!x8iYdNmW93$@Z1@d$f*-xkI3G13H5CV-D@o?KVa zpOpJ&g7BCCl0`|`k#s4C9-;_@IFM4PRB$Q-SxuYTi}&+2B-&RZr>_BEkOW6iu0HSQT6zh@E+HVE_|mVKdIxxk8`>1o!DGj-sSrnCDQ&I zXOi=DGG0uOBRfl;Fg`o7AH&WekdqSmQ&UOR$NU5#A+Oa3NQXY4Q`HpCe7r)w&$Y$1 z9#KxO2rMM47A#8d%Paw{pLz3Pjy^%6@B;TDR0rTw=z~q2&(;o0mcIVc?FS;mN$jhL zoGYn2JEhaS=%ril>EShyttwvSo-rYb-8%qn$t^8EcVb>;nW95!=uZ`UuXQ+NQ_LD#8ldFQlyV_ z8HXb>1RRuE-_{gBurj>nfll`}UR0XDDRo=S6+Sd5ZX@FnDtDj4vPxo}(%t{AB*>(d z)E=s3(*NbiN^unI%{*&L$8QE%m_qn0VNpTH{VTY6%{GUaZg zuKcylw5TpaOh234XZoLP(=yv!^^_y0E?1bU@>yW%9UfOlfx$jY+qzNL&<0zYOH9myL{1h`)?iN&`dd|p}^n! z7iWqFt?}fCgs5W3CA=oLvS`R4-gv;)OrWhPdkYsRW^eYJf9z13NEw#vp2vP{7nYM9 z@z^+`AT4w1v@^RXAqyE^1G zVw`VIzDvSXlD}vkciQLJQ687Z7k>%5uqox8f!!zyy=j=owihOFIgy-@n4H}nMx$i+ zNr1riQ}Ca9vDMU~rRM_Hb#a>)6=&YvwCPqv(OUE-VECHS0RM1( zorRg7`C$_of#;R$EI$ml@aH&?&=3{}=9!!PONO3bm9Moo%xB_11kiGu5mzo%(E(|W*UN~m%89UW)1r-Q6OpSdONsqpjp2Ot(n^TqzQUf6`KywCiL*z>t6&C{%i zl^o^l9z^GW2ADjOt;6+-B{T(sGCl4f9rw~S+mk;$^ z{DUY6{rJd1(1Yq-c<;e!@mgz;u;U~(pzH-z+=z%j16r!JPW}TrHQZXizX1Y6<^?BO z>fEHteIFEep{Lq@NJZn`0j*X}C-YA_sZz!L7^r+oC9Dz@*r6B#%+y0JUf{XM+K%O5 z%i3qnkSH@DwvS;Aj9W0tm<|xay8t7gsAFAfq1ziNn1Nst8}HI`b4nqlDr&X`5))(f z2xedul)Z1uE9MQZ@9iBK85=uoc&NO%c>jSQwHz`$bH)`l)%uP=gGf}ueTlDLjo?s$ z$T}5ud;K1)P$#w5?b-M*wYsf7Jq>*bN=t96o0S<2VG8A`>R3+Zx-H=ZzDv3TI}~_K zKtLVAwuzKs9gFZR1mcOv5vZ!nbzL3Lx~ZL2ELrwDN$p|S%de~@7J19UTnUIAz$3Xb zBA{fs!4ZjJMc%bOP?dhKKW@dKc3pQ`#P7^m*Q^50?~bvs@PM~rDTwCYGo3SZGSKnk z?+^E_RQ~`_rlfhpY%0L9PhA9Y0^}0ZSl-pTiU5kN?3J{ed?992iu_-l6d{b!&^W!t97dh zt7nGy_wxIp0OCNv9gF-c`XYb@lTt1dK~s=an=7sdI8z6JnXxl+3Q#O@-IZ2egk}Z0 z0NvAKnfBV9U1WS~unHP@bWsc3!=yc;6FTAu1aU(z(Z1hH`ZnY_K+X}&rnLV!+k=fM zuj4ibZPja!&x;?05_)@ycKx-r#X}Mc>+MGqt@D(qX?TwE6ZjpAfQr9ybd8y6PZFl%4DfeL*&Dg(7b!f@w@i zj2)gy4>kF`dEl4hKLCM*hk<;r)>UOKhti_VXkzQIEM2{_TZJ zSRGrEJGS)UgfvCVXd%c#L9NT*Y8S5)TFE?oI%csOp`rtcAC`KWJiqwjRGUIa5yKXTRWOv{SP zW~}#b%gqQ$4{p!(NZ1vb%^hjkaaCt$>W$?o(}$)MX&&`08eyybb!p7YG%R6zo*-_% zStPKyoB2rXYf2eo)Xqu>0XRU3bTL7ad5`M*r8uKfQO+qS=MBMea{fHE!s)9gRK)+3 zGEr4UzVlRwsD~847orT*s|ud!(keteAq12X;-#2i@|3Fuxm}VlUf-fCJ;$r{s!4na zUcM4f{b6{cyC;|9iA2y;QxZ}&f_wc(a05#XI2<80k7E^_AxkZi3@j^aVRxL^>^7Ob_S6Y5u&tBC9%x@o1b>UV_z88v6zBou;Epp^(tqoxe1)JWq zLX6^&05_3NIkO?P_-9EVGV6l`X-`5QxvUGiDtpMPA-yKLM%)l{sKHaApYP%5ZFJKr zR>ta)V`zM}lFFitCJ;qEqpd{*mMenOLQ0?}Q6evK!eo)(=gmy#4Aj$-=1%U@W5BBMycfgJo z<+z#TBC6zRsx;upeL|I~S2LO4tnTCPTW>U3X1UBFiyi*b(lapwM1ODEl)b=m!Cgax zs)TUQyg_+vu%c_pH&Y-?uFYz}stxr(**^XGbNVI!@#-+!DRmLGLAoH_IsJ$&UV9oN zc=#`&-lj}j7GUBqFRhj+iQGTJs9DV^hS-~73XFG2d*ZER&16FeF|U=j+1>c<+K}2u z@Qh@I5^9OOJeK2t@fz}^Qm^YU@G50lL$OYCNhp3UmL))Y2Dz9MFs%#?Dv?0Jg6 zV$n;z&Aa&yk);Mi$il9-nupzPd` zE|_1o6$aDR|F39^B74{v`DgM++YxH6-RBhHc@PHS!WFHDJ0Vz%JBr2|gZvgl3P`Au zDrfd`Es*{@GD$nKf$(JG`c#tFSn9+j5?tM87gVhG2bG)0no@J1-);F2$1UzJERG$^ z!aG&4y;ZW?-}$i+#C9!vg{PA}m2OW7If4M4@@s$}5mm11m5`mP?&6aY9t7@-65;LE02$&Il8gBz;kB!3emQ*ocX3=7?L3q^K^<&Wvva# zUN?1o&rq%0|9-~Q#t=VNTzFlgZ$^f1XC|I^HBYD3 zZ|f{GmD{RpOjP}!*2A^j8HP@71^HEAdZ%1e7tT#@_oYT_{jk zoYC=^^mrvQin?FQ<(`=5GG{>kMZlkz$!CV7NNT&wbm>j)`wods5$ZPfMozvB+hbn3 z$_4P*vb^oB@?(+J>#Tn*O5jA)U&jS5EAgRBQEY)vkpl?AWaR*0b(6cNAG|xM;nt>A z{bKECm@DWJeNT{G=H|2U?!oXA4%&&swIR$Ie`08u3B~;4AJYaBj>ma2FZLvTEi?nZ zt&lAOf%g)qqT3vOmf#tDkbYdp&o6E1+KA7wzyu&(gd{Qpp3RivH6z^TzQ9}$flyq6 zYgn_i4vfEaculM+#+4LLYzDw7UielyW-I#?baRbryb;>S%auyJsS~XD3||t4~R3@K@<}WEJcd zjW53+n)c0Z-w?3!@hQ;xFr@qIP$O6}Klwt(hO-f=DT_4=G?taDB ziL0FtwWGmVSeAtY#6csIUoe6elBkN7YK0{o7b8l^^Eh9nyqRV$=kLVG;VsUJUdArq z)+Y*#WOc#*?BavacnB;#a{um}vLlgYv6Hr?f$}OrTFuJcg~bzFQz~l=q4l-I?6iRN z=txez1Q%4YvL*RNorE2g7WsCJL4xMUV~SGWS(G+_;s9jp%)6^u+_C|s02>sC4g&o2 z%I|?6ij7Am2mcvk1Bg81^lzS*kS5}6^LKTOy+2GyT9mVtZk&y)O({e#^HrR2*0MXl z8}__A>JJ4CkL-_(?hL%f_GccAx3dwOxZNoM%F*4Ts-LBd|GBq$4tIQBeq`Tl1Fse) z$-Y42ook7pXevXu7dHH!|z2d*cX8Ip# z{kDk+QwQJGz|@gMRJxTHo|TnN72+7l0D(^>NgMu;YJ1l~a zd+L1`ge=mW+&!(obC2F`jEOzRx=%?v_9TC*?$U7b?ZPK%CTolz+&8Y-`n^Xk?)I?~ z=KYPj58d|7bo2leFzOp}1-0l6CmpT)Vq7_cs&apk+wKi)XKGK}+AVSn-2Rem@dINL z#q5j2H)&&SE7Ktrt3;Pw)%1zZVKF_?q&0DYi);pejt{L4Z139!)uW>&5tWg&8q$&d zYQzag_heKG!Vh)=FQfGN3H690_Uw-zsl86#zSUmA40w~A>_VB_ic2YEP&jVFGdTLc!J;94=7^~+UF+< zNCIV!sC4bz6>ob|mVG2|MHFKDu|Ju^*%g7ytnQ;hp$~Z#vu4}=nz2JK&Yzrn-PW^p zH+tlfj~$O1lh9a4wsxVi)&APsEmuCjxvgJ*nQPCZl*sXqh?JD>zp8fba>$!$f+iua zDk*`p2pw`s_3YAOK;`VJmL*L!(4BLWAx@jU>pj&oXv8I8fgM#d2C|Ni^?6o&433TD zaEK2G(`zg?uGZD9id`#v6ZZ7RMb4L8z!TJ7+0z8d)&qHN+mtRU9Z`CfO;5A))xZDg z5Jc}0?%gNsRF(fzT%s_TS5+r9`;@*qnIqw7&V@l0CCWuwx5}I~Vzttos}wd(F8f|_ z=hf}gw%S2n@nfyOw5crG$6I zp%;9$_}WhPcK~EzdnHly31gpm*wJT^{Zg}@pq#})IePD)ShWX2PM&-<`Pq@P5rmcNLB753es^X2f~1W|_^o1I&Auz<&NSHfmi1H{v*L*{8t1yQ(X;9&T25C| zsAdqu9a^S%sgey+x6K}}eIAnt%=gsI9;-#y+M;z{!1t|v+YOnluowS5*1R+1u|q-Z zY(re*qbEfU&Z#NaE{kF=E&9jzM?(Cx?wr_!^6p4Md|E|^d5p`g(|Peo=iEB~4ErRF zh7%`>ScUd>AIUQ&yLs~hR#8eXxw-$ENnYvG#oGz$Cp22`|5;lZeLnoelWrEDoY?Ec z(XHkg#iMrUtNv7PXIFaLyts14F>4KdP-E~eX8OgQ>Gl%) zOhDwfUV|;&&^PdKYJ_j8vAdjd&7|=9MB=uz3vh5tbn=1119BAlk5zrjBxh|(bdW(% zgS5kTt=-EE9B30N*|O!$n=SXX{aVm=CdFh(t7?2Sw@}6oIiU0VvEDyjU4ME7cN-Yn z?gAhY0DuS@cliIKOq<~k2bjRxdd(nuz=i1^xS-IfA=UUU1uG{kdYoc7`|b#Xrw=OM zt|W`z>W0p0&W0?4wKwWwL*|76731rYZ=NsO_g%q7tY|A9x)Qe|P)@2D$T|%l(#JfX zMB-BrUsE&?I}Xm)Oh+HAu9@BMv+P!1{UJxQsW_L2%A6&z_W~WQXK`JycUZaH!W$S8 zTzU&#h(ecFu=@;$&b!xo{p?gz`F5c6Y}3l{@X8Q{hE}*MBl?Qrp`5C-G8-wq!WLcaLM{2QQ?{dvP@$dI>&A3HC%GgKa ztTc_@6Pv%q*5q>Gt1sfz4Kot5m6GO^s4?rjQ(CK~6i zdwsMs1Mz*Gz4wgQ^`ae?U{VKF1Lt|CtO#jtqE;LlZe@7ico^8PsAKnrVR7J4wd7P6D5A~O2YX{c0+BVIFD-`b~(KTMT)m)-DY;4N7F!3bYEvH=O zw8lx8O++`GPZry{(&MdiRr(Cd6gpAbgPSotJJJa)tC;IL7~y*Bulimk@o|v6LcUr{ zicv)C=*D{m(wCNa$8TjNv?_26*A5mpe6=lfJYL;+*rU*5RQ~NMZVZ*>ea_pNZ_vui zp4TYz-2v~kvV*4t*Vd0agHj&rli=;pMSiD$>gx*yz$ZS@6+m89wm$!o-B&dWfWRd) zBUp(w^adi|w&%FD=xuj@46e86BP{5DEU`oNIO&#!omY;}Pd&uD;)WR9NcS5z>*GDn zw#CdEIxEo);gg;yPUWmT&BAUXT|3#V;Y11w3M+?AeFU{xVAkgs2kg)2)5z)!Pu0FclNz#B-?$EVx zRIcV37GXCe?rjqKeH@89VZ*=wZEG&XG}9j3=QpbHwgb3Jblr=TLi>CC5Z=!p^Pag{ zJ)@C-`z!cKp%?n5;pCV1cl7<~lW$I`F0YVM@gi%kPc>+=ycJ=&y+f5tkT4rhuZsO2 zP^%<_FS~nj%XM4964t<9X6s)fE|7QRc_i#ODI#xJh&waDG+HO*@{^)RCZ4SHZ`tfM z8=&%M$gBxl3p|iOUUic2NB0~0l+0H!Ij%(Fu`Z}fizb5rLM1#qf zAN<)s3GuptNw~=3G(7BVoI@h*V86&V=lrF?-ZvJ|iz@iPDW%5_Z0mX&NDg0$dQFsz0rFIT#po}Z_E^|Zy){2{g*c?4<954(@xJKZV&hT28|^%(^pbnZIM$^O~b&S73B9a06;F7-`6OMF4A)GeU>Yu5D5g*Vf-5?5YJ1dp zePd7h?(6*{Rv@AV`yI@sDV;hD&+cZRo~S6pz4B2W>hK^O^v8hSDyhm_!_~E)lC0r= z#4TWG_`oqKI=_g+1%}d@oEW#lZVx~$$j;q?+9y6^6DYEu@$b(*ET*ZkkyS8`E>WNE zuYc~_FN~yfRVub?qTZ2GF(xKEdz?Kyq#g-T0i_nTkYvM!QWY2_q?H||u~M%Iz@)v! z;-^MHA`*$t_7w<*Gp=CAKV9D zzVQDa3?B2({|te`TO+C0$IRgnyjljg?%FTFgb+DcO-7xl+lPA+;KAHC^8OwI$eEC_ zoZ6}6^v~iOw=0STXoj=H!~b(cW+5Rj*Tvd-#@P#d+_?16J@xKqFg%GB%&8}^@X zR`WtFMQJ$6w>hlP$ud00$Wwk!2}|3l#BkFmhr@!PhX;TvkrmdQ)^}r9M&I^hryi)D zOFzO|K}rzW#=50&H`KSh^I{;;X@~gs%S%ksU|q-SXUUFmBy1^%ar_IpqQSA!jaIQj zAErZ(Dr4_}{7bKCa(aIuku&JphqfHHvwSe)-$t{F4Pf*KTAM-ynNePz_IiCHA=Rl( zkFNM~A`8D;-WgJ|j2iEez)e5x$M6q^xF8d~A2*il3*iZeWK3inNGn*=>GxD{ox8U6 zmmfQwjNiLgwa?GnGmnOAK5F`>S6!f6_XPp^(SnyzRDSpeH#xOMojjXz1(lI$@uwi6p;$ww{h(GIasiWY zPNqh$6O~Kvd^tH$Q0JKT8e(BB{eB806#|h*7H(LOfIm86E^q;6E*~BO3n9X;L*ZtK z0EFL!S`Q@o-0y(;z84DW;nv-rT-b?fwzR8_a(2>Un=$(2z(zC+3ME1y5C|W+LJeyo zy>hZF9VDmpB<#ukT!}YJm8~`2bNBOZU&IW)(JS@!v7;4swY{exitI@gyIAUmMv+dfhbcfG*UTOs)P+I(p#t@!OC)kW`bXDpV+m32 zQe6$9zg=Zq6+<8pcMx9c%DT+}@R6RcS2o_NeM~}p`RLNInW(ciG4q{L3=Oo=aBe-4 zhYTGIVi1%aK0s>*v;G!Dwo=#E#*9J?z&vE@7DUWXOP%N5XL?HOGKFn#1;5>TO>PB6 z=Y2&>N5EH<oBbrabh`Y z3qxPPeo*Rf*7fjVt(nSzz%lTYK4RCYijmXYY1Vdz|C=^58FgO>oXI<8Y90f)FEJ;1 zuo*eGL^zva(I5q_x^62LE?U6y7-n(*xjw;K4$Q;zRFIk$&Y#Y#1od+^r|Rj;8V%R( zAMK!bqgD(btUxLF!RiQs_TYCHF{ly#yR%@@XzvLFrhHm=vXG0ahWAyo|7r8L4<2Ez ze|z{{=d%7Hs+SNo3y4_vAg@jLp+s0_Y{_c^VWW_Ex60Z2C$Kp-5+SFwF}5mTn4YdOpVi8d2WxACwK?(wTJ7cuFiuCig@(&A zgEey5VNpsJ3l760&i#KYjuu+MEUHha>Cb5GPYvig`Wn_)6$d?Fr%%7;Fo?knjuhXE z92|_iS3L4g9n3qx%6nV0z8;+X9Mfem#a_2Z=g7|8tiUaM3_89h9Nd=mR-qOdPaZvV zU54|#wa3x+G{%ohMtw0+tXBb0%6Z}wKu@K9YxnV{Tkk7@xnrLZ3`btN%croh%9}h$fRAg3r~5fEUv2F?ew`DbVpE%N4HtN`|X z@7sX+?i$ArIa94w60cVPfgw-I8luvbr0HO2z`8%1FPJ@_r1J_O@NdWYBKMgZ29G*8 zg7`r;0#-}LBc_p9t{=9DpovLw^l^_%g^umqc`VVmgF0SNL3I#*-`(pn%^z zi(q7tnQSt3*xDWcb`3V2HDc2J3z^5Qt+0Vh)Ax4k{O!>ek8cZzfQqim4V`ZjqnQdx z(U7G$5Q^v!FpB8NO^p2c?FoNVf63Sv5>6lX`~{ZOCQI)--3 zMF?UJO4^h4Fp!i>B9LI@M}JzM(bsOF*+^DaN~^NI7L!8ku06qi~X2%kd{V?eTHWTz%dFj>j}T?yx{aH-F$- z!1EKCceWN;HRa}>-su}K6gHFpzSEe^>d=ybAhaqe1GDJtfb)8{M;7W+JOM67IU?ua zLt)M#dW5c{id(*Z#ZW$)lHIgp1CiKTLjR9q%rtBs5W zfodp9m9*8I8?rixaawOBIU*p86`#rCgU{hKX~5E zfLHS{O)aaXH_{p(*qNT9?nrW0s4@z-krW+C>a^}W```%c;^ru~+~&Cz2JH`=4K;On zcWOd(h0Fit9Et`(k+84Uk8c+bhV@)!8#7tqj{3DsT<*%cYiuKP|8vmGf0Pc(ugn`1 zM-vX{V*f8|=Fr4KS}>OKauv=*xoCw%*cx#;;r>_a^PkdsvqK$>9XKFBtjQAq(?b{P z1vHU_w&I-e6^br5qrz32dtawq(GY--UwtDXe0r29F*3MMhmW1F1iG{Q~9EjEcD;1^ddH6j{7%L#klChR8DOCnXZb_w0aTTWQ>@HiwDn zXiP?u3auGPPhGwKgofVdqYaHs6`kSkBHP?m?b0!yP~g=H4_grO9=VMrfBomA;m43jr2Z+86zdY~WEfX1T?JdSS5b7@3(9@(KUv&Ewa!}^=C z@YNGDZC5VIdon8r*r%-S%XE?#V(@^K#Y&xm1eRmh3j`wSy~_nT3&qaEkycKV6N+Hs-MIds`6X-C(Is)myLbJty^QX0>P7dsg$8M5?956AuVueKNd@&q@_h!q62|?-?G{EKJ8TgR<=lmw&r=_zjry990o;ft^oeJW!XNQp~8D2yN6oL*2$1klFP$Ib8h(%=6y$c^E z9SBn+mem4qOQ6W_fJ7dc+W|!Uqze1UnhX5!>KaXmIYQROG)Lhc^JPHsW{!T|yE_A6 zez#XoYYNvxOabWejv!Qq=aqb*JC@yc=qcimvtdXUlD7<&z`5{xu03pdPWlw0Q(pS( z2H$u`hv}~{7^($k-^O?$Ww-;zxGtJGm8QVrTqp_$|0r&6L1|CjK($AN!?Ap4JMQH@8Aa9@G|DGS zJp4edx_k(Wm^5C1aS43oT;+fJhE^3H;_VxsF>s&{C0oWLQ`GO^BkV@$i~8dC&)6ff zs4b>Lq)GAG% zCM>7Si{DTetjkQUS>fL#IPk!rKK9ZN(LMOWTgTRS+&l&<2}2lu&Ljd{n5CXs$yqo5 zn^z=R;gf%{tX`0uapFcLMTOSc*Fn=1R}->PsT4QLd)4sht&fTkWD3zq%%hh)4} zR8UUkko^dEVzQ6B)SQD|9+UZIf7 zZ%2H-o#7)_Duaqe{pm=d2+@aDcwKEI@7mRmkxNQV&kr<4EvuIpZ&B+*8=b1Q+A`6{ z?Xw2DGjT72RG(eFDe)Z^JT@+BcyGTid_zHArdwk|>N2V0d_f7hdvAZxF|CzLd+`P` zK^0(6t?>*SMmW2|JEzqrAij$^5(E;)fIwnW!(Hx_qsq6@aV%EaZx^3DD)5r}_-wrq zUXg+bjRt zs}9U9vKC{UYi=(3%kOp>mLxwqi|>i1f$!Xx-^IZGV#j;m6U||I1Henb!|L9nWSK{6 zc~;i8yupR1TKTWdr8>9FCt8jbb7z|_0=ofETo*4Z-)Z|UgrzlV%04Kejtf14|32~v z%XS_L+w^xmH(Y}>z8~4(--vnf`hF?c$#EG@O928G0&}Tze)2hgJfheOYYm*>w|is( zhNj=vZ~4QXJD;`3TIh|0umt8o#8Qbgr*?9~txe5=meI2L63T#{my0IyUp}>PJYifW z5ZzK1^IvhFzs+wAKv*JBT~t-xFnPb|zIGYlcC-t3*6RJGbjn@jRn?ak?P=c&hddQS z)8g@Iu6R9TF?KgOiYR9J3hYhlYxCNKI+G{bstUVF>WU1N2KQimdCmwqMD4t$@imfe zj__3uI=VwEFFrX{$3`e4Wl5BLl}jPI+TqZWlWZ`kq%$_L*>1;7N0((PHcn*?FUyP? z?bMFf#j0v*)tcjX`n0X{W%b23a(vN(kl=)r_nW*Tlp6uNXgF)(=TFq0c zLvjk%ltSZ4o3d_nhuYSDwJpsfTH{u`f4kbqcKX&G8%(mSLIE3c`KKZ|#g{dn*uy#C z9)LJj2EOXJc&rC#>R)7D%Q};Mcx_h!D4(}}tKSX!P3n1pE2SwT5+%xlwV5Av{i=nX zf_~nwz83q3(TR&HxAdg9#Y+>Tlvs{~ukSqg&(UYA`!@i5U=V=K+SYm!u*OI*l^nFs zX=_=SJu=4@7UbdY`{iy8U;Ec}|5(5NM^{$TxsHyrfmvNIOFT;MRAg=zow&GJv+d^f zN=-IE;OBDPjhq|vPWxhNzVFjS9XPdoAkD%jgERm(*b+=Y{vkc#Nu?AQb$@#5Z4R2s zkY2spNmV+O5P<2JWdDuB-HZ}p4nJWsXaX;gu*7NZdBr=}*KP(;x{3JbZy?z3kdr8j z{(-f3BUf<-_~!{pVJD6ygusKR@**+z#_9 zUupR8uaaG&#iBsBkip|rei7U`8GFp^9aXe&t^7^>*;pOdkf8-?`ozgo>6@unIy&#s zKvoo!R@uIQMiy^b`(7xJK9Pg5Ifgw}#EUkT$JQsde_T;h7pswSZdX`o zBSt(hd087`3w@5%ml>7RcLn^BBO^zV(9mOrW?HmyHMOy3adL2Lc{&>mzfYG}-gIUR zvQ(uPmV|mCv`7+D_a;#4$`4*Z79Nbok%`0Y9Sy^dOFK>k@$5R(jS-`_ET71?$G^1j z#hG8oLeZ3y!I zIr!2KKxMG`e%y50jm)j5zrxdGk|6RbETSD?hO(x>^k(_Cb8uRYT*DnIqva{A%}LW! z%?zE2exenF<@3*R@AmFSnk+t(IaEI3HZ91nt3`wm?IQ@KIu4F2GPNIFgW1w-^5Tjr zzliSakOP*e2+4~lXJqpP?xT`+QJ^t(OKNuLq7nQ`U_{~f^uX0Vf+JtzdIy!v3*TE2yxCq+3 zmx2?LZ@vO7E!oLXgADFuhj0Py?`ao@9K$>RJRZX#?8>k$SNF?|r3xP5aU*ScE6enB zWo2B_tEVq_xcR+Q;G}N9c<1B3U&`F5BT65Q(LlpRp!gFOz}T3DZOMUSZxE8V`)k*N z1pVct^9@hQl-|Lh@LZ@r5e~>B@eQk=Zv)hL&FJlozmJ^-vaz?bkE?{3W4|B?9Wl#rhXOZA@F^c##c(~_f3A^44sA8$3F=Yvq)2`RJ&I76~~@H!P<-0mJstYKMk^W z-sKgB0TZBoVR*UQdEOeOoXp@X?j7Q1#^VJ=N6~R*JeikR;1#*8w0Kj3_tfuvYGkcg zlALYL&ie#>9tu!z{eYXNOosb&YI;j2*As}Sbr*4<{#7@5yMvCd+RmfXXPZ>?LQ~cW z43IOF(h6MlNq0h_;<>zwepxd2Xo4-M9|&lgk_ExSSZyl2d&6@uXGa3mru04xOC7_2 zeTxNLP5zdtLmE+qnSt>7%*McATI{_ggapmw$ba4 z)47KnvtHpDgRN8Gd6DmD&VU@!V-#;qkolx`T~Nfvh6ST*^iw;4i!0=K2GrR(yB425 zx1z7lCDO16g5L&2!UyWzO^JT`w>I_7nVv$&xDn16db~&w(;2%dxz5GWS!@?W+l%RL z3d>o2*5&Tx_q9OdM5w!~h?hpmOUgYmi z>Vw5{pBc#t(lo#3iIUn=PL(2~eA%106>GSzBJ4=nWSQ33(9U#p+#cGAG;K6Cc${!w zp!zL!oX6YK? zPhI&O*L7gLVKK|yzjQ0m;&LnK;Ar(MF>(?R5;318I+O4Ld6FyC$%e^z+pvXz{l~9jfQxHf$)q$Ogb2+$5*WC2&13Btc zb|lHGdOF1yW+UPX`?*(dB8OU(XM|dJ_Tb4nu{2yl-EaSin=LoZjtvhQzi(aj{?xA2 z*VWyZZK&l1(=@1>ty>FcK=r+|ygG0RWE?!6kGnY(sWxIc3{F3!r2vugB~K?sq}csb z*>s$l@E7}ykdc*@i7ikw)1dHV851~GR7?paz>g7f2uen=i2HLeyl+Me;22Ebi^j89XnvHWgModvFZwFxteCyK_{Pfc`AnRn$l{Z&4W~^yrjq~P04i4Zpid?a^vu2|4`97BKQtU=SAMAT@hYg!+U8x>1a5l(k z(q}(LUBdg{{}lW_cLmPA9Z(({PJO5ffHP+-XyQbV#q3g zT;LT1k;*N|TQC}{og&qHOz}EtP5mBAdbb~5M<8m&Gg_RNN?QpvQB7oRPq!G@8=J>B z8VMwEe~f5`3lqY{!Q7CL**EZwt*40;t%UYAGeSk~8_lQ|*+?I{(Im zM6Iwe%GQCFR)G>y@jLRz)B3 zs#dSsj8h|R7nSjZdgw`zOOz|qmmt4pks!F_i1;7XUbJ0Cz(oD zbOuVKkK|Bnk6Kha)c7r81k~>!B zER=eoTxlpY+10w!Bfp91QnDKHMfQA@lk!iHeX7{aKbI{xi%wg_XiI~7R5UWI*rr`y z^!fLsU!velyQi>BR}f)mg6~7VNUHx5Cl^>S*vrI`Z<0SPWEZ9&R|YV50^yR%glz0C zj^_?F*>#p(F`47~xliY!W(4pzl_dS-b`I^$h8ZYJC?-nae8$odxYcTT=i}WQ7mjw# zgHPv--!4z-8`0NNptNVs+m^UC1z+DSj!*7;(4E`?{$HGn|LQS+j9Ru$Q0Mt>bebJj zeHFCu_jeXCcIaMY8*LR0P}}X-l=Xj{ULfjIKh&6cNM6Gwm|=tRs{v=kVXMiX@6%dx zLr+l#>wYSMIwgGbo6<<=B7&|ga_(B{^Vooo`bkYEnk}vvDj;g377=`jAcR>i8tPZAUT~)gNk>lRbaFvK3 zWD?)4LaDVe;q?lv3x8skl7JoX=$CQQ5$dnY{d+OuLt=6)#YesFT(Z!;@3W#F*j9AdR6S@TTvC6kCu--xuKO z%(~|<I@d0!?Ze^g<`QT~8HQx3YR;=bu2MQm^$aQ*E}bi|yq7K?87K)e zIOR1`-F(r=sugj$^Ap%yeFiYZEoM{$$&hb1?k`=>>__`<5w)(jrLeMxqql7GaA1fgXZW_ zjvEU2!V#?mf)!f|A`)i0DSej9*3%r)yLVD@COY^44&(BZIhx9)@DVSl!MaX4p8KKq z`fH{%V$bXHe%>x*f>;tBe-NyB%F~m+M<(j^NpfhL1uyMtySiU9cTqyg`L1$AnkFsq z6g_0PLKn?PReWp!6$rgew@b@KNcI;?fa7)yDh+sN-vlFNb@|nwtz2Jv3>5G&e8d+0 zMCAq-v8Y+|q9y(P|LB1B`C^m}GWACf5Ja1!6V(gpsp~!%B}ww!q3$(WywZyIjim!W z92<}wiR&_v5hXwOdws{{;_Mwm=RE(ty!y3{ zO7313dtvL9vSs+|`jZOodR1h8n+I1VWOEFnPHv&PBLo z|3{e!zMSRyk!UU&*;xx-4>t=TA8X}|NUNAA>}1A@a7(gcyTggq!|Xi6)&Ako=o5S2 zUXOQo-+_dk%60*Z#ar~Lti@-T#T;J`U16m?8+_%l+iLiq_V+N3ZgWJrYDjU*$!)(2 z<)_E6eG}h?MP0}LQpqIG<`=jx|K^w2m{etqeH&7+1yp3E+52@f>Ge&c|1`!taDLo< z?Ry`q?!;wX3uJcBLmiO8CU-{@6GP)Jkq67jz-m(rI6PuXlqD)Mo#Yn{ChH^3JoTrG zN{>9^GkZ2n9r(P zVNJskC(vRmgm0vq83Mq~zJPen*TUaG+-9HenJyK%_2mtJdY=h$hfPnamJ?W$iA~csmYBI6DmDi%%vn=XSWpGJ$OI5;gcSJwdPv?1Bd?m)mrlW zJ$qNanNc{sn=d;)ub>`RBE8-p5O^f22~?p-NblrO5jkR>OJA>yzx33)aJQXOhx}y% zAT(BNCoiCnwv#i}>79@jCv4(F$c?~cRDW&gndWeF8Ks&EB9o7GLV`kfQjS*W)b-~v zA{NyEK`xZS&V+yB)1>beuI_yWiYqJKXzKy?}t9UZbjUEgSe|1tF`&$~7NYRvxz?25tbyRbAe27dHI>nK= zhFZv@J7UY@v$A8IIK8!;uFzE#&-hkIK)?Oi_omncEP)ih?^`@WT&zmKMw?T?<#o4U z0E8)}taVbxW+J)BL2Gbl_xbFzAvr)iZ3VB&Fx9X_9~Bil+GY$LJS= zu(5Qq>zQjyj)t^d=5&>>cV)U2e>0aOktkZ67U0 zzaM+qMdXXE-m{SRi^~!+B(O4a@kAOIV1Yw%G8S3NUieQ{ z@`=%UqY^ok@;kyO+gKB^0@B;C*l44)wZBY-*1Qa;46fTrGvSyB$(NFN(RSU!j=aC& zs@kBXkRq>@lPtu5@(S57qR9%?Y;QP_pGFKTOPJJ*b$G#`g0o5Lpng(K7L6wc3jJYE zWA0}1YjK`yIlTiswHaa`F{!pLv7c&OHR$c#KB35I#*r8{HOF<>-pm@HUn(9)gb)Xs z#151Dy*9Tqou2zX*1y)bliHDNv75X?7#8Q}CX<=cF^MlxPJYRL z-p&K{r<)xG@b8_zZd9^98(9sDS-EqmV61Mjgy?!Lw?{N4=>gDN{UaJDAK70tZ2{p5 zlnkJmk6~^j0Q_QM{ws;j60EQ7!~I=!pN;eDmxlL9lSupqM)~O5%<^qqBZ}TU5>iqk z^EYF-dmkjr4syM-(x8IJ>>X(~z%px4wL7VW#aO*`n;mmvcfSd%z?`X+%B-wS231>v z(KrLy%EF1C)|2f*5E z35$#~9)VjnVylbnQv7s3OXUi`B}S%VL!(I9^)G_4>bz0 z;Zt4&XL26;b3-Cs&%rH#+VWH+|IFIZt6OJVs}Xt1WQ|SF3I)v=1O12#J3fXC^gMC0 zmpv6?TBJm5Yhi(*-f+Zo2%wfnq>>3@0h^QXZa=F2ow?#!WWk+S@+?L|NjKAE8<$^| zLkfCH^7vpF7x&a36OtmKKNt5TLcQHU-^bSKx7K|$sy1u`od2T$QkJv0L!HFkrb>?h=_O48fmctYHQl!rtQL>13-$W5(BbyiJ}MoRrs*1IF91XV7YsfBa{aVl2s zx57pJzH2CNk3p4**K0Gw{VaQP^R_d?eA^{SWqYY-VH)tjNX6$lns%fag+BmciwTD; z{eVqUm4Mgr3)34~grHgkOhHM1NIlmK)DJ;NPEBY=^bL5fof%EdN2GAc*tSba|5 zd%Da_mCezJ-OR#}B5eCDOYKr|h*?#syewp!p-?V6K2h15S)NpCOho4^p0%JDK5iEh zx5E`Egfd;y$Z2-YWKQw6dL`Uh+8l`BJ0L5q7U=v+RZic}Zm1hu}UNe`mO z=LptzGSdq5EKUf?`+YG^;{mRZ>MEv&WAW2kl}mE-NCVt17>JK7Wgxm{we_u2<8t}k zhE3`2yO=e>c54;}iy6mEDa~O){1F{NO2EspIQ_)1BZPC>#dQK?im_j?!XC+>TvujUx`O zrP>n6kf(ZfC;SY5DVK1NYw{0LRH(j&?q7GP^!vy~O?pd-yJBaRdj5PM2kMk9%57Lq z8{48QQJxx3-?aAE)fi{#%_G-5f|VtP;dT|evh}ysUl}sn2)6>_4#d`5)A05UZPLX1 z02wc&ab>YE*| z00wzTjq#4xcwee33dNraE!<1rf#}rrLC>Ne*Hz+OPOl;ShcE&{W3yKE(nV^p6KB=` zRMYM@Oo1fB_Fum@?w?s^yJuO8^%W-k>^AFHd7i`>XSn}I49ca z=gHReK08-Pi5@6RFtZAuUM|6SAmr9D@_T~cKyi9ccIdqOV(_+7_q`0!Q~}bIJ)p&& zW{@X%7USX^sK)VIDH$%xZw&JAFK)XGZ*H5^hV7)=SIL`3%j>^td5j9#)xL!K>sfi& z?cYH2ZOjQlvHR&piRSs_6lh@}Fy1D3bWyLXRg>DSOkm@f2&XQ#-T~XVg*Xa+Hzzm> z(gA&X*`GJTi-N~5ukS-Mho#wx7!m1QlKQ3LjFDcuw^Q0VZ0*zsb4BrpU(-i{iRjxZ z4wO`zbg%Kr_q%?k8tX1bhjnJ%E;{f`!2~Od6BuwtlWYrt-E_9gK&;Y|FbP3`P{}?M z?*aFreO^3N5_5SLsoPEJFHiDa>%XbLV$8Z*TJ?HoymC7LVZcg7WTsE-x}QtvjkteE z)emmI$xS`a4?+LBe*!!~@gDlt&DDD1dMDe?TRB)09>_d7wn* z>B%%mKS|5ch9vpQtJwXuLJjOM2Z}vQpox06_V}qN{w1Hf;cu>$RMe=8G?PF*FVnZ< zlGv3(nC%)xH(B;wJMqlj{ebX1v|JYhFlX+7n zbOM7NWBYsG`uS@hqD#v^z^BId-Y#pPr(%W@#^g(|t?qMl-|B&F%?8!`c&j(aaz0d{ zGRmQ$2!<3KgmgVe;%z+tR>_L5{q2jsae_f=KcLhRe{PNxD2qyj1QLQAg#pu3`yOas zD@2DAgAQrzZLUC)(Avl_%KNLYno*aAk#w*|2=AMjyPsokxx--ms^V$9V1_pjI3=1Y z#8SZ|$E_JsT`3M5xPrvD%0an8oi56j=9s90h3n8&sNajoTxSRe2822S-r=;hF%2DM ze8e+Kre}(!T_RZ$(U4rL|I%ZzEV~EFNNeM@N8t6~7*%c>!R!d8lVXBl zVJWn=l4EWf;4AzSakR{LSO?S*SHc4=Xh6ACdK~c8lySDg_f`pkFa*>HU#k^?Mk*9{ za)hMXOej0CYjHfP@rr~g=bzpZWd>K)z(RWS24$;J{WoGXRRr;k!7#8hjdn`O-U8}5 zo6@7Qu$vlPAwxkd&&~X!a5-rWMK9dA?DB9=jmEx5D3{D5oiT{fXLI@`D=Ux#grhuG zD^+!nEA~NcC)v7i@}e#|#_(t9O%4YG-k=tCW>)%JiM~ScnO!i>TNad-?#I#}>v((J!f2=gHwtwVc_EHLQC){JFeq7&ps>W$Ag5{AA z5%-n%)m`Uk9s6B0JIB6kaJrH3z;!O?qLioid$n=1i4lrqDOhOBjy_{)&~}-)5yfq~ zDifYQW_zyMSN{T4L=Pc#ME$CI0va)*OlfjUkgHml<^y$ie%U+w2tv?6msX5G3P$2| z#}ZAU`GSWiS?V@OD{M@e!KF@7;%AG)l_V?oK94RRx+$P-W{4>of3`BKkt$%=Cw)rH zdIYbw;3}9c=gIK<(6$4kYGoOTejN0P^d6Erc!4g3XYGDqwO^ERSQsi+-!=}GN!)X>w*ji{P1H>wZ{UH6 zX{an&UKRFSLBQ>AVwy2F&Q`XK_T!efPgBi&dArxpzkCbg)}*sMQ3d!ynYcWix z_|npYGkjM4H_VCfl1lDfoX0C$VNvA=MKO()qiafz$U5Uzd^r!`sw6gjbZ`=$i^_!5*E*mpvGd zg5%DuZ3wIxm4a&5e0xsqmgD* zYGLt_w3+$h0%!yaVq;0um3t$XEA$yK5Pw|pv!C9zSh@wc?lNT5)5EG6KfIzyluy3k zUv3{ba}*4FG$(pmR^nCj0s#eCNQ4~D zqf!&>E;YJNTW#siz8Z?A8ZLGxgC714l~`@O#>4Wd5=#=oawdMM<77yT(2db7k@4Wp zE%_OM$dm`us47x}?QgqM7)?HZM=$E)8)}u-P|8J5me;Vs-QgJLa01hjt`-GZf4WXYs8)21~d#k7r)eGs%T zoTM@mjdY}?b}Wv#jHbE*Kz`zf{tRkAt>Qc*%XqotdNs+gjp4Eba2n*ly|eRwCt$ys zh~nX>+L&#zD&EyQzPT7a-T4FSO1;b<&IKtjfrbAlppEY|+K)W=f(08x4LSchxPcZ; z&=#FTV)*|ywEy4&Mhf@OGx`^f5+SBVpmLE zI=62U*W>|>NHHU*R5SE{tCw-<<`9FC;fkJ1!6_8;hau))x%lmF$sfp7&pD(kD96H)c$SxIVbZT_~A3 zq=}nfv}2Lwr=d1$v7i?b+##9FLkXQFg^h;+o~eoUixID_yyG_rQYZ@APz*{54#pA0 zKa>pR#RSC`{ME;>CYUt;d;KKSEM)0R4s_P8I^L$4pB(rX9NTKK(#8fN{R*CJBK6fj zg$x42U%7H@19J?CBoA$x)b)Wp621#55p_mM7E4!7(moooafA6ECF-Zt^1qol{;FtA zId&y37DAx8Lw|yrU@Kx3nm!Z4dtT`gHi}vb$}j&kSBP&eGZ2SUb=dNsnEsur&WEKT z)j_QnLZ)5KOXZBcM8xs9Gw{W^CwZ=9$>@IzmDQpcEd(2W&^0pw4EE)QCw7R^@bLL; z`;jKBD-xYQQ2yd6a!O3cQ1R6Y?8$v6opn%hlyAYLdyZByBqP$wt`$?@3G?GqjI-WI zFr(&N%W-LTiVx^1Ho9CEPW9Z5AOL?Gi|-iXg08;`9bHFOX<@)jh53F(ufGo7X8;-H z0l)YvMmC@|H(*Hq)5~Lc+wpVu7B-~+C=Jcxyn+Svys26)m~PyI-+W15v=_={`XO5l zHTRU5<6Q%(;GtU{_)M$_Z@txr^r;MoqLKj!*lxsJ-o*}P>e`FX{w*=TWA)e>mkquq zR>aObeoL>tvlW0b{B)@!*Q#MRNDVE1iwYTY0jEF7nOpwz-CzpVB)}t%DHnxnklM&j z{5nE-m_I0{MuyF@X{w^ZXId;$ZzxX3PofMm&=br2L2ZV2EG&HUL-^jmzMYczD$O`Z z?tN3awcrjqUCwXxK5<+SI?>|?PR!D$t||ghxxLKVr-Z6Dw@24}CgX^Pq}kM_7!5qg z%Z*9SS}A#;Gxrf6Yzc??{fJaAfRlxa)hoqd(HC= z7O1`LmWceuZ0Io0(jzpSr>;rS>W?x`vcp>fVVJl1r4thU;2&FV>(dCwX&XK8S-%w< z9R&H4wYnRLSj%_btvh@R$#$Oo0`rfNf}|CtyFYe$!fDRQ{TCn#B2oP}ys`rt2n8pY zPr*hy=n`c2!FY)-Q6avwsaI|ld#8}B@=2^@?xy>AgA!eO(n7ietiyp6B?7 zzEjdImQZsbH{m6+$_l~!C_p?uVA-?$aetr2!i(>2oJ8*9svS$rL?LjaYe}8@!`*TQ zq#ig1wLj@;6j;-piPNt2DLzE!!*!-C3&;{_h7O&)YC#HO4{G<&N_9zob7B%}yt1NC zn%`Mm`%Yl-g?yhDxiV;rXh^>0f5my?!*A)t)TMO`3`(N+D9}1!YxNnLK)>@{8hpI5 zD`Qq^)g>Q(N6@}yx=%cj9sNvX@vp)=nn6ncK;7JEiZgd^P2j%)6VR%zgBZHuTvAw6 z>wG|E*}P>alWtK8B}_gAdu^xWy(?U(@8_IgZ{Dg_YfH_i| zcEU*ZONGosHYDv&Sy(wA_rub(!|ZW;oHgD9RV~OgubHzEy>?~?K2bePVezxt2%>;P z-?ra7<4n?x&FYaE?cEGI)-)$tD$5+muBu}U?sPHFKe+hV5?aCTUXV`J=9AHC=o-*Q zXUuT@-0>M!)m+!o+T(oHaeB!5lJUF^EcXIqSUNsvI7$4;|X#{w!e5pUJ_ zak1J+C*mxrK*L>l)}}XDmB5!T;U_ev;jCB9B2`6t)Wa`7=7pam>YPepUHy>E1}-i| zx=cTq2|P}#Ey5pcy4D8*2oic4dykynV%zxoUkQ#ZS%}$Wd?mL`_nI;G*TmEF^KJp z_vh{DE5H7`9RZOzAku0+?DJ`Ocwh zS7jB5f%YHF1(sTSKSuTtezZh?ey859@nDV}*wx8We3^(^>c;D^k{15Qf0gLJdBw#% zK4AOfnWngIHTLC=dT)#w{3rZBSpE+*HU0+;Htp>`-fzW8*#W`aU5e&a;9&m+kS-Mo literal 0 HcmV?d00001 diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/animated.less b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/animated.less similarity index 100% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/animated.less rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/animated.less diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/bordered-pulled.less b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/bordered-pulled.less similarity index 56% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/bordered-pulled.less rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/bordered-pulled.less index 0c90eb5672..f1c8ad75f5 100644 --- a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/bordered-pulled.less +++ b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/bordered-pulled.less @@ -7,6 +7,15 @@ border-radius: .1em; } +.@{fa-css-prefix}-pull-left { float: left; } +.@{fa-css-prefix}-pull-right { float: right; } + +.@{fa-css-prefix} { + &.@{fa-css-prefix}-pull-left { margin-right: .3em; } + &.@{fa-css-prefix}-pull-right { margin-left: .3em; } +} + +/* Deprecated as of 4.4.0 */ .pull-right { float: right; } .pull-left { float: left; } diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/core.less b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/core.less similarity index 66% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/core.less rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/core.less index f814f1e17e..c577ac84a6 100644 --- a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/core.less +++ b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/core.less @@ -3,11 +3,10 @@ .@{fa-css-prefix} { display: inline-block; - font: normal normal normal @fa-font-size-base/1 FontAwesome; // shortening font declaration + font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration font-size: inherit; // can't have font-size inherit on line above, so need to override text-rendering: auto; // optimizelegibility throws things off #1094 -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; - transform: translate(0, 0); // ensures no half-pixel rendering in firefox } diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/fixed-width.less b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/fixed-width.less similarity index 100% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/fixed-width.less rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/fixed-width.less diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/font-awesome.less b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/font-awesome.less similarity index 81% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/font-awesome.less rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/font-awesome.less index 1f45c63d15..c3677def31 100644 --- a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/font-awesome.less +++ b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/font-awesome.less @@ -1,5 +1,5 @@ /*! - * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */ @@ -15,3 +15,4 @@ @import "rotated-flipped.less"; @import "stacked.less"; @import "icons.less"; +@import "screen-reader.less"; diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/icons.less b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/icons.less similarity index 74% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/icons.less rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/icons.less index c265de5a68..159d600425 100644 --- a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/icons.less +++ b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/icons.less @@ -163,6 +163,7 @@ .@{fa-css-prefix}-github:before { content: @fa-var-github; } .@{fa-css-prefix}-unlock:before { content: @fa-var-unlock; } .@{fa-css-prefix}-credit-card:before { content: @fa-var-credit-card; } +.@{fa-css-prefix}-feed:before, .@{fa-css-prefix}-rss:before { content: @fa-var-rss; } .@{fa-css-prefix}-hdd-o:before { content: @fa-var-hdd-o; } .@{fa-css-prefix}-bullhorn:before { content: @fa-var-bullhorn; } @@ -437,7 +438,7 @@ .@{fa-css-prefix}-stumbleupon:before { content: @fa-var-stumbleupon; } .@{fa-css-prefix}-delicious:before { content: @fa-var-delicious; } .@{fa-css-prefix}-digg:before { content: @fa-var-digg; } -.@{fa-css-prefix}-pied-piper:before { content: @fa-var-pied-piper; } +.@{fa-css-prefix}-pied-piper-pp:before { content: @fa-var-pied-piper-pp; } .@{fa-css-prefix}-pied-piper-alt:before { content: @fa-var-pied-piper-alt; } .@{fa-css-prefix}-drupal:before { content: @fa-var-drupal; } .@{fa-css-prefix}-joomla:before { content: @fa-var-joomla; } @@ -487,11 +488,14 @@ .@{fa-css-prefix}-life-ring:before { content: @fa-var-life-ring; } .@{fa-css-prefix}-circle-o-notch:before { content: @fa-var-circle-o-notch; } .@{fa-css-prefix}-ra:before, +.@{fa-css-prefix}-resistance:before, .@{fa-css-prefix}-rebel:before { content: @fa-var-rebel; } .@{fa-css-prefix}-ge:before, .@{fa-css-prefix}-empire:before { content: @fa-var-empire; } .@{fa-css-prefix}-git-square:before { content: @fa-var-git-square; } .@{fa-css-prefix}-git:before { content: @fa-var-git; } +.@{fa-css-prefix}-y-combinator-square:before, +.@{fa-css-prefix}-yc-square:before, .@{fa-css-prefix}-hacker-news:before { content: @fa-var-hacker-news; } .@{fa-css-prefix}-tencent-weibo:before { content: @fa-var-tencent-weibo; } .@{fa-css-prefix}-qq:before { content: @fa-var-qq; } @@ -502,7 +506,6 @@ .@{fa-css-prefix}-send-o:before, .@{fa-css-prefix}-paper-plane-o:before { content: @fa-var-paper-plane-o; } .@{fa-css-prefix}-history:before { content: @fa-var-history; } -.@{fa-css-prefix}-genderless:before, .@{fa-css-prefix}-circle-thin:before { content: @fa-var-circle-thin; } .@{fa-css-prefix}-header:before { content: @fa-var-header; } .@{fa-css-prefix}-paragraph:before { content: @fa-var-paragraph; } @@ -573,6 +576,7 @@ .@{fa-css-prefix}-venus:before { content: @fa-var-venus; } .@{fa-css-prefix}-mars:before { content: @fa-var-mars; } .@{fa-css-prefix}-mercury:before { content: @fa-var-mercury; } +.@{fa-css-prefix}-intersex:before, .@{fa-css-prefix}-transgender:before { content: @fa-var-transgender; } .@{fa-css-prefix}-transgender-alt:before { content: @fa-var-transgender-alt; } .@{fa-css-prefix}-venus-double:before { content: @fa-var-venus-double; } @@ -582,6 +586,7 @@ .@{fa-css-prefix}-mars-stroke-v:before { content: @fa-var-mars-stroke-v; } .@{fa-css-prefix}-mars-stroke-h:before { content: @fa-var-mars-stroke-h; } .@{fa-css-prefix}-neuter:before { content: @fa-var-neuter; } +.@{fa-css-prefix}-genderless:before { content: @fa-var-genderless; } .@{fa-css-prefix}-facebook-official:before { content: @fa-var-facebook-official; } .@{fa-css-prefix}-pinterest-p:before { content: @fa-var-pinterest-p; } .@{fa-css-prefix}-whatsapp:before { content: @fa-var-whatsapp; } @@ -594,3 +599,191 @@ .@{fa-css-prefix}-train:before { content: @fa-var-train; } .@{fa-css-prefix}-subway:before { content: @fa-var-subway; } .@{fa-css-prefix}-medium:before { content: @fa-var-medium; } +.@{fa-css-prefix}-yc:before, +.@{fa-css-prefix}-y-combinator:before { content: @fa-var-y-combinator; } +.@{fa-css-prefix}-optin-monster:before { content: @fa-var-optin-monster; } +.@{fa-css-prefix}-opencart:before { content: @fa-var-opencart; } +.@{fa-css-prefix}-expeditedssl:before { content: @fa-var-expeditedssl; } +.@{fa-css-prefix}-battery-4:before, +.@{fa-css-prefix}-battery:before, +.@{fa-css-prefix}-battery-full:before { content: @fa-var-battery-full; } +.@{fa-css-prefix}-battery-3:before, +.@{fa-css-prefix}-battery-three-quarters:before { content: @fa-var-battery-three-quarters; } +.@{fa-css-prefix}-battery-2:before, +.@{fa-css-prefix}-battery-half:before { content: @fa-var-battery-half; } +.@{fa-css-prefix}-battery-1:before, +.@{fa-css-prefix}-battery-quarter:before { content: @fa-var-battery-quarter; } +.@{fa-css-prefix}-battery-0:before, +.@{fa-css-prefix}-battery-empty:before { content: @fa-var-battery-empty; } +.@{fa-css-prefix}-mouse-pointer:before { content: @fa-var-mouse-pointer; } +.@{fa-css-prefix}-i-cursor:before { content: @fa-var-i-cursor; } +.@{fa-css-prefix}-object-group:before { content: @fa-var-object-group; } +.@{fa-css-prefix}-object-ungroup:before { content: @fa-var-object-ungroup; } +.@{fa-css-prefix}-sticky-note:before { content: @fa-var-sticky-note; } +.@{fa-css-prefix}-sticky-note-o:before { content: @fa-var-sticky-note-o; } +.@{fa-css-prefix}-cc-jcb:before { content: @fa-var-cc-jcb; } +.@{fa-css-prefix}-cc-diners-club:before { content: @fa-var-cc-diners-club; } +.@{fa-css-prefix}-clone:before { content: @fa-var-clone; } +.@{fa-css-prefix}-balance-scale:before { content: @fa-var-balance-scale; } +.@{fa-css-prefix}-hourglass-o:before { content: @fa-var-hourglass-o; } +.@{fa-css-prefix}-hourglass-1:before, +.@{fa-css-prefix}-hourglass-start:before { content: @fa-var-hourglass-start; } +.@{fa-css-prefix}-hourglass-2:before, +.@{fa-css-prefix}-hourglass-half:before { content: @fa-var-hourglass-half; } +.@{fa-css-prefix}-hourglass-3:before, +.@{fa-css-prefix}-hourglass-end:before { content: @fa-var-hourglass-end; } +.@{fa-css-prefix}-hourglass:before { content: @fa-var-hourglass; } +.@{fa-css-prefix}-hand-grab-o:before, +.@{fa-css-prefix}-hand-rock-o:before { content: @fa-var-hand-rock-o; } +.@{fa-css-prefix}-hand-stop-o:before, +.@{fa-css-prefix}-hand-paper-o:before { content: @fa-var-hand-paper-o; } +.@{fa-css-prefix}-hand-scissors-o:before { content: @fa-var-hand-scissors-o; } +.@{fa-css-prefix}-hand-lizard-o:before { content: @fa-var-hand-lizard-o; } +.@{fa-css-prefix}-hand-spock-o:before { content: @fa-var-hand-spock-o; } +.@{fa-css-prefix}-hand-pointer-o:before { content: @fa-var-hand-pointer-o; } +.@{fa-css-prefix}-hand-peace-o:before { content: @fa-var-hand-peace-o; } +.@{fa-css-prefix}-trademark:before { content: @fa-var-trademark; } +.@{fa-css-prefix}-registered:before { content: @fa-var-registered; } +.@{fa-css-prefix}-creative-commons:before { content: @fa-var-creative-commons; } +.@{fa-css-prefix}-gg:before { content: @fa-var-gg; } +.@{fa-css-prefix}-gg-circle:before { content: @fa-var-gg-circle; } +.@{fa-css-prefix}-tripadvisor:before { content: @fa-var-tripadvisor; } +.@{fa-css-prefix}-odnoklassniki:before { content: @fa-var-odnoklassniki; } +.@{fa-css-prefix}-odnoklassniki-square:before { content: @fa-var-odnoklassniki-square; } +.@{fa-css-prefix}-get-pocket:before { content: @fa-var-get-pocket; } +.@{fa-css-prefix}-wikipedia-w:before { content: @fa-var-wikipedia-w; } +.@{fa-css-prefix}-safari:before { content: @fa-var-safari; } +.@{fa-css-prefix}-chrome:before { content: @fa-var-chrome; } +.@{fa-css-prefix}-firefox:before { content: @fa-var-firefox; } +.@{fa-css-prefix}-opera:before { content: @fa-var-opera; } +.@{fa-css-prefix}-internet-explorer:before { content: @fa-var-internet-explorer; } +.@{fa-css-prefix}-tv:before, +.@{fa-css-prefix}-television:before { content: @fa-var-television; } +.@{fa-css-prefix}-contao:before { content: @fa-var-contao; } +.@{fa-css-prefix}-500px:before { content: @fa-var-500px; } +.@{fa-css-prefix}-amazon:before { content: @fa-var-amazon; } +.@{fa-css-prefix}-calendar-plus-o:before { content: @fa-var-calendar-plus-o; } +.@{fa-css-prefix}-calendar-minus-o:before { content: @fa-var-calendar-minus-o; } +.@{fa-css-prefix}-calendar-times-o:before { content: @fa-var-calendar-times-o; } +.@{fa-css-prefix}-calendar-check-o:before { content: @fa-var-calendar-check-o; } +.@{fa-css-prefix}-industry:before { content: @fa-var-industry; } +.@{fa-css-prefix}-map-pin:before { content: @fa-var-map-pin; } +.@{fa-css-prefix}-map-signs:before { content: @fa-var-map-signs; } +.@{fa-css-prefix}-map-o:before { content: @fa-var-map-o; } +.@{fa-css-prefix}-map:before { content: @fa-var-map; } +.@{fa-css-prefix}-commenting:before { content: @fa-var-commenting; } +.@{fa-css-prefix}-commenting-o:before { content: @fa-var-commenting-o; } +.@{fa-css-prefix}-houzz:before { content: @fa-var-houzz; } +.@{fa-css-prefix}-vimeo:before { content: @fa-var-vimeo; } +.@{fa-css-prefix}-black-tie:before { content: @fa-var-black-tie; } +.@{fa-css-prefix}-fonticons:before { content: @fa-var-fonticons; } +.@{fa-css-prefix}-reddit-alien:before { content: @fa-var-reddit-alien; } +.@{fa-css-prefix}-edge:before { content: @fa-var-edge; } +.@{fa-css-prefix}-credit-card-alt:before { content: @fa-var-credit-card-alt; } +.@{fa-css-prefix}-codiepie:before { content: @fa-var-codiepie; } +.@{fa-css-prefix}-modx:before { content: @fa-var-modx; } +.@{fa-css-prefix}-fort-awesome:before { content: @fa-var-fort-awesome; } +.@{fa-css-prefix}-usb:before { content: @fa-var-usb; } +.@{fa-css-prefix}-product-hunt:before { content: @fa-var-product-hunt; } +.@{fa-css-prefix}-mixcloud:before { content: @fa-var-mixcloud; } +.@{fa-css-prefix}-scribd:before { content: @fa-var-scribd; } +.@{fa-css-prefix}-pause-circle:before { content: @fa-var-pause-circle; } +.@{fa-css-prefix}-pause-circle-o:before { content: @fa-var-pause-circle-o; } +.@{fa-css-prefix}-stop-circle:before { content: @fa-var-stop-circle; } +.@{fa-css-prefix}-stop-circle-o:before { content: @fa-var-stop-circle-o; } +.@{fa-css-prefix}-shopping-bag:before { content: @fa-var-shopping-bag; } +.@{fa-css-prefix}-shopping-basket:before { content: @fa-var-shopping-basket; } +.@{fa-css-prefix}-hashtag:before { content: @fa-var-hashtag; } +.@{fa-css-prefix}-bluetooth:before { content: @fa-var-bluetooth; } +.@{fa-css-prefix}-bluetooth-b:before { content: @fa-var-bluetooth-b; } +.@{fa-css-prefix}-percent:before { content: @fa-var-percent; } +.@{fa-css-prefix}-gitlab:before { content: @fa-var-gitlab; } +.@{fa-css-prefix}-wpbeginner:before { content: @fa-var-wpbeginner; } +.@{fa-css-prefix}-wpforms:before { content: @fa-var-wpforms; } +.@{fa-css-prefix}-envira:before { content: @fa-var-envira; } +.@{fa-css-prefix}-universal-access:before { content: @fa-var-universal-access; } +.@{fa-css-prefix}-wheelchair-alt:before { content: @fa-var-wheelchair-alt; } +.@{fa-css-prefix}-question-circle-o:before { content: @fa-var-question-circle-o; } +.@{fa-css-prefix}-blind:before { content: @fa-var-blind; } +.@{fa-css-prefix}-audio-description:before { content: @fa-var-audio-description; } +.@{fa-css-prefix}-volume-control-phone:before { content: @fa-var-volume-control-phone; } +.@{fa-css-prefix}-braille:before { content: @fa-var-braille; } +.@{fa-css-prefix}-assistive-listening-systems:before { content: @fa-var-assistive-listening-systems; } +.@{fa-css-prefix}-asl-interpreting:before, +.@{fa-css-prefix}-american-sign-language-interpreting:before { content: @fa-var-american-sign-language-interpreting; } +.@{fa-css-prefix}-deafness:before, +.@{fa-css-prefix}-hard-of-hearing:before, +.@{fa-css-prefix}-deaf:before { content: @fa-var-deaf; } +.@{fa-css-prefix}-glide:before { content: @fa-var-glide; } +.@{fa-css-prefix}-glide-g:before { content: @fa-var-glide-g; } +.@{fa-css-prefix}-signing:before, +.@{fa-css-prefix}-sign-language:before { content: @fa-var-sign-language; } +.@{fa-css-prefix}-low-vision:before { content: @fa-var-low-vision; } +.@{fa-css-prefix}-viadeo:before { content: @fa-var-viadeo; } +.@{fa-css-prefix}-viadeo-square:before { content: @fa-var-viadeo-square; } +.@{fa-css-prefix}-snapchat:before { content: @fa-var-snapchat; } +.@{fa-css-prefix}-snapchat-ghost:before { content: @fa-var-snapchat-ghost; } +.@{fa-css-prefix}-snapchat-square:before { content: @fa-var-snapchat-square; } +.@{fa-css-prefix}-pied-piper:before { content: @fa-var-pied-piper; } +.@{fa-css-prefix}-first-order:before { content: @fa-var-first-order; } +.@{fa-css-prefix}-yoast:before { content: @fa-var-yoast; } +.@{fa-css-prefix}-themeisle:before { content: @fa-var-themeisle; } +.@{fa-css-prefix}-google-plus-circle:before, +.@{fa-css-prefix}-google-plus-official:before { content: @fa-var-google-plus-official; } +.@{fa-css-prefix}-fa:before, +.@{fa-css-prefix}-font-awesome:before { content: @fa-var-font-awesome; } +.@{fa-css-prefix}-handshake-o:before { content: @fa-var-handshake-o; } +.@{fa-css-prefix}-envelope-open:before { content: @fa-var-envelope-open; } +.@{fa-css-prefix}-envelope-open-o:before { content: @fa-var-envelope-open-o; } +.@{fa-css-prefix}-linode:before { content: @fa-var-linode; } +.@{fa-css-prefix}-address-book:before { content: @fa-var-address-book; } +.@{fa-css-prefix}-address-book-o:before { content: @fa-var-address-book-o; } +.@{fa-css-prefix}-vcard:before, +.@{fa-css-prefix}-address-card:before { content: @fa-var-address-card; } +.@{fa-css-prefix}-vcard-o:before, +.@{fa-css-prefix}-address-card-o:before { content: @fa-var-address-card-o; } +.@{fa-css-prefix}-user-circle:before { content: @fa-var-user-circle; } +.@{fa-css-prefix}-user-circle-o:before { content: @fa-var-user-circle-o; } +.@{fa-css-prefix}-user-o:before { content: @fa-var-user-o; } +.@{fa-css-prefix}-id-badge:before { content: @fa-var-id-badge; } +.@{fa-css-prefix}-drivers-license:before, +.@{fa-css-prefix}-id-card:before { content: @fa-var-id-card; } +.@{fa-css-prefix}-drivers-license-o:before, +.@{fa-css-prefix}-id-card-o:before { content: @fa-var-id-card-o; } +.@{fa-css-prefix}-quora:before { content: @fa-var-quora; } +.@{fa-css-prefix}-free-code-camp:before { content: @fa-var-free-code-camp; } +.@{fa-css-prefix}-telegram:before { content: @fa-var-telegram; } +.@{fa-css-prefix}-thermometer-4:before, +.@{fa-css-prefix}-thermometer:before, +.@{fa-css-prefix}-thermometer-full:before { content: @fa-var-thermometer-full; } +.@{fa-css-prefix}-thermometer-3:before, +.@{fa-css-prefix}-thermometer-three-quarters:before { content: @fa-var-thermometer-three-quarters; } +.@{fa-css-prefix}-thermometer-2:before, +.@{fa-css-prefix}-thermometer-half:before { content: @fa-var-thermometer-half; } +.@{fa-css-prefix}-thermometer-1:before, +.@{fa-css-prefix}-thermometer-quarter:before { content: @fa-var-thermometer-quarter; } +.@{fa-css-prefix}-thermometer-0:before, +.@{fa-css-prefix}-thermometer-empty:before { content: @fa-var-thermometer-empty; } +.@{fa-css-prefix}-shower:before { content: @fa-var-shower; } +.@{fa-css-prefix}-bathtub:before, +.@{fa-css-prefix}-s15:before, +.@{fa-css-prefix}-bath:before { content: @fa-var-bath; } +.@{fa-css-prefix}-podcast:before { content: @fa-var-podcast; } +.@{fa-css-prefix}-window-maximize:before { content: @fa-var-window-maximize; } +.@{fa-css-prefix}-window-minimize:before { content: @fa-var-window-minimize; } +.@{fa-css-prefix}-window-restore:before { content: @fa-var-window-restore; } +.@{fa-css-prefix}-times-rectangle:before, +.@{fa-css-prefix}-window-close:before { content: @fa-var-window-close; } +.@{fa-css-prefix}-times-rectangle-o:before, +.@{fa-css-prefix}-window-close-o:before { content: @fa-var-window-close-o; } +.@{fa-css-prefix}-bandcamp:before { content: @fa-var-bandcamp; } +.@{fa-css-prefix}-grav:before { content: @fa-var-grav; } +.@{fa-css-prefix}-etsy:before { content: @fa-var-etsy; } +.@{fa-css-prefix}-imdb:before { content: @fa-var-imdb; } +.@{fa-css-prefix}-ravelry:before { content: @fa-var-ravelry; } +.@{fa-css-prefix}-eercast:before { content: @fa-var-eercast; } +.@{fa-css-prefix}-microchip:before { content: @fa-var-microchip; } +.@{fa-css-prefix}-snowflake-o:before { content: @fa-var-snowflake-o; } +.@{fa-css-prefix}-superpowers:before { content: @fa-var-superpowers; } +.@{fa-css-prefix}-wpexplorer:before { content: @fa-var-wpexplorer; } +.@{fa-css-prefix}-meetup:before { content: @fa-var-meetup; } diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/larger.less b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/larger.less similarity index 100% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/larger.less rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/larger.less diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/list.less b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/list.less similarity index 100% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/list.less rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/list.less diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/mixins.less b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/mixins.less new file mode 100644 index 0000000000..beef231d0e --- /dev/null +++ b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/mixins.less @@ -0,0 +1,60 @@ +// Mixins +// -------------------------- + +.fa-icon() { + display: inline-block; + font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} + +.fa-icon-rotate(@degrees, @rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; + -webkit-transform: rotate(@degrees); + -ms-transform: rotate(@degrees); + transform: rotate(@degrees); +} + +.fa-icon-flip(@horiz, @vert, @rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; + -webkit-transform: scale(@horiz, @vert); + -ms-transform: scale(@horiz, @vert); + transform: scale(@horiz, @vert); +} + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +.sr-only() { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +.sr-only-focusable() { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/path.less b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/path.less similarity index 87% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/path.less rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/path.less index 9211e66597..835be41f81 100644 --- a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/path.less +++ b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/path.less @@ -9,7 +9,7 @@ url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); -// src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts + // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts font-weight: normal; font-style: normal; } diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/rotated-flipped.less b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/rotated-flipped.less similarity index 100% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/rotated-flipped.less rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/rotated-flipped.less diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/screen-reader.less b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/screen-reader.less new file mode 100644 index 0000000000..11c188196d --- /dev/null +++ b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/screen-reader.less @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { .sr-only(); } +.sr-only-focusable { .sr-only-focusable(); } diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/stacked.less b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/stacked.less similarity index 100% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/stacked.less rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/stacked.less diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/variables.less b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/variables.less similarity index 73% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/variables.less rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/variables.less index d526064c84..7ddbbc0115 100644 --- a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/less/variables.less +++ b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/less/variables.less @@ -3,20 +3,28 @@ @fa-font-path: "../fonts"; @fa-font-size-base: 14px; -//@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.3.0/fonts"; // for referencing Bootstrap CDN font files directly +@fa-line-height-base: 1; +//@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts"; // for referencing Bootstrap CDN font files directly @fa-css-prefix: fa; -@fa-version: "4.3.0"; +@fa-version: "4.7.0"; @fa-border-color: #eee; @fa-inverse: #fff; @fa-li-width: (30em / 14); +@fa-var-500px: "\f26e"; +@fa-var-address-book: "\f2b9"; +@fa-var-address-book-o: "\f2ba"; +@fa-var-address-card: "\f2bb"; +@fa-var-address-card-o: "\f2bc"; @fa-var-adjust: "\f042"; @fa-var-adn: "\f170"; @fa-var-align-center: "\f037"; @fa-var-align-justify: "\f039"; @fa-var-align-left: "\f036"; @fa-var-align-right: "\f038"; +@fa-var-amazon: "\f270"; @fa-var-ambulance: "\f0f9"; +@fa-var-american-sign-language-interpreting: "\f2a3"; @fa-var-anchor: "\f13d"; @fa-var-android: "\f17b"; @fa-var-angellist: "\f209"; @@ -47,16 +55,34 @@ @fa-var-arrows-alt: "\f0b2"; @fa-var-arrows-h: "\f07e"; @fa-var-arrows-v: "\f07d"; +@fa-var-asl-interpreting: "\f2a3"; +@fa-var-assistive-listening-systems: "\f2a2"; @fa-var-asterisk: "\f069"; @fa-var-at: "\f1fa"; +@fa-var-audio-description: "\f29e"; @fa-var-automobile: "\f1b9"; @fa-var-backward: "\f04a"; +@fa-var-balance-scale: "\f24e"; @fa-var-ban: "\f05e"; +@fa-var-bandcamp: "\f2d5"; @fa-var-bank: "\f19c"; @fa-var-bar-chart: "\f080"; @fa-var-bar-chart-o: "\f080"; @fa-var-barcode: "\f02a"; @fa-var-bars: "\f0c9"; +@fa-var-bath: "\f2cd"; +@fa-var-bathtub: "\f2cd"; +@fa-var-battery: "\f240"; +@fa-var-battery-0: "\f244"; +@fa-var-battery-1: "\f243"; +@fa-var-battery-2: "\f242"; +@fa-var-battery-3: "\f241"; +@fa-var-battery-4: "\f240"; +@fa-var-battery-empty: "\f244"; +@fa-var-battery-full: "\f240"; +@fa-var-battery-half: "\f242"; +@fa-var-battery-quarter: "\f243"; +@fa-var-battery-three-quarters: "\f241"; @fa-var-bed: "\f236"; @fa-var-beer: "\f0fc"; @fa-var-behance: "\f1b4"; @@ -71,12 +97,17 @@ @fa-var-bitbucket: "\f171"; @fa-var-bitbucket-square: "\f172"; @fa-var-bitcoin: "\f15a"; +@fa-var-black-tie: "\f27e"; +@fa-var-blind: "\f29d"; +@fa-var-bluetooth: "\f293"; +@fa-var-bluetooth-b: "\f294"; @fa-var-bold: "\f032"; @fa-var-bolt: "\f0e7"; @fa-var-bomb: "\f1e2"; @fa-var-book: "\f02d"; @fa-var-bookmark: "\f02e"; @fa-var-bookmark-o: "\f097"; +@fa-var-braille: "\f2a1"; @fa-var-briefcase: "\f0b1"; @fa-var-btc: "\f15a"; @fa-var-bug: "\f188"; @@ -89,7 +120,11 @@ @fa-var-cab: "\f1ba"; @fa-var-calculator: "\f1ec"; @fa-var-calendar: "\f073"; +@fa-var-calendar-check-o: "\f274"; +@fa-var-calendar-minus-o: "\f272"; @fa-var-calendar-o: "\f133"; +@fa-var-calendar-plus-o: "\f271"; +@fa-var-calendar-times-o: "\f273"; @fa-var-camera: "\f030"; @fa-var-camera-retro: "\f083"; @fa-var-car: "\f1b9"; @@ -105,7 +140,9 @@ @fa-var-cart-plus: "\f217"; @fa-var-cc: "\f20a"; @fa-var-cc-amex: "\f1f3"; +@fa-var-cc-diners-club: "\f24c"; @fa-var-cc-discover: "\f1f2"; +@fa-var-cc-jcb: "\f24b"; @fa-var-cc-mastercard: "\f1f1"; @fa-var-cc-paypal: "\f1f4"; @fa-var-cc-stripe: "\f1f5"; @@ -127,12 +164,14 @@ @fa-var-chevron-right: "\f054"; @fa-var-chevron-up: "\f077"; @fa-var-child: "\f1ae"; +@fa-var-chrome: "\f268"; @fa-var-circle: "\f111"; @fa-var-circle-o: "\f10c"; @fa-var-circle-o-notch: "\f1ce"; @fa-var-circle-thin: "\f1db"; @fa-var-clipboard: "\f0ea"; @fa-var-clock-o: "\f017"; +@fa-var-clone: "\f24d"; @fa-var-close: "\f00d"; @fa-var-cloud: "\f0c2"; @fa-var-cloud-download: "\f0ed"; @@ -141,20 +180,26 @@ @fa-var-code: "\f121"; @fa-var-code-fork: "\f126"; @fa-var-codepen: "\f1cb"; +@fa-var-codiepie: "\f284"; @fa-var-coffee: "\f0f4"; @fa-var-cog: "\f013"; @fa-var-cogs: "\f085"; @fa-var-columns: "\f0db"; @fa-var-comment: "\f075"; @fa-var-comment-o: "\f0e5"; +@fa-var-commenting: "\f27a"; +@fa-var-commenting-o: "\f27b"; @fa-var-comments: "\f086"; @fa-var-comments-o: "\f0e6"; @fa-var-compass: "\f14e"; @fa-var-compress: "\f066"; @fa-var-connectdevelop: "\f20e"; +@fa-var-contao: "\f26d"; @fa-var-copy: "\f0c5"; @fa-var-copyright: "\f1f9"; +@fa-var-creative-commons: "\f25e"; @fa-var-credit-card: "\f09d"; +@fa-var-credit-card-alt: "\f283"; @fa-var-crop: "\f125"; @fa-var-crosshairs: "\f05b"; @fa-var-css3: "\f13c"; @@ -165,6 +210,8 @@ @fa-var-dashboard: "\f0e4"; @fa-var-dashcube: "\f210"; @fa-var-database: "\f1c0"; +@fa-var-deaf: "\f2a4"; +@fa-var-deafness: "\f2a4"; @fa-var-dedent: "\f03b"; @fa-var-delicious: "\f1a5"; @fa-var-desktop: "\f108"; @@ -175,17 +222,25 @@ @fa-var-dot-circle-o: "\f192"; @fa-var-download: "\f019"; @fa-var-dribbble: "\f17d"; +@fa-var-drivers-license: "\f2c2"; +@fa-var-drivers-license-o: "\f2c3"; @fa-var-dropbox: "\f16b"; @fa-var-drupal: "\f1a9"; +@fa-var-edge: "\f282"; @fa-var-edit: "\f044"; +@fa-var-eercast: "\f2da"; @fa-var-eject: "\f052"; @fa-var-ellipsis-h: "\f141"; @fa-var-ellipsis-v: "\f142"; @fa-var-empire: "\f1d1"; @fa-var-envelope: "\f0e0"; @fa-var-envelope-o: "\f003"; +@fa-var-envelope-open: "\f2b6"; +@fa-var-envelope-open-o: "\f2b7"; @fa-var-envelope-square: "\f199"; +@fa-var-envira: "\f299"; @fa-var-eraser: "\f12d"; +@fa-var-etsy: "\f2d7"; @fa-var-eur: "\f153"; @fa-var-euro: "\f153"; @fa-var-exchange: "\f0ec"; @@ -193,11 +248,13 @@ @fa-var-exclamation-circle: "\f06a"; @fa-var-exclamation-triangle: "\f071"; @fa-var-expand: "\f065"; +@fa-var-expeditedssl: "\f23e"; @fa-var-external-link: "\f08e"; @fa-var-external-link-square: "\f14c"; @fa-var-eye: "\f06e"; @fa-var-eye-slash: "\f070"; @fa-var-eyedropper: "\f1fb"; +@fa-var-fa: "\f2b4"; @fa-var-facebook: "\f09a"; @fa-var-facebook-f: "\f09a"; @fa-var-facebook-official: "\f230"; @@ -205,6 +262,7 @@ @fa-var-fast-backward: "\f049"; @fa-var-fast-forward: "\f050"; @fa-var-fax: "\f1ac"; +@fa-var-feed: "\f09e"; @fa-var-female: "\f182"; @fa-var-fighter-jet: "\f0fb"; @fa-var-file: "\f15b"; @@ -230,6 +288,8 @@ @fa-var-filter: "\f0b0"; @fa-var-fire: "\f06d"; @fa-var-fire-extinguisher: "\f134"; +@fa-var-firefox: "\f269"; +@fa-var-first-order: "\f2b0"; @fa-var-flag: "\f024"; @fa-var-flag-checkered: "\f11e"; @fa-var-flag-o: "\f11d"; @@ -242,9 +302,13 @@ @fa-var-folder-open: "\f07c"; @fa-var-folder-open-o: "\f115"; @fa-var-font: "\f031"; +@fa-var-font-awesome: "\f2b4"; +@fa-var-fonticons: "\f280"; +@fa-var-fort-awesome: "\f286"; @fa-var-forumbee: "\f211"; @fa-var-forward: "\f04e"; @fa-var-foursquare: "\f180"; +@fa-var-free-code-camp: "\f2c5"; @fa-var-frown-o: "\f119"; @fa-var-futbol-o: "\f1e3"; @fa-var-gamepad: "\f11b"; @@ -253,29 +317,50 @@ @fa-var-ge: "\f1d1"; @fa-var-gear: "\f013"; @fa-var-gears: "\f085"; -@fa-var-genderless: "\f1db"; +@fa-var-genderless: "\f22d"; +@fa-var-get-pocket: "\f265"; +@fa-var-gg: "\f260"; +@fa-var-gg-circle: "\f261"; @fa-var-gift: "\f06b"; @fa-var-git: "\f1d3"; @fa-var-git-square: "\f1d2"; @fa-var-github: "\f09b"; @fa-var-github-alt: "\f113"; @fa-var-github-square: "\f092"; +@fa-var-gitlab: "\f296"; @fa-var-gittip: "\f184"; @fa-var-glass: "\f000"; +@fa-var-glide: "\f2a5"; +@fa-var-glide-g: "\f2a6"; @fa-var-globe: "\f0ac"; @fa-var-google: "\f1a0"; @fa-var-google-plus: "\f0d5"; +@fa-var-google-plus-circle: "\f2b3"; +@fa-var-google-plus-official: "\f2b3"; @fa-var-google-plus-square: "\f0d4"; @fa-var-google-wallet: "\f1ee"; @fa-var-graduation-cap: "\f19d"; @fa-var-gratipay: "\f184"; +@fa-var-grav: "\f2d6"; @fa-var-group: "\f0c0"; @fa-var-h-square: "\f0fd"; @fa-var-hacker-news: "\f1d4"; +@fa-var-hand-grab-o: "\f255"; +@fa-var-hand-lizard-o: "\f258"; @fa-var-hand-o-down: "\f0a7"; @fa-var-hand-o-left: "\f0a5"; @fa-var-hand-o-right: "\f0a4"; @fa-var-hand-o-up: "\f0a6"; +@fa-var-hand-paper-o: "\f256"; +@fa-var-hand-peace-o: "\f25b"; +@fa-var-hand-pointer-o: "\f25a"; +@fa-var-hand-rock-o: "\f255"; +@fa-var-hand-scissors-o: "\f257"; +@fa-var-hand-spock-o: "\f259"; +@fa-var-hand-stop-o: "\f256"; +@fa-var-handshake-o: "\f2b5"; +@fa-var-hard-of-hearing: "\f2a4"; +@fa-var-hashtag: "\f292"; @fa-var-hdd-o: "\f0a0"; @fa-var-header: "\f1dc"; @fa-var-headphones: "\f025"; @@ -286,16 +371,33 @@ @fa-var-home: "\f015"; @fa-var-hospital-o: "\f0f8"; @fa-var-hotel: "\f236"; +@fa-var-hourglass: "\f254"; +@fa-var-hourglass-1: "\f251"; +@fa-var-hourglass-2: "\f252"; +@fa-var-hourglass-3: "\f253"; +@fa-var-hourglass-end: "\f253"; +@fa-var-hourglass-half: "\f252"; +@fa-var-hourglass-o: "\f250"; +@fa-var-hourglass-start: "\f251"; +@fa-var-houzz: "\f27c"; @fa-var-html5: "\f13b"; +@fa-var-i-cursor: "\f246"; +@fa-var-id-badge: "\f2c1"; +@fa-var-id-card: "\f2c2"; +@fa-var-id-card-o: "\f2c3"; @fa-var-ils: "\f20b"; @fa-var-image: "\f03e"; +@fa-var-imdb: "\f2d8"; @fa-var-inbox: "\f01c"; @fa-var-indent: "\f03c"; +@fa-var-industry: "\f275"; @fa-var-info: "\f129"; @fa-var-info-circle: "\f05a"; @fa-var-inr: "\f156"; @fa-var-instagram: "\f16d"; @fa-var-institution: "\f19c"; +@fa-var-internet-explorer: "\f26b"; +@fa-var-intersex: "\f224"; @fa-var-ioxhost: "\f208"; @fa-var-italic: "\f033"; @fa-var-joomla: "\f1aa"; @@ -323,6 +425,7 @@ @fa-var-link: "\f0c1"; @fa-var-linkedin: "\f0e1"; @fa-var-linkedin-square: "\f08c"; +@fa-var-linode: "\f2b8"; @fa-var-linux: "\f17c"; @fa-var-list: "\f03a"; @fa-var-list-alt: "\f022"; @@ -334,13 +437,18 @@ @fa-var-long-arrow-left: "\f177"; @fa-var-long-arrow-right: "\f178"; @fa-var-long-arrow-up: "\f176"; +@fa-var-low-vision: "\f2a8"; @fa-var-magic: "\f0d0"; @fa-var-magnet: "\f076"; @fa-var-mail-forward: "\f064"; @fa-var-mail-reply: "\f112"; @fa-var-mail-reply-all: "\f122"; @fa-var-male: "\f183"; +@fa-var-map: "\f279"; @fa-var-map-marker: "\f041"; +@fa-var-map-o: "\f278"; +@fa-var-map-pin: "\f276"; +@fa-var-map-signs: "\f277"; @fa-var-mars: "\f222"; @fa-var-mars-double: "\f227"; @fa-var-mars-stroke: "\f229"; @@ -350,25 +458,37 @@ @fa-var-meanpath: "\f20c"; @fa-var-medium: "\f23a"; @fa-var-medkit: "\f0fa"; +@fa-var-meetup: "\f2e0"; @fa-var-meh-o: "\f11a"; @fa-var-mercury: "\f223"; +@fa-var-microchip: "\f2db"; @fa-var-microphone: "\f130"; @fa-var-microphone-slash: "\f131"; @fa-var-minus: "\f068"; @fa-var-minus-circle: "\f056"; @fa-var-minus-square: "\f146"; @fa-var-minus-square-o: "\f147"; +@fa-var-mixcloud: "\f289"; @fa-var-mobile: "\f10b"; @fa-var-mobile-phone: "\f10b"; +@fa-var-modx: "\f285"; @fa-var-money: "\f0d6"; @fa-var-moon-o: "\f186"; @fa-var-mortar-board: "\f19d"; @fa-var-motorcycle: "\f21c"; +@fa-var-mouse-pointer: "\f245"; @fa-var-music: "\f001"; @fa-var-navicon: "\f0c9"; @fa-var-neuter: "\f22c"; @fa-var-newspaper-o: "\f1ea"; +@fa-var-object-group: "\f247"; +@fa-var-object-ungroup: "\f248"; +@fa-var-odnoklassniki: "\f263"; +@fa-var-odnoklassniki-square: "\f264"; +@fa-var-opencart: "\f23d"; @fa-var-openid: "\f19b"; +@fa-var-opera: "\f26a"; +@fa-var-optin-monster: "\f23c"; @fa-var-outdent: "\f03b"; @fa-var-pagelines: "\f18c"; @fa-var-paint-brush: "\f1fc"; @@ -378,18 +498,22 @@ @fa-var-paragraph: "\f1dd"; @fa-var-paste: "\f0ea"; @fa-var-pause: "\f04c"; +@fa-var-pause-circle: "\f28b"; +@fa-var-pause-circle-o: "\f28c"; @fa-var-paw: "\f1b0"; @fa-var-paypal: "\f1ed"; @fa-var-pencil: "\f040"; @fa-var-pencil-square: "\f14b"; @fa-var-pencil-square-o: "\f044"; +@fa-var-percent: "\f295"; @fa-var-phone: "\f095"; @fa-var-phone-square: "\f098"; @fa-var-photo: "\f03e"; @fa-var-picture-o: "\f03e"; @fa-var-pie-chart: "\f200"; -@fa-var-pied-piper: "\f1a7"; +@fa-var-pied-piper: "\f2ae"; @fa-var-pied-piper-alt: "\f1a8"; +@fa-var-pied-piper-pp: "\f1a7"; @fa-var-pinterest: "\f0d2"; @fa-var-pinterest-p: "\f231"; @fa-var-pinterest-square: "\f0d3"; @@ -402,28 +526,36 @@ @fa-var-plus-circle: "\f055"; @fa-var-plus-square: "\f0fe"; @fa-var-plus-square-o: "\f196"; +@fa-var-podcast: "\f2ce"; @fa-var-power-off: "\f011"; @fa-var-print: "\f02f"; +@fa-var-product-hunt: "\f288"; @fa-var-puzzle-piece: "\f12e"; @fa-var-qq: "\f1d6"; @fa-var-qrcode: "\f029"; @fa-var-question: "\f128"; @fa-var-question-circle: "\f059"; +@fa-var-question-circle-o: "\f29c"; +@fa-var-quora: "\f2c4"; @fa-var-quote-left: "\f10d"; @fa-var-quote-right: "\f10e"; @fa-var-ra: "\f1d0"; @fa-var-random: "\f074"; +@fa-var-ravelry: "\f2d9"; @fa-var-rebel: "\f1d0"; @fa-var-recycle: "\f1b8"; @fa-var-reddit: "\f1a1"; +@fa-var-reddit-alien: "\f281"; @fa-var-reddit-square: "\f1a2"; @fa-var-refresh: "\f021"; +@fa-var-registered: "\f25d"; @fa-var-remove: "\f00d"; @fa-var-renren: "\f18b"; @fa-var-reorder: "\f0c9"; @fa-var-repeat: "\f01e"; @fa-var-reply: "\f112"; @fa-var-reply-all: "\f122"; +@fa-var-resistance: "\f1d0"; @fa-var-retweet: "\f079"; @fa-var-rmb: "\f157"; @fa-var-road: "\f018"; @@ -436,8 +568,11 @@ @fa-var-rub: "\f158"; @fa-var-ruble: "\f158"; @fa-var-rupee: "\f156"; +@fa-var-s15: "\f2cd"; +@fa-var-safari: "\f267"; @fa-var-save: "\f0c7"; @fa-var-scissors: "\f0c4"; +@fa-var-scribd: "\f28a"; @fa-var-search: "\f002"; @fa-var-search-minus: "\f010"; @fa-var-search-plus: "\f00e"; @@ -455,10 +590,15 @@ @fa-var-shield: "\f132"; @fa-var-ship: "\f21a"; @fa-var-shirtsinbulk: "\f214"; +@fa-var-shopping-bag: "\f290"; +@fa-var-shopping-basket: "\f291"; @fa-var-shopping-cart: "\f07a"; +@fa-var-shower: "\f2cc"; @fa-var-sign-in: "\f090"; +@fa-var-sign-language: "\f2a7"; @fa-var-sign-out: "\f08b"; @fa-var-signal: "\f012"; +@fa-var-signing: "\f2a7"; @fa-var-simplybuilt: "\f215"; @fa-var-sitemap: "\f0e8"; @fa-var-skyatlas: "\f216"; @@ -467,6 +607,10 @@ @fa-var-sliders: "\f1de"; @fa-var-slideshare: "\f1e7"; @fa-var-smile-o: "\f118"; +@fa-var-snapchat: "\f2ab"; +@fa-var-snapchat-ghost: "\f2ac"; +@fa-var-snapchat-square: "\f2ad"; +@fa-var-snowflake-o: "\f2dc"; @fa-var-soccer-ball-o: "\f1e3"; @fa-var-sort: "\f0dc"; @fa-var-sort-alpha-asc: "\f15d"; @@ -499,7 +643,11 @@ @fa-var-step-backward: "\f048"; @fa-var-step-forward: "\f051"; @fa-var-stethoscope: "\f0f1"; +@fa-var-sticky-note: "\f249"; +@fa-var-sticky-note-o: "\f24a"; @fa-var-stop: "\f04d"; +@fa-var-stop-circle: "\f28d"; +@fa-var-stop-circle-o: "\f28e"; @fa-var-street-view: "\f21d"; @fa-var-strikethrough: "\f0cc"; @fa-var-stumbleupon: "\f1a4"; @@ -508,6 +656,7 @@ @fa-var-subway: "\f239"; @fa-var-suitcase: "\f0f2"; @fa-var-sun-o: "\f185"; +@fa-var-superpowers: "\f2dd"; @fa-var-superscript: "\f12b"; @fa-var-support: "\f1cd"; @fa-var-table: "\f0ce"; @@ -517,6 +666,8 @@ @fa-var-tags: "\f02c"; @fa-var-tasks: "\f0ae"; @fa-var-taxi: "\f1ba"; +@fa-var-telegram: "\f2c6"; +@fa-var-television: "\f26c"; @fa-var-tencent-weibo: "\f1d5"; @fa-var-terminal: "\f120"; @fa-var-text-height: "\f034"; @@ -524,6 +675,18 @@ @fa-var-th: "\f00a"; @fa-var-th-large: "\f009"; @fa-var-th-list: "\f00b"; +@fa-var-themeisle: "\f2b2"; +@fa-var-thermometer: "\f2c7"; +@fa-var-thermometer-0: "\f2cb"; +@fa-var-thermometer-1: "\f2ca"; +@fa-var-thermometer-2: "\f2c9"; +@fa-var-thermometer-3: "\f2c8"; +@fa-var-thermometer-4: "\f2c7"; +@fa-var-thermometer-empty: "\f2cb"; +@fa-var-thermometer-full: "\f2c7"; +@fa-var-thermometer-half: "\f2c9"; +@fa-var-thermometer-quarter: "\f2ca"; +@fa-var-thermometer-three-quarters: "\f2c8"; @fa-var-thumb-tack: "\f08d"; @fa-var-thumbs-down: "\f165"; @fa-var-thumbs-o-down: "\f088"; @@ -533,6 +696,8 @@ @fa-var-times: "\f00d"; @fa-var-times-circle: "\f057"; @fa-var-times-circle-o: "\f05c"; +@fa-var-times-rectangle: "\f2d3"; +@fa-var-times-rectangle-o: "\f2d4"; @fa-var-tint: "\f043"; @fa-var-toggle-down: "\f150"; @fa-var-toggle-left: "\f191"; @@ -540,6 +705,7 @@ @fa-var-toggle-on: "\f205"; @fa-var-toggle-right: "\f152"; @fa-var-toggle-up: "\f151"; +@fa-var-trademark: "\f25c"; @fa-var-train: "\f238"; @fa-var-transgender: "\f224"; @fa-var-transgender-alt: "\f225"; @@ -547,6 +713,7 @@ @fa-var-trash-o: "\f014"; @fa-var-tree: "\f1bb"; @fa-var-trello: "\f181"; +@fa-var-tripadvisor: "\f262"; @fa-var-trophy: "\f091"; @fa-var-truck: "\f0d1"; @fa-var-try: "\f195"; @@ -554,33 +721,45 @@ @fa-var-tumblr: "\f173"; @fa-var-tumblr-square: "\f174"; @fa-var-turkish-lira: "\f195"; +@fa-var-tv: "\f26c"; @fa-var-twitch: "\f1e8"; @fa-var-twitter: "\f099"; @fa-var-twitter-square: "\f081"; @fa-var-umbrella: "\f0e9"; @fa-var-underline: "\f0cd"; @fa-var-undo: "\f0e2"; +@fa-var-universal-access: "\f29a"; @fa-var-university: "\f19c"; @fa-var-unlink: "\f127"; @fa-var-unlock: "\f09c"; @fa-var-unlock-alt: "\f13e"; @fa-var-unsorted: "\f0dc"; @fa-var-upload: "\f093"; +@fa-var-usb: "\f287"; @fa-var-usd: "\f155"; @fa-var-user: "\f007"; +@fa-var-user-circle: "\f2bd"; +@fa-var-user-circle-o: "\f2be"; @fa-var-user-md: "\f0f0"; +@fa-var-user-o: "\f2c0"; @fa-var-user-plus: "\f234"; @fa-var-user-secret: "\f21b"; @fa-var-user-times: "\f235"; @fa-var-users: "\f0c0"; +@fa-var-vcard: "\f2bb"; +@fa-var-vcard-o: "\f2bc"; @fa-var-venus: "\f221"; @fa-var-venus-double: "\f226"; @fa-var-venus-mars: "\f228"; @fa-var-viacoin: "\f237"; +@fa-var-viadeo: "\f2a9"; +@fa-var-viadeo-square: "\f2aa"; @fa-var-video-camera: "\f03d"; +@fa-var-vimeo: "\f27d"; @fa-var-vimeo-square: "\f194"; @fa-var-vine: "\f1ca"; @fa-var-vk: "\f189"; +@fa-var-volume-control-phone: "\f2a0"; @fa-var-volume-down: "\f027"; @fa-var-volume-off: "\f026"; @fa-var-volume-up: "\f028"; @@ -590,16 +769,31 @@ @fa-var-weixin: "\f1d7"; @fa-var-whatsapp: "\f232"; @fa-var-wheelchair: "\f193"; +@fa-var-wheelchair-alt: "\f29b"; @fa-var-wifi: "\f1eb"; +@fa-var-wikipedia-w: "\f266"; +@fa-var-window-close: "\f2d3"; +@fa-var-window-close-o: "\f2d4"; +@fa-var-window-maximize: "\f2d0"; +@fa-var-window-minimize: "\f2d1"; +@fa-var-window-restore: "\f2d2"; @fa-var-windows: "\f17a"; @fa-var-won: "\f159"; @fa-var-wordpress: "\f19a"; +@fa-var-wpbeginner: "\f297"; +@fa-var-wpexplorer: "\f2de"; +@fa-var-wpforms: "\f298"; @fa-var-wrench: "\f0ad"; @fa-var-xing: "\f168"; @fa-var-xing-square: "\f169"; +@fa-var-y-combinator: "\f23b"; +@fa-var-y-combinator-square: "\f1d4"; @fa-var-yahoo: "\f19e"; +@fa-var-yc: "\f23b"; +@fa-var-yc-square: "\f1d4"; @fa-var-yelp: "\f1e9"; @fa-var-yen: "\f157"; +@fa-var-yoast: "\f2b1"; @fa-var-youtube: "\f167"; @fa-var-youtube-play: "\f16a"; @fa-var-youtube-square: "\f166"; diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_animated.scss b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_animated.scss similarity index 100% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_animated.scss rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_animated.scss diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_bordered-pulled.scss b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_bordered-pulled.scss similarity index 56% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_bordered-pulled.scss rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_bordered-pulled.scss index 9d3fdf3a0b..d4b85a02f2 100644 --- a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_bordered-pulled.scss +++ b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_bordered-pulled.scss @@ -7,6 +7,15 @@ border-radius: .1em; } +.#{$fa-css-prefix}-pull-left { float: left; } +.#{$fa-css-prefix}-pull-right { float: right; } + +.#{$fa-css-prefix} { + &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } + &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } +} + +/* Deprecated as of 4.4.0 */ .pull-right { float: right; } .pull-left { float: left; } diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_core.scss b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_core.scss similarity index 66% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_core.scss rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_core.scss index 5a2db9d561..7425ef85fc 100644 --- a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_core.scss +++ b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_core.scss @@ -3,11 +3,10 @@ .#{$fa-css-prefix} { display: inline-block; - font: normal normal normal #{$fa-font-size-base}/1 FontAwesome; // shortening font declaration + font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration font-size: inherit; // can't have font-size inherit on line above, so need to override text-rendering: auto; // optimizelegibility throws things off #1094 -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; - transform: translate(0, 0); // ensures no half-pixel rendering in firefox } diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_fixed-width.scss b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_fixed-width.scss similarity index 100% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_fixed-width.scss rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_fixed-width.scss diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_icons.scss b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_icons.scss similarity index 74% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_icons.scss rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_icons.scss index fbcfe81237..e63e702c4d 100644 --- a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_icons.scss +++ b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_icons.scss @@ -163,6 +163,7 @@ .#{$fa-css-prefix}-github:before { content: $fa-var-github; } .#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; } .#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; } +.#{$fa-css-prefix}-feed:before, .#{$fa-css-prefix}-rss:before { content: $fa-var-rss; } .#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; } .#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; } @@ -437,7 +438,7 @@ .#{$fa-css-prefix}-stumbleupon:before { content: $fa-var-stumbleupon; } .#{$fa-css-prefix}-delicious:before { content: $fa-var-delicious; } .#{$fa-css-prefix}-digg:before { content: $fa-var-digg; } -.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; } +.#{$fa-css-prefix}-pied-piper-pp:before { content: $fa-var-pied-piper-pp; } .#{$fa-css-prefix}-pied-piper-alt:before { content: $fa-var-pied-piper-alt; } .#{$fa-css-prefix}-drupal:before { content: $fa-var-drupal; } .#{$fa-css-prefix}-joomla:before { content: $fa-var-joomla; } @@ -487,11 +488,14 @@ .#{$fa-css-prefix}-life-ring:before { content: $fa-var-life-ring; } .#{$fa-css-prefix}-circle-o-notch:before { content: $fa-var-circle-o-notch; } .#{$fa-css-prefix}-ra:before, +.#{$fa-css-prefix}-resistance:before, .#{$fa-css-prefix}-rebel:before { content: $fa-var-rebel; } .#{$fa-css-prefix}-ge:before, .#{$fa-css-prefix}-empire:before { content: $fa-var-empire; } .#{$fa-css-prefix}-git-square:before { content: $fa-var-git-square; } .#{$fa-css-prefix}-git:before { content: $fa-var-git; } +.#{$fa-css-prefix}-y-combinator-square:before, +.#{$fa-css-prefix}-yc-square:before, .#{$fa-css-prefix}-hacker-news:before { content: $fa-var-hacker-news; } .#{$fa-css-prefix}-tencent-weibo:before { content: $fa-var-tencent-weibo; } .#{$fa-css-prefix}-qq:before { content: $fa-var-qq; } @@ -502,7 +506,6 @@ .#{$fa-css-prefix}-send-o:before, .#{$fa-css-prefix}-paper-plane-o:before { content: $fa-var-paper-plane-o; } .#{$fa-css-prefix}-history:before { content: $fa-var-history; } -.#{$fa-css-prefix}-genderless:before, .#{$fa-css-prefix}-circle-thin:before { content: $fa-var-circle-thin; } .#{$fa-css-prefix}-header:before { content: $fa-var-header; } .#{$fa-css-prefix}-paragraph:before { content: $fa-var-paragraph; } @@ -573,6 +576,7 @@ .#{$fa-css-prefix}-venus:before { content: $fa-var-venus; } .#{$fa-css-prefix}-mars:before { content: $fa-var-mars; } .#{$fa-css-prefix}-mercury:before { content: $fa-var-mercury; } +.#{$fa-css-prefix}-intersex:before, .#{$fa-css-prefix}-transgender:before { content: $fa-var-transgender; } .#{$fa-css-prefix}-transgender-alt:before { content: $fa-var-transgender-alt; } .#{$fa-css-prefix}-venus-double:before { content: $fa-var-venus-double; } @@ -582,6 +586,7 @@ .#{$fa-css-prefix}-mars-stroke-v:before { content: $fa-var-mars-stroke-v; } .#{$fa-css-prefix}-mars-stroke-h:before { content: $fa-var-mars-stroke-h; } .#{$fa-css-prefix}-neuter:before { content: $fa-var-neuter; } +.#{$fa-css-prefix}-genderless:before { content: $fa-var-genderless; } .#{$fa-css-prefix}-facebook-official:before { content: $fa-var-facebook-official; } .#{$fa-css-prefix}-pinterest-p:before { content: $fa-var-pinterest-p; } .#{$fa-css-prefix}-whatsapp:before { content: $fa-var-whatsapp; } @@ -594,3 +599,191 @@ .#{$fa-css-prefix}-train:before { content: $fa-var-train; } .#{$fa-css-prefix}-subway:before { content: $fa-var-subway; } .#{$fa-css-prefix}-medium:before { content: $fa-var-medium; } +.#{$fa-css-prefix}-yc:before, +.#{$fa-css-prefix}-y-combinator:before { content: $fa-var-y-combinator; } +.#{$fa-css-prefix}-optin-monster:before { content: $fa-var-optin-monster; } +.#{$fa-css-prefix}-opencart:before { content: $fa-var-opencart; } +.#{$fa-css-prefix}-expeditedssl:before { content: $fa-var-expeditedssl; } +.#{$fa-css-prefix}-battery-4:before, +.#{$fa-css-prefix}-battery:before, +.#{$fa-css-prefix}-battery-full:before { content: $fa-var-battery-full; } +.#{$fa-css-prefix}-battery-3:before, +.#{$fa-css-prefix}-battery-three-quarters:before { content: $fa-var-battery-three-quarters; } +.#{$fa-css-prefix}-battery-2:before, +.#{$fa-css-prefix}-battery-half:before { content: $fa-var-battery-half; } +.#{$fa-css-prefix}-battery-1:before, +.#{$fa-css-prefix}-battery-quarter:before { content: $fa-var-battery-quarter; } +.#{$fa-css-prefix}-battery-0:before, +.#{$fa-css-prefix}-battery-empty:before { content: $fa-var-battery-empty; } +.#{$fa-css-prefix}-mouse-pointer:before { content: $fa-var-mouse-pointer; } +.#{$fa-css-prefix}-i-cursor:before { content: $fa-var-i-cursor; } +.#{$fa-css-prefix}-object-group:before { content: $fa-var-object-group; } +.#{$fa-css-prefix}-object-ungroup:before { content: $fa-var-object-ungroup; } +.#{$fa-css-prefix}-sticky-note:before { content: $fa-var-sticky-note; } +.#{$fa-css-prefix}-sticky-note-o:before { content: $fa-var-sticky-note-o; } +.#{$fa-css-prefix}-cc-jcb:before { content: $fa-var-cc-jcb; } +.#{$fa-css-prefix}-cc-diners-club:before { content: $fa-var-cc-diners-club; } +.#{$fa-css-prefix}-clone:before { content: $fa-var-clone; } +.#{$fa-css-prefix}-balance-scale:before { content: $fa-var-balance-scale; } +.#{$fa-css-prefix}-hourglass-o:before { content: $fa-var-hourglass-o; } +.#{$fa-css-prefix}-hourglass-1:before, +.#{$fa-css-prefix}-hourglass-start:before { content: $fa-var-hourglass-start; } +.#{$fa-css-prefix}-hourglass-2:before, +.#{$fa-css-prefix}-hourglass-half:before { content: $fa-var-hourglass-half; } +.#{$fa-css-prefix}-hourglass-3:before, +.#{$fa-css-prefix}-hourglass-end:before { content: $fa-var-hourglass-end; } +.#{$fa-css-prefix}-hourglass:before { content: $fa-var-hourglass; } +.#{$fa-css-prefix}-hand-grab-o:before, +.#{$fa-css-prefix}-hand-rock-o:before { content: $fa-var-hand-rock-o; } +.#{$fa-css-prefix}-hand-stop-o:before, +.#{$fa-css-prefix}-hand-paper-o:before { content: $fa-var-hand-paper-o; } +.#{$fa-css-prefix}-hand-scissors-o:before { content: $fa-var-hand-scissors-o; } +.#{$fa-css-prefix}-hand-lizard-o:before { content: $fa-var-hand-lizard-o; } +.#{$fa-css-prefix}-hand-spock-o:before { content: $fa-var-hand-spock-o; } +.#{$fa-css-prefix}-hand-pointer-o:before { content: $fa-var-hand-pointer-o; } +.#{$fa-css-prefix}-hand-peace-o:before { content: $fa-var-hand-peace-o; } +.#{$fa-css-prefix}-trademark:before { content: $fa-var-trademark; } +.#{$fa-css-prefix}-registered:before { content: $fa-var-registered; } +.#{$fa-css-prefix}-creative-commons:before { content: $fa-var-creative-commons; } +.#{$fa-css-prefix}-gg:before { content: $fa-var-gg; } +.#{$fa-css-prefix}-gg-circle:before { content: $fa-var-gg-circle; } +.#{$fa-css-prefix}-tripadvisor:before { content: $fa-var-tripadvisor; } +.#{$fa-css-prefix}-odnoklassniki:before { content: $fa-var-odnoklassniki; } +.#{$fa-css-prefix}-odnoklassniki-square:before { content: $fa-var-odnoklassniki-square; } +.#{$fa-css-prefix}-get-pocket:before { content: $fa-var-get-pocket; } +.#{$fa-css-prefix}-wikipedia-w:before { content: $fa-var-wikipedia-w; } +.#{$fa-css-prefix}-safari:before { content: $fa-var-safari; } +.#{$fa-css-prefix}-chrome:before { content: $fa-var-chrome; } +.#{$fa-css-prefix}-firefox:before { content: $fa-var-firefox; } +.#{$fa-css-prefix}-opera:before { content: $fa-var-opera; } +.#{$fa-css-prefix}-internet-explorer:before { content: $fa-var-internet-explorer; } +.#{$fa-css-prefix}-tv:before, +.#{$fa-css-prefix}-television:before { content: $fa-var-television; } +.#{$fa-css-prefix}-contao:before { content: $fa-var-contao; } +.#{$fa-css-prefix}-500px:before { content: $fa-var-500px; } +.#{$fa-css-prefix}-amazon:before { content: $fa-var-amazon; } +.#{$fa-css-prefix}-calendar-plus-o:before { content: $fa-var-calendar-plus-o; } +.#{$fa-css-prefix}-calendar-minus-o:before { content: $fa-var-calendar-minus-o; } +.#{$fa-css-prefix}-calendar-times-o:before { content: $fa-var-calendar-times-o; } +.#{$fa-css-prefix}-calendar-check-o:before { content: $fa-var-calendar-check-o; } +.#{$fa-css-prefix}-industry:before { content: $fa-var-industry; } +.#{$fa-css-prefix}-map-pin:before { content: $fa-var-map-pin; } +.#{$fa-css-prefix}-map-signs:before { content: $fa-var-map-signs; } +.#{$fa-css-prefix}-map-o:before { content: $fa-var-map-o; } +.#{$fa-css-prefix}-map:before { content: $fa-var-map; } +.#{$fa-css-prefix}-commenting:before { content: $fa-var-commenting; } +.#{$fa-css-prefix}-commenting-o:before { content: $fa-var-commenting-o; } +.#{$fa-css-prefix}-houzz:before { content: $fa-var-houzz; } +.#{$fa-css-prefix}-vimeo:before { content: $fa-var-vimeo; } +.#{$fa-css-prefix}-black-tie:before { content: $fa-var-black-tie; } +.#{$fa-css-prefix}-fonticons:before { content: $fa-var-fonticons; } +.#{$fa-css-prefix}-reddit-alien:before { content: $fa-var-reddit-alien; } +.#{$fa-css-prefix}-edge:before { content: $fa-var-edge; } +.#{$fa-css-prefix}-credit-card-alt:before { content: $fa-var-credit-card-alt; } +.#{$fa-css-prefix}-codiepie:before { content: $fa-var-codiepie; } +.#{$fa-css-prefix}-modx:before { content: $fa-var-modx; } +.#{$fa-css-prefix}-fort-awesome:before { content: $fa-var-fort-awesome; } +.#{$fa-css-prefix}-usb:before { content: $fa-var-usb; } +.#{$fa-css-prefix}-product-hunt:before { content: $fa-var-product-hunt; } +.#{$fa-css-prefix}-mixcloud:before { content: $fa-var-mixcloud; } +.#{$fa-css-prefix}-scribd:before { content: $fa-var-scribd; } +.#{$fa-css-prefix}-pause-circle:before { content: $fa-var-pause-circle; } +.#{$fa-css-prefix}-pause-circle-o:before { content: $fa-var-pause-circle-o; } +.#{$fa-css-prefix}-stop-circle:before { content: $fa-var-stop-circle; } +.#{$fa-css-prefix}-stop-circle-o:before { content: $fa-var-stop-circle-o; } +.#{$fa-css-prefix}-shopping-bag:before { content: $fa-var-shopping-bag; } +.#{$fa-css-prefix}-shopping-basket:before { content: $fa-var-shopping-basket; } +.#{$fa-css-prefix}-hashtag:before { content: $fa-var-hashtag; } +.#{$fa-css-prefix}-bluetooth:before { content: $fa-var-bluetooth; } +.#{$fa-css-prefix}-bluetooth-b:before { content: $fa-var-bluetooth-b; } +.#{$fa-css-prefix}-percent:before { content: $fa-var-percent; } +.#{$fa-css-prefix}-gitlab:before { content: $fa-var-gitlab; } +.#{$fa-css-prefix}-wpbeginner:before { content: $fa-var-wpbeginner; } +.#{$fa-css-prefix}-wpforms:before { content: $fa-var-wpforms; } +.#{$fa-css-prefix}-envira:before { content: $fa-var-envira; } +.#{$fa-css-prefix}-universal-access:before { content: $fa-var-universal-access; } +.#{$fa-css-prefix}-wheelchair-alt:before { content: $fa-var-wheelchair-alt; } +.#{$fa-css-prefix}-question-circle-o:before { content: $fa-var-question-circle-o; } +.#{$fa-css-prefix}-blind:before { content: $fa-var-blind; } +.#{$fa-css-prefix}-audio-description:before { content: $fa-var-audio-description; } +.#{$fa-css-prefix}-volume-control-phone:before { content: $fa-var-volume-control-phone; } +.#{$fa-css-prefix}-braille:before { content: $fa-var-braille; } +.#{$fa-css-prefix}-assistive-listening-systems:before { content: $fa-var-assistive-listening-systems; } +.#{$fa-css-prefix}-asl-interpreting:before, +.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: $fa-var-american-sign-language-interpreting; } +.#{$fa-css-prefix}-deafness:before, +.#{$fa-css-prefix}-hard-of-hearing:before, +.#{$fa-css-prefix}-deaf:before { content: $fa-var-deaf; } +.#{$fa-css-prefix}-glide:before { content: $fa-var-glide; } +.#{$fa-css-prefix}-glide-g:before { content: $fa-var-glide-g; } +.#{$fa-css-prefix}-signing:before, +.#{$fa-css-prefix}-sign-language:before { content: $fa-var-sign-language; } +.#{$fa-css-prefix}-low-vision:before { content: $fa-var-low-vision; } +.#{$fa-css-prefix}-viadeo:before { content: $fa-var-viadeo; } +.#{$fa-css-prefix}-viadeo-square:before { content: $fa-var-viadeo-square; } +.#{$fa-css-prefix}-snapchat:before { content: $fa-var-snapchat; } +.#{$fa-css-prefix}-snapchat-ghost:before { content: $fa-var-snapchat-ghost; } +.#{$fa-css-prefix}-snapchat-square:before { content: $fa-var-snapchat-square; } +.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; } +.#{$fa-css-prefix}-first-order:before { content: $fa-var-first-order; } +.#{$fa-css-prefix}-yoast:before { content: $fa-var-yoast; } +.#{$fa-css-prefix}-themeisle:before { content: $fa-var-themeisle; } +.#{$fa-css-prefix}-google-plus-circle:before, +.#{$fa-css-prefix}-google-plus-official:before { content: $fa-var-google-plus-official; } +.#{$fa-css-prefix}-fa:before, +.#{$fa-css-prefix}-font-awesome:before { content: $fa-var-font-awesome; } +.#{$fa-css-prefix}-handshake-o:before { content: $fa-var-handshake-o; } +.#{$fa-css-prefix}-envelope-open:before { content: $fa-var-envelope-open; } +.#{$fa-css-prefix}-envelope-open-o:before { content: $fa-var-envelope-open-o; } +.#{$fa-css-prefix}-linode:before { content: $fa-var-linode; } +.#{$fa-css-prefix}-address-book:before { content: $fa-var-address-book; } +.#{$fa-css-prefix}-address-book-o:before { content: $fa-var-address-book-o; } +.#{$fa-css-prefix}-vcard:before, +.#{$fa-css-prefix}-address-card:before { content: $fa-var-address-card; } +.#{$fa-css-prefix}-vcard-o:before, +.#{$fa-css-prefix}-address-card-o:before { content: $fa-var-address-card-o; } +.#{$fa-css-prefix}-user-circle:before { content: $fa-var-user-circle; } +.#{$fa-css-prefix}-user-circle-o:before { content: $fa-var-user-circle-o; } +.#{$fa-css-prefix}-user-o:before { content: $fa-var-user-o; } +.#{$fa-css-prefix}-id-badge:before { content: $fa-var-id-badge; } +.#{$fa-css-prefix}-drivers-license:before, +.#{$fa-css-prefix}-id-card:before { content: $fa-var-id-card; } +.#{$fa-css-prefix}-drivers-license-o:before, +.#{$fa-css-prefix}-id-card-o:before { content: $fa-var-id-card-o; } +.#{$fa-css-prefix}-quora:before { content: $fa-var-quora; } +.#{$fa-css-prefix}-free-code-camp:before { content: $fa-var-free-code-camp; } +.#{$fa-css-prefix}-telegram:before { content: $fa-var-telegram; } +.#{$fa-css-prefix}-thermometer-4:before, +.#{$fa-css-prefix}-thermometer:before, +.#{$fa-css-prefix}-thermometer-full:before { content: $fa-var-thermometer-full; } +.#{$fa-css-prefix}-thermometer-3:before, +.#{$fa-css-prefix}-thermometer-three-quarters:before { content: $fa-var-thermometer-three-quarters; } +.#{$fa-css-prefix}-thermometer-2:before, +.#{$fa-css-prefix}-thermometer-half:before { content: $fa-var-thermometer-half; } +.#{$fa-css-prefix}-thermometer-1:before, +.#{$fa-css-prefix}-thermometer-quarter:before { content: $fa-var-thermometer-quarter; } +.#{$fa-css-prefix}-thermometer-0:before, +.#{$fa-css-prefix}-thermometer-empty:before { content: $fa-var-thermometer-empty; } +.#{$fa-css-prefix}-shower:before { content: $fa-var-shower; } +.#{$fa-css-prefix}-bathtub:before, +.#{$fa-css-prefix}-s15:before, +.#{$fa-css-prefix}-bath:before { content: $fa-var-bath; } +.#{$fa-css-prefix}-podcast:before { content: $fa-var-podcast; } +.#{$fa-css-prefix}-window-maximize:before { content: $fa-var-window-maximize; } +.#{$fa-css-prefix}-window-minimize:before { content: $fa-var-window-minimize; } +.#{$fa-css-prefix}-window-restore:before { content: $fa-var-window-restore; } +.#{$fa-css-prefix}-times-rectangle:before, +.#{$fa-css-prefix}-window-close:before { content: $fa-var-window-close; } +.#{$fa-css-prefix}-times-rectangle-o:before, +.#{$fa-css-prefix}-window-close-o:before { content: $fa-var-window-close-o; } +.#{$fa-css-prefix}-bandcamp:before { content: $fa-var-bandcamp; } +.#{$fa-css-prefix}-grav:before { content: $fa-var-grav; } +.#{$fa-css-prefix}-etsy:before { content: $fa-var-etsy; } +.#{$fa-css-prefix}-imdb:before { content: $fa-var-imdb; } +.#{$fa-css-prefix}-ravelry:before { content: $fa-var-ravelry; } +.#{$fa-css-prefix}-eercast:before { content: $fa-var-eercast; } +.#{$fa-css-prefix}-microchip:before { content: $fa-var-microchip; } +.#{$fa-css-prefix}-snowflake-o:before { content: $fa-var-snowflake-o; } +.#{$fa-css-prefix}-superpowers:before { content: $fa-var-superpowers; } +.#{$fa-css-prefix}-wpexplorer:before { content: $fa-var-wpexplorer; } +.#{$fa-css-prefix}-meetup:before { content: $fa-var-meetup; } diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_larger.scss b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_larger.scss similarity index 100% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_larger.scss rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_larger.scss diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_list.scss b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_list.scss similarity index 100% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_list.scss rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_list.scss diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_mixins.scss b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_mixins.scss new file mode 100644 index 0000000000..c3bbd5745d --- /dev/null +++ b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_mixins.scss @@ -0,0 +1,60 @@ +// Mixins +// -------------------------- + +@mixin fa-icon() { + display: inline-block; + font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} + +@mixin fa-icon-rotate($degrees, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; + -webkit-transform: rotate($degrees); + -ms-transform: rotate($degrees); + transform: rotate($degrees); +} + +@mixin fa-icon-flip($horiz, $vert, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; + -webkit-transform: scale($horiz, $vert); + -ms-transform: scale($horiz, $vert); + transform: scale($horiz, $vert); +} + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +@mixin sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +@mixin sr-only-focusable { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_path.scss b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_path.scss similarity index 100% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_path.scss rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_path.scss diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_rotated-flipped.scss b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_rotated-flipped.scss similarity index 100% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_rotated-flipped.scss rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_rotated-flipped.scss diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_screen-reader.scss b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_screen-reader.scss new file mode 100644 index 0000000000..637426f0da --- /dev/null +++ b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_screen-reader.scss @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { @include sr-only(); } +.sr-only-focusable { @include sr-only-focusable(); } diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_stacked.scss b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_stacked.scss similarity index 100% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_stacked.scss rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_stacked.scss diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_variables.scss b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_variables.scss similarity index 73% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_variables.scss rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_variables.scss index 9b7210e23b..498fc4a087 100644 --- a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/_variables.scss +++ b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/_variables.scss @@ -3,20 +3,28 @@ $fa-font-path: "../fonts" !default; $fa-font-size-base: 14px !default; -//$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.3.0/fonts" !default; // for referencing Bootstrap CDN font files directly +$fa-line-height-base: 1 !default; +//$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts" !default; // for referencing Bootstrap CDN font files directly $fa-css-prefix: fa !default; -$fa-version: "4.3.0" !default; +$fa-version: "4.7.0" !default; $fa-border-color: #eee !default; $fa-inverse: #fff !default; $fa-li-width: (30em / 14) !default; +$fa-var-500px: "\f26e"; +$fa-var-address-book: "\f2b9"; +$fa-var-address-book-o: "\f2ba"; +$fa-var-address-card: "\f2bb"; +$fa-var-address-card-o: "\f2bc"; $fa-var-adjust: "\f042"; $fa-var-adn: "\f170"; $fa-var-align-center: "\f037"; $fa-var-align-justify: "\f039"; $fa-var-align-left: "\f036"; $fa-var-align-right: "\f038"; +$fa-var-amazon: "\f270"; $fa-var-ambulance: "\f0f9"; +$fa-var-american-sign-language-interpreting: "\f2a3"; $fa-var-anchor: "\f13d"; $fa-var-android: "\f17b"; $fa-var-angellist: "\f209"; @@ -47,16 +55,34 @@ $fa-var-arrows: "\f047"; $fa-var-arrows-alt: "\f0b2"; $fa-var-arrows-h: "\f07e"; $fa-var-arrows-v: "\f07d"; +$fa-var-asl-interpreting: "\f2a3"; +$fa-var-assistive-listening-systems: "\f2a2"; $fa-var-asterisk: "\f069"; $fa-var-at: "\f1fa"; +$fa-var-audio-description: "\f29e"; $fa-var-automobile: "\f1b9"; $fa-var-backward: "\f04a"; +$fa-var-balance-scale: "\f24e"; $fa-var-ban: "\f05e"; +$fa-var-bandcamp: "\f2d5"; $fa-var-bank: "\f19c"; $fa-var-bar-chart: "\f080"; $fa-var-bar-chart-o: "\f080"; $fa-var-barcode: "\f02a"; $fa-var-bars: "\f0c9"; +$fa-var-bath: "\f2cd"; +$fa-var-bathtub: "\f2cd"; +$fa-var-battery: "\f240"; +$fa-var-battery-0: "\f244"; +$fa-var-battery-1: "\f243"; +$fa-var-battery-2: "\f242"; +$fa-var-battery-3: "\f241"; +$fa-var-battery-4: "\f240"; +$fa-var-battery-empty: "\f244"; +$fa-var-battery-full: "\f240"; +$fa-var-battery-half: "\f242"; +$fa-var-battery-quarter: "\f243"; +$fa-var-battery-three-quarters: "\f241"; $fa-var-bed: "\f236"; $fa-var-beer: "\f0fc"; $fa-var-behance: "\f1b4"; @@ -71,12 +97,17 @@ $fa-var-birthday-cake: "\f1fd"; $fa-var-bitbucket: "\f171"; $fa-var-bitbucket-square: "\f172"; $fa-var-bitcoin: "\f15a"; +$fa-var-black-tie: "\f27e"; +$fa-var-blind: "\f29d"; +$fa-var-bluetooth: "\f293"; +$fa-var-bluetooth-b: "\f294"; $fa-var-bold: "\f032"; $fa-var-bolt: "\f0e7"; $fa-var-bomb: "\f1e2"; $fa-var-book: "\f02d"; $fa-var-bookmark: "\f02e"; $fa-var-bookmark-o: "\f097"; +$fa-var-braille: "\f2a1"; $fa-var-briefcase: "\f0b1"; $fa-var-btc: "\f15a"; $fa-var-bug: "\f188"; @@ -89,7 +120,11 @@ $fa-var-buysellads: "\f20d"; $fa-var-cab: "\f1ba"; $fa-var-calculator: "\f1ec"; $fa-var-calendar: "\f073"; +$fa-var-calendar-check-o: "\f274"; +$fa-var-calendar-minus-o: "\f272"; $fa-var-calendar-o: "\f133"; +$fa-var-calendar-plus-o: "\f271"; +$fa-var-calendar-times-o: "\f273"; $fa-var-camera: "\f030"; $fa-var-camera-retro: "\f083"; $fa-var-car: "\f1b9"; @@ -105,7 +140,9 @@ $fa-var-cart-arrow-down: "\f218"; $fa-var-cart-plus: "\f217"; $fa-var-cc: "\f20a"; $fa-var-cc-amex: "\f1f3"; +$fa-var-cc-diners-club: "\f24c"; $fa-var-cc-discover: "\f1f2"; +$fa-var-cc-jcb: "\f24b"; $fa-var-cc-mastercard: "\f1f1"; $fa-var-cc-paypal: "\f1f4"; $fa-var-cc-stripe: "\f1f5"; @@ -127,12 +164,14 @@ $fa-var-chevron-left: "\f053"; $fa-var-chevron-right: "\f054"; $fa-var-chevron-up: "\f077"; $fa-var-child: "\f1ae"; +$fa-var-chrome: "\f268"; $fa-var-circle: "\f111"; $fa-var-circle-o: "\f10c"; $fa-var-circle-o-notch: "\f1ce"; $fa-var-circle-thin: "\f1db"; $fa-var-clipboard: "\f0ea"; $fa-var-clock-o: "\f017"; +$fa-var-clone: "\f24d"; $fa-var-close: "\f00d"; $fa-var-cloud: "\f0c2"; $fa-var-cloud-download: "\f0ed"; @@ -141,20 +180,26 @@ $fa-var-cny: "\f157"; $fa-var-code: "\f121"; $fa-var-code-fork: "\f126"; $fa-var-codepen: "\f1cb"; +$fa-var-codiepie: "\f284"; $fa-var-coffee: "\f0f4"; $fa-var-cog: "\f013"; $fa-var-cogs: "\f085"; $fa-var-columns: "\f0db"; $fa-var-comment: "\f075"; $fa-var-comment-o: "\f0e5"; +$fa-var-commenting: "\f27a"; +$fa-var-commenting-o: "\f27b"; $fa-var-comments: "\f086"; $fa-var-comments-o: "\f0e6"; $fa-var-compass: "\f14e"; $fa-var-compress: "\f066"; $fa-var-connectdevelop: "\f20e"; +$fa-var-contao: "\f26d"; $fa-var-copy: "\f0c5"; $fa-var-copyright: "\f1f9"; +$fa-var-creative-commons: "\f25e"; $fa-var-credit-card: "\f09d"; +$fa-var-credit-card-alt: "\f283"; $fa-var-crop: "\f125"; $fa-var-crosshairs: "\f05b"; $fa-var-css3: "\f13c"; @@ -165,6 +210,8 @@ $fa-var-cutlery: "\f0f5"; $fa-var-dashboard: "\f0e4"; $fa-var-dashcube: "\f210"; $fa-var-database: "\f1c0"; +$fa-var-deaf: "\f2a4"; +$fa-var-deafness: "\f2a4"; $fa-var-dedent: "\f03b"; $fa-var-delicious: "\f1a5"; $fa-var-desktop: "\f108"; @@ -175,17 +222,25 @@ $fa-var-dollar: "\f155"; $fa-var-dot-circle-o: "\f192"; $fa-var-download: "\f019"; $fa-var-dribbble: "\f17d"; +$fa-var-drivers-license: "\f2c2"; +$fa-var-drivers-license-o: "\f2c3"; $fa-var-dropbox: "\f16b"; $fa-var-drupal: "\f1a9"; +$fa-var-edge: "\f282"; $fa-var-edit: "\f044"; +$fa-var-eercast: "\f2da"; $fa-var-eject: "\f052"; $fa-var-ellipsis-h: "\f141"; $fa-var-ellipsis-v: "\f142"; $fa-var-empire: "\f1d1"; $fa-var-envelope: "\f0e0"; $fa-var-envelope-o: "\f003"; +$fa-var-envelope-open: "\f2b6"; +$fa-var-envelope-open-o: "\f2b7"; $fa-var-envelope-square: "\f199"; +$fa-var-envira: "\f299"; $fa-var-eraser: "\f12d"; +$fa-var-etsy: "\f2d7"; $fa-var-eur: "\f153"; $fa-var-euro: "\f153"; $fa-var-exchange: "\f0ec"; @@ -193,11 +248,13 @@ $fa-var-exclamation: "\f12a"; $fa-var-exclamation-circle: "\f06a"; $fa-var-exclamation-triangle: "\f071"; $fa-var-expand: "\f065"; +$fa-var-expeditedssl: "\f23e"; $fa-var-external-link: "\f08e"; $fa-var-external-link-square: "\f14c"; $fa-var-eye: "\f06e"; $fa-var-eye-slash: "\f070"; $fa-var-eyedropper: "\f1fb"; +$fa-var-fa: "\f2b4"; $fa-var-facebook: "\f09a"; $fa-var-facebook-f: "\f09a"; $fa-var-facebook-official: "\f230"; @@ -205,6 +262,7 @@ $fa-var-facebook-square: "\f082"; $fa-var-fast-backward: "\f049"; $fa-var-fast-forward: "\f050"; $fa-var-fax: "\f1ac"; +$fa-var-feed: "\f09e"; $fa-var-female: "\f182"; $fa-var-fighter-jet: "\f0fb"; $fa-var-file: "\f15b"; @@ -230,6 +288,8 @@ $fa-var-film: "\f008"; $fa-var-filter: "\f0b0"; $fa-var-fire: "\f06d"; $fa-var-fire-extinguisher: "\f134"; +$fa-var-firefox: "\f269"; +$fa-var-first-order: "\f2b0"; $fa-var-flag: "\f024"; $fa-var-flag-checkered: "\f11e"; $fa-var-flag-o: "\f11d"; @@ -242,9 +302,13 @@ $fa-var-folder-o: "\f114"; $fa-var-folder-open: "\f07c"; $fa-var-folder-open-o: "\f115"; $fa-var-font: "\f031"; +$fa-var-font-awesome: "\f2b4"; +$fa-var-fonticons: "\f280"; +$fa-var-fort-awesome: "\f286"; $fa-var-forumbee: "\f211"; $fa-var-forward: "\f04e"; $fa-var-foursquare: "\f180"; +$fa-var-free-code-camp: "\f2c5"; $fa-var-frown-o: "\f119"; $fa-var-futbol-o: "\f1e3"; $fa-var-gamepad: "\f11b"; @@ -253,29 +317,50 @@ $fa-var-gbp: "\f154"; $fa-var-ge: "\f1d1"; $fa-var-gear: "\f013"; $fa-var-gears: "\f085"; -$fa-var-genderless: "\f1db"; +$fa-var-genderless: "\f22d"; +$fa-var-get-pocket: "\f265"; +$fa-var-gg: "\f260"; +$fa-var-gg-circle: "\f261"; $fa-var-gift: "\f06b"; $fa-var-git: "\f1d3"; $fa-var-git-square: "\f1d2"; $fa-var-github: "\f09b"; $fa-var-github-alt: "\f113"; $fa-var-github-square: "\f092"; +$fa-var-gitlab: "\f296"; $fa-var-gittip: "\f184"; $fa-var-glass: "\f000"; +$fa-var-glide: "\f2a5"; +$fa-var-glide-g: "\f2a6"; $fa-var-globe: "\f0ac"; $fa-var-google: "\f1a0"; $fa-var-google-plus: "\f0d5"; +$fa-var-google-plus-circle: "\f2b3"; +$fa-var-google-plus-official: "\f2b3"; $fa-var-google-plus-square: "\f0d4"; $fa-var-google-wallet: "\f1ee"; $fa-var-graduation-cap: "\f19d"; $fa-var-gratipay: "\f184"; +$fa-var-grav: "\f2d6"; $fa-var-group: "\f0c0"; $fa-var-h-square: "\f0fd"; $fa-var-hacker-news: "\f1d4"; +$fa-var-hand-grab-o: "\f255"; +$fa-var-hand-lizard-o: "\f258"; $fa-var-hand-o-down: "\f0a7"; $fa-var-hand-o-left: "\f0a5"; $fa-var-hand-o-right: "\f0a4"; $fa-var-hand-o-up: "\f0a6"; +$fa-var-hand-paper-o: "\f256"; +$fa-var-hand-peace-o: "\f25b"; +$fa-var-hand-pointer-o: "\f25a"; +$fa-var-hand-rock-o: "\f255"; +$fa-var-hand-scissors-o: "\f257"; +$fa-var-hand-spock-o: "\f259"; +$fa-var-hand-stop-o: "\f256"; +$fa-var-handshake-o: "\f2b5"; +$fa-var-hard-of-hearing: "\f2a4"; +$fa-var-hashtag: "\f292"; $fa-var-hdd-o: "\f0a0"; $fa-var-header: "\f1dc"; $fa-var-headphones: "\f025"; @@ -286,16 +371,33 @@ $fa-var-history: "\f1da"; $fa-var-home: "\f015"; $fa-var-hospital-o: "\f0f8"; $fa-var-hotel: "\f236"; +$fa-var-hourglass: "\f254"; +$fa-var-hourglass-1: "\f251"; +$fa-var-hourglass-2: "\f252"; +$fa-var-hourglass-3: "\f253"; +$fa-var-hourglass-end: "\f253"; +$fa-var-hourglass-half: "\f252"; +$fa-var-hourglass-o: "\f250"; +$fa-var-hourglass-start: "\f251"; +$fa-var-houzz: "\f27c"; $fa-var-html5: "\f13b"; +$fa-var-i-cursor: "\f246"; +$fa-var-id-badge: "\f2c1"; +$fa-var-id-card: "\f2c2"; +$fa-var-id-card-o: "\f2c3"; $fa-var-ils: "\f20b"; $fa-var-image: "\f03e"; +$fa-var-imdb: "\f2d8"; $fa-var-inbox: "\f01c"; $fa-var-indent: "\f03c"; +$fa-var-industry: "\f275"; $fa-var-info: "\f129"; $fa-var-info-circle: "\f05a"; $fa-var-inr: "\f156"; $fa-var-instagram: "\f16d"; $fa-var-institution: "\f19c"; +$fa-var-internet-explorer: "\f26b"; +$fa-var-intersex: "\f224"; $fa-var-ioxhost: "\f208"; $fa-var-italic: "\f033"; $fa-var-joomla: "\f1aa"; @@ -323,6 +425,7 @@ $fa-var-line-chart: "\f201"; $fa-var-link: "\f0c1"; $fa-var-linkedin: "\f0e1"; $fa-var-linkedin-square: "\f08c"; +$fa-var-linode: "\f2b8"; $fa-var-linux: "\f17c"; $fa-var-list: "\f03a"; $fa-var-list-alt: "\f022"; @@ -334,13 +437,18 @@ $fa-var-long-arrow-down: "\f175"; $fa-var-long-arrow-left: "\f177"; $fa-var-long-arrow-right: "\f178"; $fa-var-long-arrow-up: "\f176"; +$fa-var-low-vision: "\f2a8"; $fa-var-magic: "\f0d0"; $fa-var-magnet: "\f076"; $fa-var-mail-forward: "\f064"; $fa-var-mail-reply: "\f112"; $fa-var-mail-reply-all: "\f122"; $fa-var-male: "\f183"; +$fa-var-map: "\f279"; $fa-var-map-marker: "\f041"; +$fa-var-map-o: "\f278"; +$fa-var-map-pin: "\f276"; +$fa-var-map-signs: "\f277"; $fa-var-mars: "\f222"; $fa-var-mars-double: "\f227"; $fa-var-mars-stroke: "\f229"; @@ -350,25 +458,37 @@ $fa-var-maxcdn: "\f136"; $fa-var-meanpath: "\f20c"; $fa-var-medium: "\f23a"; $fa-var-medkit: "\f0fa"; +$fa-var-meetup: "\f2e0"; $fa-var-meh-o: "\f11a"; $fa-var-mercury: "\f223"; +$fa-var-microchip: "\f2db"; $fa-var-microphone: "\f130"; $fa-var-microphone-slash: "\f131"; $fa-var-minus: "\f068"; $fa-var-minus-circle: "\f056"; $fa-var-minus-square: "\f146"; $fa-var-minus-square-o: "\f147"; +$fa-var-mixcloud: "\f289"; $fa-var-mobile: "\f10b"; $fa-var-mobile-phone: "\f10b"; +$fa-var-modx: "\f285"; $fa-var-money: "\f0d6"; $fa-var-moon-o: "\f186"; $fa-var-mortar-board: "\f19d"; $fa-var-motorcycle: "\f21c"; +$fa-var-mouse-pointer: "\f245"; $fa-var-music: "\f001"; $fa-var-navicon: "\f0c9"; $fa-var-neuter: "\f22c"; $fa-var-newspaper-o: "\f1ea"; +$fa-var-object-group: "\f247"; +$fa-var-object-ungroup: "\f248"; +$fa-var-odnoklassniki: "\f263"; +$fa-var-odnoklassniki-square: "\f264"; +$fa-var-opencart: "\f23d"; $fa-var-openid: "\f19b"; +$fa-var-opera: "\f26a"; +$fa-var-optin-monster: "\f23c"; $fa-var-outdent: "\f03b"; $fa-var-pagelines: "\f18c"; $fa-var-paint-brush: "\f1fc"; @@ -378,18 +498,22 @@ $fa-var-paperclip: "\f0c6"; $fa-var-paragraph: "\f1dd"; $fa-var-paste: "\f0ea"; $fa-var-pause: "\f04c"; +$fa-var-pause-circle: "\f28b"; +$fa-var-pause-circle-o: "\f28c"; $fa-var-paw: "\f1b0"; $fa-var-paypal: "\f1ed"; $fa-var-pencil: "\f040"; $fa-var-pencil-square: "\f14b"; $fa-var-pencil-square-o: "\f044"; +$fa-var-percent: "\f295"; $fa-var-phone: "\f095"; $fa-var-phone-square: "\f098"; $fa-var-photo: "\f03e"; $fa-var-picture-o: "\f03e"; $fa-var-pie-chart: "\f200"; -$fa-var-pied-piper: "\f1a7"; +$fa-var-pied-piper: "\f2ae"; $fa-var-pied-piper-alt: "\f1a8"; +$fa-var-pied-piper-pp: "\f1a7"; $fa-var-pinterest: "\f0d2"; $fa-var-pinterest-p: "\f231"; $fa-var-pinterest-square: "\f0d3"; @@ -402,28 +526,36 @@ $fa-var-plus: "\f067"; $fa-var-plus-circle: "\f055"; $fa-var-plus-square: "\f0fe"; $fa-var-plus-square-o: "\f196"; +$fa-var-podcast: "\f2ce"; $fa-var-power-off: "\f011"; $fa-var-print: "\f02f"; +$fa-var-product-hunt: "\f288"; $fa-var-puzzle-piece: "\f12e"; $fa-var-qq: "\f1d6"; $fa-var-qrcode: "\f029"; $fa-var-question: "\f128"; $fa-var-question-circle: "\f059"; +$fa-var-question-circle-o: "\f29c"; +$fa-var-quora: "\f2c4"; $fa-var-quote-left: "\f10d"; $fa-var-quote-right: "\f10e"; $fa-var-ra: "\f1d0"; $fa-var-random: "\f074"; +$fa-var-ravelry: "\f2d9"; $fa-var-rebel: "\f1d0"; $fa-var-recycle: "\f1b8"; $fa-var-reddit: "\f1a1"; +$fa-var-reddit-alien: "\f281"; $fa-var-reddit-square: "\f1a2"; $fa-var-refresh: "\f021"; +$fa-var-registered: "\f25d"; $fa-var-remove: "\f00d"; $fa-var-renren: "\f18b"; $fa-var-reorder: "\f0c9"; $fa-var-repeat: "\f01e"; $fa-var-reply: "\f112"; $fa-var-reply-all: "\f122"; +$fa-var-resistance: "\f1d0"; $fa-var-retweet: "\f079"; $fa-var-rmb: "\f157"; $fa-var-road: "\f018"; @@ -436,8 +568,11 @@ $fa-var-rss-square: "\f143"; $fa-var-rub: "\f158"; $fa-var-ruble: "\f158"; $fa-var-rupee: "\f156"; +$fa-var-s15: "\f2cd"; +$fa-var-safari: "\f267"; $fa-var-save: "\f0c7"; $fa-var-scissors: "\f0c4"; +$fa-var-scribd: "\f28a"; $fa-var-search: "\f002"; $fa-var-search-minus: "\f010"; $fa-var-search-plus: "\f00e"; @@ -455,10 +590,15 @@ $fa-var-sheqel: "\f20b"; $fa-var-shield: "\f132"; $fa-var-ship: "\f21a"; $fa-var-shirtsinbulk: "\f214"; +$fa-var-shopping-bag: "\f290"; +$fa-var-shopping-basket: "\f291"; $fa-var-shopping-cart: "\f07a"; +$fa-var-shower: "\f2cc"; $fa-var-sign-in: "\f090"; +$fa-var-sign-language: "\f2a7"; $fa-var-sign-out: "\f08b"; $fa-var-signal: "\f012"; +$fa-var-signing: "\f2a7"; $fa-var-simplybuilt: "\f215"; $fa-var-sitemap: "\f0e8"; $fa-var-skyatlas: "\f216"; @@ -467,6 +607,10 @@ $fa-var-slack: "\f198"; $fa-var-sliders: "\f1de"; $fa-var-slideshare: "\f1e7"; $fa-var-smile-o: "\f118"; +$fa-var-snapchat: "\f2ab"; +$fa-var-snapchat-ghost: "\f2ac"; +$fa-var-snapchat-square: "\f2ad"; +$fa-var-snowflake-o: "\f2dc"; $fa-var-soccer-ball-o: "\f1e3"; $fa-var-sort: "\f0dc"; $fa-var-sort-alpha-asc: "\f15d"; @@ -499,7 +643,11 @@ $fa-var-steam-square: "\f1b7"; $fa-var-step-backward: "\f048"; $fa-var-step-forward: "\f051"; $fa-var-stethoscope: "\f0f1"; +$fa-var-sticky-note: "\f249"; +$fa-var-sticky-note-o: "\f24a"; $fa-var-stop: "\f04d"; +$fa-var-stop-circle: "\f28d"; +$fa-var-stop-circle-o: "\f28e"; $fa-var-street-view: "\f21d"; $fa-var-strikethrough: "\f0cc"; $fa-var-stumbleupon: "\f1a4"; @@ -508,6 +656,7 @@ $fa-var-subscript: "\f12c"; $fa-var-subway: "\f239"; $fa-var-suitcase: "\f0f2"; $fa-var-sun-o: "\f185"; +$fa-var-superpowers: "\f2dd"; $fa-var-superscript: "\f12b"; $fa-var-support: "\f1cd"; $fa-var-table: "\f0ce"; @@ -517,6 +666,8 @@ $fa-var-tag: "\f02b"; $fa-var-tags: "\f02c"; $fa-var-tasks: "\f0ae"; $fa-var-taxi: "\f1ba"; +$fa-var-telegram: "\f2c6"; +$fa-var-television: "\f26c"; $fa-var-tencent-weibo: "\f1d5"; $fa-var-terminal: "\f120"; $fa-var-text-height: "\f034"; @@ -524,6 +675,18 @@ $fa-var-text-width: "\f035"; $fa-var-th: "\f00a"; $fa-var-th-large: "\f009"; $fa-var-th-list: "\f00b"; +$fa-var-themeisle: "\f2b2"; +$fa-var-thermometer: "\f2c7"; +$fa-var-thermometer-0: "\f2cb"; +$fa-var-thermometer-1: "\f2ca"; +$fa-var-thermometer-2: "\f2c9"; +$fa-var-thermometer-3: "\f2c8"; +$fa-var-thermometer-4: "\f2c7"; +$fa-var-thermometer-empty: "\f2cb"; +$fa-var-thermometer-full: "\f2c7"; +$fa-var-thermometer-half: "\f2c9"; +$fa-var-thermometer-quarter: "\f2ca"; +$fa-var-thermometer-three-quarters: "\f2c8"; $fa-var-thumb-tack: "\f08d"; $fa-var-thumbs-down: "\f165"; $fa-var-thumbs-o-down: "\f088"; @@ -533,6 +696,8 @@ $fa-var-ticket: "\f145"; $fa-var-times: "\f00d"; $fa-var-times-circle: "\f057"; $fa-var-times-circle-o: "\f05c"; +$fa-var-times-rectangle: "\f2d3"; +$fa-var-times-rectangle-o: "\f2d4"; $fa-var-tint: "\f043"; $fa-var-toggle-down: "\f150"; $fa-var-toggle-left: "\f191"; @@ -540,6 +705,7 @@ $fa-var-toggle-off: "\f204"; $fa-var-toggle-on: "\f205"; $fa-var-toggle-right: "\f152"; $fa-var-toggle-up: "\f151"; +$fa-var-trademark: "\f25c"; $fa-var-train: "\f238"; $fa-var-transgender: "\f224"; $fa-var-transgender-alt: "\f225"; @@ -547,6 +713,7 @@ $fa-var-trash: "\f1f8"; $fa-var-trash-o: "\f014"; $fa-var-tree: "\f1bb"; $fa-var-trello: "\f181"; +$fa-var-tripadvisor: "\f262"; $fa-var-trophy: "\f091"; $fa-var-truck: "\f0d1"; $fa-var-try: "\f195"; @@ -554,33 +721,45 @@ $fa-var-tty: "\f1e4"; $fa-var-tumblr: "\f173"; $fa-var-tumblr-square: "\f174"; $fa-var-turkish-lira: "\f195"; +$fa-var-tv: "\f26c"; $fa-var-twitch: "\f1e8"; $fa-var-twitter: "\f099"; $fa-var-twitter-square: "\f081"; $fa-var-umbrella: "\f0e9"; $fa-var-underline: "\f0cd"; $fa-var-undo: "\f0e2"; +$fa-var-universal-access: "\f29a"; $fa-var-university: "\f19c"; $fa-var-unlink: "\f127"; $fa-var-unlock: "\f09c"; $fa-var-unlock-alt: "\f13e"; $fa-var-unsorted: "\f0dc"; $fa-var-upload: "\f093"; +$fa-var-usb: "\f287"; $fa-var-usd: "\f155"; $fa-var-user: "\f007"; +$fa-var-user-circle: "\f2bd"; +$fa-var-user-circle-o: "\f2be"; $fa-var-user-md: "\f0f0"; +$fa-var-user-o: "\f2c0"; $fa-var-user-plus: "\f234"; $fa-var-user-secret: "\f21b"; $fa-var-user-times: "\f235"; $fa-var-users: "\f0c0"; +$fa-var-vcard: "\f2bb"; +$fa-var-vcard-o: "\f2bc"; $fa-var-venus: "\f221"; $fa-var-venus-double: "\f226"; $fa-var-venus-mars: "\f228"; $fa-var-viacoin: "\f237"; +$fa-var-viadeo: "\f2a9"; +$fa-var-viadeo-square: "\f2aa"; $fa-var-video-camera: "\f03d"; +$fa-var-vimeo: "\f27d"; $fa-var-vimeo-square: "\f194"; $fa-var-vine: "\f1ca"; $fa-var-vk: "\f189"; +$fa-var-volume-control-phone: "\f2a0"; $fa-var-volume-down: "\f027"; $fa-var-volume-off: "\f026"; $fa-var-volume-up: "\f028"; @@ -590,16 +769,31 @@ $fa-var-weibo: "\f18a"; $fa-var-weixin: "\f1d7"; $fa-var-whatsapp: "\f232"; $fa-var-wheelchair: "\f193"; +$fa-var-wheelchair-alt: "\f29b"; $fa-var-wifi: "\f1eb"; +$fa-var-wikipedia-w: "\f266"; +$fa-var-window-close: "\f2d3"; +$fa-var-window-close-o: "\f2d4"; +$fa-var-window-maximize: "\f2d0"; +$fa-var-window-minimize: "\f2d1"; +$fa-var-window-restore: "\f2d2"; $fa-var-windows: "\f17a"; $fa-var-won: "\f159"; $fa-var-wordpress: "\f19a"; +$fa-var-wpbeginner: "\f297"; +$fa-var-wpexplorer: "\f2de"; +$fa-var-wpforms: "\f298"; $fa-var-wrench: "\f0ad"; $fa-var-xing: "\f168"; $fa-var-xing-square: "\f169"; +$fa-var-y-combinator: "\f23b"; +$fa-var-y-combinator-square: "\f1d4"; $fa-var-yahoo: "\f19e"; +$fa-var-yc: "\f23b"; +$fa-var-yc-square: "\f1d4"; $fa-var-yelp: "\f1e9"; $fa-var-yen: "\f157"; +$fa-var-yoast: "\f2b1"; $fa-var-youtube: "\f167"; $fa-var-youtube-play: "\f16a"; $fa-var-youtube-square: "\f166"; diff --git a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/font-awesome.scss b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/font-awesome.scss similarity index 79% rename from mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/font-awesome.scss rename to mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/font-awesome.scss index 388ac6b0cd..f1c83aaa5d 100644 --- a/mayan/apps/appearance/static/appearance/packages/font-awesome-4.3.0/scss/font-awesome.scss +++ b/mayan/apps/appearance/static/appearance/packages/font-awesome-4.7.0/scss/font-awesome.scss @@ -1,5 +1,5 @@ /*! - * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */ @@ -15,3 +15,4 @@ @import "rotated-flipped"; @import "stacked"; @import "icons"; +@import "screen-reader"; diff --git a/mayan/apps/appearance/templates/appearance/base.html b/mayan/apps/appearance/templates/appearance/base.html index 3f191cb7cb..73a69824fc 100644 --- a/mayan/apps/appearance/templates/appearance/base.html +++ b/mayan/apps/appearance/templates/appearance/base.html @@ -22,7 +22,7 @@ {% compress css %} - + {# Disable base Bootstrap CSS, Flatly seems to include it already #} {##} @@ -75,7 +75,7 @@ {% if not request.user.is_authenticated %} {% trans 'Anonymous' %} {% else %} - {{ request.user.get_full_name|default:request.user }} + {{ request.user.get_full_name|default:request.user }} {% endif %} diff --git a/mayan/apps/appearance/templates/appearance/dashboard_widget.html b/mayan/apps/appearance/templates/appearance/dashboard_widget.html index 2010a06197..0ea04e7f5d 100644 --- a/mayan/apps/appearance/templates/appearance/dashboard_widget.html +++ b/mayan/apps/appearance/templates/appearance/dashboard_widget.html @@ -1,11 +1,11 @@ {% load i18n %}


            -
            {% if is_multipart %}
            @@ -62,7 +61,7 @@
            {% if not form_disable_submit %} - + {% endif %} {% if previous %}   From 9124209aa3f029ec665733e0a55d245e530bebde Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 19 Apr 2017 22:54:16 -0400 Subject: [PATCH 125/144] Add document comment field search. Signed-off-by: Roberto Rosario --- mayan/apps/document_comments/apps.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mayan/apps/document_comments/apps.py b/mayan/apps/document_comments/apps.py index da6e219132..d79f3bd7b3 100644 --- a/mayan/apps/document_comments/apps.py +++ b/mayan/apps/document_comments/apps.py @@ -5,6 +5,7 @@ from django.utils.translation import ugettext_lazy as _ from acls import ModelPermission from common import MayanAppConfig, menu_facet, menu_object, menu_sidebar +from documents.search import document_page_search, document_search from navigation import SourceColumn from rest_api.classes import APIEndPoint @@ -49,6 +50,15 @@ class DocumentCommentsApp(MayanAppConfig): ) SourceColumn(source=Comment, label=_('Comment'), attribute='comment') + document_page_search.add_model_field( + field='document_version__document__comments__comment', + label=_('Comments') + ) + document_search.add_model_field( + field='comments__comment', + label=_('Comments') + ) + menu_sidebar.bind_links( links=(link_comment_add,), sources=( From db987d47c48187c2f77d7510f13fd66d87088a43 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 19 Apr 2017 22:55:16 -0400 Subject: [PATCH 126/144] Add reminder remark for future removal. Signed-off-by: Roberto Rosario --- mayan/apps/sources/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/mayan/apps/sources/views.py b/mayan/apps/sources/views.py index bf8ea5386d..1067745980 100644 --- a/mayan/apps/sources/views.py +++ b/mayan/apps/sources/views.py @@ -323,6 +323,7 @@ class UploadInteractiveVersionView(UploadBaseView): self.document = get_object_or_404(Document, pk=kwargs['document_pk']) + # TODO: Try to remove this new version block check from here if NewVersionBlock.objects.is_blocked(self.document): messages.error( self.request, From 5192b3af02eeb8bbee4d5eab65eb00264707f86c Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 19 Apr 2017 22:56:20 -0400 Subject: [PATCH 127/144] Bump version to 2.2rc1 Signed-off-by: Roberto Rosario --- mayan/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mayan/__init__.py b/mayan/__init__.py index d45467ffb7..501ec03a9c 100644 --- a/mayan/__init__.py +++ b/mayan/__init__.py @@ -1,7 +1,7 @@ from __future__ import unicode_literals __title__ = 'Mayan EDMS' -__version__ = '2.2b3' +__version__ = '2.2rc1' __build__ = 0x020200 __author__ = 'Roberto Rosario' __author_email__ = 'roberto.rosario@mayan-edms.com' From a6f58a62ee653a8114825d7fc57a8bec72ca8743 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 19 Apr 2017 23:26:39 -0400 Subject: [PATCH 128/144] Add help text line for the test_release target. Signed-off-by: Roberto Rosario --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 2d59c8bf65..4376a85624 100644 --- a/Makefile +++ b/Makefile @@ -23,6 +23,7 @@ help: @echo "sdist - Build the source distribution package." @echo "wheel - Build the wheel distribution package." @echo "release - Package (sdist and wheel) and upload a release." + @echo "test_release - Package (sdist and wheel) and upload to the PyPI test server." @echo "runserver - Run the development server." @echo "runserver_plus - Run the Django extension's development server." From 6060924ee339832297944d9fd61f2915f2ce49b3 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 20 Apr 2017 12:28:46 -0400 Subject: [PATCH 129/144] Use the context variable 'object' instead of 'resolved_object' to make sure the document version in the list is being resolved and not the view's Document or a document signature isntance. Signed-off-by: Roberto Rosario --- mayan/apps/documents/links.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mayan/apps/documents/links.py b/mayan/apps/documents/links.py index 436273eab8..d33002f4d0 100644 --- a/mayan/apps/documents/links.py +++ b/mayan/apps/documents/links.py @@ -20,7 +20,7 @@ from .settings import setting_zoom_max_level, setting_zoom_min_level def is_not_current_version(context): - return context['resolved_object'].document.latest_version.timestamp != context['resolved_object'].timestamp + return context['object'].document.latest_version.timestamp != context['object'].timestamp def is_first_page(context): From a68d7e41db0008d4da3e05c4607226c3bccbd0b5 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 21 Apr 2017 12:30:35 -0400 Subject: [PATCH 130/144] Add updates translation source files. Signed-off-by: Roberto Rosario --- .../apps/acls/locale/ar/LC_MESSAGES/django.po | 86 +- .../apps/acls/locale/bg/LC_MESSAGES/django.po | 83 +- .../acls/locale/bs_BA/LC_MESSAGES/django.po | 86 +- .../apps/acls/locale/da/LC_MESSAGES/django.po | 83 +- .../acls/locale/de_DE/LC_MESSAGES/django.po | 89 +- .../apps/acls/locale/en/LC_MESSAGES/django.po | 66 +- .../apps/acls/locale/es/LC_MESSAGES/django.po | 86 +- .../apps/acls/locale/fa/LC_MESSAGES/django.po | 83 +- .../apps/acls/locale/fr/LC_MESSAGES/django.po | 83 +- .../apps/acls/locale/hu/LC_MESSAGES/django.po | 83 +- .../apps/acls/locale/id/LC_MESSAGES/django.po | 83 +- .../apps/acls/locale/it/LC_MESSAGES/django.po | 83 +- .../acls/locale/nl_NL/LC_MESSAGES/django.po | 87 +- .../apps/acls/locale/pl/LC_MESSAGES/django.po | 86 +- .../apps/acls/locale/pt/LC_MESSAGES/django.po | 83 +- .../acls/locale/pt_BR/LC_MESSAGES/django.po | 86 +- .../acls/locale/ro_RO/LC_MESSAGES/django.po | 86 +- .../apps/acls/locale/ru/LC_MESSAGES/django.po | 87 +- .../acls/locale/sl_SI/LC_MESSAGES/django.po | 86 +- .../acls/locale/vi_VN/LC_MESSAGES/django.po | 83 +- .../acls/locale/zh_CN/LC_MESSAGES/django.po | 83 +- .../locale/ar/LC_MESSAGES/django.po | 112 ++- .../locale/bg/LC_MESSAGES/django.po | 108 ++- .../locale/bs_BA/LC_MESSAGES/django.po | 111 ++- .../locale/da/LC_MESSAGES/django.po | 97 +- .../locale/de_DE/LC_MESSAGES/django.po | 129 ++- .../locale/en/LC_MESSAGES/django.po | 84 +- .../locale/es/LC_MESSAGES/django.po | 124 ++- .../locale/fa/LC_MESSAGES/django.po | 113 ++- .../locale/fr/LC_MESSAGES/django.po | 137 +-- .../locale/hu/LC_MESSAGES/django.po | 101 +- .../locale/id/LC_MESSAGES/django.po | 97 +- .../locale/it/LC_MESSAGES/django.po | 125 ++- .../locale/nl_NL/LC_MESSAGES/django.po | 133 ++- .../locale/pl/LC_MESSAGES/django.po | 128 ++- .../locale/pt/LC_MESSAGES/django.po | 110 ++- .../locale/pt_BR/LC_MESSAGES/django.po | 128 ++- .../locale/ro_RO/LC_MESSAGES/django.po | 120 ++- .../locale/ru/LC_MESSAGES/django.po | 136 +-- .../locale/sl_SI/LC_MESSAGES/django.po | 98 +- .../locale/vi_VN/LC_MESSAGES/django.po | 109 ++- .../locale/zh_CN/LC_MESSAGES/django.po | 101 +- .../locale/ar/LC_MESSAGES/django.po | 12 +- .../locale/bg/LC_MESSAGES/django.po | 9 +- .../locale/bs_BA/LC_MESSAGES/django.po | 12 +- .../locale/da/LC_MESSAGES/django.po | 9 +- .../locale/de_DE/LC_MESSAGES/django.po | 17 +- .../locale/en/LC_MESSAGES/django.po | 2 +- .../locale/es/LC_MESSAGES/django.po | 17 +- .../locale/fa/LC_MESSAGES/django.po | 13 +- .../locale/fr/LC_MESSAGES/django.po | 17 +- .../locale/hu/LC_MESSAGES/django.po | 9 +- .../locale/id/LC_MESSAGES/django.po | 12 +- .../locale/it/LC_MESSAGES/django.po | 17 +- .../locale/nl_NL/LC_MESSAGES/django.po | 17 +- .../locale/pl/LC_MESSAGES/django.po | 16 +- .../locale/pt/LC_MESSAGES/django.po | 9 +- .../locale/pt_BR/LC_MESSAGES/django.po | 17 +- .../locale/ro_RO/LC_MESSAGES/django.po | 12 +- .../locale/ru/LC_MESSAGES/django.po | 21 +- .../locale/sl_SI/LC_MESSAGES/django.po | 12 +- .../locale/vi_VN/LC_MESSAGES/django.po | 9 +- .../locale/zh_CN/LC_MESSAGES/django.po | 9 +- .../cabinets/locale/ar/LC_MESSAGES/django.po | 247 +++++ .../cabinets/locale/bg/LC_MESSAGES/django.po | 246 +++++ .../locale/bs_BA/LC_MESSAGES/django.po | 246 +++++ .../cabinets/locale/da/LC_MESSAGES/django.po | 246 +++++ .../locale/de_DE/LC_MESSAGES/django.po | 246 +++++ .../cabinets/locale/en/LC_MESSAGES/django.po | 246 +++++ .../cabinets/locale/es/LC_MESSAGES/django.po | 246 +++++ .../cabinets/locale/fa/LC_MESSAGES/django.po | 246 +++++ .../cabinets/locale/fr/LC_MESSAGES/django.po | 246 +++++ .../cabinets/locale/hu/LC_MESSAGES/django.po | 246 +++++ .../cabinets/locale/id/LC_MESSAGES/django.po | 246 +++++ .../cabinets/locale/it/LC_MESSAGES/django.po | 246 +++++ .../locale/nl_NL/LC_MESSAGES/django.po | 246 +++++ .../cabinets/locale/pl/LC_MESSAGES/django.po | 247 +++++ .../cabinets/locale/pt/LC_MESSAGES/django.po | 246 +++++ .../locale/pt_BR/LC_MESSAGES/django.po | 246 +++++ .../locale/ro_RO/LC_MESSAGES/django.po | 246 +++++ .../cabinets/locale/ru/LC_MESSAGES/django.po | 248 +++++ .../locale/sl_SI/LC_MESSAGES/django.po | 246 +++++ .../locale/vi_VN/LC_MESSAGES/django.po | 246 +++++ .../locale/zh_CN/LC_MESSAGES/django.po | 246 +++++ .../checkouts/locale/ar/LC_MESSAGES/django.po | 77 +- .../checkouts/locale/bg/LC_MESSAGES/django.po | 74 +- .../locale/bs_BA/LC_MESSAGES/django.po | 77 +- .../checkouts/locale/da/LC_MESSAGES/django.po | 74 +- .../locale/de_DE/LC_MESSAGES/django.po | 82 +- .../checkouts/locale/en/LC_MESSAGES/django.po | 55 +- .../checkouts/locale/es/LC_MESSAGES/django.po | 82 +- .../checkouts/locale/fa/LC_MESSAGES/django.po | 78 +- .../checkouts/locale/fr/LC_MESSAGES/django.po | 85 +- .../checkouts/locale/hu/LC_MESSAGES/django.po | 74 +- .../checkouts/locale/id/LC_MESSAGES/django.po | 74 +- .../checkouts/locale/it/LC_MESSAGES/django.po | 82 +- .../locale/nl_NL/LC_MESSAGES/django.po | 78 +- .../checkouts/locale/pl/LC_MESSAGES/django.po | 88 +- .../checkouts/locale/pt/LC_MESSAGES/django.po | 74 +- .../locale/pt_BR/LC_MESSAGES/django.po | 82 +- .../locale/ro_RO/LC_MESSAGES/django.po | 80 +- .../checkouts/locale/ru/LC_MESSAGES/django.po | 82 +- .../locale/sl_SI/LC_MESSAGES/django.po | 77 +- .../locale/vi_VN/LC_MESSAGES/django.po | 74 +- .../locale/zh_CN/LC_MESSAGES/django.po | 74 +- .../common/locale/ar/LC_MESSAGES/django.po | 140 +-- .../common/locale/bg/LC_MESSAGES/django.po | 137 +-- .../common/locale/bs_BA/LC_MESSAGES/django.po | 140 +-- .../common/locale/da/LC_MESSAGES/django.po | 137 +-- .../common/locale/de_DE/LC_MESSAGES/django.po | 162 ++-- .../common/locale/en/LC_MESSAGES/django.po | 127 ++- .../common/locale/es/LC_MESSAGES/django.po | 164 ++-- .../common/locale/fa/LC_MESSAGES/django.po | 143 +-- .../common/locale/fr/LC_MESSAGES/django.po | 162 ++-- .../common/locale/hu/LC_MESSAGES/django.po | 137 +-- .../common/locale/id/LC_MESSAGES/django.po | 139 +-- .../common/locale/it/LC_MESSAGES/django.po | 164 ++-- .../common/locale/nl_NL/LC_MESSAGES/django.po | 139 +-- .../common/locale/pl/LC_MESSAGES/django.po | 152 +-- .../common/locale/pt/LC_MESSAGES/django.po | 137 +-- .../common/locale/pt_BR/LC_MESSAGES/django.po | 164 ++-- .../common/locale/ro_RO/LC_MESSAGES/django.po | 142 +-- .../common/locale/ru/LC_MESSAGES/django.po | 168 ++-- .../common/locale/sl_SI/LC_MESSAGES/django.po | 140 +-- .../common/locale/vi_VN/LC_MESSAGES/django.po | 137 +-- .../common/locale/zh_CN/LC_MESSAGES/django.po | 137 +-- .../converter/locale/ar/LC_MESSAGES/django.po | 123 ++- .../converter/locale/bg/LC_MESSAGES/django.po | 120 ++- .../locale/bs_BA/LC_MESSAGES/django.po | 123 ++- .../converter/locale/da/LC_MESSAGES/django.po | 120 ++- .../locale/de_DE/LC_MESSAGES/django.po | 135 ++- .../converter/locale/en/LC_MESSAGES/django.po | 89 +- .../converter/locale/es/LC_MESSAGES/django.po | 131 ++- .../converter/locale/fa/LC_MESSAGES/django.po | 120 ++- .../converter/locale/fr/LC_MESSAGES/django.po | 138 ++- .../converter/locale/hu/LC_MESSAGES/django.po | 120 ++- .../converter/locale/id/LC_MESSAGES/django.po | 120 ++- .../converter/locale/it/LC_MESSAGES/django.po | 134 ++- .../locale/nl_NL/LC_MESSAGES/django.po | 120 ++- .../converter/locale/pl/LC_MESSAGES/django.po | 131 ++- .../converter/locale/pt/LC_MESSAGES/django.po | 120 ++- .../locale/pt_BR/LC_MESSAGES/django.po | 128 ++- .../locale/ro_RO/LC_MESSAGES/django.po | 123 ++- .../converter/locale/ru/LC_MESSAGES/django.po | 136 ++- .../locale/sl_SI/LC_MESSAGES/django.po | 123 ++- .../locale/vi_VN/LC_MESSAGES/django.po | 120 ++- .../locale/zh_CN/LC_MESSAGES/django.po | 120 ++- .../locale/ar/LC_MESSAGES/django.po | 46 +- .../locale/bg/LC_MESSAGES/django.po | 43 +- .../locale/bs_BA/LC_MESSAGES/django.po | 50 +- .../locale/da/LC_MESSAGES/django.po | 43 +- .../locale/de_DE/LC_MESSAGES/django.po | 51 +- .../locale/en/LC_MESSAGES/django.po | 18 +- .../locale/es/LC_MESSAGES/django.po | 55 +- .../locale/fa/LC_MESSAGES/django.po | 43 +- .../locale/fr/LC_MESSAGES/django.po | 51 +- .../locale/hu/LC_MESSAGES/django.po | 43 +- .../locale/id/LC_MESSAGES/django.po | 43 +- .../locale/it/LC_MESSAGES/django.po | 51 +- .../locale/nl_NL/LC_MESSAGES/django.po | 43 +- .../locale/pl/LC_MESSAGES/django.po | 53 +- .../locale/pt/LC_MESSAGES/django.po | 47 +- .../locale/pt_BR/LC_MESSAGES/django.po | 47 +- .../locale/ro_RO/LC_MESSAGES/django.po | 54 +- .../locale/ru/LC_MESSAGES/django.po | 51 +- .../locale/sl_SI/LC_MESSAGES/django.po | 46 +- .../locale/vi_VN/LC_MESSAGES/django.po | 43 +- .../locale/zh_CN/LC_MESSAGES/django.po | 43 +- .../locale/ar/LC_MESSAGES/django.po | 38 +- .../locale/bg/LC_MESSAGES/django.po | 35 +- .../locale/bs_BA/LC_MESSAGES/django.po | 38 +- .../locale/da/LC_MESSAGES/django.po | 35 +- .../locale/de_DE/LC_MESSAGES/django.po | 35 +- .../locale/en/LC_MESSAGES/django.po | 24 +- .../locale/es/LC_MESSAGES/django.po | 35 +- .../locale/fa/LC_MESSAGES/django.po | 35 +- .../locale/fr/LC_MESSAGES/django.po | 35 +- .../locale/hu/LC_MESSAGES/django.po | 35 +- .../locale/id/LC_MESSAGES/django.po | 35 +- .../locale/it/LC_MESSAGES/django.po | 35 +- .../locale/nl_NL/LC_MESSAGES/django.po | 35 +- .../locale/pl/LC_MESSAGES/django.po | 38 +- .../locale/pt/LC_MESSAGES/django.po | 35 +- .../locale/pt_BR/LC_MESSAGES/django.po | 35 +- .../locale/ro_RO/LC_MESSAGES/django.po | 38 +- .../locale/ru/LC_MESSAGES/django.po | 39 +- .../locale/sl_SI/LC_MESSAGES/django.po | 38 +- .../locale/vi_VN/LC_MESSAGES/django.po | 35 +- .../locale/zh_CN/LC_MESSAGES/django.po | 35 +- .../locale/ar/LC_MESSAGES/django.po | 133 +-- .../locale/bg/LC_MESSAGES/django.po | 133 +-- .../locale/bs_BA/LC_MESSAGES/django.po | 140 +-- .../locale/da/LC_MESSAGES/django.po | 125 ++- .../locale/de_DE/LC_MESSAGES/django.po | 150 +-- .../locale/en/LC_MESSAGES/django.po | 94 +- .../locale/es/LC_MESSAGES/django.po | 153 +-- .../locale/fa/LC_MESSAGES/django.po | 136 +-- .../locale/fr/LC_MESSAGES/django.po | 156 ++-- .../locale/hu/LC_MESSAGES/django.po | 125 ++- .../locale/id/LC_MESSAGES/django.po | 129 +-- .../locale/it/LC_MESSAGES/django.po | 152 +-- .../locale/nl_NL/LC_MESSAGES/django.po | 134 +-- .../locale/pl/LC_MESSAGES/django.po | 140 +-- .../locale/pt/LC_MESSAGES/django.po | 137 +-- .../locale/pt_BR/LC_MESSAGES/django.po | 152 +-- .../locale/ro_RO/LC_MESSAGES/django.po | 143 +-- .../locale/ru/LC_MESSAGES/django.po | 142 +-- .../locale/sl_SI/LC_MESSAGES/django.po | 128 +-- .../locale/vi_VN/LC_MESSAGES/django.po | 125 ++- .../locale/zh_CN/LC_MESSAGES/django.po | 125 ++- .../locale/ar/LC_MESSAGES/django.po | 78 +- .../locale/bg/LC_MESSAGES/django.po | 79 +- .../locale/bs_BA/LC_MESSAGES/django.po | 78 +- .../locale/da/LC_MESSAGES/django.po | 75 +- .../locale/de_DE/LC_MESSAGES/django.po | 78 +- .../locale/en/LC_MESSAGES/django.po | 56 +- .../locale/es/LC_MESSAGES/django.po | 79 +- .../locale/fa/LC_MESSAGES/django.po | 75 +- .../locale/fr/LC_MESSAGES/django.po | 79 +- .../locale/hu/LC_MESSAGES/django.po | 75 +- .../locale/id/LC_MESSAGES/django.po | 79 +- .../locale/it/LC_MESSAGES/django.po | 79 +- .../locale/nl_NL/LC_MESSAGES/django.po | 75 +- .../locale/pl/LC_MESSAGES/django.po | 78 +- .../locale/pt/LC_MESSAGES/django.po | 75 +- .../locale/pt_BR/LC_MESSAGES/django.po | 78 +- .../locale/ro_RO/LC_MESSAGES/django.po | 81 +- .../locale/ru/LC_MESSAGES/django.po | 83 +- .../locale/sl_SI/LC_MESSAGES/django.po | 78 +- .../locale/vi_VN/LC_MESSAGES/django.po | 75 +- .../locale/zh_CN/LC_MESSAGES/django.po | 75 +- .../locale/ar/LC_MESSAGES/django.po | 199 ++-- .../locale/bg/LC_MESSAGES/django.po | 196 ++-- .../locale/bs_BA/LC_MESSAGES/django.po | 199 ++-- .../locale/da/LC_MESSAGES/django.po | 196 ++-- .../locale/de_DE/LC_MESSAGES/django.po | 223 +++-- .../locale/en/LC_MESSAGES/django.po | 189 +++- .../locale/es/LC_MESSAGES/django.po | 223 +++-- .../locale/fa/LC_MESSAGES/django.po | 217 +++-- .../locale/fr/LC_MESSAGES/django.po | 223 +++-- .../locale/hu/LC_MESSAGES/django.po | 196 ++-- .../locale/id/LC_MESSAGES/django.po | 196 ++-- .../locale/it/LC_MESSAGES/django.po | 223 +++-- .../locale/nl_NL/LC_MESSAGES/django.po | 215 +++-- .../locale/pl/LC_MESSAGES/django.po | 216 +++-- .../locale/pt/LC_MESSAGES/django.po | 196 ++-- .../locale/pt_BR/LC_MESSAGES/django.po | 223 +++-- .../locale/ro_RO/LC_MESSAGES/django.po | 199 ++-- .../locale/ru/LC_MESSAGES/django.po | 202 ++-- .../locale/sl_SI/LC_MESSAGES/django.po | 199 ++-- .../locale/vi_VN/LC_MESSAGES/django.po | 196 ++-- .../locale/zh_CN/LC_MESSAGES/django.po | 196 ++-- .../documents/locale/ar/LC_MESSAGES/django.po | 781 ++++++++-------- .../documents/locale/bg/LC_MESSAGES/django.po | 800 ++++++++-------- .../locale/bs_BA/LC_MESSAGES/django.po | 790 ++++++++-------- .../documents/locale/da/LC_MESSAGES/django.po | 784 ++++++++-------- .../locale/de_DE/LC_MESSAGES/django.po | 836 ++++++++++------- .../documents/locale/en/LC_MESSAGES/django.po | 679 ++++++++------ .../documents/locale/es/LC_MESSAGES/django.po | 827 ++++++++++------- .../documents/locale/fa/LC_MESSAGES/django.po | 779 +++++++++------- .../documents/locale/fr/LC_MESSAGES/django.po | 868 +++++++++++------- .../documents/locale/hu/LC_MESSAGES/django.po | 789 ++++++++-------- .../documents/locale/id/LC_MESSAGES/django.po | 788 ++++++++-------- .../documents/locale/it/LC_MESSAGES/django.po | 839 ++++++++++------- .../locale/nl_NL/LC_MESSAGES/django.po | 792 +++++++++------- .../documents/locale/pl/LC_MESSAGES/django.po | 776 +++++++++------- .../documents/locale/pt/LC_MESSAGES/django.po | 790 ++++++++-------- .../locale/pt_BR/LC_MESSAGES/django.po | 845 ++++++++++------- .../locale/ro_RO/LC_MESSAGES/django.po | 794 ++++++++-------- .../documents/locale/ru/LC_MESSAGES/django.po | 828 ++++++++++------- .../locale/sl_SI/LC_MESSAGES/django.po | 797 ++++++++-------- .../locale/vi_VN/LC_MESSAGES/django.po | 762 +++++++-------- .../locale/zh_CN/LC_MESSAGES/django.po | 751 ++++++++------- .../locale/ar/LC_MESSAGES/django.po | 90 +- .../locale/bg/LC_MESSAGES/django.po | 87 +- .../locale/bs_BA/LC_MESSAGES/django.po | 91 +- .../locale/da/LC_MESSAGES/django.po | 84 +- .../locale/de_DE/LC_MESSAGES/django.po | 107 ++- .../locale/en/LC_MESSAGES/django.po | 94 +- .../locale/es/LC_MESSAGES/django.po | 106 ++- .../locale/fa/LC_MESSAGES/django.po | 105 ++- .../locale/fr/LC_MESSAGES/django.po | 105 ++- .../locale/hu/LC_MESSAGES/django.po | 87 +- .../locale/id/LC_MESSAGES/django.po | 84 +- .../locale/it/LC_MESSAGES/django.po | 105 ++- .../locale/nl_NL/LC_MESSAGES/django.po | 100 +- .../locale/pl/LC_MESSAGES/django.po | 108 ++- .../locale/pt/LC_MESSAGES/django.po | 87 +- .../locale/pt_BR/LC_MESSAGES/django.po | 105 ++- .../locale/ro_RO/LC_MESSAGES/django.po | 93 +- .../locale/ru/LC_MESSAGES/django.po | 96 +- .../locale/sl_SI/LC_MESSAGES/django.po | 86 +- .../locale/vi_VN/LC_MESSAGES/django.po | 87 +- .../locale/zh_CN/LC_MESSAGES/django.po | 87 +- .../events/locale/ar/LC_MESSAGES/django.po | 32 +- .../events/locale/bg/LC_MESSAGES/django.po | 29 +- .../events/locale/bs_BA/LC_MESSAGES/django.po | 32 +- .../events/locale/da/LC_MESSAGES/django.po | 29 +- .../events/locale/de_DE/LC_MESSAGES/django.po | 29 +- .../events/locale/en/LC_MESSAGES/django.po | 22 +- .../events/locale/es/LC_MESSAGES/django.po | 29 +- .../events/locale/fa/LC_MESSAGES/django.po | 29 +- .../events/locale/fr/LC_MESSAGES/django.po | 29 +- .../events/locale/hu/LC_MESSAGES/django.po | 29 +- .../events/locale/id/LC_MESSAGES/django.po | 29 +- .../events/locale/it/LC_MESSAGES/django.po | 29 +- .../events/locale/nl_NL/LC_MESSAGES/django.po | 29 +- .../events/locale/pl/LC_MESSAGES/django.po | 32 +- .../events/locale/pt/LC_MESSAGES/django.po | 29 +- .../events/locale/pt_BR/LC_MESSAGES/django.po | 29 +- .../events/locale/ro_RO/LC_MESSAGES/django.po | 32 +- .../events/locale/ru/LC_MESSAGES/django.po | 33 +- .../events/locale/sl_SI/LC_MESSAGES/django.po | 32 +- .../events/locale/vi_VN/LC_MESSAGES/django.po | 29 +- .../events/locale/zh_CN/LC_MESSAGES/django.po | 29 +- .../folders/locale/ar/LC_MESSAGES/django.po | 240 +++-- .../folders/locale/bg/LC_MESSAGES/django.po | 221 +++-- .../locale/bs_BA/LC_MESSAGES/django.po | 228 +++-- .../folders/locale/da/LC_MESSAGES/django.po | 221 +++-- .../locale/de_DE/LC_MESSAGES/django.po | 221 +++-- .../folders/locale/en/LC_MESSAGES/django.po | 198 ++-- .../folders/locale/es/LC_MESSAGES/django.po | 222 +++-- .../folders/locale/fa/LC_MESSAGES/django.po | 211 +++-- .../folders/locale/fr/LC_MESSAGES/django.po | 230 +++-- .../folders/locale/hu/LC_MESSAGES/django.po | 221 +++-- .../folders/locale/id/LC_MESSAGES/django.po | 196 ++-- .../folders/locale/it/LC_MESSAGES/django.po | 222 +++-- .../locale/nl_NL/LC_MESSAGES/django.po | 217 +++-- .../folders/locale/pl/LC_MESSAGES/django.po | 230 +++-- .../folders/locale/pt/LC_MESSAGES/django.po | 221 +++-- .../locale/pt_BR/LC_MESSAGES/django.po | 221 +++-- .../locale/ro_RO/LC_MESSAGES/django.po | 229 +++-- .../folders/locale/ru/LC_MESSAGES/django.po | 233 +++-- .../locale/sl_SI/LC_MESSAGES/django.po | 211 +++-- .../locale/vi_VN/LC_MESSAGES/django.po | 217 +++-- .../locale/zh_CN/LC_MESSAGES/django.po | 217 +++-- .../linking/locale/ar/LC_MESSAGES/django.po | 120 +-- .../linking/locale/bg/LC_MESSAGES/django.po | 117 +-- .../locale/bs_BA/LC_MESSAGES/django.po | 120 +-- .../linking/locale/da/LC_MESSAGES/django.po | 117 +-- .../locale/de_DE/LC_MESSAGES/django.po | 126 +-- .../linking/locale/en/LC_MESSAGES/django.po | 81 +- .../linking/locale/es/LC_MESSAGES/django.po | 131 +-- .../linking/locale/fa/LC_MESSAGES/django.po | 118 +-- .../linking/locale/fr/LC_MESSAGES/django.po | 130 +-- .../linking/locale/hu/LC_MESSAGES/django.po | 117 +-- .../linking/locale/id/LC_MESSAGES/django.po | 117 +-- .../linking/locale/it/LC_MESSAGES/django.po | 130 +-- .../locale/nl_NL/LC_MESSAGES/django.po | 118 +-- .../linking/locale/pl/LC_MESSAGES/django.po | 126 +-- .../linking/locale/pt/LC_MESSAGES/django.po | 117 +-- .../locale/pt_BR/LC_MESSAGES/django.po | 130 +-- .../locale/ro_RO/LC_MESSAGES/django.po | 120 +-- .../linking/locale/ru/LC_MESSAGES/django.po | 122 +-- .../locale/sl_SI/LC_MESSAGES/django.po | 120 +-- .../locale/vi_VN/LC_MESSAGES/django.po | 117 +-- .../locale/zh_CN/LC_MESSAGES/django.po | 117 +-- .../locale/ar/LC_MESSAGES/django.po | 14 +- .../locale/bg/LC_MESSAGES/django.po | 11 +- .../locale/bs_BA/LC_MESSAGES/django.po | 14 +- .../locale/da/LC_MESSAGES/django.po | 11 +- .../locale/de_DE/LC_MESSAGES/django.po | 11 +- .../locale/en/LC_MESSAGES/django.po | 4 +- .../locale/es/LC_MESSAGES/django.po | 11 +- .../locale/fa/LC_MESSAGES/django.po | 11 +- .../locale/fr/LC_MESSAGES/django.po | 11 +- .../locale/hu/LC_MESSAGES/django.po | 11 +- .../locale/id/LC_MESSAGES/django.po | 11 +- .../locale/it/LC_MESSAGES/django.po | 11 +- .../locale/nl_NL/LC_MESSAGES/django.po | 11 +- .../locale/pl/LC_MESSAGES/django.po | 14 +- .../locale/pt/LC_MESSAGES/django.po | 11 +- .../locale/pt_BR/LC_MESSAGES/django.po | 11 +- .../locale/ro_RO/LC_MESSAGES/django.po | 14 +- .../locale/ru/LC_MESSAGES/django.po | 15 +- .../locale/sl_SI/LC_MESSAGES/django.po | 14 +- .../locale/vi_VN/LC_MESSAGES/django.po | 11 +- .../locale/zh_CN/LC_MESSAGES/django.po | 11 +- .../mailer/locale/ar/LC_MESSAGES/django.po | 65 +- .../mailer/locale/bg/LC_MESSAGES/django.po | 63 +- .../mailer/locale/bs_BA/LC_MESSAGES/django.po | 65 +- .../mailer/locale/da/LC_MESSAGES/django.po | 62 +- .../mailer/locale/de_DE/LC_MESSAGES/django.po | 105 ++- .../mailer/locale/en/LC_MESSAGES/django.po | 50 +- .../mailer/locale/es/LC_MESSAGES/django.po | 113 ++- .../mailer/locale/fa/LC_MESSAGES/django.po | 79 +- .../mailer/locale/fr/LC_MESSAGES/django.po | 91 +- .../mailer/locale/hu/LC_MESSAGES/django.po | 62 +- .../mailer/locale/id/LC_MESSAGES/django.po | 62 +- .../mailer/locale/it/LC_MESSAGES/django.po | 99 +- .../mailer/locale/nl_NL/LC_MESSAGES/django.po | 79 +- .../mailer/locale/pl/LC_MESSAGES/django.po | 82 +- .../mailer/locale/pt/LC_MESSAGES/django.po | 66 +- .../mailer/locale/pt_BR/LC_MESSAGES/django.po | 96 +- .../mailer/locale/ro_RO/LC_MESSAGES/django.po | 65 +- .../mailer/locale/ru/LC_MESSAGES/django.po | 67 +- .../mailer/locale/sl_SI/LC_MESSAGES/django.po | 65 +- .../mailer/locale/vi_VN/LC_MESSAGES/django.po | 62 +- .../mailer/locale/zh_CN/LC_MESSAGES/django.po | 62 +- .../metadata/locale/ar/LC_MESSAGES/django.po | 350 +++---- .../metadata/locale/bg/LC_MESSAGES/django.po | 325 ++++--- .../locale/bs_BA/LC_MESSAGES/django.po | 331 ++++--- .../metadata/locale/da/LC_MESSAGES/django.po | 325 ++++--- .../locale/de_DE/LC_MESSAGES/django.po | 377 +++++--- .../metadata/locale/en/LC_MESSAGES/django.po | 255 ++--- .../metadata/locale/es/LC_MESSAGES/django.po | 373 +++++--- .../metadata/locale/fa/LC_MESSAGES/django.po | 323 ++++--- .../metadata/locale/fr/LC_MESSAGES/django.po | 372 +++++--- .../metadata/locale/hu/LC_MESSAGES/django.po | 325 ++++--- .../metadata/locale/id/LC_MESSAGES/django.po | 309 ++++--- .../metadata/locale/it/LC_MESSAGES/django.po | 372 +++++--- .../locale/nl_NL/LC_MESSAGES/django.po | 325 ++++--- .../metadata/locale/pl/LC_MESSAGES/django.po | 347 ++++--- .../metadata/locale/pt/LC_MESSAGES/django.po | 332 ++++--- .../locale/pt_BR/LC_MESSAGES/django.po | 370 +++++--- .../locale/ro_RO/LC_MESSAGES/django.po | 334 ++++--- .../metadata/locale/ru/LC_MESSAGES/django.po | 371 ++++---- .../locale/sl_SI/LC_MESSAGES/django.po | 332 +++---- .../locale/vi_VN/LC_MESSAGES/django.po | 309 ++++--- .../locale/zh_CN/LC_MESSAGES/django.po | 309 ++++--- .../mirroring/locale/ar/LC_MESSAGES/django.po | 12 +- .../mirroring/locale/bg/LC_MESSAGES/django.po | 9 +- .../locale/bs_BA/LC_MESSAGES/django.po | 12 +- .../mirroring/locale/da/LC_MESSAGES/django.po | 9 +- .../locale/de_DE/LC_MESSAGES/django.po | 17 +- .../mirroring/locale/en/LC_MESSAGES/django.po | 2 +- .../mirroring/locale/es/LC_MESSAGES/django.po | 17 +- .../mirroring/locale/fa/LC_MESSAGES/django.po | 9 +- .../mirroring/locale/fr/LC_MESSAGES/django.po | 15 +- .../mirroring/locale/hu/LC_MESSAGES/django.po | 9 +- .../mirroring/locale/id/LC_MESSAGES/django.po | 9 +- .../mirroring/locale/it/LC_MESSAGES/django.po | 16 +- .../locale/nl_NL/LC_MESSAGES/django.po | 9 +- .../mirroring/locale/pl/LC_MESSAGES/django.po | 12 +- .../mirroring/locale/pt/LC_MESSAGES/django.po | 9 +- .../locale/pt_BR/LC_MESSAGES/django.po | 17 +- .../locale/ro_RO/LC_MESSAGES/django.po | 12 +- .../mirroring/locale/ru/LC_MESSAGES/django.po | 13 +- .../locale/sl_SI/LC_MESSAGES/django.po | 12 +- .../locale/vi_VN/LC_MESSAGES/django.po | 9 +- .../locale/zh_CN/LC_MESSAGES/django.po | 9 +- .../apps/motd/locale/ar/LC_MESSAGES/django.po | 22 +- .../apps/motd/locale/bg/LC_MESSAGES/django.po | 19 +- .../motd/locale/bs_BA/LC_MESSAGES/django.po | 22 +- .../apps/motd/locale/da/LC_MESSAGES/django.po | 19 +- .../motd/locale/de_DE/LC_MESSAGES/django.po | 19 +- .../apps/motd/locale/en/LC_MESSAGES/django.po | 12 +- .../apps/motd/locale/es/LC_MESSAGES/django.po | 22 +- .../apps/motd/locale/fa/LC_MESSAGES/django.po | 19 +- .../apps/motd/locale/fr/LC_MESSAGES/django.po | 19 +- .../apps/motd/locale/hu/LC_MESSAGES/django.po | 19 +- .../apps/motd/locale/id/LC_MESSAGES/django.po | 19 +- .../apps/motd/locale/it/LC_MESSAGES/django.po | 19 +- .../motd/locale/nl_NL/LC_MESSAGES/django.po | 19 +- .../apps/motd/locale/pl/LC_MESSAGES/django.po | 22 +- .../apps/motd/locale/pt/LC_MESSAGES/django.po | 19 +- .../motd/locale/pt_BR/LC_MESSAGES/django.po | 19 +- .../motd/locale/ro_RO/LC_MESSAGES/django.po | 22 +- .../apps/motd/locale/ru/LC_MESSAGES/django.po | 23 +- .../motd/locale/sl_SI/LC_MESSAGES/django.po | 22 +- .../motd/locale/vi_VN/LC_MESSAGES/django.po | 19 +- .../motd/locale/zh_CN/LC_MESSAGES/django.po | 19 +- .../locale/ar/LC_MESSAGES/django.po | 2 +- .../locale/bg/LC_MESSAGES/django.po | 2 +- .../locale/bs_BA/LC_MESSAGES/django.po | 2 +- .../locale/da/LC_MESSAGES/django.po | 2 +- .../locale/de_DE/LC_MESSAGES/django.po | 2 +- .../locale/en/LC_MESSAGES/django.po | 2 +- .../locale/es/LC_MESSAGES/django.po | 2 +- .../locale/fa/LC_MESSAGES/django.po | 2 +- .../locale/fr/LC_MESSAGES/django.po | 2 +- .../locale/hu/LC_MESSAGES/django.po | 2 +- .../locale/id/LC_MESSAGES/django.po | 2 +- .../locale/it/LC_MESSAGES/django.po | 2 +- .../locale/nl_NL/LC_MESSAGES/django.po | 2 +- .../locale/pl/LC_MESSAGES/django.po | 2 +- .../locale/pt/LC_MESSAGES/django.po | 2 +- .../locale/pt_BR/LC_MESSAGES/django.po | 2 +- .../locale/ro_RO/LC_MESSAGES/django.po | 2 +- .../locale/ru/LC_MESSAGES/django.po | 2 +- .../locale/sl_SI/LC_MESSAGES/django.po | 2 +- .../locale/vi_VN/LC_MESSAGES/django.po | 2 +- .../locale/zh_CN/LC_MESSAGES/django.po | 2 +- .../apps/ocr/locale/ar/LC_MESSAGES/django.po | 112 +-- .../apps/ocr/locale/bg/LC_MESSAGES/django.po | 100 +- .../ocr/locale/bs_BA/LC_MESSAGES/django.po | 112 +-- .../apps/ocr/locale/da/LC_MESSAGES/django.po | 110 +-- .../ocr/locale/de_DE/LC_MESSAGES/django.po | 126 +-- .../apps/ocr/locale/en/LC_MESSAGES/django.po | 77 +- .../apps/ocr/locale/es/LC_MESSAGES/django.po | 114 ++- .../apps/ocr/locale/fa/LC_MESSAGES/django.po | 106 +-- .../apps/ocr/locale/fr/LC_MESSAGES/django.po | 121 ++- .../apps/ocr/locale/hu/LC_MESSAGES/django.po | 94 +- .../apps/ocr/locale/id/LC_MESSAGES/django.po | 94 +- .../apps/ocr/locale/it/LC_MESSAGES/django.po | 121 ++- .../ocr/locale/nl_NL/LC_MESSAGES/django.po | 102 +- .../apps/ocr/locale/pl/LC_MESSAGES/django.po | 106 +-- .../apps/ocr/locale/pt/LC_MESSAGES/django.po | 107 +-- .../ocr/locale/pt_BR/LC_MESSAGES/django.po | 114 ++- .../ocr/locale/ro_RO/LC_MESSAGES/django.po | 113 ++- .../apps/ocr/locale/ru/LC_MESSAGES/django.po | 126 +-- .../ocr/locale/sl_SI/LC_MESSAGES/django.po | 97 +- .../ocr/locale/vi_VN/LC_MESSAGES/django.po | 94 +- .../ocr/locale/zh_CN/LC_MESSAGES/django.po | 106 +-- .../locale/ar/LC_MESSAGES/django.po | 68 +- .../locale/bg/LC_MESSAGES/django.po | 65 +- .../locale/bs_BA/LC_MESSAGES/django.po | 68 +- .../locale/da/LC_MESSAGES/django.po | 65 +- .../locale/de_DE/LC_MESSAGES/django.po | 62 +- .../locale/en/LC_MESSAGES/django.po | 35 +- .../locale/es/LC_MESSAGES/django.po | 62 +- .../locale/fa/LC_MESSAGES/django.po | 62 +- .../locale/fr/LC_MESSAGES/django.po | 62 +- .../locale/hu/LC_MESSAGES/django.po | 65 +- .../locale/id/LC_MESSAGES/django.po | 65 +- .../locale/it/LC_MESSAGES/django.po | 62 +- .../locale/nl_NL/LC_MESSAGES/django.po | 62 +- .../locale/pl/LC_MESSAGES/django.po | 68 +- .../locale/pt/LC_MESSAGES/django.po | 65 +- .../locale/pt_BR/LC_MESSAGES/django.po | 62 +- .../locale/ro_RO/LC_MESSAGES/django.po | 68 +- .../locale/ru/LC_MESSAGES/django.po | 66 +- .../locale/sl_SI/LC_MESSAGES/django.po | 68 +- .../locale/vi_VN/LC_MESSAGES/django.po | 65 +- .../locale/zh_CN/LC_MESSAGES/django.po | 65 +- .../rest_api/locale/ar/LC_MESSAGES/django.po | 17 +- .../rest_api/locale/bg/LC_MESSAGES/django.po | 14 +- .../locale/bs_BA/LC_MESSAGES/django.po | 17 +- .../rest_api/locale/da/LC_MESSAGES/django.po | 14 +- .../locale/de_DE/LC_MESSAGES/django.po | 14 +- .../rest_api/locale/en/LC_MESSAGES/django.po | 7 +- .../rest_api/locale/es/LC_MESSAGES/django.po | 14 +- .../rest_api/locale/fa/LC_MESSAGES/django.po | 14 +- .../rest_api/locale/fr/LC_MESSAGES/django.po | 14 +- .../rest_api/locale/hu/LC_MESSAGES/django.po | 14 +- .../rest_api/locale/id/LC_MESSAGES/django.po | 14 +- .../rest_api/locale/it/LC_MESSAGES/django.po | 14 +- .../locale/nl_NL/LC_MESSAGES/django.po | 14 +- .../rest_api/locale/pl/LC_MESSAGES/django.po | 17 +- .../rest_api/locale/pt/LC_MESSAGES/django.po | 14 +- .../locale/pt_BR/LC_MESSAGES/django.po | 14 +- .../locale/ro_RO/LC_MESSAGES/django.po | 17 +- .../rest_api/locale/ru/LC_MESSAGES/django.po | 18 +- .../locale/sl_SI/LC_MESSAGES/django.po | 17 +- .../locale/vi_VN/LC_MESSAGES/django.po | 14 +- .../locale/zh_CN/LC_MESSAGES/django.po | 14 +- .../locale/ar/LC_MESSAGES/django.po | 20 +- .../locale/bg/LC_MESSAGES/django.po | 17 +- .../locale/bs_BA/LC_MESSAGES/django.po | 20 +- .../locale/da/LC_MESSAGES/django.po | 17 +- .../locale/de_DE/LC_MESSAGES/django.po | 23 +- .../locale/en/LC_MESSAGES/django.po | 10 +- .../locale/es/LC_MESSAGES/django.po | 23 +- .../locale/fa/LC_MESSAGES/django.po | 17 +- .../locale/fr/LC_MESSAGES/django.po | 23 +- .../locale/hu/LC_MESSAGES/django.po | 17 +- .../locale/id/LC_MESSAGES/django.po | 17 +- .../locale/it/LC_MESSAGES/django.po | 23 +- .../locale/nl_NL/LC_MESSAGES/django.po | 20 +- .../locale/pl/LC_MESSAGES/django.po | 26 +- .../locale/pt/LC_MESSAGES/django.po | 17 +- .../locale/pt_BR/LC_MESSAGES/django.po | 23 +- .../locale/ro_RO/LC_MESSAGES/django.po | 20 +- .../locale/ru/LC_MESSAGES/django.po | 27 +- .../locale/sl_SI/LC_MESSAGES/django.po | 20 +- .../locale/vi_VN/LC_MESSAGES/django.po | 17 +- .../locale/zh_CN/LC_MESSAGES/django.po | 17 +- .../sources/locale/ar/LC_MESSAGES/django.po | 123 +-- .../sources/locale/bg/LC_MESSAGES/django.po | 120 +-- .../locale/bs_BA/LC_MESSAGES/django.po | 123 +-- .../sources/locale/da/LC_MESSAGES/django.po | 120 +-- .../locale/de_DE/LC_MESSAGES/django.po | 165 ++-- .../sources/locale/en/LC_MESSAGES/django.po | 100 +- .../sources/locale/es/LC_MESSAGES/django.po | 153 +-- .../sources/locale/fa/LC_MESSAGES/django.po | 135 +-- .../sources/locale/fr/LC_MESSAGES/django.po | 173 ++-- .../sources/locale/hu/LC_MESSAGES/django.po | 120 +-- .../sources/locale/id/LC_MESSAGES/django.po | 124 +-- .../sources/locale/it/LC_MESSAGES/django.po | 170 ++-- .../locale/nl_NL/LC_MESSAGES/django.po | 130 +-- .../sources/locale/pl/LC_MESSAGES/django.po | 123 +-- .../sources/locale/pt/LC_MESSAGES/django.po | 124 +-- .../locale/pt_BR/LC_MESSAGES/django.po | 168 ++-- .../locale/ro_RO/LC_MESSAGES/django.po | 127 +-- .../sources/locale/ru/LC_MESSAGES/django.po | 137 +-- .../locale/sl_SI/LC_MESSAGES/django.po | 123 +-- .../locale/vi_VN/LC_MESSAGES/django.po | 120 +-- .../locale/zh_CN/LC_MESSAGES/django.po | 120 +-- .../locale/ar/LC_MESSAGES/django.po | 14 +- .../locale/bg/LC_MESSAGES/django.po | 11 +- .../locale/bs_BA/LC_MESSAGES/django.po | 14 +- .../locale/da/LC_MESSAGES/django.po | 11 +- .../locale/de_DE/LC_MESSAGES/django.po | 11 +- .../locale/en/LC_MESSAGES/django.po | 4 +- .../locale/es/LC_MESSAGES/django.po | 11 +- .../locale/fa/LC_MESSAGES/django.po | 11 +- .../locale/fr/LC_MESSAGES/django.po | 11 +- .../locale/hu/LC_MESSAGES/django.po | 11 +- .../locale/id/LC_MESSAGES/django.po | 11 +- .../locale/it/LC_MESSAGES/django.po | 11 +- .../locale/nl_NL/LC_MESSAGES/django.po | 11 +- .../locale/pl/LC_MESSAGES/django.po | 14 +- .../locale/pt/LC_MESSAGES/django.po | 11 +- .../locale/pt_BR/LC_MESSAGES/django.po | 11 +- .../locale/ro_RO/LC_MESSAGES/django.po | 14 +- .../locale/ru/LC_MESSAGES/django.po | 15 +- .../locale/sl_SI/LC_MESSAGES/django.po | 14 +- .../locale/vi_VN/LC_MESSAGES/django.po | 11 +- .../locale/zh_CN/LC_MESSAGES/django.po | 11 +- .../storage/locale/ar/LC_MESSAGES/django.po | 12 +- .../storage/locale/bg/LC_MESSAGES/django.po | 9 +- .../locale/bs_BA/LC_MESSAGES/django.po | 12 +- .../storage/locale/da/LC_MESSAGES/django.po | 9 +- .../locale/de_DE/LC_MESSAGES/django.po | 9 +- .../storage/locale/en/LC_MESSAGES/django.po | 2 +- .../storage/locale/es/LC_MESSAGES/django.po | 9 +- .../storage/locale/fa/LC_MESSAGES/django.po | 9 +- .../storage/locale/fr/LC_MESSAGES/django.po | 9 +- .../storage/locale/hu/LC_MESSAGES/django.po | 9 +- .../storage/locale/id/LC_MESSAGES/django.po | 9 +- .../storage/locale/it/LC_MESSAGES/django.po | 9 +- .../locale/nl_NL/LC_MESSAGES/django.po | 9 +- .../storage/locale/pl/LC_MESSAGES/django.po | 12 +- .../storage/locale/pt/LC_MESSAGES/django.po | 9 +- .../locale/pt_BR/LC_MESSAGES/django.po | 9 +- .../locale/ro_RO/LC_MESSAGES/django.po | 12 +- .../storage/locale/ru/LC_MESSAGES/django.po | 13 +- .../locale/sl_SI/LC_MESSAGES/django.po | 12 +- .../locale/vi_VN/LC_MESSAGES/django.po | 9 +- .../locale/zh_CN/LC_MESSAGES/django.po | 9 +- .../apps/tags/locale/ar/LC_MESSAGES/django.po | 255 +++-- .../apps/tags/locale/bg/LC_MESSAGES/django.po | 226 +++-- .../tags/locale/bs_BA/LC_MESSAGES/django.po | 243 +++-- .../apps/tags/locale/da/LC_MESSAGES/django.po | 237 +++-- .../tags/locale/de_DE/LC_MESSAGES/django.po | 272 ++++-- .../apps/tags/locale/en/LC_MESSAGES/django.po | 279 ++++-- .../apps/tags/locale/es/LC_MESSAGES/django.po | 272 ++++-- .../apps/tags/locale/fa/LC_MESSAGES/django.po | 242 +++-- .../apps/tags/locale/fr/LC_MESSAGES/django.po | 277 ++++-- .../apps/tags/locale/hu/LC_MESSAGES/django.po | 215 +++-- .../apps/tags/locale/id/LC_MESSAGES/django.po | 212 +++-- .../apps/tags/locale/it/LC_MESSAGES/django.po | 276 ++++-- .../tags/locale/nl_NL/LC_MESSAGES/django.po | 242 +++-- .../apps/tags/locale/pl/LC_MESSAGES/django.po | 253 +++-- .../apps/tags/locale/pt/LC_MESSAGES/django.po | 226 +++-- .../tags/locale/pt_BR/LC_MESSAGES/django.po | 275 ++++-- .../tags/locale/ro_RO/LC_MESSAGES/django.po | 252 +++-- .../apps/tags/locale/ru/LC_MESSAGES/django.po | 285 ++++-- .../tags/locale/sl_SI/LC_MESSAGES/django.po | 221 +++-- .../tags/locale/vi_VN/LC_MESSAGES/django.po | 234 +++-- .../tags/locale/zh_CN/LC_MESSAGES/django.po | 234 +++-- .../locale/ar/LC_MESSAGES/django.po | 207 +++-- .../locale/bg/LC_MESSAGES/django.po | 196 ++-- .../locale/bs_BA/LC_MESSAGES/django.po | 201 ++-- .../locale/da/LC_MESSAGES/django.po | 196 ++-- .../locale/de_DE/LC_MESSAGES/django.po | 201 ++-- .../locale/en/LC_MESSAGES/django.po | 181 ++-- .../locale/es/LC_MESSAGES/django.po | 200 ++-- .../locale/fa/LC_MESSAGES/django.po | 181 ++-- .../locale/fr/LC_MESSAGES/django.po | 205 +++-- .../locale/hu/LC_MESSAGES/django.po | 177 ++-- .../locale/id/LC_MESSAGES/django.po | 175 ++-- .../locale/it/LC_MESSAGES/django.po | 201 ++-- .../locale/nl_NL/LC_MESSAGES/django.po | 201 ++-- .../locale/pl/LC_MESSAGES/django.po | 202 ++-- .../locale/pt/LC_MESSAGES/django.po | 197 ++-- .../locale/pt_BR/LC_MESSAGES/django.po | 197 ++-- .../locale/ro_RO/LC_MESSAGES/django.po | 198 ++-- .../locale/ru/LC_MESSAGES/django.po | 205 +++-- .../locale/sl_SI/LC_MESSAGES/django.po | 184 ++-- .../locale/vi_VN/LC_MESSAGES/django.po | 194 ++-- .../locale/zh_CN/LC_MESSAGES/django.po | 186 ++-- 672 files changed, 48623 insertions(+), 31619 deletions(-) create mode 100644 mayan/apps/cabinets/locale/ar/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/bg/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/bs_BA/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/da/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/de_DE/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/en/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/es/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/fa/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/fr/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/hu/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/id/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/it/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/nl_NL/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/pl/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/pt/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/pt_BR/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/ro_RO/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/ru/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/sl_SI/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/vi_VN/LC_MESSAGES/django.po create mode 100644 mayan/apps/cabinets/locale/zh_CN/LC_MESSAGES/django.po diff --git a/mayan/apps/acls/locale/ar/LC_MESSAGES/django.po b/mayan/apps/acls/locale/ar/LC_MESSAGES/django.po index 61c00a6c9a..f8240ace39 100644 --- a/mayan/apps/acls/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/ar/LC_MESSAGES/django.po @@ -1,46 +1,46 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:32+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "ACLs" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "الصلاحيات" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "Insufficient access." @@ -52,13 +52,12 @@ msgstr "" msgid "Access entries" msgstr "" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "لا شيء" @@ -74,36 +73,66 @@ msgstr "Edit ACLs" msgid "View ACLs" msgstr "View ACLs" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "" -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "" @@ -198,8 +227,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -222,8 +253,5 @@ msgstr "" #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/bg/LC_MESSAGES/django.po b/mayan/apps/acls/locale/bg/LC_MESSAGES/django.po index 39fafedd71..e839cee873 100644 --- a/mayan/apps/acls/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/bg/LC_MESSAGES/django.po @@ -1,46 +1,45 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:32+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "ACLs" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "Разрешения" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "Недостатъчен достъп." @@ -52,13 +51,12 @@ msgstr "достъп вписване" msgid "Access entries" msgstr "достъп вписвания" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "Няма" @@ -74,36 +72,66 @@ msgstr "Редактиране на контролни списъци за до msgid "View ACLs" msgstr "Преглед на контролни списъци за достъп" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "" -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "" @@ -198,8 +226,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -222,8 +252,5 @@ msgstr "" #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/acls/locale/bs_BA/LC_MESSAGES/django.po index 865445f1bd..bf5605fd64 100644 --- a/mayan/apps/acls/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/bs_BA/LC_MESSAGES/django.po @@ -1,46 +1,46 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:32+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "ACLs" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "Dozvole" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "Nedovoljne dozvole." @@ -52,13 +52,12 @@ msgstr "" msgid "Access entries" msgstr "" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "Nijedno" @@ -74,36 +73,66 @@ msgstr "Izmjeniti ACLs" msgid "View ACLs" msgstr "Pregledati ACLs" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "" -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "" @@ -198,8 +227,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -222,8 +253,5 @@ msgstr "" #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/da/LC_MESSAGES/django.po b/mayan/apps/acls/locale/da/LC_MESSAGES/django.po index b8af335bed..dc7f1b0e65 100644 --- a/mayan/apps/acls/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/da/LC_MESSAGES/django.po @@ -1,46 +1,45 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:32+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "ACLs" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "" @@ -52,13 +51,12 @@ msgstr "" msgid "Access entries" msgstr "" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "Ingen" @@ -74,36 +72,66 @@ msgstr "" msgid "View ACLs" msgstr "" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "" -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "" @@ -198,8 +226,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -222,8 +252,5 @@ msgstr "" #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/acls/locale/de_DE/LC_MESSAGES/django.po index 8dac75b4c2..45cf9a28d1 100644 --- a/mayan/apps/acls/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Berny , 2015 @@ -10,39 +10,38 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-31 18:56+0000\n" "Last-Translator: Tobias Paepke \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "Zugriffsberechtigungen" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "Berechtigungen" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "Rolle" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "Löschen" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "Neue Berechtigung" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "Fehlende Berechtigung" @@ -54,13 +53,13 @@ msgstr "Berechtigungseintrag" msgid "Access entries" msgstr "Berechtigungseinträge" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" -msgstr "Berechtigungen \"%(permissions)s\" zur Rolle \"%(role)s\" für \"%(object)s\"" +msgstr "" +"Berechtigungen \"%(permissions)s\" zur Rolle \"%(role)s\" für \"%(object)s\"" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "Keine" @@ -76,38 +75,69 @@ msgstr "Zugriffsberechtigungen bearbeiten" msgid "View ACLs" msgstr "Zugriffsberechtigungen anzeigen" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "Neue Zugriffsberechtigung für %s" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "ACL \"%s\" löschen" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "Zugriffsberechtigungen für %s" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "Verfügbare Berechtigungen" -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "Erteilte Berechtigungen" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "Berechtigungen von Rolle \"%(role)s\" für \"%(object)s\"" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." -msgstr "Deaktivierte Berechtigungen sind von einem übergeordneten Objekt vererbt." +msgstr "" +"Deaktivierte Berechtigungen sind von einem übergeordneten Objekt vererbt." #~ msgid "New holder" #~ msgstr "New holder" @@ -200,8 +230,10 @@ msgstr "Deaktivierte Berechtigungen sind von einem übergeordneten Objekt vererb #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -224,8 +256,5 @@ msgstr "Deaktivierte Berechtigungen sind von einem übergeordneten Objekt vererb #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/en/LC_MESSAGES/django.po b/mayan/apps/acls/locale/en/LC_MESSAGES/django.po index 25d5608a7d..a26cfcd6ee 100644 --- a/mayan/apps/acls/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2012-02-02 18:20+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" @@ -18,32 +18,32 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "ACLs" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 #, fuzzy msgid "Permissions" msgstr "permissions" -#: apps.py:26 models.py:38 +#: apps.py:29 models.py:38 #, fuzzy #| msgid "Roles" msgid "Role" msgstr "Roles" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "" -#: links.py:35 +#: links.py:39 #, fuzzy #| msgid "View ACLs" msgid "New ACL" msgstr "View ACLs" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "Insufficient access." @@ -57,13 +57,13 @@ msgstr "access entry" msgid "Access entries" msgstr "access entries" -#: models.py:48 +#: models.py:49 #, fuzzy, python-format #| msgid "Permission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "Permission \"%(permission)s\" granted to %(actor)s for %(object)s." -#: models.py:64 +#: models.py:66 msgid "None" msgstr "" @@ -79,38 +79,69 @@ msgstr "Edit ACLs" msgid "View ACLs" msgstr "View ACLs" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, fuzzy, python-format msgid "New access control lists for: %s" msgstr "access control lists for: %s" -#: views.py:109 +#: views.py:100 #, fuzzy, python-format #| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "Default ACLs" -#: views.py:151 +#: views.py:138 #, fuzzy, python-format msgid "Access control lists for: %s" msgstr "access control lists for: %s" -#: views.py:162 +#: views.py:150 #, fuzzy msgid "Available permissions" msgstr "has permission" -#: views.py:163 +#: views.py:151 #, fuzzy msgid "Granted permissions" msgstr "has permission" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "" @@ -247,8 +278,5 @@ msgstr "" #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/es/LC_MESSAGES/django.po b/mayan/apps/acls/locale/es/LC_MESSAGES/django.po index f860b997e1..e5aaa4958f 100644 --- a/mayan/apps/acls/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2015 @@ -11,39 +11,38 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:38+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "LCAs" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "Permisos" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "Rol" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "Borrar" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "Nueva LCA" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "Acceso insuficiente." @@ -55,13 +54,13 @@ msgstr "Entrada de acceso" msgid "Access entries" msgstr "Entradas de acceso" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" -msgstr "Permisos \"%(permissions)s\" para el rol \"%(role)s\" para \"%(object)s\"" +msgstr "" +"Permisos \"%(permissions)s\" para el rol \"%(role)s\" para \"%(object)s\"" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "Ninguno" @@ -77,36 +76,66 @@ msgstr "Editar LCAs" msgid "View ACLs" msgstr "Ver LCAs" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "Nueva lista de control de acceso para: %s" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "Borrar LCA: %s" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "Listas de control de acceso para: %s" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "Permisos disponibles" -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "Permisos otorgados" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "Permisos del rol \"%(role)s\" para \"%(object)s\"" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "Los permisos inactivos se heredan de un objeto precedente." @@ -201,8 +230,10 @@ msgstr "Los permisos inactivos se heredan de un objeto precedente." #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -225,8 +256,5 @@ msgstr "Los permisos inactivos se heredan de un objeto precedente." #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/fa/LC_MESSAGES/django.po b/mayan/apps/acls/locale/fa/LC_MESSAGES/django.po index febe4e197c..2121e89fc9 100644 --- a/mayan/apps/acls/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/fa/LC_MESSAGES/django.po @@ -1,46 +1,45 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:32+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "ACLs" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "مجوزها" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "نقش" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "حذف" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "دسترسی ناکافی" @@ -52,13 +51,12 @@ msgstr "ورودی دسترسی" msgid "Access entries" msgstr "ورودیهای دسترسی" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "هیچکدام." @@ -74,36 +72,66 @@ msgstr "ویرایش دسترسی ها" msgid "View ACLs" msgstr "دیدن دسترسی ها" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "لیست کنترل دسترسی ها برای : %s" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "" -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "" @@ -198,8 +226,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -222,8 +252,5 @@ msgstr "" #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/fr/LC_MESSAGES/django.po b/mayan/apps/acls/locale/fr/LC_MESSAGES/django.po index b01b356a0d..f44d7cbd37 100644 --- a/mayan/apps/acls/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Christophe CHAUVET , 2015 @@ -9,39 +9,38 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:32+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "Droits" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "Permissions" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "Rôle" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "Suppression" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "Nouveau droit" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "droit d'accès insuffisant." @@ -53,13 +52,12 @@ msgstr "Entrée d'accès" msgid "Access entries" msgstr "Entrées d'accès" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "Aucun" @@ -75,36 +73,66 @@ msgstr "Editer les droits" msgid "View ACLs" msgstr "voir les droits d'accès" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "Nouvelle liste de contrôle d'accès pour: %s" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "Supprimer le droit: %s" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "Liste des contrôle d'accès pour: %s" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "Permissions disponibles" -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "Permissions autorisées" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "Permission du rôle \"%(role)s\" pour \"%(object)s\"@" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "La désactivation de permission est hérité de l'objet parent" @@ -199,8 +227,10 @@ msgstr "La désactivation de permission est hérité de l'objet parent" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -223,8 +253,5 @@ msgstr "La désactivation de permission est hérité de l'objet parent" #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/hu/LC_MESSAGES/django.po b/mayan/apps/acls/locale/hu/LC_MESSAGES/django.po index 77708a7b47..238cd2fb69 100644 --- a/mayan/apps/acls/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/hu/LC_MESSAGES/django.po @@ -1,46 +1,45 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:32+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "ACL-ek" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "" @@ -52,13 +51,12 @@ msgstr "" msgid "Access entries" msgstr "" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "Semmi" @@ -74,36 +72,66 @@ msgstr "" msgid "View ACLs" msgstr "" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "" -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "" @@ -198,8 +226,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -222,8 +252,5 @@ msgstr "" #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/id/LC_MESSAGES/django.po b/mayan/apps/acls/locale/id/LC_MESSAGES/django.po index f1d098200f..4909a41691 100644 --- a/mayan/apps/acls/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/id/LC_MESSAGES/django.po @@ -1,46 +1,45 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:32+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "" @@ -52,13 +51,12 @@ msgstr "" msgid "Access entries" msgstr "" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "" @@ -74,36 +72,66 @@ msgstr "" msgid "View ACLs" msgstr "" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "" -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "" @@ -198,8 +226,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -222,8 +252,5 @@ msgstr "" #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/it/LC_MESSAGES/django.po b/mayan/apps/acls/locale/it/LC_MESSAGES/django.po index 1a1ce39e76..66d5c9d536 100644 --- a/mayan/apps/acls/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Marco Camplese , 2016 @@ -9,39 +9,38 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-30 21:18+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "ACLs" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "Permessi" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "Ruolo" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "Cancella" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "Nuova ACL" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "Accesso insufficiente." @@ -53,13 +52,12 @@ msgstr "Voce di accesso" msgid "Access entries" msgstr "Voci di accesso" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "Permessi \"%(permissions)s\" del ruolo \"%(role)s\" per \"%(object)s\"" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "Nessuna " @@ -75,36 +73,66 @@ msgstr "Modifica ACL" msgid "View ACLs" msgstr "Visualizza ACL" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "Nuova lista di controllo accesso per: %s" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "Cancella ACL: %s" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "Lista dei permessi d'accesso per: %s" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "Autorizzazioni disponibili " -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "Autorizzazioni concesse " -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "Permessi del ruolo \"%(role)s\" per \"%(object)s\"" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "Il permesso disabilita è ereditato dall'oggetto padre" @@ -199,8 +227,10 @@ msgstr "Il permesso disabilita è ereditato dall'oggetto padre" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -223,8 +253,5 @@ msgstr "Il permesso disabilita è ereditato dall'oggetto padre" #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/acls/locale/nl_NL/LC_MESSAGES/django.po index 93b9836dce..586c3a9cb0 100644 --- a/mayan/apps/acls/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -10,39 +10,38 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 12:43+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "Authorisatielijsten" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "Permissies" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "Gebruikersrol" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "Verwijder" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "Nieuwe authorisatielijst" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "Permissie is ontoereikend" @@ -54,13 +53,14 @@ msgstr "Authorisatie invoer" msgid "Access entries" msgstr "Authorisaties invoer" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" -msgstr "Permissies \"%(permissions)s\" voor gebruikersrol \"%(role)s\" voor \"%(object)s\"" +msgstr "" +"Permissies \"%(permissions)s\" voor gebruikersrol \"%(role)s\" voor " +"\"%(object)s\"" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "Geen" @@ -76,36 +76,66 @@ msgstr "Bewerk authorisatielijsten" msgid "View ACLs" msgstr "Bekijk authorisatielijsten" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "Nieuwe authorisatielijsten voor: %s" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "Verwijder authorisatielijst: %s" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "Authorisatielijsten voor: %s" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "Beschikbare permissies" -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "Toegekende permissies" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "Rol \"%(role)s\" permissies voor \"%(object)s\"" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "Uitgeschakelde permissies zijn geërfd van een parent object." @@ -200,8 +230,10 @@ msgstr "Uitgeschakelde permissies zijn geërfd van een parent object." #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -224,8 +256,5 @@ msgstr "Uitgeschakelde permissies zijn geërfd van een parent object." #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/pl/LC_MESSAGES/django.po b/mayan/apps/acls/locale/pl/LC_MESSAGES/django.po index 83be64cd16..19fa227a62 100644 --- a/mayan/apps/acls/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Wojtek Warczakowski , 2016 @@ -9,39 +9,39 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:32+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "Listy ACL" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "Uprawnienia" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "Rola" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "Usuń" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "Nowa lista ACL" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "Niewystarczający dostęp." @@ -53,13 +53,12 @@ msgstr "Zgłoszenie dostępu" msgid "Access entries" msgstr "Zgłoszenia dostępu" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "Brak" @@ -75,36 +74,66 @@ msgstr "Edytuj listy ACL" msgid "View ACLs" msgstr "Przeglądaj listy ACL" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "Nowe listy ACL dla: %s" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "Usuń listę ACL: %s" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "Listy ACL dla: %s" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "Dostępne uprawnienia" -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "Przyznane uprawnienia" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "Uprawnienia roli \"%(role)s\" dla obiektu \"%(object)s\"" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "Domyślne uprawnienia są dziedziczone z obiektu nadrzędnego." @@ -199,8 +228,10 @@ msgstr "Domyślne uprawnienia są dziedziczone z obiektu nadrzędnego." #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -223,8 +254,5 @@ msgstr "Domyślne uprawnienia są dziedziczone z obiektu nadrzędnego." #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/pt/LC_MESSAGES/django.po b/mayan/apps/acls/locale/pt/LC_MESSAGES/django.po index 97b4a0cef4..29b31cf1d6 100644 --- a/mayan/apps/acls/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/pt/LC_MESSAGES/django.po @@ -1,46 +1,45 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:32+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "ACL's" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "Permissões" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "Eliminar" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "Acesso insuficiente." @@ -52,13 +51,12 @@ msgstr "" msgid "Access entries" msgstr "" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "Nenhum" @@ -74,36 +72,66 @@ msgstr "Editar ACL's" msgid "View ACLs" msgstr "Ver ACL's" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "" -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "" @@ -198,8 +226,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -222,8 +252,5 @@ msgstr "" #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/acls/locale/pt_BR/LC_MESSAGES/django.po index 718565702a..930664fcc2 100644 --- a/mayan/apps/acls/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -9,39 +9,38 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-17 22:31+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "ACLs" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "Permissões" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "Regras" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "Excluir" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "Nova ACL" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "Acesso insuficiente." @@ -53,13 +52,13 @@ msgstr "Acesso entrada" msgid "Access entries" msgstr "Entradas de acesso" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" -msgstr "Permissões \"%(permissions)s\" do papel \"%(role)s\" para \"%(object)s\"" +msgstr "" +"Permissões \"%(permissions)s\" do papel \"%(role)s\" para \"%(object)s\"" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "Nenhum" @@ -75,36 +74,66 @@ msgstr "Editar ACLs" msgid "View ACLs" msgstr "Visualizar ACLs" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "Nova lista de controle de acesso para: %s" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "Apagar ACL: %s" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "listas de controle de acesso para: %s" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "Permissões disponíveis" -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "Permissões outorgadas" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "Permissões do papel \"%(role)s\" para \"%(object)s\"" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "As permissões inativas foram herdadas de um objeto precedente." @@ -199,8 +228,10 @@ msgstr "As permissões inativas foram herdadas de um objeto precedente." #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -223,8 +254,5 @@ msgstr "As permissões inativas foram herdadas de um objeto precedente." #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/acls/locale/ro_RO/LC_MESSAGES/django.po index 74e5cd928e..98c4d62790 100644 --- a/mayan/apps/acls/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/ro_RO/LC_MESSAGES/django.po @@ -1,46 +1,46 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:32+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "ACL-uri" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "Permisiuni" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "Șterge" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "Accesul insuficient." @@ -52,13 +52,12 @@ msgstr "" msgid "Access entries" msgstr "" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "Nici unul" @@ -74,36 +73,66 @@ msgstr "Editați ACL-uri" msgid "View ACLs" msgstr "Vezi ACL-uri" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "" -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "" @@ -198,8 +227,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -222,8 +253,5 @@ msgstr "" #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/ru/LC_MESSAGES/django.po b/mayan/apps/acls/locale/ru/LC_MESSAGES/django.po index b1b5a0d552..c85613bec7 100644 --- a/mayan/apps/acls/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -9,39 +9,40 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:32+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "СУДы" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "Разрешения" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "Роль" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "Удалить" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "Создать СУД" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "Неполный доступ." @@ -53,13 +54,12 @@ msgstr "Элемент доступа" msgid "Access entries" msgstr "Элементы доступа" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "Пусто" @@ -75,36 +75,66 @@ msgstr "Редактировать СУДы" msgid "View ACLs" msgstr "Просмотр СУДов" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "Новый СУД для: %s" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "Удалить СУД: %s" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "СУДы для: %s" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "Доступные разрешения" -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "Предоставленные разрешения" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "Права роли \"%(role)s\" для \"%(object)s\"" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "Отключенные права наследуются от родительского объекта." @@ -199,8 +229,10 @@ msgstr "Отключенные права наследуются от родит #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -223,8 +255,5 @@ msgstr "Отключенные права наследуются от родит #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/acls/locale/sl_SI/LC_MESSAGES/django.po index 336dac372c..85de866a6b 100644 --- a/mayan/apps/acls/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/sl_SI/LC_MESSAGES/django.po @@ -1,46 +1,46 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-17 08:58+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "Pravice" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "Pravice" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "Nezadosten dostop" @@ -52,13 +52,12 @@ msgstr "Vstopna točka" msgid "Access entries" msgstr "Vstopne točke" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "Brez" @@ -74,36 +73,66 @@ msgstr "Uredi dostopne pravice" msgid "View ACLs" msgstr "Preglej dostopne pravice" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "Dostopne pravice za %s" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "" -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "" @@ -198,8 +227,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -222,8 +253,5 @@ msgstr "" #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/acls/locale/vi_VN/LC_MESSAGES/django.po index 5ec9a916c8..771b217c19 100644 --- a/mayan/apps/acls/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/vi_VN/LC_MESSAGES/django.po @@ -1,46 +1,45 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:32+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "ACLs" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "" @@ -52,13 +51,12 @@ msgstr "" msgid "Access entries" msgstr "" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "None" @@ -74,36 +72,66 @@ msgstr "" msgid "View ACLs" msgstr "" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "" -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "" @@ -198,8 +226,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -222,8 +252,5 @@ msgstr "" #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/acls/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/acls/locale/zh_CN/LC_MESSAGES/django.po index 4e0ee1a149..fcda162809 100644 --- a/mayan/apps/acls/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/zh_CN/LC_MESSAGES/django.po @@ -1,46 +1,45 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:32+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:14 links.py:31 +#: apps.py:15 links.py:35 msgid "ACLs" msgstr "访问控制列表" -#: apps.py:22 links.py:40 models.py:36 +#: apps.py:25 links.py:44 models.py:36 msgid "Permissions" msgstr "权限" -#: apps.py:26 models.py:38 -#| msgid "Roles" +#: apps.py:29 models.py:38 msgid "Role" msgstr "" -#: links.py:27 +#: links.py:31 msgid "Delete" msgstr "" -#: links.py:35 -#| msgid "View ACLs" +#: links.py:39 msgid "New ACL" msgstr "" -#: managers.py:85 +#: managers.py:109 msgid "Insufficient access." msgstr "权限不足" @@ -52,13 +51,12 @@ msgstr "访问入口" msgid "Access entries" msgstr "多个访问入口" -#: models.py:48 +#: models.py:49 #, python-format -#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" -#: models.py:64 +#: models.py:66 msgid "None" msgstr "无" @@ -74,36 +72,66 @@ msgstr "编辑访问控制列表" msgid "View ACLs" msgstr "查看访问控制列表" -#: views.py:78 +#: serializers.py:24 serializers.py:132 +msgid "" +"API URL pointing to the list of permissions for this access control list." +msgstr "" + +#: serializers.py:57 +msgid "" +"API URL pointing to a permission in relation to the access control list to " +"which it is attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:87 +msgid "Primary key of the new permission to grant to the access control list." +msgstr "" + +#: serializers.py:111 serializers.py:187 +#, fuzzy, python-format +#| msgid "permission" +msgid "No such permission: %s" +msgstr "permission" + +#: serializers.py:126 +msgid "" +"Comma separated list of permission primary keys to grant to this access " +"control list." +msgstr "" + +#: serializers.py:138 +msgid "Primary keys of the role to which this access control list binds to." +msgstr "" + +#: views.py:73 #, python-format msgid "New access control lists for: %s" msgstr "" -#: views.py:109 +#: views.py:100 #, python-format -#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" -#: views.py:151 +#: views.py:138 #, python-format msgid "Access control lists for: %s" msgstr "" -#: views.py:162 +#: views.py:150 msgid "Available permissions" msgstr "" -#: views.py:163 +#: views.py:151 msgid "Granted permissions" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Role \"%(role)s\" permission's for \"%(object)s\"" msgstr "" -#: views.py:242 +#: views.py:226 msgid "Disabled permissions are inherited from a parent object." msgstr "" @@ -198,8 +226,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "" +#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" @@ -222,8 +252,5 @@ msgstr "" #~ msgid "List of classes" #~ msgstr "List of classes" -#~ msgid "permission" -#~ msgstr "permission" - #~ msgid "creator" #~ msgstr "creator" diff --git a/mayan/apps/appearance/locale/ar/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/ar/LC_MESSAGES/django.po index 97f92e9588..b18e245969 100644 --- a/mayan/apps/appearance/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/ar/LC_MESSAGES/django.po @@ -1,27 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "صلاحيات غير كافية" @@ -29,7 +31,7 @@ msgstr "صلاحيات غير كافية" msgid "You don't have enough permissions for this operation." msgstr "ليس لديك صلاحيات كافية لهذه العملية." -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "لم يتم العثور على الصفحة" @@ -37,14 +39,14 @@ msgstr "لم يتم العثور على الصفحة" msgid "Sorry, but the requested page could not be found." msgstr "عفواً، لا يمكن العثور على الصفحة المطلوبة." -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 @@ -53,7 +55,7 @@ msgid "" "identifier:" msgstr "" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "" @@ -66,47 +68,47 @@ msgstr "الاصدار" msgid "Build number: %(build_number)s" msgstr "" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "" -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "مجهول" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "تفاصيل المستخدم" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "الإجراءات" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "" @@ -124,6 +126,12 @@ msgstr "" msgid "Create" msgstr "انشاء" +#: templates/appearance/dashboard_widget.html:25 +#, fuzzy +#| msgid "User details" +msgid "View details" +msgstr "تفاصيل المستخدم" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -138,39 +146,39 @@ msgstr "تأكيد حذف" msgid "Delete: %(object)s?" msgstr "" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "نعم" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "لا" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "مطلوب" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "حفظ" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "ارسال" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "إلغاء" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "" @@ -187,34 +195,40 @@ msgstr "" msgid "Total: %(total)s" msgstr "" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "معرف" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "" -#: templates/appearance/home.html:57 -msgid "Space separated terms" -msgstr "" +#: templates/appearance/home.html:46 +#, fuzzy +#| msgid "Search" +msgid "Search pages" +msgstr "البحث" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "البحث" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "Login" @@ -227,7 +241,9 @@ msgstr "First time login" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "You have just finished installing Mayan EDMS, congratulations!" +msgstr "" +"You have just finished installing Mayan EDMS, " +"congratulations!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -252,9 +268,11 @@ msgstr "Password: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "Be sure to change the password to increase security and to disable this message." +msgstr "" +"Be sure to change the password to increase security and to disable this " +"message." -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "" diff --git a/mayan/apps/appearance/locale/bg/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/bg/LC_MESSAGES/django.po index 63259b1e47..172394db75 100644 --- a/mayan/apps/appearance/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/bg/LC_MESSAGES/django.po @@ -1,27 +1,28 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "" @@ -29,7 +30,7 @@ msgstr "" msgid "You don't have enough permissions for this operation." msgstr "" -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "Страницата не е намерена" @@ -37,14 +38,14 @@ msgstr "Страницата не е намерена" msgid "Sorry, but the requested page could not be found." msgstr "" -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 @@ -53,7 +54,7 @@ msgid "" "identifier:" msgstr "" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "" @@ -66,47 +67,47 @@ msgstr "Версия" msgid "Build number: %(build_number)s" msgstr "" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "" -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "Анонимен" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "Данни за потребител" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "Действия" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "" @@ -124,6 +125,12 @@ msgstr "" msgid "Create" msgstr "Създаване" +#: templates/appearance/dashboard_widget.html:25 +#, fuzzy +#| msgid "User details" +msgid "View details" +msgstr "Данни за потребител" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -138,39 +145,39 @@ msgstr "Потвърдете изтриване" msgid "Delete: %(object)s?" msgstr "" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "Да" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "Не" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "Запазване" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "Подаване" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "Отказ" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "" @@ -187,34 +194,40 @@ msgstr "" msgid "Total: %(total)s" msgstr "" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "Идентификатор" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "" -#: templates/appearance/home.html:57 -msgid "Space separated terms" -msgstr "" +#: templates/appearance/home.html:46 +#, fuzzy +#| msgid "Search" +msgid "Search pages" +msgstr "Търсене" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "Търсене" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "Влез" @@ -227,7 +240,8 @@ msgstr "Логване за първи път" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "Вие приключихте инсталирането на Mayan EDMS, поздравления!" +msgstr "" +"Вие приключихте инсталирането на Mayan EDMS, поздравления!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -252,9 +266,11 @@ msgstr "Парола: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "Моля променете паролата, за да повишите нивото на сигурност и да деактивирате това съобщение." +msgstr "" +"Моля променете паролата, за да повишите нивото на сигурност и да " +"деактивирате това съобщение." -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "" diff --git a/mayan/apps/appearance/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/bs_BA/LC_MESSAGES/django.po index 7121197157..d12f61541e 100644 --- a/mayan/apps/appearance/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/bs_BA/LC_MESSAGES/django.po @@ -1,27 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "Nedovoljno dozvola" @@ -29,7 +31,7 @@ msgstr "Nedovoljno dozvola" msgid "You don't have enough permissions for this operation." msgstr "Nemate odgovarajuca prava za ovu operaciju." -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "Stranica nije pronađena" @@ -37,14 +39,14 @@ msgstr "Stranica nije pronađena" msgid "Sorry, but the requested page could not be found." msgstr "Žao nam je, ali tražena stranica ne može biti pronađena." -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 @@ -53,7 +55,7 @@ msgid "" "identifier:" msgstr "" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "" @@ -66,47 +68,47 @@ msgstr "Verzija" msgid "Build number: %(build_number)s" msgstr "" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "" -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "Anonimni" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "Detalji o korisniku" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "Akcije" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "" @@ -124,6 +126,12 @@ msgstr "" msgid "Create" msgstr "Kreirati" +#: templates/appearance/dashboard_widget.html:25 +#, fuzzy +#| msgid "User details" +msgid "View details" +msgstr "Detalji o korisniku" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -138,39 +146,39 @@ msgstr "Potvrditi brisanje" msgid "Delete: %(object)s?" msgstr "" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "Da" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "Ne" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "potrebno" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "Sačuvati" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "Podnijeti" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "Otkazati" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "" @@ -187,34 +195,40 @@ msgstr "" msgid "Total: %(total)s" msgstr "" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "Identifikator" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "" -#: templates/appearance/home.html:57 -msgid "Space separated terms" -msgstr "" +#: templates/appearance/home.html:46 +#, fuzzy +#| msgid "Search" +msgid "Search pages" +msgstr "Pretraga" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "Pretraga" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "Prijava" @@ -227,7 +241,8 @@ msgstr "Prijava - prvi put" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "Upravo ste završili instalaciju Mayan EDMS, čestitamo!" +msgstr "" +"Upravo ste završili instalaciju Mayan EDMS, čestitamo!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -252,9 +267,11 @@ msgstr "Pasvord: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "Ne zaboravite promijeniti pasvord da pojačate sigurnost i onemogućite dalje prikazivanje ove poruke." +msgstr "" +"Ne zaboravite promijeniti pasvord da pojačate sigurnost i onemogućite dalje " +"prikazivanje ove poruke." -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "" diff --git a/mayan/apps/appearance/locale/da/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/da/LC_MESSAGES/django.po index 96cb58ceb2..314ff2800d 100644 --- a/mayan/apps/appearance/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/da/LC_MESSAGES/django.po @@ -1,27 +1,28 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "" @@ -29,7 +30,7 @@ msgstr "" msgid "You don't have enough permissions for this operation." msgstr "" -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "" @@ -37,14 +38,14 @@ msgstr "" msgid "Sorry, but the requested page could not be found." msgstr "" -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 @@ -53,7 +54,7 @@ msgid "" "identifier:" msgstr "" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "" @@ -66,47 +67,47 @@ msgstr "Version" msgid "Build number: %(build_number)s" msgstr "" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "" -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "Anonym" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "Bruger detaljer" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "Handlinger" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "" @@ -124,6 +125,12 @@ msgstr "" msgid "Create" msgstr "" +#: templates/appearance/dashboard_widget.html:25 +#, fuzzy +#| msgid "User details" +msgid "View details" +msgstr "Bruger detaljer" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -138,39 +145,39 @@ msgstr "" msgid "Delete: %(object)s?" msgstr "" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "" @@ -187,34 +194,38 @@ msgstr "" msgid "Total: %(total)s" msgstr "" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "" -#: templates/appearance/home.html:57 -msgid "Space separated terms" +#: templates/appearance/home.html:46 +msgid "Search pages" msgstr "" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "Log ind" @@ -254,7 +265,7 @@ msgid "" "message." msgstr "" -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "" diff --git a/mayan/apps/appearance/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/de_DE/LC_MESSAGES/django.po index 3af714c734..8aed35bc41 100644 --- a/mayan/apps/appearance/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/de_DE/LC_MESSAGES/django.po @@ -1,28 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Berny , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "Erscheinungsbild" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "Unzureichende Berechtigungen" @@ -30,7 +31,7 @@ msgstr "Unzureichende Berechtigungen" msgid "You don't have enough permissions for this operation." msgstr "Sie haben unzureichende Berechtigungen für diesen Vorgang." -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "Seite nicht gefunden" @@ -38,23 +39,27 @@ msgstr "Seite nicht gefunden" msgid "Sorry, but the requested page could not be found." msgstr "Die angeforderte Seite konnte leider nicht gefunden werden" -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "Serverfehler" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." -msgstr "Es kam zu einem Fehler. Der Fehler wurde per E-Mail and die Administratoren gemeldet und sollte bald behoben werden. Vielen Dank für Ihre Geduld." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "" +"Es kam zu einem Fehler. Der Fehler wurde per E-Mail and die Administratoren " +"gemeldet und sollte bald behoben werden. Vielen Dank für Ihre Geduld." #: templates/500.html:14 msgid "" "If you need assistance, you may reference this error via the following " "identifier:" -msgstr "Wenn Sie Hilfe brauchen, können Sie den Fehler über folgende Kennung referenzieren: " +msgstr "" +"Wenn Sie Hilfe brauchen, können Sie den Fehler über folgende Kennung " +"referenzieren: " -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "Über" @@ -67,47 +72,47 @@ msgstr "Version" msgid "Build number: %(build_number)s" msgstr "Build Nummer: %(build_number)s" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "Veröffentlicht unter der Apache 2.0 Lizenz" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "Copyright © 2011-2015 Roberto Rosario." -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "Navigation ein-/ausschalten" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "Anonymer Benutzer" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "Benutzerdetails" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "Erfolg" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "Information" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "Warnung" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "Fehler" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "Aktionen" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "Ausklappmenü ein-/ausschalten" @@ -125,6 +130,12 @@ msgstr "%(object)s bearbeiten" msgid "Create" msgstr "Erstellen" +#: templates/appearance/dashboard_widget.html:25 +#, fuzzy +#| msgid "User details" +msgid "View details" +msgstr "Benutzerdetails" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -139,39 +150,39 @@ msgstr "Löschen bestätigen" msgid "Delete: %(object)s?" msgstr "%(object)s löschen?" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "Ja" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "Nein" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "erforderlich" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "Speichern" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "Absenden" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "Abbrechen" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "Kein Ergebnis" @@ -180,7 +191,9 @@ msgstr "Kein Ergebnis" msgid "" "Total (%(start)s - %(end)s out of %(total)s) (Page %(page_number)s of " "%(total_pages)s)" -msgstr "Gesamt (%(start)s - %(end)s von %(total)s) (Seite %(page_number)s von %(total_pages)s)" +msgstr "" +"Gesamt (%(start)s - %(end)s von %(total)s) (Seite %(page_number)s von " +"%(total_pages)s)" #: templates/appearance/generic_list_subtemplate.html:14 #: templates/appearance/generic_list_subtemplate.html:17 @@ -188,34 +201,40 @@ msgstr "Gesamt (%(start)s - %(end)s von %(total)s) (Seite %(page_number)s von %( msgid "Total: %(total)s" msgstr "Gesamt: %(total)s" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "Bezeichner" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" -msgstr "Start" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" +msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "Erste Schritte" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "Bevor Mayan EDMS voll genutzt werden kann, muss folgendes passieren:" -#: templates/appearance/home.html:57 -msgid "Space separated terms" -msgstr "Begriffe durch Leerzeichen getrennt" +#: templates/appearance/home.html:46 +#, fuzzy +#| msgid "Search" +msgid "Search pages" +msgstr "Suche" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "Suche" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "Erweitert" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "Login" @@ -228,7 +247,9 @@ msgstr "Erstanmeldung" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "Herzlichen Glückwunsch! Sie haben die Installation von Mayan EDMS erfolgreich abgeschlossen. " +msgstr "" +"Herzlichen Glückwunsch! Sie haben die Installation von Mayan EDMS erfolgreich abgeschlossen. " #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -253,12 +274,20 @@ msgstr "Passwort: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "Bitte ändern Sie das Passwort, um die Sicherheit zu erhöhen und diese Nachricht zu deaktivieren." +msgstr "" +"Bitte ändern Sie das Passwort, um die Sicherheit zu erhöhen und diese " +"Nachricht zu deaktivieren." -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "Anmelden" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Keine" + +#~ msgid "Home" +#~ msgstr "Start" + +#~ msgid "Space separated terms" +#~ msgstr "Begriffe durch Leerzeichen getrennt" diff --git a/mayan/apps/appearance/locale/en/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/en/LC_MESSAGES/django.po index 48ee2e6dd8..3494af8d5c 100644 --- a/mayan/apps/appearance/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,11 +17,11 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "" @@ -29,7 +29,7 @@ msgstr "" msgid "You don't have enough permissions for this operation." msgstr "" -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "" @@ -37,7 +37,7 @@ msgstr "" msgid "Sorry, but the requested page could not be found." msgstr "" -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "" @@ -53,7 +53,7 @@ msgid "" "identifier:" msgstr "" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "" @@ -66,47 +66,47 @@ msgstr "" msgid "Build number: %(build_number)s" msgstr "" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "" -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "" @@ -124,6 +124,10 @@ msgstr "" msgid "Create" msgstr "" +#: templates/appearance/dashboard_widget.html:25 +msgid "View details" +msgstr "" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -138,39 +142,39 @@ msgstr "" msgid "Delete: %(object)s?" msgstr "" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "" @@ -187,34 +191,38 @@ msgstr "" msgid "Total: %(total)s" msgstr "" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "" -#: templates/appearance/home.html:57 -msgid "Space separated terms" +#: templates/appearance/home.html:46 +msgid "Search pages" msgstr "" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "" @@ -254,7 +262,7 @@ msgid "" "message." msgstr "" -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "" diff --git a/mayan/apps/appearance/locale/es/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/es/LC_MESSAGES/django.po index c98b7266bd..4f8bd7217f 100644 --- a/mayan/apps/appearance/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/es/LC_MESSAGES/django.po @@ -1,28 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Roberto Rosario, 2015-2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:41+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "Apariencia" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "Permisos insuficientes" @@ -30,7 +31,7 @@ msgstr "Permisos insuficientes" msgid "You don't have enough permissions for this operation." msgstr "No tienes suficientes permisos para esta operación" -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "Página no encontrada" @@ -38,15 +39,17 @@ msgstr "Página no encontrada" msgid "Sorry, but the requested page could not be found." msgstr "Lo sentimos, la página solicitada no pudo ser encontrada" -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "Error de servidor" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." -msgstr "Ha habido un error. Se ha informado a los administradores del sitio vía e-mail y debería corregirse en breve. Gracias por su paciencia." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "" +"Ha habido un error. Se ha informado a los administradores del sitio vía e-" +"mail y debería corregirse en breve. Gracias por su paciencia." #: templates/500.html:14 msgid "" @@ -54,7 +57,7 @@ msgid "" "identifier:" msgstr "" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "Sobre" @@ -67,47 +70,47 @@ msgstr "Versión" msgid "Build number: %(build_number)s" msgstr "Número de compilación: %(build_number)s" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "Liberado bajo la licencia Apache 2.0 License" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "Todos los derechos reservados © 2011-2015 Roberto Rosario." -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "Activar/Desactivar navegación" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "Anónimo" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "Detalles del usuario" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "Exitoso" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "Información" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "Advertencia" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "Error" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "Acciones" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "Alternar desplegable" @@ -125,6 +128,12 @@ msgstr "Editar: %(object)s" msgid "Create" msgstr "Crear" +#: templates/appearance/dashboard_widget.html:25 +#, fuzzy +#| msgid "User details" +msgid "View details" +msgstr "Detalles del usuario" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -139,39 +148,39 @@ msgstr "Confirmar eliminación" msgid "Delete: %(object)s?" msgstr "¿Borrar: %(object)s?" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "Sí" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "No" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "requerido" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "Guardar" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "Enviar" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "Cancelar" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "Ningún resultado" @@ -180,7 +189,9 @@ msgstr "Ningún resultado" msgid "" "Total (%(start)s - %(end)s out of %(total)s) (Page %(page_number)s of " "%(total_pages)s)" -msgstr "Total (%(start)s - %(end)s de %(total)s) (Página %(page_number)s de %(total_pages)s)" +msgstr "" +"Total (%(start)s - %(end)s de %(total)s) (Página %(page_number)s de " +"%(total_pages)s)" #: templates/appearance/generic_list_subtemplate.html:14 #: templates/appearance/generic_list_subtemplate.html:17 @@ -188,34 +199,40 @@ msgstr "Total (%(start)s - %(end)s de %(total)s) (Página %(page_number)s de %(t msgid "Total: %(total)s" msgstr "Total: %(total)s" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "Identificador" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" -msgstr "inicio" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" +msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "Iniciando" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "Antes de comenzar a utilizar Mayan EDMS usted necesita lo siguiente:" -#: templates/appearance/home.html:57 -msgid "Space separated terms" -msgstr "Términos separados por espacios" +#: templates/appearance/home.html:46 +#, fuzzy +#| msgid "Search" +msgid "Search pages" +msgstr "Búsqueda" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "Búsqueda" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "Avanzada" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "Iniciar sesión" @@ -228,7 +245,8 @@ msgstr "Primer inicio de sesión" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "!Felicitaciones! Acaba de terminar de instalar Mayan EDMS" +msgstr "" +"!Felicitaciones! Acaba de terminar de instalar Mayan EDMS" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -253,12 +271,20 @@ msgstr "Contraseña: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "Asegúrese de cambiar su contraseña para aumentar la seguridad y para desactivar este mensaje" +msgstr "" +"Asegúrese de cambiar su contraseña para aumentar la seguridad y para " +"desactivar este mensaje" -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "Entrar" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Ninguno" + +#~ msgid "Home" +#~ msgstr "inicio" + +#~ msgid "Space separated terms" +#~ msgstr "Términos separados por espacios" diff --git a/mayan/apps/appearance/locale/fa/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/fa/LC_MESSAGES/django.po index 2d6241282f..b3d732f31b 100644 --- a/mayan/apps/appearance/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/fa/LC_MESSAGES/django.po @@ -1,27 +1,28 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "مجوز ناکافی" @@ -29,7 +30,7 @@ msgstr "مجوز ناکافی" msgid "You don't have enough permissions for this operation." msgstr "مجوزهای لازم برای انجام این عملیات را ندارید." -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "صفحه پیدا نشد." @@ -37,14 +38,14 @@ msgstr "صفحه پیدا نشد." msgid "Sorry, but the requested page could not be found." msgstr "متاسفانه صفحه درخواستی پیدا نشد." -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 @@ -53,7 +54,7 @@ msgid "" "identifier:" msgstr "" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "درباره" @@ -66,47 +67,47 @@ msgstr "نسخه" msgid "Build number: %(build_number)s" msgstr "" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "تحت لیسانس Apache 2.0" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "کپی رایت و کپی" -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "ناشناس" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "جزئیات کاربر" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "عملیات" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "" @@ -124,6 +125,12 @@ msgstr "ویرایش : %(object)s" msgid "Create" msgstr "ایجاد" +#: templates/appearance/dashboard_widget.html:25 +#, fuzzy +#| msgid "User details" +msgid "View details" +msgstr "جزئیات کاربر" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -138,39 +145,39 @@ msgstr "تائید حذف" msgid "Delete: %(object)s?" msgstr "" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "بلی" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "خیر" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "الزامی" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "ذخیره" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "ارسال" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "لغو" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "بی جواب و یا بی جواب" @@ -187,34 +194,40 @@ msgstr "" msgid "Total: %(total)s" msgstr "" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "مشخصه Identifier" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" -msgstr "خانه" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" +msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "" -#: templates/appearance/home.html:57 -msgid "Space separated terms" -msgstr "عبارات جداکننده فضا" +#: templates/appearance/home.html:46 +#, fuzzy +#| msgid "Search" +msgid "Search pages" +msgstr "جستجو" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "جستجو" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "لاگین" @@ -227,7 +240,9 @@ msgstr "دفعه اول لاگین " msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "You have just finished installing Mayan EDMS, congratulations!" +msgstr "" +"You have just finished installing Mayan EDMS, " +"congratulations!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -254,10 +269,16 @@ msgid "" "message." msgstr "برای امنیت بیشتر پسورد خود را تغییر دهید" -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "هیچکدام." + +#~ msgid "Home" +#~ msgstr "خانه" + +#~ msgid "Space separated terms" +#~ msgstr "عبارات جداکننده فضا" diff --git a/mayan/apps/appearance/locale/fr/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/fr/LC_MESSAGES/django.po index 229486e259..064a146a58 100644 --- a/mayan/apps/appearance/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/fr/LC_MESSAGES/django.po @@ -1,28 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Thierry Schott , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Thierry Schott \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "Apparence" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "Droits insuffisants" @@ -30,7 +31,7 @@ msgstr "Droits insuffisants" msgid "You don't have enough permissions for this operation." msgstr "Vous n'avez pas les permissions requises pour cette opération." -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "Page non trouvée" @@ -38,23 +39,28 @@ msgstr "Page non trouvée" msgid "Sorry, but the requested page could not be found." msgstr "Désolé, la page demandée n'a pu être trouvée." -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "Erreur du serveur" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." -msgstr "Une erreur vient de se produire. Elle a été signalée aux administrateurs du site par courriel et devrait être résolue rapidement. Merci de votre patience." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "" +"Une erreur vient de se produire. Elle a été signalée aux administrateurs du " +"site par courriel et devrait être résolue rapidement. Merci de votre " +"patience." #: templates/500.html:14 msgid "" "If you need assistance, you may reference this error via the following " "identifier:" -msgstr "Si vous avez besoin d'assistance, vous pouvez faire référence à cette erreur grâce à l'identifiant suivant :" +msgstr "" +"Si vous avez besoin d'assistance, vous pouvez faire référence à cette erreur " +"grâce à l'identifiant suivant :" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "A propos" @@ -67,47 +73,47 @@ msgstr "Version" msgid "Build number: %(build_number)s" msgstr "Numéro de build : %(build_number)s" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "Publié sous licence Apache 2.0" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "Copyright © 2011-2015 Roberto Rosario." -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "Activer la navigation" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "Anonyme" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "Détails de l'utilisateur" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "Succès de l'opération" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "Information" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "Alerte" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "Erreur" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "Actions" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "Activer la liste déroulante" @@ -125,6 +131,12 @@ msgstr "Modifie r: %(object)s" msgid "Create" msgstr "Créer" +#: templates/appearance/dashboard_widget.html:25 +#, fuzzy +#| msgid "User details" +msgid "View details" +msgstr "Détails de l'utilisateur" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -139,39 +151,39 @@ msgstr "Confirmer la suppression" msgid "Delete: %(object)s?" msgstr "Supprimer : %(object)s?" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "Oui" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "Non" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "Requis" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "Enregistrer" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "Soumettre" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "Annuler" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "Pas de résultats" @@ -180,7 +192,9 @@ msgstr "Pas de résultats" msgid "" "Total (%(start)s - %(end)s out of %(total)s) (Page %(page_number)s of " "%(total_pages)s)" -msgstr "Total (%(start)s - %(end)s surof %(total)s) (Page %(page_number)s sur %(total_pages)s)" +msgstr "" +"Total (%(start)s - %(end)s surof %(total)s) (Page %(page_number)s sur " +"%(total_pages)s)" #: templates/appearance/generic_list_subtemplate.html:14 #: templates/appearance/generic_list_subtemplate.html:17 @@ -188,34 +202,42 @@ msgstr "Total (%(start)s - %(end)s surof %(total)s) (Page %(page_number)s sur %( msgid "Total: %(total)s" msgstr "Total : %(total)s" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "Identifiant" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" -msgstr "Accueil" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" +msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "Démarrage" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" -msgstr "Avant d'utiliser pleinement Mayan EDMS, les éléments suivants sont nécessaires :" +msgstr "" +"Avant d'utiliser pleinement Mayan EDMS, les éléments suivants sont " +"nécessaires :" -#: templates/appearance/home.html:57 -msgid "Space separated terms" -msgstr "Termes séparés par des espaces" +#: templates/appearance/home.html:46 +#, fuzzy +#| msgid "Search" +msgid "Search pages" +msgstr "Recherche" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "Recherche" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "Avancé" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "Connexion" @@ -228,11 +250,14 @@ msgstr "Première connexion" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "Vous venez de finaliser l'installation de Mayan EDMS, félicitations!" +msgstr "" +"Vous venez de finaliser l'installation de Mayan EDMS, " +"félicitations!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" -msgstr "Connectez-vous en utilisant les informations d'identification suivantes :" +msgstr "" +"Connectez-vous en utilisant les informations d'identification suivantes :" #: templates/appearance/login.html:26 #, python-format @@ -253,12 +278,20 @@ msgstr "Mot de passe : %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "Assurez-vous de modifier votre mot de passe pour accroître la sécurité et pour ne plus avoir ce message." +msgstr "" +"Assurez-vous de modifier votre mot de passe pour accroître la sécurité et " +"pour ne plus avoir ce message." -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "Connexion" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Aucun" + +#~ msgid "Home" +#~ msgstr "Accueil" + +#~ msgid "Space separated terms" +#~ msgstr "Termes séparés par des espaces" diff --git a/mayan/apps/appearance/locale/hu/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/hu/LC_MESSAGES/django.po index 06fbd23627..ebd9004e3d 100644 --- a/mayan/apps/appearance/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/hu/LC_MESSAGES/django.po @@ -1,27 +1,28 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "" @@ -29,7 +30,7 @@ msgstr "" msgid "You don't have enough permissions for this operation." msgstr "" -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "" @@ -37,14 +38,14 @@ msgstr "" msgid "Sorry, but the requested page could not be found." msgstr "" -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 @@ -53,7 +54,7 @@ msgid "" "identifier:" msgstr "" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "" @@ -66,47 +67,47 @@ msgstr "Verzió" msgid "Build number: %(build_number)s" msgstr "" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "" -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "névtelen felhasználó" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "A felhasználó adatai" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "Műveletek" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "" @@ -124,6 +125,12 @@ msgstr "" msgid "Create" msgstr "" +#: templates/appearance/dashboard_widget.html:25 +#, fuzzy +#| msgid "User details" +msgid "View details" +msgstr "A felhasználó adatai" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -138,39 +145,39 @@ msgstr "" msgid "Delete: %(object)s?" msgstr "" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "" @@ -187,34 +194,40 @@ msgstr "" msgid "Total: %(total)s" msgstr "" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "" -#: templates/appearance/home.html:57 -msgid "Space separated terms" -msgstr "" +#: templates/appearance/home.html:46 +#, fuzzy +#| msgid "Search" +msgid "Search pages" +msgstr "Keresés" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "Keresés" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "Bejelentkezés" @@ -254,7 +267,7 @@ msgid "" "message." msgstr "" -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "" diff --git a/mayan/apps/appearance/locale/id/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/id/LC_MESSAGES/django.po index 3c79b46fc8..8f251ea849 100644 --- a/mayan/apps/appearance/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/id/LC_MESSAGES/django.po @@ -1,27 +1,28 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "" @@ -29,7 +30,7 @@ msgstr "" msgid "You don't have enough permissions for this operation." msgstr "" -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "" @@ -37,14 +38,14 @@ msgstr "" msgid "Sorry, but the requested page could not be found." msgstr "" -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 @@ -53,7 +54,7 @@ msgid "" "identifier:" msgstr "" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "Tentang" @@ -66,47 +67,47 @@ msgstr "" msgid "Build number: %(build_number)s" msgstr "" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "" -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "Profil lengkap pengguna" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "" @@ -124,6 +125,12 @@ msgstr "" msgid "Create" msgstr "" +#: templates/appearance/dashboard_widget.html:25 +#, fuzzy +#| msgid "User details" +msgid "View details" +msgstr "Profil lengkap pengguna" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -138,39 +145,39 @@ msgstr "" msgid "Delete: %(object)s?" msgstr "" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "" @@ -187,34 +194,38 @@ msgstr "" msgid "Total: %(total)s" msgstr "" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "" -#: templates/appearance/home.html:57 -msgid "Space separated terms" +#: templates/appearance/home.html:46 +msgid "Search pages" msgstr "" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "" @@ -254,7 +265,7 @@ msgid "" "message." msgstr "" -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "" diff --git a/mayan/apps/appearance/locale/it/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/it/LC_MESSAGES/django.po index 52c931c5b5..1b92e01fbc 100644 --- a/mayan/apps/appearance/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/it/LC_MESSAGES/django.po @@ -1,28 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Marco Camplese , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-09-24 10:35+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "Aspetto" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "Permessi insufficienti" @@ -30,7 +31,7 @@ msgstr "Permessi insufficienti" msgid "You don't have enough permissions for this operation." msgstr "Non hai i permessi per effettuare questa operazione." -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "Pagina non trovata" @@ -38,23 +39,27 @@ msgstr "Pagina non trovata" msgid "Sorry, but the requested page could not be found." msgstr "Scusa ma la pagina richiesta non è disponibile" -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "Errore del server" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." -msgstr "C'è stato un errore. Questo è stato riportato all'amministratore del sito via e-mail e dovrebbe essere risolto presto. Grazie per la pazienza.." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "" +"C'è stato un errore. Questo è stato riportato all'amministratore del sito " +"via e-mail e dovrebbe essere risolto presto. Grazie per la pazienza.." #: templates/500.html:14 msgid "" "If you need assistance, you may reference this error via the following " "identifier:" -msgstr "Se hai bisogno di assistenza, ti puoi riferire a questo errore con questo numero:" +msgstr "" +"Se hai bisogno di assistenza, ti puoi riferire a questo errore con questo " +"numero:" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "Informazioni" @@ -67,47 +72,47 @@ msgstr "Versione" msgid "Build number: %(build_number)s" msgstr "Build numbero: %(build_number)s" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "Rilasciato sotto la licenza Apache 2.0" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "Copyright © 2011-2015 Roberto Rosario." -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "Cambia navigazione" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "Anonimo" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "Dettagli utente" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "Riuscito" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "Informazione" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "Attenzione" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "Errore" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "Azioni " -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "Apri dropdown" @@ -125,6 +130,12 @@ msgstr "Modifica: %(object)s" msgid "Create" msgstr "Crea" +#: templates/appearance/dashboard_widget.html:25 +#, fuzzy +#| msgid "User details" +msgid "View details" +msgstr "Dettagli utente" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -139,39 +150,39 @@ msgstr "Conferma la cancellazione" msgid "Delete: %(object)s?" msgstr "Cancella: %(object)s?" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "Si" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "No" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "richiesto" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "Salva" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "Conferma" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "Annullare" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "Nessun risultato" @@ -180,7 +191,9 @@ msgstr "Nessun risultato" msgid "" "Total (%(start)s - %(end)s out of %(total)s) (Page %(page_number)s of " "%(total_pages)s)" -msgstr "Totale (%(start)s - %(end)s di %(total)s) (Pagina %(page_number)s di %(total_pages)s)" +msgstr "" +"Totale (%(start)s - %(end)s di %(total)s) (Pagina %(page_number)s di " +"%(total_pages)s)" #: templates/appearance/generic_list_subtemplate.html:14 #: templates/appearance/generic_list_subtemplate.html:17 @@ -188,34 +201,40 @@ msgstr "Totale (%(start)s - %(end)s di %(total)s) (Pagina %(page_number)s di %(t msgid "Total: %(total)s" msgstr "Totale: %(total)s" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "Identificatore" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" -msgstr "Home" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" +msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "Iniziare" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "Prima di usare completamente Mayan EDMS hai bisogno di:" -#: templates/appearance/home.html:57 -msgid "Space separated terms" -msgstr "Parole separate da spazi" +#: templates/appearance/home.html:46 +#, fuzzy +#| msgid "Search" +msgid "Search pages" +msgstr "Cerca" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "Cerca" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "Avanzato" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "Login" @@ -253,12 +272,20 @@ msgstr "Password: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "Ricordati di cambiare la password per aumentare la sicurezza e disabilitare questo messaggio." +msgstr "" +"Ricordati di cambiare la password per aumentare la sicurezza e disabilitare " +"questo messaggio." -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "Accedi" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Nessuna " + +#~ msgid "Home" +#~ msgstr "Home" + +#~ msgid "Space separated terms" +#~ msgstr "Parole separate da spazi" diff --git a/mayan/apps/appearance/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/nl_NL/LC_MESSAGES/django.po index 273d18e733..45685e4d55 100644 --- a/mayan/apps/appearance/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/nl_NL/LC_MESSAGES/django.po @@ -1,28 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Justin Albstbstmeijer , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Justin Albstbstmeijer \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "Uiterlijk" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "Permissies zijn ontoereikend" @@ -30,7 +31,7 @@ msgstr "Permissies zijn ontoereikend" msgid "You don't have enough permissions for this operation." msgstr "U heeft niet genoeg permissies voor deze operatie." -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "Pagina niet gevonden" @@ -38,23 +39,28 @@ msgstr "Pagina niet gevonden" msgid "Sorry, but the requested page could not be found." msgstr "Excuses, maar de opgevraagde pagina kan niet worden gevonden." -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "Server fout" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." -msgstr "Er heeft een fout plaatsgevonden. Dit is gerapporteerd via email aan de beheerders van deze site en zou snel verholpen moeten worden. Bedankt voor uw geduld." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "" +"Er heeft een fout plaatsgevonden. Dit is gerapporteerd via email aan de " +"beheerders van deze site en zou snel verholpen moeten worden. Bedankt voor " +"uw geduld." #: templates/500.html:14 msgid "" "If you need assistance, you may reference this error via the following " "identifier:" -msgstr "Als u hulp nodig heeft, kunt u naar deze fout refereren via de volgende identifier:" +msgstr "" +"Als u hulp nodig heeft, kunt u naar deze fout refereren via de volgende " +"identifier:" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "Informatie" @@ -67,47 +73,47 @@ msgstr "Versie" msgid "Build number: %(build_number)s" msgstr "Build nummer: %(build_number)s" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "Vrijgegeven onder de Apache 2.0 licentie" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "Copyright © 2011-2015 Roberto Rosario." -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "Toggle navigatie" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "Anoniem" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "gebruiker gegevens" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "Succes" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "Informatie" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "Waarschuwing" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "Fout" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "Acties" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "Toggle Dropdown" @@ -125,6 +131,12 @@ msgstr "Aanpassen: %(object)s" msgid "Create" msgstr "Maak aan" +#: templates/appearance/dashboard_widget.html:25 +#, fuzzy +#| msgid "User details" +msgid "View details" +msgstr "gebruiker gegevens" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -139,39 +151,39 @@ msgstr "Bevestig verwijdering" msgid "Delete: %(object)s?" msgstr "Verwijder: %(object)s?" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "Ja" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "Nee" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "Verplicht" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "Opslaan" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "Verstuur" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "Onderbreek" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "Geen resultaten" @@ -180,7 +192,9 @@ msgstr "Geen resultaten" msgid "" "Total (%(start)s - %(end)s out of %(total)s) (Page %(page_number)s of " "%(total_pages)s)" -msgstr "Totaal (%(start)s - %(end)s van %(total)s) (Pagina %(page_number)s van %(total_pages)s)" +msgstr "" +"Totaal (%(start)s - %(end)s van %(total)s) (Pagina %(page_number)s van " +"%(total_pages)s)" #: templates/appearance/generic_list_subtemplate.html:14 #: templates/appearance/generic_list_subtemplate.html:17 @@ -188,34 +202,42 @@ msgstr "Totaal (%(start)s - %(end)s van %(total)s) (Pagina %(page_number)s van % msgid "Total: %(total)s" msgstr "Totaal: %(total)s" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "Identifier" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" -msgstr "Thuis" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" +msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "Beginnen" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" -msgstr "Voordat u volledig gebruik kunt maken van Mayan EDMS heeft u het volgende nodig:" +msgstr "" +"Voordat u volledig gebruik kunt maken van Mayan EDMS heeft u het volgende " +"nodig:" -#: templates/appearance/home.html:57 -msgid "Space separated terms" -msgstr "Door spatie onderbroken voorwaarden" +#: templates/appearance/home.html:46 +#, fuzzy +#| msgid "Search" +msgid "Search pages" +msgstr "Zoek" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "Zoek" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "Geavanceerd" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "Aanmelden" @@ -228,7 +250,8 @@ msgstr "Eerste aanmelding" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "U heeft de installatie volbracht Mayan EDMS, gefeliciteerd!" +msgstr "" +"U heeft de installatie volbracht Mayan EDMS, gefeliciteerd!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -253,12 +276,20 @@ msgstr "Wachtwoord: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "Pas het wachtwoord aan om de beveiliging te verbeteren en om deze melding uit te schakelen." +msgstr "" +"Pas het wachtwoord aan om de beveiliging te verbeteren en om deze melding " +"uit te schakelen." -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "Meld u aan" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Geen" + +#~ msgid "Home" +#~ msgstr "Thuis" + +#~ msgid "Space separated terms" +#~ msgstr "Door spatie onderbroken voorwaarden" diff --git a/mayan/apps/appearance/locale/pl/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/pl/LC_MESSAGES/django.po index cd6198e81a..096d16e39e 100644 --- a/mayan/apps/appearance/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Wojtek Warczakowski , 2016 # Wojtek Warczakowski , 2016 @@ -9,21 +9,23 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Wojtek Warczakowski \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "Wygląd" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "Niewystarczające uprawnienia" @@ -31,7 +33,7 @@ msgstr "Niewystarczające uprawnienia" msgid "You don't have enough permissions for this operation." msgstr "Nie masz wystarczających uprawnień do tej operacji." -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "Nie znaleziono strony" @@ -39,23 +41,27 @@ msgstr "Nie znaleziono strony" msgid "Sorry, but the requested page could not be found." msgstr "Przepraszamy, ale żądana strona nie została znaleziona." -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "Błąd serwera" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." -msgstr "Wystąpił błąd. Wiadomość o tym została przekazana do administratorów i wkrótce problem zostanie rozwiązany. Dziękujemy za cierpliwość." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "" +"Wystąpił błąd. Wiadomość o tym została przekazana do administratorów i " +"wkrótce problem zostanie rozwiązany. Dziękujemy za cierpliwość." #: templates/500.html:14 msgid "" "If you need assistance, you may reference this error via the following " "identifier:" -msgstr "Jeśli potrzebujesz pomocy, możesz odwołać się do tego błędu poprzez następujący identyfikator:" +msgstr "" +"Jeśli potrzebujesz pomocy, możesz odwołać się do tego błędu poprzez " +"następujący identyfikator:" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "Informacje" @@ -68,47 +74,47 @@ msgstr "Wersja" msgid "Build number: %(build_number)s" msgstr "Numer wersji: %(build_number)s" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "Wydano na licencji Apache 2.0 License" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "Prawa autorskie © 2011-2015 Roberto Rosario." -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "Rozwiń nawigację" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "Anonimowy" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "Dane użytkownika" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "Sukces" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "Informacja" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "Ostrzeżenie" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "Błąd" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "Akcje" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "Rozwiń listę" @@ -126,6 +132,12 @@ msgstr "Edytuj: %(object)s" msgid "Create" msgstr "Utwórz" +#: templates/appearance/dashboard_widget.html:25 +#, fuzzy +#| msgid "User details" +msgid "View details" +msgstr "Dane użytkownika" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -140,39 +152,39 @@ msgstr "Potwierdź usunięcie" msgid "Delete: %(object)s?" msgstr "Usunąć: %(object)s?" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "Tak" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "Nie" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "wymagane" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "Zapisz" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "Wykonaj" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "Anuluj" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "Brak wyników" @@ -181,7 +193,9 @@ msgstr "Brak wyników" msgid "" "Total (%(start)s - %(end)s out of %(total)s) (Page %(page_number)s of " "%(total_pages)s)" -msgstr "Razem (%(start)s - %(end)s z %(total)s) (Strona %(page_number)s z %(total_pages)s)" +msgstr "" +"Razem (%(start)s - %(end)s z %(total)s) (Strona %(page_number)s z " +"%(total_pages)s)" #: templates/appearance/generic_list_subtemplate.html:14 #: templates/appearance/generic_list_subtemplate.html:17 @@ -189,34 +203,40 @@ msgstr "Razem (%(start)s - %(end)s z %(total)s) (Strona %(page_number)s z %(tota msgid "Total: %(total)s" msgstr "Razem: %(total)s" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "Identyfikator" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" -msgstr "Strona główna" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" +msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "Rozpoczynamy" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "Zanim w pełni zaczniesz używać Mayan EDMS musisz:" -#: templates/appearance/home.html:57 -msgid "Space separated terms" -msgstr "Słowa rozdzielone spacjami" +#: templates/appearance/home.html:46 +#, fuzzy +#| msgid "Search" +msgid "Search pages" +msgstr "Szukaj" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "Szukaj" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "Zaawansowane" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "Logowanie" @@ -254,12 +274,20 @@ msgstr "Hasło: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "Aby poprawić bezpieczeństwo i usunąć ten komunikat, nie zapomnij zmienić hasła." +msgstr "" +"Aby poprawić bezpieczeństwo i usunąć ten komunikat, nie zapomnij zmienić " +"hasła." -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "Zaloguj" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Brak" + +#~ msgid "Home" +#~ msgstr "Strona główna" + +#~ msgid "Space separated terms" +#~ msgstr "Słowa rozdzielone spacjami" diff --git a/mayan/apps/appearance/locale/pt/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/pt/LC_MESSAGES/django.po index f78cdfeeae..f24f4d29c8 100644 --- a/mayan/apps/appearance/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/pt/LC_MESSAGES/django.po @@ -1,27 +1,28 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "Permissões insuficientes" @@ -29,7 +30,7 @@ msgstr "Permissões insuficientes" msgid "You don't have enough permissions for this operation." msgstr "Não possui permissões suficientes para esta operação." -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "Página não encontrada" @@ -37,14 +38,14 @@ msgstr "Página não encontrada" msgid "Sorry, but the requested page could not be found." msgstr "Desculpe, mas a página solicitada não foi encontrada." -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 @@ -53,7 +54,7 @@ msgid "" "identifier:" msgstr "" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "" @@ -66,47 +67,47 @@ msgstr "Versão" msgid "Build number: %(build_number)s" msgstr "" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "" -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "Anónimo" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "Detalhes do utilizador" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "Ações" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "" @@ -124,6 +125,12 @@ msgstr "Editar: %(object)s" msgid "Create" msgstr "Criar" +#: templates/appearance/dashboard_widget.html:25 +#, fuzzy +#| msgid "User details" +msgid "View details" +msgstr "Detalhes do utilizador" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -138,39 +145,39 @@ msgstr "Confirmar eliminação" msgid "Delete: %(object)s?" msgstr "" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "Sim" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "Não" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "obrigatório" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "Guardar" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "Submeter" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "Cancelar" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "Sem resultados" @@ -187,34 +194,40 @@ msgstr "" msgid "Total: %(total)s" msgstr "" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "Identificador" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" -msgstr "início" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" +msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "" -#: templates/appearance/home.html:57 -msgid "Space separated terms" -msgstr "" +#: templates/appearance/home.html:46 +#, fuzzy +#| msgid "Search" +msgid "Search pages" +msgstr "Procurar" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "Procurar" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "Iniciar a sessão" @@ -252,12 +265,17 @@ msgstr "Senha: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "Certifique-se de que altera a senha para aumentar a segurança e que desativa esta mensagem." +msgstr "" +"Certifique-se de que altera a senha para aumentar a segurança e que desativa " +"esta mensagem." -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Nenhum" + +#~ msgid "Home" +#~ msgstr "início" diff --git a/mayan/apps/appearance/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/pt_BR/LC_MESSAGES/django.po index 8255aa7b29..be89ae3524 100644 --- a/mayan/apps/appearance/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/pt_BR/LC_MESSAGES/django.po @@ -1,28 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Aline Freitas , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-17 22:36+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "Aparência" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "Permissão insuficiente" @@ -30,7 +31,7 @@ msgstr "Permissão insuficiente" msgid "You don't have enough permissions for this operation." msgstr "Você não tem permissões suficientes para essa operação." -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "Página não encontrada" @@ -38,23 +39,27 @@ msgstr "Página não encontrada" msgid "Sorry, but the requested page could not be found." msgstr "Desculpe, mas a página solicitada não pôde ser encontrada." -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "Erro de servidor" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." -msgstr "Houve um erro. Os administradores da página foram informados por e-mail e deverão corrigir em breve. Obrigado pela paciência." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "" +"Houve um erro. Os administradores da página foram informados por e-mail e " +"deverão corrigir em breve. Obrigado pela paciência." #: templates/500.html:14 msgid "" "If you need assistance, you may reference this error via the following " "identifier:" -msgstr "Se você precisar de ajuda, você pode fazer referência a este erro através do seguinte identificador:" +msgstr "" +"Se você precisar de ajuda, você pode fazer referência a este erro através do " +"seguinte identificador:" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "Sobre" @@ -67,47 +72,47 @@ msgstr "Versão" msgid "Build number: %(build_number)s" msgstr "Número de compilação: %(build_number)s" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "Lançado sob a licença Apache 2.0" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "Todos os direitos reservados © 2011-2015 Roberto Rosario." -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "Ativar/desativar navegação" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "Anônimo" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "Detalhes do usuário" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "Sucesso" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "Informação" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "Advertência" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "Erro" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "Ações" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "Mostrar/esconder menu" @@ -125,6 +130,12 @@ msgstr "Editar: %(object)s" msgid "Create" msgstr "Criar" +#: templates/appearance/dashboard_widget.html:25 +#, fuzzy +#| msgid "User details" +msgid "View details" +msgstr "Detalhes do usuário" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -139,39 +150,39 @@ msgstr "Confirmar Exclusão" msgid "Delete: %(object)s?" msgstr "Excluir: %(object)s?" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "Sim" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "Não" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "requerido" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "Salvar" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "Enviar" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "Cancelar" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "Nenhum resultado" @@ -180,7 +191,9 @@ msgstr "Nenhum resultado" msgid "" "Total (%(start)s - %(end)s out of %(total)s) (Page %(page_number)s of " "%(total_pages)s)" -msgstr "Total (%(start)s - %(end)s de %(total)s) (Página %(page_number)s de %(total_pages)s)" +msgstr "" +"Total (%(start)s - %(end)s de %(total)s) (Página %(page_number)s de " +"%(total_pages)s)" #: templates/appearance/generic_list_subtemplate.html:14 #: templates/appearance/generic_list_subtemplate.html:17 @@ -188,34 +201,40 @@ msgstr "Total (%(start)s - %(end)s de %(total)s) (Página %(page_number)s de %(t msgid "Total: %(total)s" msgstr "Total: %(total)s" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "Identificador" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" -msgstr "Início" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" +msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "Iniciando" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "Antes de começar a usar Mayan EDMS você precisa do seguinte:" -#: templates/appearance/home.html:57 -msgid "Space separated terms" -msgstr "Termos de espaço separado" +#: templates/appearance/home.html:46 +#, fuzzy +#| msgid "Search" +msgid "Search pages" +msgstr "Pesquisa" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "Pesquisa" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "Avançada" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "Iniciar sessão" @@ -228,7 +247,8 @@ msgstr "Primeiro início de sessão" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "Você acaba de terminar de instalar Maia EDMS , parabéns!" +msgstr "" +"Você acaba de terminar de instalar Maia EDMS , parabéns!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -253,12 +273,20 @@ msgstr "Senha: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "Certifique-se de alterar a senha para aumentar a segurança e para desativar esta mensagem." +msgstr "" +"Certifique-se de alterar a senha para aumentar a segurança e para desativar " +"esta mensagem." -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "Entrar" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Nenhum" + +#~ msgid "Home" +#~ msgstr "Início" + +#~ msgid "Space separated terms" +#~ msgstr "Termos de espaço separado" diff --git a/mayan/apps/appearance/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/ro_RO/LC_MESSAGES/django.po index da6e701d83..eab1e7508b 100644 --- a/mayan/apps/appearance/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/ro_RO/LC_MESSAGES/django.po @@ -1,28 +1,30 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Stefaniu Criste , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-17 13:14+0000\n" "Last-Translator: Stefaniu Criste \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "permisiuni insuficiente" @@ -30,7 +32,7 @@ msgstr "permisiuni insuficiente" msgid "You don't have enough permissions for this operation." msgstr "Nu aveți permisiuni suficiente pentru această operație." -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "Pagina nu a fost gasită" @@ -38,14 +40,14 @@ msgstr "Pagina nu a fost gasită" msgid "Sorry, but the requested page could not be found." msgstr "Ne pare rău, dar pagina solicitată nu a putut fi găsit." -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 @@ -54,7 +56,7 @@ msgid "" "identifier:" msgstr "" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "Despre" @@ -67,47 +69,47 @@ msgstr "Versiune" msgid "Build number: %(build_number)s" msgstr "" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "" -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "anonim" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "detalii utilizator" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "Succes" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "Informație" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "Alertă" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "Eroare" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "Acţiuni" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "" @@ -125,6 +127,12 @@ msgstr "Modifică %(object)s" msgid "Create" msgstr "Creează" +#: templates/appearance/dashboard_widget.html:25 +#, fuzzy +#| msgid "User details" +msgid "View details" +msgstr "detalii utilizator" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -139,39 +147,39 @@ msgstr "Confirmă stergerea" msgid "Delete: %(object)s?" msgstr "" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "Da" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "Nu" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "necesar" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "salvează" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "Trimiteţi" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "Anulează" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "" @@ -188,34 +196,42 @@ msgstr "" msgid "Total: %(total)s" msgstr "" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "ID" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" -msgstr "Acasă" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" +msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "Să începem" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" -msgstr "Înainte de a putea utiliza Mayan EDMS în totalitate, trebuie sa faceți următoarele:" - -#: templates/appearance/home.html:57 -msgid "Space separated terms" msgstr "" +"Înainte de a putea utiliza Mayan EDMS în totalitate, trebuie sa faceți " +"următoarele:" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:46 +#, fuzzy +#| msgid "Search" +msgid "Search pages" +msgstr "Căută" + +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "Căută" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "Conectare" @@ -228,7 +244,8 @@ msgstr "Prima autentificare" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "Tocmai ați terminat de instalat Mayan EDMS, felicitări!" +msgstr "" +"Tocmai ați terminat de instalat Mayan EDMS, felicitări!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -253,12 +270,17 @@ msgstr "Parola: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "Asigurați-vă că pentru a schimba parola pentru a spori securitatea și pentru a dezactiva acest mesaj." +msgstr "" +"Asigurați-vă că pentru a schimba parola pentru a spori securitatea și pentru " +"a dezactiva acest mesaj." -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "Înscriere" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Nici unul" + +#~ msgid "Home" +#~ msgstr "Acasă" diff --git a/mayan/apps/appearance/locale/ru/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/ru/LC_MESSAGES/django.po index b3fcb7f110..b31bbfe5f5 100644 --- a/mayan/apps/appearance/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/ru/LC_MESSAGES/django.po @@ -1,28 +1,31 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # lilo.panic, 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-07-14 11:22+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "Внешний вид" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "Недостаточно прав" @@ -30,7 +33,7 @@ msgstr "Недостаточно прав" msgid "You don't have enough permissions for this operation." msgstr "У вас недостаточно прав для этой операции." -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "Страница не найдена" @@ -38,23 +41,27 @@ msgstr "Страница не найдена" msgid "Sorry, but the requested page could not be found." msgstr "Извините, но запрашиваемая страница не найдена." -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "Ошибка сервера" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." -msgstr "Тут какая-то ошибка. Её нужно сообщить администрации сайта по электронной почте, и она будет исправлена. Спасибо за терпение." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "" +"Тут какая-то ошибка. Её нужно сообщить администрации сайта по электронной " +"почте, и она будет исправлена. Спасибо за терпение." #: templates/500.html:14 msgid "" "If you need assistance, you may reference this error via the following " "identifier:" -msgstr "Если вам нужна помощь, вы можете сослаться на эту ошибку по следующему идентификатору:" +msgstr "" +"Если вам нужна помощь, вы можете сослаться на эту ошибку по следующему " +"идентификатору:" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "Инфо" @@ -67,47 +74,47 @@ msgstr "Версия" msgid "Build number: %(build_number)s" msgstr "Версия сборки: %(build_number)s" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "Выпущено под лицензией Apache 2.0" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "© 2011-2015 Roberto Rosario, все права защищены." -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "Переключение навигации" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "Анонимно" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "сведения о пользователе" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "Успех" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "Информация" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "Предупреждение" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "Ошибка" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "Действия" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "Переключение выпадающего списка" @@ -125,6 +132,12 @@ msgstr "Редактировать: %(object)s" msgid "Create" msgstr "Создать" +#: templates/appearance/dashboard_widget.html:25 +#, fuzzy +#| msgid "User details" +msgid "View details" +msgstr "сведения о пользователе" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -139,39 +152,39 @@ msgstr "Подтвердить удаление" msgid "Delete: %(object)s?" msgstr "Удалить: %(object)s?" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "Да" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "Нет" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "требуется" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "Сохранить" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "Подтвердить" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "Отменить" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "Нет результатов" @@ -180,7 +193,9 @@ msgstr "Нет результатов" msgid "" "Total (%(start)s - %(end)s out of %(total)s) (Page %(page_number)s of " "%(total_pages)s)" -msgstr "Всего (%(start)s - %(end)s из %(total)s) (Страница %(page_number)s из %(total_pages)s)" +msgstr "" +"Всего (%(start)s - %(end)s из %(total)s) (Страница %(page_number)s из " +"%(total_pages)s)" #: templates/appearance/generic_list_subtemplate.html:14 #: templates/appearance/generic_list_subtemplate.html:17 @@ -188,34 +203,42 @@ msgstr "Всего (%(start)s - %(end)s из %(total)s) (Страница %(page msgid "Total: %(total)s" msgstr "Всего: %(total)s" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "Идентификатор" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" -msgstr "Начало" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" +msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "Приступая к работе" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" -msgstr "Вам кое-что понадобится, прежде чем вы начнёте полноценно использовать Mayan EDMS:" +msgstr "" +"Вам кое-что понадобится, прежде чем вы начнёте полноценно использовать Mayan " +"EDMS:" -#: templates/appearance/home.html:57 -msgid "Space separated terms" -msgstr "Поисковые запросы через пробел" +#: templates/appearance/home.html:46 +#, fuzzy +#| msgid "Search" +msgid "Search pages" +msgstr "Поиск" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "Поиск" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "Дополнительно" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "Войти" @@ -228,7 +251,8 @@ msgstr "Первое время входа в систему" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "Вы только что закончили установку Mayan EDMS, поздравляем!" +msgstr "" +"Вы только что закончили установку Mayan EDMS, поздравляем!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -253,12 +277,20 @@ msgstr "Пароль: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "Обязательно измените пароль для повышения безопасности и отключения этого сообщения." +msgstr "" +"Обязательно измените пароль для повышения безопасности и отключения этого " +"сообщения." -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "Вход" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Ни один" + +#~ msgid "Home" +#~ msgstr "Начало" + +#~ msgid "Space separated terms" +#~ msgstr "Поисковые запросы через пробел" diff --git a/mayan/apps/appearance/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/sl_SI/LC_MESSAGES/django.po index bad58f7e75..2d2955b2cb 100644 --- a/mayan/apps/appearance/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/sl_SI/LC_MESSAGES/django.po @@ -1,27 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "" @@ -29,7 +31,7 @@ msgstr "" msgid "You don't have enough permissions for this operation." msgstr "" -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "" @@ -37,14 +39,14 @@ msgstr "" msgid "Sorry, but the requested page could not be found." msgstr "" -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 @@ -53,7 +55,7 @@ msgid "" "identifier:" msgstr "" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "" @@ -66,47 +68,47 @@ msgstr "" msgid "Build number: %(build_number)s" msgstr "" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "" -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "" @@ -124,6 +126,10 @@ msgstr "" msgid "Create" msgstr "" +#: templates/appearance/dashboard_widget.html:25 +msgid "View details" +msgstr "" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -138,39 +144,39 @@ msgstr "" msgid "Delete: %(object)s?" msgstr "" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "" @@ -187,34 +193,38 @@ msgstr "" msgid "Total: %(total)s" msgstr "" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "" -#: templates/appearance/home.html:57 -msgid "Space separated terms" +#: templates/appearance/home.html:46 +msgid "Search pages" msgstr "" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "" @@ -254,7 +264,7 @@ msgid "" "message." msgstr "" -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "" diff --git a/mayan/apps/appearance/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/vi_VN/LC_MESSAGES/django.po index 54ea773fe8..60e968c777 100644 --- a/mayan/apps/appearance/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/vi_VN/LC_MESSAGES/django.po @@ -1,27 +1,28 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "" @@ -29,7 +30,7 @@ msgstr "" msgid "You don't have enough permissions for this operation." msgstr "" -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "Không tìm thấy trang" @@ -37,14 +38,14 @@ msgstr "Không tìm thấy trang" msgid "Sorry, but the requested page could not be found." msgstr "" -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 @@ -53,7 +54,7 @@ msgid "" "identifier:" msgstr "" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "" @@ -66,47 +67,47 @@ msgstr "Phiên bản" msgid "Build number: %(build_number)s" msgstr "" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "" -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "Anonymous" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "Chi tiết người dùng" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "Các thao tác" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "" @@ -124,6 +125,12 @@ msgstr "" msgid "Create" msgstr "Tạo" +#: templates/appearance/dashboard_widget.html:25 +#, fuzzy +#| msgid "User details" +msgid "View details" +msgstr "Chi tiết người dùng" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -138,39 +145,39 @@ msgstr "Xác nhận xóa" msgid "Delete: %(object)s?" msgstr "" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "yêu cầu" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "" @@ -187,34 +194,40 @@ msgstr "" msgid "Total: %(total)s" msgstr "" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "" -#: templates/appearance/home.html:57 -msgid "Space separated terms" -msgstr "" +#: templates/appearance/home.html:46 +#, fuzzy +#| msgid "Search" +msgid "Search pages" +msgstr "Tìm kiếm" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "Tìm kiếm" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "Đăng nhập" @@ -227,7 +240,9 @@ msgstr "Đăng nhập lần đầu" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "Bạn đã cài đặt xong Hệ thống quản lý tài liệu điện tử Mayan EDMS. Xin chúc mừng bạn!" +msgstr "" +"Bạn đã cài đặt xong Hệ thống quản lý tài liệu điện tử Mayan EDMS. Xin chúc mừng bạn!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -252,9 +267,11 @@ msgstr "Mật khẩu: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "Bạn nên thay đổi mật khẩu để tăng tính bảo mật và để không nhìn thấy lời nhắc này nữa." +msgstr "" +"Bạn nên thay đổi mật khẩu để tăng tính bảo mật và để không nhìn thấy lời " +"nhắc này nữa." -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "" diff --git a/mayan/apps/appearance/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/zh_CN/LC_MESSAGES/django.po index 8a737fffeb..ea7c13b67e 100644 --- a/mayan/apps/appearance/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/zh_CN/LC_MESSAGES/django.po @@ -1,27 +1,28 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:11 +#: apps.py:12 msgid "Appearance" msgstr "" -#: templates/403.html:5 templates/403.html.py:9 +#: templates/403.html:5 templates/403.html:9 msgid "Insufficient permissions" msgstr "权限不足" @@ -29,7 +30,7 @@ msgstr "权限不足" msgid "You don't have enough permissions for this operation." msgstr "你没有足够权限执行当前操作" -#: templates/404.html:5 templates/404.html.py:9 +#: templates/404.html:5 templates/404.html:9 msgid "Page not found" msgstr "页不存在" @@ -37,14 +38,14 @@ msgstr "页不存在" msgid "Sorry, but the requested page could not be found." msgstr "抱歉,请求页不存在。" -#: templates/500.html:5 templates/500.html.py:9 +#: templates/500.html:5 templates/500.html:9 msgid "Server error" msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via " -"e-mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 @@ -53,7 +54,7 @@ msgid "" "identifier:" msgstr "" -#: templates/appearance/about.html:8 templates/appearance/about.html.py:57 +#: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" msgstr "" @@ -66,47 +67,47 @@ msgstr "版本" msgid "Build number: %(build_number)s" msgstr "" -#: templates/appearance/about.html:88 +#: templates/appearance/about.html:76 msgid "Released under the Apache 2.0 License" msgstr "基于Apache 2.0许可证" -#: templates/appearance/about.html:100 +#: templates/appearance/about.html:88 msgid "Copyright © 2011-2015 Roberto Rosario." msgstr "" -#: templates/appearance/base.html:43 +#: templates/appearance/base.html:45 msgid "Toggle navigation" msgstr "" -#: templates/appearance/base.html:72 +#: templates/appearance/base.html:75 +msgid "Profile" +msgstr "" + +#: templates/appearance/base.html:81 msgid "Anonymous" msgstr "匿名用户" -#: templates/appearance/base.html:74 -msgid "User details" -msgstr "用户信息" - -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Success" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Information" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Warning" msgstr "" -#: templates/appearance/base.html:87 +#: templates/appearance/base.html:115 msgid "Error" msgstr "" -#: templates/appearance/base.html:116 +#: templates/appearance/base.html:144 msgid "Actions" msgstr "操作" -#: templates/appearance/base.html:117 +#: templates/appearance/base.html:146 msgid "Toggle Dropdown" msgstr "" @@ -124,6 +125,12 @@ msgstr "编辑:%(object)s" msgid "Create" msgstr "创建" +#: templates/appearance/dashboard_widget.html:25 +#, fuzzy +#| msgid "User details" +msgid "View details" +msgstr "用户信息" + #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 msgid "Confirm" @@ -138,39 +145,39 @@ msgstr "确认删除" msgid "Delete: %(object)s?" msgstr "" -#: templates/appearance/generic_confirm.html:47 +#: templates/appearance/generic_confirm.html:48 msgid "Yes" msgstr "是" -#: templates/appearance/generic_confirm.html:49 +#: templates/appearance/generic_confirm.html:52 msgid "No" msgstr "否" #: templates/appearance/generic_form_instance.html:39 #: templates/appearance/generic_form_instance.html:46 #: templates/appearance/generic_form_subtemplate.html:51 -#: templates/appearance/generic_multiform_subtemplate.html:43 +#: templates/appearance/generic_multiform_subtemplate.html:42 msgid "required" msgstr "必填" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Save" msgstr "保存" #: templates/appearance/generic_form_subtemplate.html:71 -#: templates/appearance/generic_list_subtemplate.html:31 -#: templates/appearance/generic_multiform_subtemplate.html:65 +#: templates/appearance/generic_list_subtemplate.html:33 +#: templates/appearance/generic_multiform_subtemplate.html:64 msgid "Submit" msgstr "提交" #: templates/appearance/generic_form_subtemplate.html:74 -#: templates/appearance/generic_multiform_subtemplate.html:69 +#: templates/appearance/generic_multiform_subtemplate.html:68 msgid "Cancel" msgstr "取消" #: templates/appearance/generic_list_horizontal.html:21 -#: templates/appearance/generic_list_subtemplate.html:108 +#: templates/appearance/generic_list_subtemplate.html:112 msgid "No results" msgstr "" @@ -187,34 +194,40 @@ msgstr "" msgid "Total: %(total)s" msgstr "" -#: templates/appearance/generic_list_subtemplate.html:51 +#: templates/appearance/generic_list_subtemplate.html:53 msgid "Identifier" msgstr "标识" -#: templates/appearance/home.html:8 templates/appearance/home.html.py:12 -msgid "Home" +#: templates/appearance/home.html:9 templates/appearance/home.html:13 +msgid "Dashboard" msgstr "" -#: templates/appearance/home.html:21 +#: templates/appearance/home.html:22 msgid "Getting started" msgstr "" -#: templates/appearance/home.html:24 +#: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "" -#: templates/appearance/home.html:57 -msgid "Space separated terms" -msgstr "" +#: templates/appearance/home.html:46 +#, fuzzy +#| msgid "Search" +msgid "Search pages" +msgstr "搜索" -#: templates/appearance/home.html:59 +#: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" msgstr "搜索" -#: templates/appearance/home.html:60 +#: templates/appearance/home.html:49 templates/appearance/home.html:59 msgid "Advanced" msgstr "" +#: templates/appearance/home.html:56 +msgid "Search documents" +msgstr "" + #: templates/appearance/login.html:10 msgid "Login" msgstr "登录" @@ -254,7 +267,7 @@ msgid "" "message." msgstr "请修改密码以提高安全性,并且禁止显示此信息。" -#: templates/appearance/login.html:45 templates/appearance/login.html.py:54 +#: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" msgstr "" diff --git a/mayan/apps/authentication/locale/ar/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/ar/LC_MESSAGES/django.po index 20ed425425..cd8c1bc92c 100644 --- a/mayan/apps/authentication/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/ar/LC_MESSAGES/django.po @@ -1,21 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2015-08-20 19:09+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:17 settings.py:7 msgid "Authentication" diff --git a/mayan/apps/authentication/locale/bg/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/bg/LC_MESSAGES/django.po index ffae6ef143..10e2b94022 100644 --- a/mayan/apps/authentication/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/bg/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2015-08-20 19:09+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:17 settings.py:7 diff --git a/mayan/apps/authentication/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/bs_BA/LC_MESSAGES/django.po index b9f85634ee..824306aa91 100644 --- a/mayan/apps/authentication/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/bs_BA/LC_MESSAGES/django.po @@ -1,21 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2015-08-20 19:09+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:17 settings.py:7 msgid "Authentication" diff --git a/mayan/apps/authentication/locale/da/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/da/LC_MESSAGES/django.po index e29789ceca..eb32025406 100644 --- a/mayan/apps/authentication/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/da/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2015-08-20 19:09+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:17 settings.py:7 diff --git a/mayan/apps/authentication/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/de_DE/LC_MESSAGES/django.po index b250609dfa..7592b72970 100644 --- a/mayan/apps/authentication/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/de_DE/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Berny , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:17 settings.py:7 @@ -34,7 +35,9 @@ msgstr "Passwort" msgid "" "Please enter a correct email and password. Note that the password field is " "case-sensitive." -msgstr "Bitte geben Sie Ihre E-Mailadresse und ein Passwort an. Beachten Sie, dass das Passwortfeld Groß- und Kleinschreibung unterscheidet." +msgstr "" +"Bitte geben Sie Ihre E-Mailadresse und ein Passwort an. Beachten Sie, dass " +"das Passwortfeld Groß- und Kleinschreibung unterscheidet." #: forms.py:26 msgid "This account is inactive." @@ -52,7 +55,9 @@ msgstr "Passwort ändern" msgid "" "Controls the mechanism used to authenticated user. Options are: username, " "email" -msgstr "Authentifizierungs-Mechanismus für die Benutzer. Optionen: Benutzername, E-Mail-Adresse" +msgstr "" +"Authentifizierungs-Mechanismus für die Benutzer. Optionen: Benutzername, E-" +"Mail-Adresse" #: views.py:39 msgid "Current user password change" diff --git a/mayan/apps/authentication/locale/en/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/en/LC_MESSAGES/django.po index 4c301cf244..5eda3237b3 100644 --- a/mayan/apps/authentication/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mayan/apps/authentication/locale/es/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/es/LC_MESSAGES/django.po index 6e17a8f7bd..ad4c7d68b7 100644 --- a/mayan/apps/authentication/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/es/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Roberto Rosario, 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:17 settings.py:7 @@ -34,7 +35,9 @@ msgstr "Contraseña" msgid "" "Please enter a correct email and password. Note that the password field is " "case-sensitive." -msgstr "Introduzca una dirección de correo y contraseña válidos. Recuerde que la contraseña es sensible a mayúsculas." +msgstr "" +"Introduzca una dirección de correo y contraseña válidos. Recuerde que la " +"contraseña es sensible a mayúsculas." #: forms.py:26 msgid "This account is inactive." @@ -52,7 +55,9 @@ msgstr "Cambiar contraseña" msgid "" "Controls the mechanism used to authenticated user. Options are: username, " "email" -msgstr "Controla el mecanismo utilizado para el usuario autenticado. Las opciones son: 'username' nombre de usuario, 'email' correo electrónico" +msgstr "" +"Controla el mecanismo utilizado para el usuario autenticado. Las opciones " +"son: 'username' nombre de usuario, 'email' correo electrónico" #: views.py:39 msgid "Current user password change" diff --git a/mayan/apps/authentication/locale/fa/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/fa/LC_MESSAGES/django.po index 668a0db297..f83a1c270d 100644 --- a/mayan/apps/authentication/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/fa/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2015-08-20 19:09+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:17 settings.py:7 @@ -33,7 +34,9 @@ msgstr "کلمه عبور" msgid "" "Please enter a correct email and password. Note that the password field is " "case-sensitive." -msgstr "لطفا از ایمیل و کلمه عبور معتبر جهت ورود استفاده کنید. درضمن کلمه عبور case-sensitive است." +msgstr "" +"لطفا از ایمیل و کلمه عبور معتبر جهت ورود استفاده کنید. درضمن کلمه عبور case-" +"sensitive است." #: forms.py:26 msgid "This account is inactive." diff --git a/mayan/apps/authentication/locale/fr/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/fr/LC_MESSAGES/django.po index 9a9551c9b2..2ac0733d7b 100644 --- a/mayan/apps/authentication/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/fr/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Christophe CHAUVET , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Christophe CHAUVET \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:17 settings.py:7 @@ -34,7 +35,9 @@ msgstr "Mot de passe" msgid "" "Please enter a correct email and password. Note that the password field is " "case-sensitive." -msgstr "Veuillez entrer un courriel et mot de passe valide. Noter que le mot de passe est sensible à la casse." +msgstr "" +"Veuillez entrer un courriel et mot de passe valide. Noter que le mot de " +"passe est sensible à la casse." #: forms.py:26 msgid "This account is inactive." @@ -52,7 +55,9 @@ msgstr "Changer le mot de passe" msgid "" "Controls the mechanism used to authenticated user. Options are: username, " "email" -msgstr "Contrôle du mécanisme utilisé pour identifier l'utilisateur. les options sont: nom d'utilisateur, courriel" +msgstr "" +"Contrôle du mécanisme utilisé pour identifier l'utilisateur. les options " +"sont: nom d'utilisateur, courriel" #: views.py:39 msgid "Current user password change" diff --git a/mayan/apps/authentication/locale/hu/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/hu/LC_MESSAGES/django.po index 18a79070d1..8cec085bfa 100644 --- a/mayan/apps/authentication/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/hu/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2015-08-20 19:09+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:17 settings.py:7 diff --git a/mayan/apps/authentication/locale/id/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/id/LC_MESSAGES/django.po index e4f10a0413..454937a4c1 100644 --- a/mayan/apps/authentication/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/id/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2015-08-20 19:09+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:17 settings.py:7 @@ -33,7 +34,8 @@ msgstr "Password" msgid "" "Please enter a correct email and password. Note that the password field is " "case-sensitive." -msgstr "Silahkan tuliskan alamat email yang benar. kolom Password Case-Sensitive" +msgstr "" +"Silahkan tuliskan alamat email yang benar. kolom Password Case-Sensitive" #: forms.py:26 msgid "This account is inactive." diff --git a/mayan/apps/authentication/locale/it/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/it/LC_MESSAGES/django.po index 7cf57f385a..7392da1fef 100644 --- a/mayan/apps/authentication/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/it/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Marco Camplese , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-09-24 09:36+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:17 settings.py:7 @@ -34,7 +35,9 @@ msgstr "Password" msgid "" "Please enter a correct email and password. Note that the password field is " "case-sensitive." -msgstr "Inserisci email e password corretti. Si noti che il campo password è case-sensitive." +msgstr "" +"Inserisci email e password corretti. Si noti che il campo password è case-" +"sensitive." #: forms.py:26 msgid "This account is inactive." @@ -52,7 +55,9 @@ msgstr "Cambiare la password" msgid "" "Controls the mechanism used to authenticated user. Options are: username, " "email" -msgstr "Controlla il meccanismo utilizzato per autenticare l'utente. Le opzioni sono: username, email" +msgstr "" +"Controlla il meccanismo utilizzato per autenticare l'utente. Le opzioni " +"sono: username, email" #: views.py:39 msgid "Current user password change" diff --git a/mayan/apps/authentication/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/nl_NL/LC_MESSAGES/django.po index 2d481945be..6cb4797e73 100644 --- a/mayan/apps/authentication/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/nl_NL/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Justin Albstbstmeijer , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Justin Albstbstmeijer \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:17 settings.py:7 @@ -34,7 +35,9 @@ msgstr "Wachtwoord" msgid "" "Please enter a correct email and password. Note that the password field is " "case-sensitive." -msgstr "Vul het juiste email adres en wachtwoord in. Houd er rekening mee dat het wachtwoord-invulveld hoofdlettergevoelig is." +msgstr "" +"Vul het juiste email adres en wachtwoord in. Houd er rekening mee dat het " +"wachtwoord-invulveld hoofdlettergevoelig is." #: forms.py:26 msgid "This account is inactive." @@ -52,7 +55,9 @@ msgstr "Pas wachtwoord aan" msgid "" "Controls the mechanism used to authenticated user. Options are: username, " "email" -msgstr "Beinvloed de manier waarop gebruikers worden geauthenticeerd. Opties zijn: gebruikersnaam, email" +msgstr "" +"Beinvloed de manier waarop gebruikers worden geauthenticeerd. Opties zijn: " +"gebruikersnaam, email" #: views.py:39 msgid "Current user password change" diff --git a/mayan/apps/authentication/locale/pl/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/pl/LC_MESSAGES/django.po index 4380048603..8e923c18da 100644 --- a/mayan/apps/authentication/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Wojtek Warczakowski , 2016 # Wojtek Warczakowski , 2016 @@ -9,15 +9,17 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-22 17:45+0000\n" "Last-Translator: Wojtek Warczakowski \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" #: apps.py:17 settings.py:7 msgid "Authentication" @@ -53,7 +55,9 @@ msgstr "Zmień hasło" msgid "" "Controls the mechanism used to authenticated user. Options are: username, " "email" -msgstr "Kontroluje mechanizm uwierzytelniania użytkownika. Opcje: nazwa użytkownika, email" +msgstr "" +"Kontroluje mechanizm uwierzytelniania użytkownika. Opcje: nazwa użytkownika, " +"email" #: views.py:39 msgid "Current user password change" diff --git a/mayan/apps/authentication/locale/pt/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/pt/LC_MESSAGES/django.po index bcbdebfa09..97a94ad067 100644 --- a/mayan/apps/authentication/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/pt/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Manuela Silva , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Manuela Silva \n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:17 settings.py:7 diff --git a/mayan/apps/authentication/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/pt_BR/LC_MESSAGES/django.po index 3da0560694..a7f0be6326 100644 --- a/mayan/apps/authentication/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/pt_BR/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Aline Freitas , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-10 19:28+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:17 settings.py:7 @@ -34,7 +35,9 @@ msgstr "Senha" msgid "" "Please enter a correct email and password. Note that the password field is " "case-sensitive." -msgstr "Por favor, indique um e-mail e senha corretamente. Note-se que o campo de senha diferencia maiúsculas de minúsculas." +msgstr "" +"Por favor, indique um e-mail e senha corretamente. Note-se que o campo de " +"senha diferencia maiúsculas de minúsculas." #: forms.py:26 msgid "This account is inactive." @@ -52,7 +55,9 @@ msgstr "Alterar a senha" msgid "" "Controls the mechanism used to authenticated user. Options are: username, " "email" -msgstr "Controla o mecanismo usado para autenticar o usuário. As opções são: nome de usuário, e-mail" +msgstr "" +"Controla o mecanismo usado para autenticar o usuário. As opções são: nome de " +"usuário, e-mail" #: views.py:39 msgid "Current user password change" diff --git a/mayan/apps/authentication/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/ro_RO/LC_MESSAGES/django.po index 3829bdd04c..aecfcbc3cf 100644 --- a/mayan/apps/authentication/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/ro_RO/LC_MESSAGES/django.po @@ -1,21 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2015-08-20 19:09+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" #: apps.py:17 settings.py:7 msgid "Authentication" diff --git a/mayan/apps/authentication/locale/ru/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/ru/LC_MESSAGES/django.po index 9568210c61..57dd66ef9d 100644 --- a/mayan/apps/authentication/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/ru/LC_MESSAGES/django.po @@ -1,22 +1,25 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # lilo.panic, 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-07-14 02:03+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:17 settings.py:7 msgid "Authentication" @@ -34,7 +37,9 @@ msgstr "Пароль" msgid "" "Please enter a correct email and password. Note that the password field is " "case-sensitive." -msgstr "Пожалуйста, введите правильный адрес электронной почты и пароль с учетом регистра." +msgstr "" +"Пожалуйста, введите правильный адрес электронной почты и пароль с учетом " +"регистра." #: forms.py:26 msgid "This account is inactive." @@ -52,7 +57,9 @@ msgstr "Изменить пароль" msgid "" "Controls the mechanism used to authenticated user. Options are: username, " "email" -msgstr "Управление механизмом, используемым для аутентификации пользователя. Возможные варианты: имя пользователя, адрес электронной почты" +msgstr "" +"Управление механизмом, используемым для аутентификации пользователя. " +"Возможные варианты: имя пользователя, адрес электронной почты" #: views.py:39 msgid "Current user password change" diff --git a/mayan/apps/authentication/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/sl_SI/LC_MESSAGES/django.po index 89677c28c8..ae8ea212e0 100644 --- a/mayan/apps/authentication/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/sl_SI/LC_MESSAGES/django.po @@ -1,21 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2015-08-20 19:09+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" #: apps.py:17 settings.py:7 msgid "Authentication" diff --git a/mayan/apps/authentication/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/vi_VN/LC_MESSAGES/django.po index 13bba07ce4..bc22f58097 100644 --- a/mayan/apps/authentication/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/vi_VN/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2015-08-20 19:09+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:17 settings.py:7 diff --git a/mayan/apps/authentication/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/authentication/locale/zh_CN/LC_MESSAGES/django.po index 87d660ec9d..c3c129995e 100644 --- a/mayan/apps/authentication/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/authentication/locale/zh_CN/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2015-08-20 19:09+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:17 settings.py:7 diff --git a/mayan/apps/cabinets/locale/ar/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/ar/LC_MESSAGES/django.po new file mode 100644 index 0000000000..bbec87b79c --- /dev/null +++ b/mayan/apps/cabinets/locale/ar/LC_MESSAGES/django.po @@ -0,0 +1,247 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/bg/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/bg/LC_MESSAGES/django.po new file mode 100644 index 0000000000..d96f0d6fa2 --- /dev/null +++ b/mayan/apps/cabinets/locale/bg/LC_MESSAGES/django.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/bs_BA/LC_MESSAGES/django.po new file mode 100644 index 0000000000..c17169b1f3 --- /dev/null +++ b/mayan/apps/cabinets/locale/bs_BA/LC_MESSAGES/django.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/da/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/da/LC_MESSAGES/django.po new file mode 100644 index 0000000000..d96f0d6fa2 --- /dev/null +++ b/mayan/apps/cabinets/locale/da/LC_MESSAGES/django.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/de_DE/LC_MESSAGES/django.po new file mode 100644 index 0000000000..c17169b1f3 --- /dev/null +++ b/mayan/apps/cabinets/locale/de_DE/LC_MESSAGES/django.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/en/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/en/LC_MESSAGES/django.po new file mode 100644 index 0000000000..c17169b1f3 --- /dev/null +++ b/mayan/apps/cabinets/locale/en/LC_MESSAGES/django.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/es/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/es/LC_MESSAGES/django.po new file mode 100644 index 0000000000..d96f0d6fa2 --- /dev/null +++ b/mayan/apps/cabinets/locale/es/LC_MESSAGES/django.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/fa/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/fa/LC_MESSAGES/django.po new file mode 100644 index 0000000000..ae64cfc890 --- /dev/null +++ b/mayan/apps/cabinets/locale/fa/LC_MESSAGES/django.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/fr/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/fr/LC_MESSAGES/django.po new file mode 100644 index 0000000000..aa77c5d27c --- /dev/null +++ b/mayan/apps/cabinets/locale/fr/LC_MESSAGES/django.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/hu/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/hu/LC_MESSAGES/django.po new file mode 100644 index 0000000000..d96f0d6fa2 --- /dev/null +++ b/mayan/apps/cabinets/locale/hu/LC_MESSAGES/django.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/id/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/id/LC_MESSAGES/django.po new file mode 100644 index 0000000000..ae64cfc890 --- /dev/null +++ b/mayan/apps/cabinets/locale/id/LC_MESSAGES/django.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/it/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/it/LC_MESSAGES/django.po new file mode 100644 index 0000000000..d96f0d6fa2 --- /dev/null +++ b/mayan/apps/cabinets/locale/it/LC_MESSAGES/django.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/nl_NL/LC_MESSAGES/django.po new file mode 100644 index 0000000000..c17169b1f3 --- /dev/null +++ b/mayan/apps/cabinets/locale/nl_NL/LC_MESSAGES/django.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/pl/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/pl/LC_MESSAGES/django.po new file mode 100644 index 0000000000..229eec2d7f --- /dev/null +++ b/mayan/apps/cabinets/locale/pl/LC_MESSAGES/django.po @@ -0,0 +1,247 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/pt/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/pt/LC_MESSAGES/django.po new file mode 100644 index 0000000000..d96f0d6fa2 --- /dev/null +++ b/mayan/apps/cabinets/locale/pt/LC_MESSAGES/django.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/pt_BR/LC_MESSAGES/django.po new file mode 100644 index 0000000000..aa77c5d27c --- /dev/null +++ b/mayan/apps/cabinets/locale/pt_BR/LC_MESSAGES/django.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/ro_RO/LC_MESSAGES/django.po new file mode 100644 index 0000000000..c17169b1f3 --- /dev/null +++ b/mayan/apps/cabinets/locale/ro_RO/LC_MESSAGES/django.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/ru/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/ru/LC_MESSAGES/django.po new file mode 100644 index 0000000000..971141fda2 --- /dev/null +++ b/mayan/apps/cabinets/locale/ru/LC_MESSAGES/django.po @@ -0,0 +1,248 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/sl_SI/LC_MESSAGES/django.po new file mode 100644 index 0000000000..c17169b1f3 --- /dev/null +++ b/mayan/apps/cabinets/locale/sl_SI/LC_MESSAGES/django.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/vi_VN/LC_MESSAGES/django.po new file mode 100644 index 0000000000..c17169b1f3 --- /dev/null +++ b/mayan/apps/cabinets/locale/vi_VN/LC_MESSAGES/django.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/cabinets/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/zh_CN/LC_MESSAGES/django.po new file mode 100644 index 0000000000..c17169b1f3 --- /dev/null +++ b/mayan/apps/cabinets/locale/zh_CN/LC_MESSAGES/django.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 +#: views.py:153 +msgid "Cabinets" +msgstr "" + +#: links.py:27 links.py:38 +msgid "Remove from cabinets" +msgstr "" + +#: links.py:31 +msgid "Add to a cabinets" +msgstr "" + +#: links.py:35 +msgid "Add to cabinets" +msgstr "" + +#: links.py:55 +msgid "Add new level" +msgstr "" + +#: links.py:60 views.py:39 +msgid "Create cabinet" +msgstr "" + +#: links.py:64 +msgid "Delete" +msgstr "" + +#: links.py:67 +msgid "Edit" +msgstr "" + +#: links.py:71 +msgid "All" +msgstr "" + +#: links.py:74 +msgid "Details" +msgstr "" + +#: models.py:22 +msgid "Label" +msgstr "" + +#: models.py:25 +msgid "Documents" +msgstr "" + +#: models.py:33 models.py:66 serializers.py:134 +msgid "Cabinet" +msgstr "" + +#: models.py:67 serializers.py:135 +msgid "Parent and Label" +msgstr "" + +#: models.py:74 serializers.py:141 +#, python-format +msgid "%(model_name)s with this %(field_labels)s already exists." +msgstr "" + +#: models.py:86 +msgid "Document cabinet" +msgstr "" + +#: models.py:87 +msgid "Document cabinets" +msgstr "" + +#: permissions.py:12 +msgid "Add documents to cabinets" +msgstr "" + +#: permissions.py:15 +msgid "Create cabinets" +msgstr "" + +#: permissions.py:18 +msgid "Delete cabinets" +msgstr "" + +#: permissions.py:21 +msgid "Edit cabinets" +msgstr "" + +#: permissions.py:24 +msgid "Remove documents from cabinets" +msgstr "" + +#: permissions.py:27 +msgid "View cabinets" +msgstr "" + +#: serializers.py:20 +msgid "List of children cabinets." +msgstr "" + +#: serializers.py:23 +msgid "Number of documents on this cabinet level." +msgstr "" + +#: serializers.py:27 +msgid "The name of this cabinet level appended to the names of its ancestors." +msgstr "" + +#: serializers.py:33 +msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgstr "" + +#: serializers.py:69 serializers.py:175 +msgid "Comma separated list of document primary keys to add to this cabinet." +msgstr "" + +#: serializers.py:154 +msgid "" +"API URL pointing to a document in relation to the cabinet storing it. This " +"URL is different than the canonical document URL." +msgstr "" + +#: templates/cabinets/cabinet_details.html:21 +msgid "Navigation:" +msgstr "" + +#: views.py:70 +#, python-format +msgid "Add new level to: %s" +msgstr "" + +#: views.py:83 +#, python-format +msgid "Delete the cabinet: %s?" +msgstr "" + +#: views.py:111 +#, python-format +msgid "Details of cabinet: %s" +msgstr "" + +#: views.py:142 +#, python-format +msgid "Edit cabinet: %s" +msgstr "" + +#: views.py:177 +#, python-format +msgid "Cabinets containing document: %s" +msgstr "" + +#: views.py:188 +#, python-format +msgid "Add to cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:191 +#, python-format +msgid "Add to cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:198 +msgid "Add" +msgstr "" + +#: views.py:200 +msgid "Add document to cabinets" +msgid_plural "Add documents to cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:211 +#, python-format +msgid "Add document \"%s\" to cabinets" +msgstr "" + +#: views.py:222 +msgid "Cabinets to which the selected documents will be added." +msgstr "" + +#: views.py:250 +#, python-format +msgid "Document: %(document)s is already in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:260 +#, python-format +msgid "Document: %(document)s added to cabinet: %(cabinet)s successfully." +msgstr "" + +#: views.py:272 +#, python-format +msgid "Remove from cabinet request performed on %(count)d document" +msgstr "" + +#: views.py:275 +#, python-format +msgid "Remove from cabinet request performed on %(count)d documents" +msgstr "" + +#: views.py:282 +msgid "Remove" +msgstr "" + +#: views.py:284 +msgid "Remove document from cabinets" +msgid_plural "Remove documents from cabinets" +msgstr[0] "" +msgstr[1] "" + +#: views.py:295 +#, python-format +msgid "Remove document \"%s\" to cabinets" +msgstr "" + +#: views.py:306 +msgid "Cabinets from which the selected documents will be removed." +msgstr "" + +#: views.py:333 +#, python-format +msgid "Document: %(document)s is not in cabinet: %(cabinet)s." +msgstr "" + +#: views.py:343 +#, python-format +msgid "Document: %(document)s removed from cabinet: %(cabinet)s." +msgstr "" diff --git a/mayan/apps/checkouts/locale/ar/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/ar/LC_MESSAGES/django.po index f83ae4b596..943c0552a2 100644 --- a/mayan/apps/checkouts/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/ar/LC_MESSAGES/django.po @@ -1,27 +1,35 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:08+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "Document automatically checked in" @@ -38,7 +46,7 @@ msgstr "Document checked out" msgid "Document forcefully checked in" msgstr "Document forcefully checked in" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "Document already checked out." @@ -46,13 +54,11 @@ msgstr "Document already checked out." msgid "Document status" msgstr "" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "مستخدم" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -61,7 +67,6 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -93,7 +98,7 @@ msgstr "" msgid "Checked in/available" msgstr "" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "" @@ -118,7 +123,6 @@ msgid "Block new version upload" msgstr "" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -130,6 +134,14 @@ msgstr "Document checkout" msgid "Document checkouts" msgstr "" +#: models.py:97 +msgid "New version block" +msgstr "" + +#: models.py:98 +msgid "New version blocks" +msgstr "" + #: permissions.py:10 msgid "Check in documents" msgstr "Check in documents" @@ -146,64 +158,60 @@ msgstr "Check out documents" msgid "Check out details view" msgstr "" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "Error trying to check out document; %s" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "Document \"%s\" checked out successfully." -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "Check out document: %s" -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "" -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "Check out details for document: %s" -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" msgstr "" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "Document has not been checked out." -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "Error trying to check in document; %s" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "Document \"%s\" checked in successfully." @@ -252,11 +260,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -282,9 +290,6 @@ msgstr "" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/bg/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/bg/LC_MESSAGES/django.po index 46d957229a..44e3ffd0a4 100644 --- a/mayan/apps/checkouts/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/bg/LC_MESSAGES/django.po @@ -1,27 +1,34 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:08+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "Автоматично регистрирани документи" @@ -38,7 +45,7 @@ msgstr "Документът е проверен." msgid "Document forcefully checked in" msgstr "Документът е принудително регистриран" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "Документът вече е проверен." @@ -46,13 +53,11 @@ msgstr "Документът вече е проверен." msgid "Document status" msgstr "" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "Потребител" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -61,7 +66,6 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -93,7 +97,7 @@ msgstr "" msgid "Checked in/available" msgstr "" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "" @@ -118,7 +122,6 @@ msgid "Block new version upload" msgstr "" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -130,6 +133,14 @@ msgstr "Проверка на документ" msgid "Document checkouts" msgstr "" +#: models.py:97 +msgid "New version block" +msgstr "" + +#: models.py:98 +msgid "New version blocks" +msgstr "" + #: permissions.py:10 msgid "Check in documents" msgstr "Регистрирай документи" @@ -146,64 +157,60 @@ msgstr "Провери документи" msgid "Check out details view" msgstr "" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "Грешка при проверка на документ; %s" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "Документ \"%s\" проверен успешно." -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "Провери документ: %s" -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "" -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "Данни от проверката на документ: %s" -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" msgstr "" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "Документът не е проверяван." -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "Грешка при регистрация на документ; %s" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "Документ \"%s\" е регистриран успешно." @@ -252,11 +259,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -282,9 +289,6 @@ msgstr "" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/bs_BA/LC_MESSAGES/django.po index 50b87dbc94..599b2f8167 100644 --- a/mayan/apps/checkouts/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/bs_BA/LC_MESSAGES/django.po @@ -1,27 +1,35 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:08+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "Dokument je automatski prijavljen" @@ -38,7 +46,7 @@ msgstr "Dokument odjavljen" msgid "Document forcefully checked in" msgstr "Dokument je prisilno prijavljen" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "Dokument je već odjavljen." @@ -46,13 +54,11 @@ msgstr "Dokument je već odjavljen." msgid "Document status" msgstr "" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "Korisnik" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -61,7 +67,6 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -93,7 +98,7 @@ msgstr "" msgid "Checked in/available" msgstr "" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "" @@ -118,7 +123,6 @@ msgid "Block new version upload" msgstr "" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -130,6 +134,14 @@ msgstr "Odjava dokumenta" msgid "Document checkouts" msgstr "" +#: models.py:97 +msgid "New version block" +msgstr "" + +#: models.py:98 +msgid "New version blocks" +msgstr "" + #: permissions.py:10 msgid "Check in documents" msgstr "Prijaviti dokumente" @@ -146,64 +158,60 @@ msgstr "Odjaviti dokumente" msgid "Check out details view" msgstr "" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "Greška pokušaja odjave dokumenta; %s" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "Dokument \"%s\" uspješno odjavljen." -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "Odjaviti dokument: %s" -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "" -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "Odjavni detalji za dokument: %s" -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" msgstr "" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "Dokument nije odjavljen." -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "Greška pokušaja prijave dokumenta; %s" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "Dokument \"%s\" uspješno prijavljen." @@ -252,11 +260,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -282,9 +290,6 @@ msgstr "" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/da/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/da/LC_MESSAGES/django.po index e959b6efc1..562a448ce2 100644 --- a/mayan/apps/checkouts/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/da/LC_MESSAGES/django.po @@ -1,27 +1,34 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:08+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "" @@ -38,7 +45,7 @@ msgstr "" msgid "Document forcefully checked in" msgstr "" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "" @@ -46,13 +53,11 @@ msgstr "" msgid "Document status" msgstr "" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "Bruger" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -61,7 +66,6 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -93,7 +97,7 @@ msgstr "" msgid "Checked in/available" msgstr "" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "" @@ -118,7 +122,6 @@ msgid "Block new version upload" msgstr "" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -130,6 +133,14 @@ msgstr "" msgid "Document checkouts" msgstr "" +#: models.py:97 +msgid "New version block" +msgstr "" + +#: models.py:98 +msgid "New version blocks" +msgstr "" + #: permissions.py:10 msgid "Check in documents" msgstr "" @@ -146,64 +157,60 @@ msgstr "" msgid "Check out details view" msgstr "" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "" -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "" -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "" -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "" -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" msgstr "" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "" -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "" @@ -252,11 +259,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -282,9 +289,6 @@ msgstr "" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/de_DE/LC_MESSAGES/django.po index ff0679ef72..5e7299430f 100644 --- a/mayan/apps/checkouts/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Berny , 2015-2016 @@ -9,20 +9,27 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-05-20 21:40+0000\n" "Last-Translator: Tobias Paepke \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "Ausbuchungen" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "Dokument automatisch eingebucht" @@ -39,7 +46,7 @@ msgstr "Dokument ausgebucht" msgid "Document forcefully checked in" msgstr "Dokument zwingend eingebucht" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "Dokument bereits ausgebucht" @@ -47,13 +54,11 @@ msgstr "Dokument bereits ausgebucht" msgid "Document status" msgstr "Dokumentenstatus" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "Benutzer" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "Ausbuchungszeit" @@ -62,7 +67,6 @@ msgid "Check out expiration" msgstr "Ausbuchungsende" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "Neue Versionen erlaubt?" @@ -94,7 +98,7 @@ msgstr "Ausgebucht" msgid "Checked in/available" msgstr "Eingebucht/Verfügbar" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "Dokument" @@ -119,7 +123,6 @@ msgid "Block new version upload" msgstr "Hochladen neuer Versionen sperren" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "Ausbuchungsende muss in der Zukunft liegen." @@ -131,6 +134,18 @@ msgstr "Ausbuchung" msgid "Document checkouts" msgstr "Ausbuchungen" +#: models.py:97 +#, fuzzy +#| msgid "New versions allowed?" +msgid "New version block" +msgstr "Neue Versionen erlaubt?" + +#: models.py:98 +#, fuzzy +#| msgid "New versions allowed?" +msgid "New version blocks" +msgstr "Neue Versionen erlaubt?" + #: permissions.py:10 msgid "Check in documents" msgstr "Dokumente einbuchen" @@ -147,64 +162,62 @@ msgstr "Dokumente ausbuchen" msgid "Check out details view" msgstr "Ansicht der Ausbuchungsdetails" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "Fehler bei der Ausbuchung: %s" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "Dokument \"%s\" erfolgreich ausgebucht" -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "Dokument %s ausbuchen " -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "Ausgebuchte Dokumente" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "Ausbuchungszeit" -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "Ausbuchungsende" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "Ausbuchungsdetails für Dokument %s" -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" -msgstr "Sie haben dieses Dokument ursprünglich nicht ausgebucht. Soll Dokument %s trotzdem zwingend eingebucht werden?" +msgstr "" +"Sie haben dieses Dokument ursprünglich nicht ausgebucht. Soll Dokument %s " +"trotzdem zwingend eingebucht werden?" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "Dokument %s einbuchen?" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "Dokument wurde nicht ausgebucht." -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "Fehler bei der Einbuchung von Dokument %s" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "Dokument \"%s\" erfolgreich eingebucht" @@ -253,11 +266,11 @@ msgstr "Einheit" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -283,9 +296,6 @@ msgstr "Einheit" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/en/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/en/LC_MESSAGES/django.po index 5c879101f7..9645ccd57a 100644 --- a/mayan/apps/checkouts/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2012-07-10 15:47+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" @@ -18,11 +18,17 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 #, fuzzy msgid "Checkouts" msgstr "checkouts" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "Document automatically checked in" @@ -39,7 +45,7 @@ msgstr "Document checked out" msgid "Document forcefully checked in" msgstr "Document forcefully checked in" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "Document already checked out." @@ -48,7 +54,7 @@ msgstr "Document already checked out." msgid "Document status" msgstr "Document status: %(widget)s %(text)s" -#: forms.py:37 models.py:37 views.py:85 +#: forms.py:37 models.py:37 views.py:79 #, fuzzy #| msgid "User: %s" msgid "User" @@ -105,7 +111,7 @@ msgstr "checked out" msgid "Checked in/available" msgstr "checked in/available" -#: models.py:27 +#: models.py:27 models.py:92 #, fuzzy msgid "Document" msgstr "document" @@ -147,6 +153,18 @@ msgstr "Document checkout" msgid "Document checkouts" msgstr "Document checkout" +#: models.py:97 +#, fuzzy +#| msgid "New versions allowed: %s" +msgid "New version block" +msgstr "New versions allowed: %s" + +#: models.py:98 +#, fuzzy +#| msgid "New versions allowed: %s" +msgid "New version blocks" +msgstr "New versions allowed: %s" + #: permissions.py:10 msgid "Check in documents" msgstr "Check in documents" @@ -164,42 +182,42 @@ msgstr "Check out documents" msgid "Check out details view" msgstr "check out date and time" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "Error trying to check out document; %s" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "Document \"%s\" checked out successfully." -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "Check out document: %s" -#: views.py:81 +#: views.py:75 #, fuzzy msgid "Documents checked out" msgstr "Document checked out" -#: views.py:91 +#: views.py:85 #, fuzzy msgid "Checkout time and date" msgstr "checkout time and date" -#: views.py:97 +#: views.py:91 #, fuzzy msgid "Checkout expiration" msgstr "checkout expiration" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "Check out details for document: %s" -#: views.py:136 +#: views.py:130 #, fuzzy, python-format #| msgid "" #| "You didn't originally checked out this document. Are you sure you wish " @@ -211,22 +229,22 @@ msgstr "" "You didn't originally checked out this document. Are you sure you wish to " "forcefully check in document: %s?" -#: views.py:140 +#: views.py:134 #, fuzzy, python-format #| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "Check out document: %s" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "Document has not been checked out." -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "Error trying to check in document; %s" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "Document \"%s\" checked in successfully." @@ -308,9 +326,6 @@ msgstr "" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/es/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/es/LC_MESSAGES/django.po index c319e5e525..dd70a285fc 100644 --- a/mayan/apps/checkouts/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Roberto Rosario, 2015-2016 @@ -9,20 +9,27 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:44+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "Reservaciones" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "Documento devuelto automáticamente" @@ -39,7 +46,7 @@ msgstr "Documento reservado" msgid "Document forcefully checked in" msgstr "Documento devuelto forzosamente" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "El documento ya está reservado." @@ -47,13 +54,11 @@ msgstr "El documento ya está reservado." msgid "Document status" msgstr "Estatus del documento" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "Usuario" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "Hora de reserva" @@ -62,7 +67,6 @@ msgid "Check out expiration" msgstr "Salida de la reserva" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "¿Nuevas versiones permitidas?" @@ -94,7 +98,7 @@ msgstr "Reservado" msgid "Checked in/available" msgstr "Devuelto/disponible" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "Documento" @@ -119,7 +123,6 @@ msgid "Block new version upload" msgstr "Restringir la subida de nuevas versiones" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "Fecha y hora de la expiración de la reserva deben ser en el futuro." @@ -131,6 +134,18 @@ msgstr "Reserva de documentos" msgid "Document checkouts" msgstr "Reservaciones de documentos" +#: models.py:97 +#, fuzzy +#| msgid "New versions allowed?" +msgid "New version block" +msgstr "¿Nuevas versiones permitidas?" + +#: models.py:98 +#, fuzzy +#| msgid "New versions allowed?" +msgid "New version blocks" +msgstr "¿Nuevas versiones permitidas?" + #: permissions.py:10 msgid "Check in documents" msgstr "Devolver documentos" @@ -147,64 +162,62 @@ msgstr "Reservar documentos" msgid "Check out details view" msgstr "Detalles de la reserva" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "Error tratando de reservar documento; %s" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "Document \"%s\" reservado con éxito." -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "Reservar el documento: %s" -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "Documentos reservados" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "Fecha y hora de reservación" -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "Expiración de la reservación" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "Detalles de la reserva para el documento: %s" -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" -msgstr "Usted no reservó inicialmente este documento. ¿Devolver forzosamente el documento: %s?" +msgstr "" +"Usted no reservó inicialmente este documento. ¿Devolver forzosamente el " +"documento: %s?" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "¿Devolver el documento: %s?" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "El documento no ha sido reservado." -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "Error tratando de devolver documento: %s" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "Documento \"%s\" devuelto con éxito." @@ -253,11 +266,11 @@ msgstr "Periodo" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -283,9 +296,6 @@ msgstr "Periodo" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/fa/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/fa/LC_MESSAGES/django.po index ccd0422f69..eb4bfb767a 100644 --- a/mayan/apps/checkouts/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/fa/LC_MESSAGES/django.po @@ -1,27 +1,34 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:08+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "خروج Checkout" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "سند بصورت اتوماتیک وارد شده است." @@ -38,7 +45,7 @@ msgstr "سند خارج شد." msgid "Document forcefully checked in" msgstr "سند طبق دستور وارد شد." -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "سند در حال حاضر خارج و یا checked out شده است." @@ -46,13 +53,11 @@ msgstr "سند در حال حاضر خارج و یا checked out شده است." msgid "Document status" msgstr "" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "کاربر" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -61,7 +66,6 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -93,7 +97,7 @@ msgstr "خارج شده checked out" msgid "Checked in/available" msgstr "وارد شده و یا موجود Checked in" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "سند" @@ -118,7 +122,6 @@ msgid "Block new version upload" msgstr "آپلود نسخه و یا بلوک جدید" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -130,6 +133,18 @@ msgstr "خروج و یا checkout سند" msgid "Document checkouts" msgstr "خروجی های check out سند" +#: models.py:97 +#, fuzzy +#| msgid "Block new version upload" +msgid "New version block" +msgstr "آپلود نسخه و یا بلوک جدید" + +#: models.py:98 +#, fuzzy +#| msgid "Block new version upload" +msgid "New version blocks" +msgstr "آپلود نسخه و یا بلوک جدید" + #: permissions.py:10 msgid "Check in documents" msgstr "ورود اسناد" @@ -146,64 +161,60 @@ msgstr "خروج اسناد" msgid "Check out details view" msgstr "" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "خطا در زمان خارج ویا checkout کردن سند: %s " -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "سند \"%s\" بالاجبار خارج ویا checked out شد." -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "خروج و یا check out سند: %s" -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "اسناد خارج شده check out" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "زمان و تاریخ خروج" -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "زمان پایان خارج بودن Checkout" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "جزئیات خروج و یا Checkout سند: %s" -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" msgstr "" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "سند خارج و یا checked out نشده است." -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "خطا در زمان خروج و یا checkout سند: %s" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "سند \"%s\" با موفقیت وارد و یا checked in شد." @@ -252,11 +263,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -282,9 +293,6 @@ msgstr "" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/fr/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/fr/LC_MESSAGES/django.po index 203dc974d1..4235e0e137 100644 --- a/mayan/apps/checkouts/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Bruno CAPELETO , 2016 @@ -10,20 +10,27 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-05-23 20:04+0000\n" "Last-Translator: Bruno CAPELETO \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "Verrous" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "Document déverrouillé automatiquement" @@ -40,7 +47,7 @@ msgstr "Document verrouillé" msgid "Document forcefully checked in" msgstr "Document déverrouillé de force" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "Document déjà verrouillé." @@ -48,13 +55,11 @@ msgstr "Document déjà verrouillé." msgid "Document status" msgstr "Status du document" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "Utilisateur" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "Heure du vérouillage" @@ -63,7 +68,6 @@ msgid "Check out expiration" msgstr "Expiration du vérouillage" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "Autoriser de nouvelles versions ?" @@ -95,7 +99,7 @@ msgstr "Verrouillé" msgid "Checked in/available" msgstr "Déverrouillé/disponible" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "Document" @@ -120,9 +124,9 @@ msgid "Block new version upload" msgstr "Empêcher l'import d'une nouvelle version" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." -msgstr "La date et l'heure d'expiration du verrou doit se situer dans le futur." +msgstr "" +"La date et l'heure d'expiration du verrou doit se situer dans le futur." #: models.py:87 permissions.py:7 msgid "Document checkout" @@ -132,6 +136,18 @@ msgstr "Verrouillage du document" msgid "Document checkouts" msgstr "Verrouillages du document" +#: models.py:97 +#, fuzzy +#| msgid "New versions allowed?" +msgid "New version block" +msgstr "Autoriser de nouvelles versions ?" + +#: models.py:98 +#, fuzzy +#| msgid "New versions allowed?" +msgid "New version blocks" +msgstr "Autoriser de nouvelles versions ?" + #: permissions.py:10 msgid "Check in documents" msgstr "Déverrouiller les documents" @@ -148,64 +164,62 @@ msgstr "Verrouiller les documents" msgid "Check out details view" msgstr "Afficher la vue détaillée" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "Erreur lors de la tentative de verrouillage du document : %s" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "Document \"%s\" verouillé avec succès." -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "Verrouiller le document : %s" -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "Documents verrouillés" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "Date et heure du verrouillage" -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "Expiration du verrou" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "Détails du verrou pour le document : %s" -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" -msgstr "Ce n'est pas vous qui avec posé le verrou sur ce document. Êtes vous certain de vouloir forcer le déverrouillage de : %s?" +msgstr "" +"Ce n'est pas vous qui avec posé le verrou sur ce document. Êtes vous certain " +"de vouloir forcer le déverrouillage de : %s?" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "Verrouiller le document : %s ?" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "Ce document n'a pas été verrouillé." -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "Erreur lors de la tentative de déverrouillage du document : %s " -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "Document \"%s\" déverrouillé avec succès." @@ -254,11 +268,11 @@ msgstr "Période" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -284,9 +298,6 @@ msgstr "Période" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/hu/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/hu/LC_MESSAGES/django.po index 4060b2eb5a..687559f98c 100644 --- a/mayan/apps/checkouts/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/hu/LC_MESSAGES/django.po @@ -1,27 +1,34 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:08+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "" @@ -38,7 +45,7 @@ msgstr "" msgid "Document forcefully checked in" msgstr "" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "" @@ -46,13 +53,11 @@ msgstr "" msgid "Document status" msgstr "" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "Felhasználó" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -61,7 +66,6 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -93,7 +97,7 @@ msgstr "" msgid "Checked in/available" msgstr "" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "" @@ -118,7 +122,6 @@ msgid "Block new version upload" msgstr "" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -130,6 +133,14 @@ msgstr "" msgid "Document checkouts" msgstr "" +#: models.py:97 +msgid "New version block" +msgstr "" + +#: models.py:98 +msgid "New version blocks" +msgstr "" + #: permissions.py:10 msgid "Check in documents" msgstr "" @@ -146,64 +157,60 @@ msgstr "" msgid "Check out details view" msgstr "" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "" -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "" -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "" -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "" -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" msgstr "" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "" -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "" @@ -252,11 +259,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -282,9 +289,6 @@ msgstr "" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/id/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/id/LC_MESSAGES/django.po index 517d56d4f1..40a2951c79 100644 --- a/mayan/apps/checkouts/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/id/LC_MESSAGES/django.po @@ -1,27 +1,34 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:08+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "" @@ -38,7 +45,7 @@ msgstr "" msgid "Document forcefully checked in" msgstr "" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "" @@ -46,13 +53,11 @@ msgstr "" msgid "Document status" msgstr "" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "Pengguna" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -61,7 +66,6 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -93,7 +97,7 @@ msgstr "" msgid "Checked in/available" msgstr "" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "" @@ -118,7 +122,6 @@ msgid "Block new version upload" msgstr "" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -130,6 +133,14 @@ msgstr "" msgid "Document checkouts" msgstr "" +#: models.py:97 +msgid "New version block" +msgstr "" + +#: models.py:98 +msgid "New version blocks" +msgstr "" + #: permissions.py:10 msgid "Check in documents" msgstr "" @@ -146,64 +157,60 @@ msgstr "" msgid "Check out details view" msgstr "" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "" -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "" -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "" -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "" -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" msgstr "" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "" -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "" @@ -252,11 +259,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -282,9 +289,6 @@ msgstr "" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/it/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/it/LC_MESSAGES/django.po index a5ae8867e7..0948b9f797 100644 --- a/mayan/apps/checkouts/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Marco Camplese , 2016 @@ -9,20 +9,27 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-09-24 10:31+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "Uscite" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "Documento automaticamente in entrata" @@ -39,7 +46,7 @@ msgstr "Documento in uscita" msgid "Document forcefully checked in" msgstr "Forza documento in entrata" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "Documento già uscito" @@ -47,13 +54,11 @@ msgstr "Documento già uscito" msgid "Document status" msgstr "Stato documento" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "Utente" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "Tempo di uscita" @@ -62,7 +67,6 @@ msgid "Check out expiration" msgstr "Scadenza dell'uscita" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "Accetta nuove versioni" @@ -94,7 +98,7 @@ msgstr "Uscito" msgid "Checked in/available" msgstr "Check-in / disponibile" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "Documento" @@ -119,7 +123,6 @@ msgid "Block new version upload" msgstr "Blocca la nuova versione in caricamento" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "La data e ora di uscita deve essere nel futuro." @@ -131,6 +134,18 @@ msgstr "Documento uscito" msgid "Document checkouts" msgstr "Documenti usciti" +#: models.py:97 +#, fuzzy +#| msgid "New versions allowed?" +msgid "New version block" +msgstr "Accetta nuove versioni" + +#: models.py:98 +#, fuzzy +#| msgid "New versions allowed?" +msgid "New version blocks" +msgstr "Accetta nuove versioni" + #: permissions.py:10 msgid "Check in documents" msgstr "Check in documenti" @@ -147,64 +162,62 @@ msgstr "Check out dei documenti" msgid "Check out details view" msgstr "Visualizzazione in dettaglio dell'uscita" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "Errore nel cercare il check out del documento; %s" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "Il documento\"%s\" è uscito con successo" -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "Check out documento: %s" -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "Documenti estratti" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "Ora e data checkout " -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "Scadenza checkout " -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "Dettaglio del check out per il documento: %s" -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" -msgstr "Non hai originariamente fatto il checkout di questo documento. Forzare nel documento: %s?" +msgstr "" +"Non hai originariamente fatto il checkout di questo documento. Forzare nel " +"documento: %s?" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "Accetti il documento: %s?" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "Il documento non è stato fatto uscire" -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "Errore nel tentare il check out del documento; %s" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "Il documento \"%s\" è entrato con successo" @@ -253,11 +266,11 @@ msgstr "Periodo" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -283,9 +296,6 @@ msgstr "Periodo" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/nl_NL/LC_MESSAGES/django.po index fb37318d1e..293cd599b9 100644 --- a/mayan/apps/checkouts/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -10,20 +10,27 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-09 16:39+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "Checkouts" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "Document automatisch in-gechecket" @@ -40,7 +47,7 @@ msgstr "Document uit-gecheckt" msgid "Document forcefully checked in" msgstr "Document geforceerd in-gecheckt" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "Document reeds uit-gecheckt." @@ -48,13 +55,11 @@ msgstr "Document reeds uit-gecheckt." msgid "Document status" msgstr "" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "Gebruiker" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -63,7 +68,6 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "Nieuwe versies toegestaan?" @@ -95,7 +99,7 @@ msgstr "Uit-checken" msgid "Checked in/available" msgstr "In-gecheckt/beschikbaar" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "Document" @@ -120,7 +124,6 @@ msgid "Block new version upload" msgstr "Blokkeer uploaden van een nieuwe versie" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -132,6 +135,18 @@ msgstr "" msgid "Document checkouts" msgstr "" +#: models.py:97 +#, fuzzy +#| msgid "New versions allowed?" +msgid "New version block" +msgstr "Nieuwe versies toegestaan?" + +#: models.py:98 +#, fuzzy +#| msgid "New versions allowed?" +msgid "New version blocks" +msgstr "Nieuwe versies toegestaan?" + #: permissions.py:10 msgid "Check in documents" msgstr "" @@ -148,64 +163,60 @@ msgstr "" msgid "Check out details view" msgstr "" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "" -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "" -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "" -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "" -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" msgstr "" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "" -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "" @@ -254,11 +265,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -284,9 +295,6 @@ msgstr "" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/pl/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/pl/LC_MESSAGES/django.po index ef6e8bc44b..f49ca7fd7e 100644 --- a/mayan/apps/checkouts/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Wojtek Warczakowski , 2016 @@ -9,20 +9,28 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:08+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "Blokady" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "Dokument został automatycznie odblokowany" @@ -39,7 +47,7 @@ msgstr "Dokument został zablokowany" msgid "Document forcefully checked in" msgstr "Wymuszono odblokowanie dokumentu" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "Dokument jest już zablokowany." @@ -47,13 +55,11 @@ msgstr "Dokument jest już zablokowany." msgid "Document status" msgstr "" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "Użytkownik" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -62,7 +68,6 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -94,7 +99,7 @@ msgstr "Zablokowany" msgid "Checked in/available" msgstr "Odblokowany/dostępny" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "Dokument" @@ -104,7 +109,8 @@ msgstr "Data i czas blokady" #: models.py:33 msgid "Amount of time to hold the document checked out in minutes." -msgstr "Liczba dni, godzin lub minut w trakcie których dokument będzie zablokowany." +msgstr "" +"Liczba dni, godzin lub minut w trakcie których dokument będzie zablokowany." #: models.py:35 msgid "Check out expiration date and time" @@ -119,7 +125,6 @@ msgid "Block new version upload" msgstr "Blokuj załadowanie nowej wersji" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "Wygaśnięcie blokady musi nastąpić w przyszłości." @@ -131,6 +136,18 @@ msgstr "Blokada dokumentu" msgid "Document checkouts" msgstr "Blokady dokumentu" +#: models.py:97 +#, fuzzy +#| msgid "Block new version upload" +msgid "New version block" +msgstr "Blokuj załadowanie nowej wersji" + +#: models.py:98 +#, fuzzy +#| msgid "Block new version upload" +msgid "New version blocks" +msgstr "Blokuj załadowanie nowej wersji" + #: permissions.py:10 msgid "Check in documents" msgstr "Odblokuj dokumenty" @@ -147,64 +164,62 @@ msgstr "Zablokuj dokumenty" msgid "Check out details view" msgstr "" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "Błąd podczas blokady dokumentu: %s" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "Dokument \"%s\" został pomyślnie zablokowany." -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "Zablokuj dokument: %s" -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "Dokumenty zablokowane" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "Rozpoczęcie blokady" -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "Wygaśnięcie blokady" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "Szczegóły blokady dokumentu: %s" -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" -msgstr "Ten dokument nie został przez ciebie zablokowany. Czy wymusić odblokowanie dokumentu: %s?" +msgstr "" +"Ten dokument nie został przez ciebie zablokowany. Czy wymusić odblokowanie " +"dokumentu: %s?" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "Odblokować dokument: %s?" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "Dokument nie został zablokowany." -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "Błąd podczas odblokowania dokumentu: %s" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "Dokument \"%s\" został pomyślnie odblokowany." @@ -253,11 +268,11 @@ msgstr "Okres" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -283,9 +298,6 @@ msgstr "Okres" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/pt/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/pt/LC_MESSAGES/django.po index fa73e45141..d12c2c3f51 100644 --- a/mayan/apps/checkouts/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/pt/LC_MESSAGES/django.po @@ -1,27 +1,34 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:08+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "" @@ -38,7 +45,7 @@ msgstr "" msgid "Document forcefully checked in" msgstr "" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "" @@ -46,13 +53,11 @@ msgstr "" msgid "Document status" msgstr "" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "Utilizador" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -61,7 +66,6 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -93,7 +97,7 @@ msgstr "" msgid "Checked in/available" msgstr "" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "" @@ -118,7 +122,6 @@ msgid "Block new version upload" msgstr "" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -130,6 +133,14 @@ msgstr "" msgid "Document checkouts" msgstr "" +#: models.py:97 +msgid "New version block" +msgstr "" + +#: models.py:98 +msgid "New version blocks" +msgstr "" + #: permissions.py:10 msgid "Check in documents" msgstr "" @@ -146,64 +157,60 @@ msgstr "" msgid "Check out details view" msgstr "" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "" -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "" -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "" -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "" -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" msgstr "" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "" -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "" @@ -252,11 +259,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -282,9 +289,6 @@ msgstr "" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/pt_BR/LC_MESSAGES/django.po index 441b223459..c6f4add966 100644 --- a/mayan/apps/checkouts/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -9,20 +9,27 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-17 22:36+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "Reservas" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "Documento devolvido automaticamente" @@ -39,7 +46,7 @@ msgstr "Documento reservado" msgid "Document forcefully checked in" msgstr "Documento devolvido forçosamente" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "Documento já está reservado." @@ -47,13 +54,11 @@ msgstr "Documento já está reservado." msgid "Document status" msgstr "Status do documento" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "Usuário" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "Hora da reserva" @@ -62,7 +67,6 @@ msgid "Check out expiration" msgstr "Saída da reserva" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "Novas versões permitidas?" @@ -94,7 +98,7 @@ msgstr "Reservado" msgid "Checked in/available" msgstr "Devolvido/disponível" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "Documento" @@ -119,7 +123,6 @@ msgid "Block new version upload" msgstr "Restringir o carregamento de novas versões" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "Data e hora da expiração da reserva deve ser no futuro." @@ -131,6 +134,18 @@ msgstr "Reserva de documentos" msgid "Document checkouts" msgstr "Reservas de documentos" +#: models.py:97 +#, fuzzy +#| msgid "New versions allowed?" +msgid "New version block" +msgstr "Novas versões permitidas?" + +#: models.py:98 +#, fuzzy +#| msgid "New versions allowed?" +msgid "New version blocks" +msgstr "Novas versões permitidas?" + #: permissions.py:10 msgid "Check in documents" msgstr "Devolver documentos" @@ -147,64 +162,62 @@ msgstr "Reservar documentos" msgid "Check out details view" msgstr "Detalhes da reserva" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "Erro tentando reservar documeto; %s" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "Documento \"%s\" reservado com êxito." -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "Reservar o documento: %s" -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "Documentos reservados" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "Data e hora da reserva" -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "Expiração da reserva" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "Detalhes da reserva para o documento: %s " -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" -msgstr "Você não reservou inicialmente este documento. Devolver forçosamente o documento: %s?" +msgstr "" +"Você não reservou inicialmente este documento. Devolver forçosamente o " +"documento: %s?" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "Devolver o documento: %s?" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "O documento não foi reservado." -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "Erro tentando devolver o documento: %s" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "Documento \"%s\" devolvido com sucesso." @@ -253,11 +266,11 @@ msgstr "Período" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -283,9 +296,6 @@ msgstr "Período" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/ro_RO/LC_MESSAGES/django.po index b43cba8af6..68108872ce 100644 --- a/mayan/apps/checkouts/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/ro_RO/LC_MESSAGES/django.po @@ -1,27 +1,35 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:08+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "Document aprobat în mod automat " @@ -38,7 +46,7 @@ msgstr "Documentul aprobat" msgid "Document forcefully checked in" msgstr "Document aprobat forţat" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "Document deja aprobat." @@ -46,13 +54,11 @@ msgstr "Document deja aprobat." msgid "Document status" msgstr "" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "utilizator" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -61,7 +67,6 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -93,7 +98,7 @@ msgstr "" msgid "Checked in/available" msgstr "" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "" @@ -103,7 +108,8 @@ msgstr "" #: models.py:33 msgid "Amount of time to hold the document checked out in minutes." -msgstr "Total timp alocat pentru a deține documentul pentru aprobare în minute." +msgstr "" +"Total timp alocat pentru a deține documentul pentru aprobare în minute." #: models.py:35 msgid "Check out expiration date and time" @@ -118,7 +124,6 @@ msgid "Block new version upload" msgstr "" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -130,6 +135,14 @@ msgstr "Document aprobat" msgid "Document checkouts" msgstr "" +#: models.py:97 +msgid "New version block" +msgstr "" + +#: models.py:98 +msgid "New version blocks" +msgstr "" + #: permissions.py:10 msgid "Check in documents" msgstr "Aprobări documentele" @@ -146,64 +159,60 @@ msgstr "Aprobări documente" msgid "Check out details view" msgstr "" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "Eroare la încercarea de a aproba documentul ;% s" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "Documentul \"%s\" a fost aprobat cu succes." -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "Aprobarea documentului:% s" -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "" -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "Verificat detaliile documentului:% s" -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" msgstr "" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "Documentul nu a fost aprobat." -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "Eroare la încercarea de aprobare a documentului; % s" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "Documentul \"%s\" aprobat cu succes." @@ -252,11 +261,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -282,9 +291,6 @@ msgstr "" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/ru/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/ru/LC_MESSAGES/django.po index 3c8bab177b..49f439ded4 100644 --- a/mayan/apps/checkouts/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -9,20 +9,29 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-07-19 19:54+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "Забронированные документы" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "Документ автоматически освобождён" @@ -39,7 +48,7 @@ msgstr "Документ забронирован" msgid "Document forcefully checked in" msgstr "Документ освобождён насильно" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "Документ уже забронирован." @@ -47,13 +56,11 @@ msgstr "Документ уже забронирован." msgid "Document status" msgstr "Статус документа" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "Пользователь" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "Время бронивания" @@ -62,7 +69,6 @@ msgid "Check out expiration" msgstr "Окончание бронирования" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "Новые версии разрешены?" @@ -94,7 +100,7 @@ msgstr "Разбронирован" msgid "Checked in/available" msgstr "Освобождён/доступен" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "Документ" @@ -119,7 +125,6 @@ msgid "Block new version upload" msgstr "Заблокировать загрузку новых версий" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "Время окончания брованирования должно быть в будущем." @@ -131,6 +136,18 @@ msgstr "Бронирование документа" msgid "Document checkouts" msgstr "Забронированные документы" +#: models.py:97 +#, fuzzy +#| msgid "New versions allowed?" +msgid "New version block" +msgstr "Новые версии разрешены?" + +#: models.py:98 +#, fuzzy +#| msgid "New versions allowed?" +msgid "New version blocks" +msgstr "Новые версии разрешены?" + #: permissions.py:10 msgid "Check in documents" msgstr "Освобождение документов" @@ -147,64 +164,60 @@ msgstr "Бронирование документов" msgid "Check out details view" msgstr "Подробности бронирования" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "Не удалось забронировать %s" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "Документ \"%s\" забронирован." -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "Бронирование документа: %s" -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "Документы забронированы" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "Дата и время бронирования" -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "Истечение бронирования" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "Подробности бронирования %s" -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" msgstr "Документ был забронирован не вами. Освободить насильно %s?" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "Освободить документ: %s?" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "Документ не был забронирован." -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "Ошибка освобождения документа %s" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "Документ \"%s\" освобожден." @@ -253,11 +266,11 @@ msgstr "Интервал" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -283,9 +296,6 @@ msgstr "Интервал" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/sl_SI/LC_MESSAGES/django.po index 2a7c4b5920..65ba906588 100644 --- a/mayan/apps/checkouts/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/sl_SI/LC_MESSAGES/django.po @@ -1,27 +1,35 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:08+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "" @@ -38,7 +46,7 @@ msgstr "" msgid "Document forcefully checked in" msgstr "" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "" @@ -46,13 +54,11 @@ msgstr "" msgid "Document status" msgstr "" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -61,7 +67,6 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -93,7 +98,7 @@ msgstr "" msgid "Checked in/available" msgstr "" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "" @@ -118,7 +123,6 @@ msgid "Block new version upload" msgstr "" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -130,6 +134,14 @@ msgstr "" msgid "Document checkouts" msgstr "" +#: models.py:97 +msgid "New version block" +msgstr "" + +#: models.py:98 +msgid "New version blocks" +msgstr "" + #: permissions.py:10 msgid "Check in documents" msgstr "" @@ -146,64 +158,60 @@ msgstr "" msgid "Check out details view" msgstr "" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "" -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "" -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "" -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "" -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" msgstr "" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "" -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "" @@ -252,11 +260,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -282,9 +290,6 @@ msgstr "" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/vi_VN/LC_MESSAGES/django.po index 809c57ed4d..1432dd14c5 100644 --- a/mayan/apps/checkouts/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/vi_VN/LC_MESSAGES/django.po @@ -1,27 +1,34 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:08+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "" @@ -38,7 +45,7 @@ msgstr "" msgid "Document forcefully checked in" msgstr "" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "" @@ -46,13 +53,11 @@ msgstr "" msgid "Document status" msgstr "" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "Người dùng" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -61,7 +66,6 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -93,7 +97,7 @@ msgstr "" msgid "Checked in/available" msgstr "" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "" @@ -118,7 +122,6 @@ msgid "Block new version upload" msgstr "" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -130,6 +133,14 @@ msgstr "" msgid "Document checkouts" msgstr "" +#: models.py:97 +msgid "New version block" +msgstr "" + +#: models.py:98 +msgid "New version blocks" +msgstr "" + #: permissions.py:10 msgid "Check in documents" msgstr "" @@ -146,64 +157,60 @@ msgstr "" msgid "Check out details view" msgstr "" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "" -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "" -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "" -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "" -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" msgstr "" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "" -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "" @@ -252,11 +259,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -282,9 +289,6 @@ msgstr "" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/checkouts/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/zh_CN/LC_MESSAGES/django.po index 4ffd34e056..fb5b3a55c4 100644 --- a/mayan/apps/checkouts/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/zh_CN/LC_MESSAGES/django.po @@ -1,27 +1,34 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:08+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:31 links.py:30 +#: apps.py:35 links.py:30 msgid "Checkouts" msgstr "" +#: apps.py:54 +#, fuzzy +#| msgid "checked out documents" +msgid "Checkedout documents" +msgstr "checked out documents" + #: events.py:9 msgid "Document automatically checked in" msgstr "文档自动签入" @@ -38,7 +45,7 @@ msgstr "文档检出" msgid "Document forcefully checked in" msgstr "文档强制签入" -#: exceptions.py:25 views.py:55 +#: exceptions.py:25 views.py:49 msgid "Document already checked out." msgstr "文档已经检出" @@ -46,13 +53,11 @@ msgstr "文档已经检出" msgid "Document status" msgstr "" -#: forms.py:37 models.py:37 views.py:85 -#| msgid "User: %s" +#: forms.py:37 models.py:37 views.py:79 msgid "User" msgstr "用户" #: forms.py:41 -#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -61,7 +66,6 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 -#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -93,7 +97,7 @@ msgstr "" msgid "Checked in/available" msgstr "" -#: models.py:27 +#: models.py:27 models.py:92 msgid "Document" msgstr "" @@ -118,7 +122,6 @@ msgid "Block new version upload" msgstr "" #: models.py:54 -#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -130,6 +133,14 @@ msgstr "文档检出" msgid "Document checkouts" msgstr "" +#: models.py:97 +msgid "New version block" +msgstr "" + +#: models.py:98 +msgid "New version blocks" +msgstr "" + #: permissions.py:10 msgid "Check in documents" msgstr "签入文档" @@ -146,64 +157,60 @@ msgstr "检出文档" msgid "Check out details view" msgstr "" -#: views.py:59 +#: views.py:53 #, python-format msgid "Error trying to check out document; %s" msgstr "尝试检出文档出错%s" -#: views.py:64 +#: views.py:58 #, python-format msgid "Document \"%s\" checked out successfully." msgstr "文档\"%s\"检出成功" -#: views.py:72 +#: views.py:66 #, python-format msgid "Check out document: %s" msgstr "检出文档: %s" -#: views.py:81 +#: views.py:75 msgid "Documents checked out" msgstr "" -#: views.py:91 +#: views.py:85 msgid "Checkout time and date" msgstr "" -#: views.py:97 +#: views.py:91 msgid "Checkout expiration" msgstr "" -#: views.py:118 +#: views.py:112 #, python-format msgid "Check out details for document: %s" msgstr "文档:%s的检出信息" -#: views.py:136 +#: views.py:130 #, python-format -#| msgid "" -#| "dn't originally checked out this document. Are you sure you wish cefully " -#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" msgstr "" -#: views.py:140 +#: views.py:134 #, python-format -#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" -#: views.py:177 +#: views.py:162 msgid "Document has not been checked out." msgstr "文档未被检出" -#: views.py:182 +#: views.py:167 #, python-format msgid "Error trying to check in document; %s" msgstr "尝试签入文档出错: %s" -#: views.py:187 +#: views.py:172 #, python-format msgid "Document \"%s\" checked in successfully." msgstr "文档\"%s\"签入成功" @@ -252,11 +259,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, hours " -#~ "and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, " +#~ "hours and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." @@ -282,9 +289,6 @@ msgstr "" #~ msgid "document checkouts" #~ msgstr "document checkouts" -#~ msgid "checked out documents" -#~ msgstr "checked out documents" - #~ msgid "no" #~ msgstr "no" diff --git a/mayan/apps/common/locale/ar/LC_MESSAGES/django.po b/mayan/apps/common/locale/ar/LC_MESSAGES/django.po index 38b0233630..da5f7d94ac 100644 --- a/mayan/apps/common/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -9,77 +9,79 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "الاختيار" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "" -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "إضافة" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "إزالة" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "" -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "" -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "" -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "" -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "" #: links.py:9 -msgid "About" +msgid "About this" msgstr "" #: links.py:12 @@ -99,22 +101,38 @@ msgid "Edit locale profile" msgstr "" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "License" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "" @@ -130,7 +148,21 @@ msgstr "Hours" msgid "Minutes" msgstr "Minutes" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "Object" @@ -175,16 +207,12 @@ msgid "User locale profiles" msgstr "" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" -msgid "" -"Temporary directory used site wide to store thumbnails, previews and " -"temporary files." +msgid "Automatically enable logging to all apps." msgstr "" -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." +#: settings.py:19 +msgid "" +"Time to delay background tasks that depend on a database commit to propagate." msgstr "" #: settings.py:27 @@ -192,59 +220,57 @@ msgid "An integer specifying how many objects should be displayed per page." msgstr "" #: settings.py:33 -msgid "Automatically enable logging to all apps." +msgid "A storage backend that all workers can use to share files." msgstr "" -#: settings.py:39 +#: settings.py:38 msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." +"Temporary directory used site wide to store thumbnails, previews and " +"temporary files." msgstr "" -#: views.py:37 +#: views.py:43 msgid "Current user details" msgstr "" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "لم يتم اختيار اجراء." -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "يجب اختيار غرض واحد عالأقل." -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "لا شيء" @@ -282,11 +308,11 @@ msgstr "لا شيء" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -295,11 +321,11 @@ msgstr "لا شيء" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/bg/LC_MESSAGES/django.po b/mayan/apps/common/locale/bg/LC_MESSAGES/django.po index 16256964c2..bbf042d913 100644 --- a/mayan/apps/common/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pavlin Koldamov , 2012 @@ -9,77 +9,78 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "" -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "Добави" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "Премахнете" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "" -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "" -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "" -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "" -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "" #: links.py:9 -msgid "About" +msgid "About this" msgstr "" #: links.py:12 @@ -99,22 +100,38 @@ msgid "Edit locale profile" msgstr "" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "Лиценз" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "" @@ -130,7 +147,21 @@ msgstr "Часове" msgid "Minutes" msgstr "Минути" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "Обект" @@ -175,16 +206,12 @@ msgid "User locale profiles" msgstr "" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" -msgid "" -"Temporary directory used site wide to store thumbnails, previews and " -"temporary files." +msgid "Automatically enable logging to all apps." msgstr "" -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." +#: settings.py:19 +msgid "" +"Time to delay background tasks that depend on a database commit to propagate." msgstr "" #: settings.py:27 @@ -192,59 +219,57 @@ msgid "An integer specifying how many objects should be displayed per page." msgstr "" #: settings.py:33 -msgid "Automatically enable logging to all apps." +msgid "A storage backend that all workers can use to share files." msgstr "" -#: settings.py:39 +#: settings.py:38 msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." +"Temporary directory used site wide to store thumbnails, previews and " +"temporary files." msgstr "" -#: views.py:37 +#: views.py:43 msgid "Current user details" msgstr "" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "Не са избрани действия." -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "" -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "Няма" @@ -282,11 +307,11 @@ msgstr "Няма" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -295,11 +320,11 @@ msgstr "Няма" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/common/locale/bs_BA/LC_MESSAGES/django.po index 8b8819d328..61ef4ce433 100644 --- a/mayan/apps/common/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -9,77 +9,79 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "Odabir" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "" -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "Dodati" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "Ukloniti" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "" -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "" -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "" -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "" -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "" #: links.py:9 -msgid "About" +msgid "About this" msgstr "" #: links.py:12 @@ -99,22 +101,38 @@ msgid "Edit locale profile" msgstr "" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "Licence" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "" @@ -130,7 +148,21 @@ msgstr "Sati" msgid "Minutes" msgstr "Minuta" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "Objekat" @@ -175,16 +207,12 @@ msgid "User locale profiles" msgstr "" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" -msgid "" -"Temporary directory used site wide to store thumbnails, previews and " -"temporary files." +msgid "Automatically enable logging to all apps." msgstr "" -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." +#: settings.py:19 +msgid "" +"Time to delay background tasks that depend on a database commit to propagate." msgstr "" #: settings.py:27 @@ -192,59 +220,57 @@ msgid "An integer specifying how many objects should be displayed per page." msgstr "" #: settings.py:33 -msgid "Automatically enable logging to all apps." +msgid "A storage backend that all workers can use to share files." msgstr "" -#: settings.py:39 +#: settings.py:38 msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." +"Temporary directory used site wide to store thumbnails, previews and " +"temporary files." msgstr "" -#: views.py:37 +#: views.py:43 msgid "Current user details" msgstr "" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "Nijedna akcija nije odabrana." -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "Mora biti izabrana barem jedna stanka." -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "Nijedno" @@ -282,11 +308,11 @@ msgstr "Nijedno" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -295,11 +321,11 @@ msgstr "Nijedno" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/da/LC_MESSAGES/django.po b/mayan/apps/common/locale/da/LC_MESSAGES/django.po index cc4fdec981..96a37a81ad 100644 --- a/mayan/apps/common/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/da/LC_MESSAGES/django.po @@ -1,84 +1,85 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "" -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "" -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "" -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "" -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "" -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "" #: links.py:9 -msgid "About" +msgid "About this" msgstr "" #: links.py:12 @@ -98,22 +99,38 @@ msgid "Edit locale profile" msgstr "" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "" @@ -129,7 +146,21 @@ msgstr "" msgid "Minutes" msgstr "" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "Objekt" @@ -174,16 +205,12 @@ msgid "User locale profiles" msgstr "" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" -msgid "" -"Temporary directory used site wide to store thumbnails, previews and " -"temporary files." +msgid "Automatically enable logging to all apps." msgstr "" -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." +#: settings.py:19 +msgid "" +"Time to delay background tasks that depend on a database commit to propagate." msgstr "" #: settings.py:27 @@ -191,59 +218,57 @@ msgid "An integer specifying how many objects should be displayed per page." msgstr "" #: settings.py:33 -msgid "Automatically enable logging to all apps." +msgid "A storage backend that all workers can use to share files." msgstr "" -#: settings.py:39 +#: settings.py:38 msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." +"Temporary directory used site wide to store thumbnails, previews and " +"temporary files." msgstr "" -#: views.py:37 +#: views.py:43 msgid "Current user details" msgstr "" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "" -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "" -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "Ingen" @@ -281,11 +306,11 @@ msgstr "Ingen" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -294,11 +319,11 @@ msgstr "Ingen" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/common/locale/de_DE/LC_MESSAGES/django.po index e2d422ace2..11ebda6894 100644 --- a/mayan/apps/common/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Berny , 2015-2016 @@ -12,77 +12,80 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-31 19:01+0000\n" "Last-Translator: Tobias Paepke \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "Allgemein" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "Verfügbare Attribute:" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "Auswahl" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "Filter" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "Auswahl %s kann nicht übertragen werden" -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "Hinzufügen" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "Entfernen" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "%(object)s nicht erstellt, Fehler: %(error)s" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "%(object)s erfolgreich erstellt." -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "%(object)s nicht gelöscht, Fehler: %(error)s." -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "%(object)s erfolgreich gelöscht." -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "%(object)s nicht aktualisiert, Fehler: %(error)s." -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "%(object)s erfolgreich aktualisiert." #: links.py:9 -msgid "About" +#, fuzzy +#| msgid "About" +msgid "About this" msgstr "Über" #: links.py:12 @@ -102,22 +105,38 @@ msgid "Edit locale profile" msgstr "Lokalisierungsprofil bearbeiten" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "Datenfilter" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "Lizenz" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "Andere Paket-Lizenzen" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "Einrichtung" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "Werkzeuge" @@ -133,7 +152,21 @@ msgstr "Stunden" msgid "Minutes" msgstr "Minuten" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "Über" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "Objekt" @@ -178,76 +211,75 @@ msgid "User locale profiles" msgstr "Benutzerlokalisierungsprofile" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" -msgid "" -"Temporary directory used site wide to store thumbnails, previews and " -"temporary files." -msgstr "Temporäres Verzeichnis zum systemweiten Speichern von Thumbnails, Vorschauen und temporären Dateien. " - -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." -msgstr "Datenbackend, das alle Worker benutzen können, um Dateien zu teilen" - -#: settings.py:27 -msgid "An integer specifying how many objects should be displayed per page." -msgstr "Eine Ganzzahl, die die Anzahl der angezeigten Datensätze pro Seite angibt." - -#: settings.py:33 msgid "Automatically enable logging to all apps." msgstr "Protokollierung für alle Apps automatisch freischalten." -#: settings.py:39 +#: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." -msgstr "Zeit für die Verzögerung von Hintergrundaufgaben, die für ihre Fortsetzung auf einen Datenbankcommit warten." +"Time to delay background tasks that depend on a database commit to propagate." +msgstr "" +"Zeit für die Verzögerung von Hintergrundaufgaben, die für ihre Fortsetzung " +"auf einen Datenbankcommit warten." -#: views.py:37 +#: settings.py:27 +msgid "An integer specifying how many objects should be displayed per page." +msgstr "" +"Eine Ganzzahl, die die Anzahl der angezeigten Datensätze pro Seite angibt." + +#: settings.py:33 +msgid "A storage backend that all workers can use to share files." +msgstr "Datenbackend, das alle Worker benutzen können, um Dateien zu teilen" + +#: settings.py:38 +msgid "" +"Temporary directory used site wide to store thumbnails, previews and " +"temporary files." +msgstr "" +"Temporäres Verzeichnis zum systemweiten Speichern von Thumbnails, Vorschauen " +"und temporären Dateien. " + +#: views.py:43 msgid "Current user details" msgstr "Aktuelle Benutzerdetails" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "Aktuelle Benutzerdetails bearbeiten" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "Aktuelle Benutzerlokalisierungsdetails" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "Aktuelle Benutzerlokalisierungsdetails bearbeiten" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "Filterauswahl" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "Ergebnis für Filter %s" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "Filter nicht gefunden" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "Einrichtungsdetails" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "Keine Aktion ausgewählt." -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "Es muss mindestens ein Element ausgewählt werden." -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "Kein(e)" @@ -285,11 +317,11 @@ msgstr "Kein(e)" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -298,11 +330,11 @@ msgstr "Kein(e)" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/en/LC_MESSAGES/django.po b/mayan/apps/common/locale/en/LC_MESSAGES/django.po index 63e92bcef2..6c036b79d7 100644 --- a/mayan/apps/common/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2012-12-12 06:05+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" @@ -18,68 +18,68 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "Selection" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "" -#: generics.py:126 +#: generics.py:133 #, fuzzy, python-format msgid "Unable to transfer selection: %s." msgstr "Unable to add %(selection)s to %(right_list_title)s." -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "Add" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "Remove" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "" -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "" -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "" -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "" -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "" #: links.py:9 #, fuzzy -msgid "About" +msgid "About this" msgstr "about" #: links.py:12 @@ -101,22 +101,38 @@ msgid "Edit locale profile" msgstr "" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "License" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "" @@ -132,7 +148,22 @@ msgstr "" msgid "Minutes" msgstr "" -#: mixins.py:125 +#: menus.py:12 +#, fuzzy +msgid "About" +msgstr "about" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "" @@ -177,6 +208,23 @@ msgid "User locale profiles" msgstr "" #: settings.py:13 +msgid "Automatically enable logging to all apps." +msgstr "" + +#: settings.py:19 +msgid "" +"Time to delay background tasks that depend on a database commit to propagate." +msgstr "" + +#: settings.py:27 +msgid "An integer specifying how many objects should be displayed per page." +msgstr "" + +#: settings.py:33 +msgid "A storage backend that all workers can use to share files." +msgstr "" + +#: settings.py:38 #, fuzzy #| msgid "" #| "Temporary directory used site wide to store thumbnails, previews and " @@ -190,73 +238,56 @@ msgstr "" "temporary files. If none is specified, one will be created using tempfile." "mkdtemp()" -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." -msgstr "" - -#: settings.py:27 -msgid "An integer specifying how many objects should be displayed per page." -msgstr "" - -#: settings.py:33 -msgid "Automatically enable logging to all apps." -msgstr "" - -#: settings.py:39 -msgid "" -"Time to delay background tasks that depend on a database commit to propagate." -msgstr "" - -#: views.py:37 +#: views.py:43 #, fuzzy msgid "Current user details" msgstr "current user details" -#: views.py:42 +#: views.py:48 #, fuzzy msgid "Edit current user details" msgstr "edit current user details" -#: views.py:62 +#: views.py:68 #, fuzzy msgid "Current user locale profile details" msgstr "current user details" -#: views.py:69 +#: views.py:75 #, fuzzy msgid "Edit current user locale profile details" msgstr "edit current user details" -#: views.py:113 +#: views.py:131 #, fuzzy #| msgid "Selection" msgid "Filter selection" msgstr "Selection" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "" -#: views.py:136 +#: views.py:154 #, fuzzy #| msgid "Page not found" msgid "Filter not found" msgstr "Page not found" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "No action selected." -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "Must select at least one item." -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "None" diff --git a/mayan/apps/common/locale/es/LC_MESSAGES/django.po b/mayan/apps/common/locale/es/LC_MESSAGES/django.po index 3cdc8e7ca4..0bc9c3f740 100644 --- a/mayan/apps/common/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 @@ -12,77 +12,80 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:51+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "Común" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "Atributos disponibles:" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "Selección" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "Filtro" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "No se ha podido transferir la selección: %s." -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "Agregar" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "Eliminar" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "%(object)s no se pudo crear, error: %(error)s" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "%(object)s creado con éxito." -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "%(object)s no se pudo borrar, error: %(error)s." -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "%(object)s borrado con éxito." -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "%(object)s no se pudo actualizar, error: %(error)s." -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "%(object)s actualizado con éxito." #: links.py:9 -msgid "About" +#, fuzzy +#| msgid "About" +msgid "About this" msgstr "Acerca de" #: links.py:12 @@ -102,22 +105,38 @@ msgid "Edit locale profile" msgstr "Editar perfil de localización" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "Filtros de datos" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "Licencia" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "Licencias de otros paquetes" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "Configuración" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "Herramientas" @@ -133,7 +152,21 @@ msgstr "Horas" msgid "Minutes" msgstr "Minutos" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "Acerca de" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "Objeto" @@ -178,76 +211,77 @@ msgid "User locale profiles" msgstr "Perfiles de localización de usuario" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" -msgid "" -"Temporary directory used site wide to store thumbnails, previews and " -"temporary files." -msgstr "Directorio temporero utilizado en todo el sitio para almacenar imágenes en miniatura, visualizaciones y archivos temporeros." - -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." -msgstr "Un soporte de almacenamiento que todos los 'workers' puedan utilizar para compartir archivos." - -#: settings.py:27 -msgid "An integer specifying how many objects should be displayed per page." -msgstr "Un número entero que especifica cuántos objetos se debe mostrar por página." - -#: settings.py:33 msgid "Automatically enable logging to all apps." msgstr "Activar bitácoras automáticamente a todas las aplicaciones." -#: settings.py:39 +#: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." -msgstr "Tiempo para retrasar las tareas de fondo que dependen de la propagación de información en la base de datos." +"Time to delay background tasks that depend on a database commit to propagate." +msgstr "" +"Tiempo para retrasar las tareas de fondo que dependen de la propagación de " +"información en la base de datos." -#: views.py:37 +#: settings.py:27 +msgid "An integer specifying how many objects should be displayed per page." +msgstr "" +"Un número entero que especifica cuántos objetos se debe mostrar por página." + +#: settings.py:33 +msgid "A storage backend that all workers can use to share files." +msgstr "" +"Un soporte de almacenamiento que todos los 'workers' puedan utilizar para " +"compartir archivos." + +#: settings.py:38 +msgid "" +"Temporary directory used site wide to store thumbnails, previews and " +"temporary files." +msgstr "" +"Directorio temporero utilizado en todo el sitio para almacenar imágenes en " +"miniatura, visualizaciones y archivos temporeros." + +#: views.py:43 msgid "Current user details" msgstr "Detalles del usuario actual" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "Editar los detalles del usuario actual" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "Detalles del perfil de localización del usuario actual" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "Editar los detalles del perfil del usuario local" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "Selección de filtro" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "Resultados para el filtro: %s" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "Filtro no encontrado" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "Elementos de configuración" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "Ninguna acción seleccionada." -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "Debe seleccionar al menos un artículo." -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "Ninguno" @@ -285,11 +319,11 @@ msgstr "Ninguno" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -298,11 +332,11 @@ msgstr "Ninguno" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/fa/LC_MESSAGES/django.po b/mayan/apps/common/locale/fa/LC_MESSAGES/django.po index 104af55de1..0340486bc5 100644 --- a/mayan/apps/common/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammad Dashtizadeh , 2013 @@ -9,77 +9,80 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "خصوصیات موجود" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "انتخاب" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "" -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "افزودن" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "حذف" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "" -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "" -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "" -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "" -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "" #: links.py:9 -msgid "About" +#, fuzzy +#| msgid "About" +msgid "About this" msgstr "درباره" #: links.py:12 @@ -99,22 +102,38 @@ msgid "Edit locale profile" msgstr "ویرایش پروفایل محلی" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "لیسانس" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "نصب" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "ابزار" @@ -130,7 +149,21 @@ msgstr "ساعات" msgid "Minutes" msgstr "دقایق" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "درباره" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "شیئ" @@ -175,76 +208,70 @@ msgid "User locale profiles" msgstr "پروفایل محلی کاربر" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" -msgid "" -"Temporary directory used site wide to store thumbnails, previews and " -"temporary files." +msgid "Automatically enable logging to all apps." msgstr "" -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." -msgstr "محلی که کلیه کاربران جهت به اشتراک گذاری فایل میتوانند استفاه کنند." +#: settings.py:19 +msgid "" +"Time to delay background tasks that depend on a database commit to propagate." +msgstr "" #: settings.py:27 msgid "An integer specifying how many objects should be displayed per page." msgstr "" #: settings.py:33 -msgid "Automatically enable logging to all apps." -msgstr "" +msgid "A storage backend that all workers can use to share files." +msgstr "محلی که کلیه کاربران جهت به اشتراک گذاری فایل میتوانند استفاه کنند." -#: settings.py:39 +#: settings.py:38 msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." +"Temporary directory used site wide to store thumbnails, previews and " +"temporary files." msgstr "" -#: views.py:37 +#: views.py:43 msgid "Current user details" msgstr "جزئیاتا کاربر فعلی" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "یرایش جزئیات کاربر کنونی" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "شرح پروفایل محلی کاربر فعلی" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "ویرایش شرح پروفایل محلی کاربر فعلی" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "اقلام نصب" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "هیچ عملیاتی action انتخاب نشده است." -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "حداقل یک مورد انتخاب شود." -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "هیچکدام." @@ -282,11 +309,11 @@ msgstr "هیچکدام." #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -295,11 +322,11 @@ msgstr "هیچکدام." #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/fr/LC_MESSAGES/django.po b/mayan/apps/common/locale/fr/LC_MESSAGES/django.po index ff667fccff..76f1af746a 100644 --- a/mayan/apps/common/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Franck Boucher , 2016 @@ -13,77 +13,80 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "Commun" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "Options disponibles" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "Sélection" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "Filtre" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "Impossible de transférer la sélection: %s." -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "Ajouter" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "Supprimer" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "%(object)s n'a pas été créé, erreur: %(error)s" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "%(object)s, creation réussi." -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "%(object)s non supprimé, erreur: %(error)s." -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "%(object)s, suppression réussie." -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "%(object)s n'a pas été mis à jour, erreur: %(error)s." -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "%(object)s, mise à jour réussie." #: links.py:9 -msgid "About" +#, fuzzy +#| msgid "About" +msgid "About this" msgstr "À propos" #: links.py:12 @@ -103,22 +106,38 @@ msgid "Edit locale profile" msgstr "Éditer les paramètres régionaux du profil" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "Filtres de données" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "Licence" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "Licences des bibliothèques tierces" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "Configuration" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "Outils" @@ -134,7 +153,21 @@ msgstr "Heures" msgid "Minutes" msgstr "Minutes" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "À propos" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "Objet" @@ -179,76 +212,75 @@ msgid "User locale profiles" msgstr "Paramètres régionaux des profils utilisateur" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" +msgid "Automatically enable logging to all apps." +msgstr "Activation automatique de la trace pour toutes les applications." + +#: settings.py:19 +msgid "" +"Time to delay background tasks that depend on a database commit to propagate." +msgstr "" +"Durée pendant laquelle les tâches d'arrière plan sont différées pour les " +"tâches dépendant d'une mise à jour de la base de données." + +#: settings.py:27 +msgid "An integer specifying how many objects should be displayed per page." +msgstr "" +"Valeur entière indiquant combien d'objets sont affichés sur chaque page." + +#: settings.py:33 +msgid "A storage backend that all workers can use to share files." +msgstr "" +"Un espace de stockage que tous les agents pourront utiliser pour partager " +"des fichiers." + +#: settings.py:38 msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." msgstr "" -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." -msgstr "Un espace de stockage que tous les agents pourront utiliser pour partager des fichiers." - -#: settings.py:27 -msgid "An integer specifying how many objects should be displayed per page." -msgstr "Valeur entière indiquant combien d'objets sont affichés sur chaque page." - -#: settings.py:33 -msgid "Automatically enable logging to all apps." -msgstr "Activation automatique de la trace pour toutes les applications." - -#: settings.py:39 -msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." -msgstr "Durée pendant laquelle les tâches d'arrière plan sont différées pour les tâches dépendant d'une mise à jour de la base de données." - -#: views.py:37 +#: views.py:43 msgid "Current user details" msgstr "Détails de l'utilisateur courant" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "Modifier les détails des utilisateurs actuels" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "Détails des paramètres régionaux de l'utilisateur actuel" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "Éditer le détail des paramètres régionaux de l'utilisateur actuel" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "Sélection du filtre" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "Résultats pour le filtre : %s" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "Filtre non trouvé" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "Paramètres de configuration" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "Aucune action sélectionnée." -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "Vous devez sélectionner au moins un élément." -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "Aucun" @@ -286,11 +318,11 @@ msgstr "Aucun" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -299,11 +331,11 @@ msgstr "Aucun" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/hu/LC_MESSAGES/django.po b/mayan/apps/common/locale/hu/LC_MESSAGES/django.po index 4254ab7cd9..e3035e3b23 100644 --- a/mayan/apps/common/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/hu/LC_MESSAGES/django.po @@ -1,84 +1,85 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "" -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "" -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "" -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "" -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "" -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "" #: links.py:9 -msgid "About" +msgid "About this" msgstr "" #: links.py:12 @@ -98,22 +99,38 @@ msgid "Edit locale profile" msgstr "" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "" @@ -129,7 +146,21 @@ msgstr "" msgid "Minutes" msgstr "" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "" @@ -174,16 +205,12 @@ msgid "User locale profiles" msgstr "" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" -msgid "" -"Temporary directory used site wide to store thumbnails, previews and " -"temporary files." +msgid "Automatically enable logging to all apps." msgstr "" -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." +#: settings.py:19 +msgid "" +"Time to delay background tasks that depend on a database commit to propagate." msgstr "" #: settings.py:27 @@ -191,59 +218,57 @@ msgid "An integer specifying how many objects should be displayed per page." msgstr "" #: settings.py:33 -msgid "Automatically enable logging to all apps." +msgid "A storage backend that all workers can use to share files." msgstr "" -#: settings.py:39 +#: settings.py:38 msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." +"Temporary directory used site wide to store thumbnails, previews and " +"temporary files." msgstr "" -#: views.py:37 +#: views.py:43 msgid "Current user details" msgstr "" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "" -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "" -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "Semmi" @@ -281,11 +306,11 @@ msgstr "Semmi" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -294,11 +319,11 @@ msgstr "Semmi" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/id/LC_MESSAGES/django.po b/mayan/apps/common/locale/id/LC_MESSAGES/django.po index c09b1e73fb..69a336d940 100644 --- a/mayan/apps/common/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/id/LC_MESSAGES/django.po @@ -1,84 +1,87 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "Atribut yang tersedia" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "" -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "tambah" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "hapus" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "" -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "" -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "" -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "" -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "" #: links.py:9 -msgid "About" +#, fuzzy +#| msgid "About" +msgid "About this" msgstr "Tentang" #: links.py:12 @@ -98,22 +101,38 @@ msgid "Edit locale profile" msgstr "edit profil lokal" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "Lisensi" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "" @@ -129,7 +148,21 @@ msgstr "" msgid "Minutes" msgstr "" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "Tentang" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "" @@ -174,16 +207,12 @@ msgid "User locale profiles" msgstr "" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" -msgid "" -"Temporary directory used site wide to store thumbnails, previews and " -"temporary files." +msgid "Automatically enable logging to all apps." msgstr "" -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." +#: settings.py:19 +msgid "" +"Time to delay background tasks that depend on a database commit to propagate." msgstr "" #: settings.py:27 @@ -191,59 +220,57 @@ msgid "An integer specifying how many objects should be displayed per page." msgstr "" #: settings.py:33 -msgid "Automatically enable logging to all apps." +msgid "A storage backend that all workers can use to share files." msgstr "" -#: settings.py:39 +#: settings.py:38 msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." +"Temporary directory used site wide to store thumbnails, previews and " +"temporary files." msgstr "" -#: views.py:37 +#: views.py:43 msgid "Current user details" msgstr "" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "tidak ada aksi yang dipilih" -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "pilih salah satu item" -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "" @@ -281,11 +308,11 @@ msgstr "" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -294,11 +321,11 @@ msgstr "" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/it/LC_MESSAGES/django.po b/mayan/apps/common/locale/it/LC_MESSAGES/django.po index c1edcfa96e..881eb8414f 100644 --- a/mayan/apps/common/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Carlo Zanatto <>, 2012 @@ -13,77 +13,80 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-30 21:18+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "Comune" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "Attributi disponibili:" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "Selezione" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "Filtro" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "Impossibile trasferire la selezione: %s." -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "Aggiungi" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "Rimuovi" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "%(object)s non creato, errore: %(error)s" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "%(object)s creato con successo.." -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "%(object)s non cancellato, errore: %(error)s." -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "%(object)s cancellato con successo.." -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "%(object)s non aggiornato, errore: %(error)s." -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "%(object)s aggiornato con successo." #: links.py:9 -msgid "About" +#, fuzzy +#| msgid "About" +msgid "About this" msgstr "About" #: links.py:12 @@ -103,22 +106,38 @@ msgid "Edit locale profile" msgstr "Modifica profilo locale" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "Filtro dati" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "Licenza" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "Licenze altri pacchetti" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "Configurazione" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "Strumenti" @@ -134,7 +153,21 @@ msgstr "Orario" msgid "Minutes" msgstr "Minuti" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "About" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "Oggetto" @@ -179,76 +212,77 @@ msgid "User locale profiles" msgstr "Profili dell'utente locale" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" -msgid "" -"Temporary directory used site wide to store thumbnails, previews and " -"temporary files." -msgstr "Directory temporanea utilizzata in tutto il sito per memorizzare, miniature, anteprime e files temporanei" - -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." -msgstr "Un backend di memorizzazione che tutti i lavoratori possono utilizzare per condividere i file." - -#: settings.py:27 -msgid "An integer specifying how many objects should be displayed per page." -msgstr "Un intero che specifica quanti oggetti devono essere visualizzati per pagina." - -#: settings.py:33 msgid "Automatically enable logging to all apps." msgstr "Abilita automaticamente i log per tutte le app." -#: settings.py:39 +#: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." -msgstr "Il ritardo per i task in background dipende dalla propagazione del commit su database." +"Time to delay background tasks that depend on a database commit to propagate." +msgstr "" +"Il ritardo per i task in background dipende dalla propagazione del commit su " +"database." -#: views.py:37 +#: settings.py:27 +msgid "An integer specifying how many objects should be displayed per page." +msgstr "" +"Un intero che specifica quanti oggetti devono essere visualizzati per pagina." + +#: settings.py:33 +msgid "A storage backend that all workers can use to share files." +msgstr "" +"Un backend di memorizzazione che tutti i lavoratori possono utilizzare per " +"condividere i file." + +#: settings.py:38 +msgid "" +"Temporary directory used site wide to store thumbnails, previews and " +"temporary files." +msgstr "" +"Directory temporanea utilizzata in tutto il sito per memorizzare, miniature, " +"anteprime e files temporanei" + +#: views.py:43 msgid "Current user details" msgstr "Dettagli dell'attuale utente" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "Modificare i dati dell'utente attuale" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "Dettagli del profilo dell'utente attuale" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "Modificare i dettagli del profilo corrente dell'utente" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "Scegli il filtro" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "Risultati per il filtro: %s" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "Filtro non trovato" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "Impostazione elementi" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "Nessuna azione selezionata" -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "Devi selezionare un elemento" -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "Nessuno" @@ -286,11 +320,11 @@ msgstr "Nessuno" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -299,11 +333,11 @@ msgstr "Nessuno" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/common/locale/nl_NL/LC_MESSAGES/django.po index c00f23d2ef..4240b86881 100644 --- a/mayan/apps/common/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -10,77 +10,80 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-09 15:54+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "Beschikbare eigenschappen:" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "Selectie" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "Filter" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "" -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "Voeg toe" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "Verwijder" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "%(object)s succesvol aangemaakt." -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "" -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "%(object)s succesbol verwijderd." -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "" -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "" #: links.py:9 -msgid "About" +#, fuzzy +#| msgid "About" +msgid "About this" msgstr "Informatie" #: links.py:12 @@ -100,22 +103,38 @@ msgid "Edit locale profile" msgstr "bewerk lokaal profiel" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "Licentie" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "Andere pakketlicensies" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "Setu" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "Gereedschappen" @@ -131,7 +150,21 @@ msgstr "Uren" msgid "Minutes" msgstr "Minuten" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "Informatie" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "Object" @@ -176,16 +209,12 @@ msgid "User locale profiles" msgstr "" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" -msgid "" -"Temporary directory used site wide to store thumbnails, previews and " -"temporary files." +msgid "Automatically enable logging to all apps." msgstr "" -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." +#: settings.py:19 +msgid "" +"Time to delay background tasks that depend on a database commit to propagate." msgstr "" #: settings.py:27 @@ -193,59 +222,57 @@ msgid "An integer specifying how many objects should be displayed per page." msgstr "" #: settings.py:33 -msgid "Automatically enable logging to all apps." +msgid "A storage backend that all workers can use to share files." msgstr "" -#: settings.py:39 +#: settings.py:38 msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." +"Temporary directory used site wide to store thumbnails, previews and " +"temporary files." msgstr "" -#: views.py:37 +#: views.py:43 msgid "Current user details" msgstr "Gegevens van huidige gebruiker" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "Bewerk gegevens van huidige gebruiker" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "Geen acties geselecteerd." -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "Selecteer minimaal een item." -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "Geen" @@ -283,11 +310,11 @@ msgstr "Geen" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -296,11 +323,11 @@ msgstr "Geen" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/pl/LC_MESSAGES/django.po b/mayan/apps/common/locale/pl/LC_MESSAGES/django.po index 06ece6c5fb..cf069dfe85 100644 --- a/mayan/apps/common/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Annunnaky , 2015 @@ -13,77 +13,81 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "Ustawienia wspólne" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "Dostępne atrybuty:" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "Zaznaczenie" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "Filtr" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "Nie można przenieść zaznaczenia: %s." -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "Dodaj" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "Usuń" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "" -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "" -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "" -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "" -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "" #: links.py:9 -msgid "About" +#, fuzzy +#| msgid "About" +msgid "About this" msgstr "Informacje o" #: links.py:12 @@ -103,22 +107,38 @@ msgid "Edit locale profile" msgstr "Edytuj profil regionalny" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "Filtry danych" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "Licencja" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "Pozostałe licencje" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "Ustawienia" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "Narzędzia" @@ -134,7 +154,21 @@ msgstr "Godziny" msgid "Minutes" msgstr "Minuty" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "Informacje o" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "Obiekt" @@ -179,76 +213,72 @@ msgid "User locale profiles" msgstr "Profile regionalne użytkownika" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" -msgid "" -"Temporary directory used site wide to store thumbnails, previews and " -"temporary files." -msgstr "" +msgid "Automatically enable logging to all apps." +msgstr "Włącz dla wszystkich aplikacji automatyczny zapis zdarzeń." -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." -msgstr "Backend przechowywania umożliwiający wszystkim użytkownikom udostępnianie plików." +#: settings.py:19 +msgid "" +"Time to delay background tasks that depend on a database commit to propagate." +msgstr "Czas opóźnienia wykonania zadań zależnych od operacji na bazie danych." #: settings.py:27 msgid "An integer specifying how many objects should be displayed per page." msgstr "Liczba określająca ile obiektów będzie wyświetlane na stronie." #: settings.py:33 -msgid "Automatically enable logging to all apps." -msgstr "Włącz dla wszystkich aplikacji automatyczny zapis zdarzeń." +msgid "A storage backend that all workers can use to share files." +msgstr "" +"Backend przechowywania umożliwiający wszystkim użytkownikom udostępnianie " +"plików." -#: settings.py:39 +#: settings.py:38 msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." -msgstr "Czas opóźnienia wykonania zadań zależnych od operacji na bazie danych." +"Temporary directory used site wide to store thumbnails, previews and " +"temporary files." +msgstr "" -#: views.py:37 +#: views.py:43 msgid "Current user details" msgstr "Dane użytkownika" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "Edytuj dane użytkownika" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "Profil regionalny użytkownika" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "Edytuj profil regionalny użytkownika" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "Wybór filtru" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "Wyniki dla filtru: %s" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "Nie znaleziono filtru" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "Ustawienia elementów" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "Nie wybrano żadnego działania" -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "Musisz wybrać co najmniej jeden element." -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "Brak" @@ -286,11 +316,11 @@ msgstr "Brak" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -299,11 +329,11 @@ msgstr "Brak" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/pt/LC_MESSAGES/django.po b/mayan/apps/common/locale/pt/LC_MESSAGES/django.po index f62d1aeade..1714cc2075 100644 --- a/mayan/apps/common/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Emerson Soares , 2011 @@ -11,77 +11,78 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "Seleção" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "" -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "Adicionar" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "Remover" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "" -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "" -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "" -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "" -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "" #: links.py:9 -msgid "About" +msgid "About this" msgstr "" #: links.py:12 @@ -101,22 +102,38 @@ msgid "Edit locale profile" msgstr "" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "Licença" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "Configuração" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "Ferramentas" @@ -132,7 +149,21 @@ msgstr "" msgid "Minutes" msgstr "" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "Objeto" @@ -177,16 +208,12 @@ msgid "User locale profiles" msgstr "" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" -msgid "" -"Temporary directory used site wide to store thumbnails, previews and " -"temporary files." +msgid "Automatically enable logging to all apps." msgstr "" -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." +#: settings.py:19 +msgid "" +"Time to delay background tasks that depend on a database commit to propagate." msgstr "" #: settings.py:27 @@ -194,59 +221,57 @@ msgid "An integer specifying how many objects should be displayed per page." msgstr "" #: settings.py:33 -msgid "Automatically enable logging to all apps." +msgid "A storage backend that all workers can use to share files." msgstr "" -#: settings.py:39 +#: settings.py:38 msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." +"Temporary directory used site wide to store thumbnails, previews and " +"temporary files." msgstr "" -#: views.py:37 +#: views.py:43 msgid "Current user details" msgstr "" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "Itens de configuração" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "Nenhuma ação selecionada." -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "Deve selecionar pelo menos um item." -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "Nenhum" @@ -284,11 +309,11 @@ msgstr "Nenhum" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -297,11 +322,11 @@ msgstr "Nenhum" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/common/locale/pt_BR/LC_MESSAGES/django.po index 45463a766a..6117e2d199 100644 --- a/mayan/apps/common/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -12,77 +12,80 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-17 22:46+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "Comúm" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "Atributos disponíveis:" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "Seleção" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "Filtro" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "Não foi possível transferir a seleção: %s." -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "Adicionar" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "Remover" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "%(object)s não criado, erro: %(error)s" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "%(object)s criado com sucesso." -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "%(object)s não removido, erro: %(error)s." -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "%(object)s removido com sucesso." -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "%(object)s não atualizado, erro: %(error)s." -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "%(object)s atualizado com sucesso." #: links.py:9 -msgid "About" +#, fuzzy +#| msgid "About" +msgid "About this" msgstr "Sobre" #: links.py:12 @@ -102,22 +105,38 @@ msgid "Edit locale profile" msgstr "Editar perfil Idioma" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "Filtro de dados" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "Licença" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "Licenças de outros pacotes" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "Configurações" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "Ferramentas" @@ -133,7 +152,21 @@ msgstr "Hora" msgid "Minutes" msgstr "Minutos" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "Sobre" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "Objeto" @@ -178,76 +211,77 @@ msgid "User locale profiles" msgstr "Perfis de localidade do usuário" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" -msgid "" -"Temporary directory used site wide to store thumbnails, previews and " -"temporary files." -msgstr "Pasta temporária utilizada em todo o site para armazenar imagens em miniatura, visualizações e arquivos temporários." - -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." -msgstr "Um suporte de armazenamento que todos os trabalhadores podem usar para compartilhar arquivos." - -#: settings.py:27 -msgid "An integer specifying how many objects should be displayed per page." -msgstr "Um número inteiro que especifica quantos objetos se deve mostrar por página." - -#: settings.py:33 msgid "Automatically enable logging to all apps." msgstr "Ativar automaticamente o registro de todos os aplicativos." -#: settings.py:39 +#: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." -msgstr "Tempo para atrasar as tarefas de fundo que dependem da propagação de informação na base de dados." +"Time to delay background tasks that depend on a database commit to propagate." +msgstr "" +"Tempo para atrasar as tarefas de fundo que dependem da propagação de " +"informação na base de dados." -#: views.py:37 +#: settings.py:27 +msgid "An integer specifying how many objects should be displayed per page." +msgstr "" +"Um número inteiro que especifica quantos objetos se deve mostrar por página." + +#: settings.py:33 +msgid "A storage backend that all workers can use to share files." +msgstr "" +"Um suporte de armazenamento que todos os trabalhadores podem usar para " +"compartilhar arquivos." + +#: settings.py:38 +msgid "" +"Temporary directory used site wide to store thumbnails, previews and " +"temporary files." +msgstr "" +"Pasta temporária utilizada em todo o site para armazenar imagens em " +"miniatura, visualizações e arquivos temporários." + +#: views.py:43 msgid "Current user details" msgstr "Detalhes do usuário atual" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "Editar detalhes do usuário atual" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "Detalhes do perfil de localidade do usuário atual" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "Editar detalhes do perfil de localização do usuário atual" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "Seleção de filtro" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "Resultados para o filtro: %s" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "Filtro não encontrado" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "Itens da Configuração" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "Nenhuma ação selecionada." -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "Deve selecionar pelo menos um item." -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "Nenhum" @@ -285,11 +319,11 @@ msgstr "Nenhum" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -298,11 +332,11 @@ msgstr "Nenhum" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/common/locale/ro_RO/LC_MESSAGES/django.po index b647b83a2b..b2f417532a 100644 --- a/mayan/apps/common/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Badea Gabriel , 2013 @@ -9,77 +9,81 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "selecţie" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "" -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "Adaugă" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "Şterge" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "" -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "" -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "" -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "" -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "" #: links.py:9 -msgid "About" +#, fuzzy +#| msgid "About" +msgid "About this" msgstr "Despre" #: links.py:12 @@ -99,22 +103,38 @@ msgid "Edit locale profile" msgstr "" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "Licenţă" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "" @@ -130,7 +150,21 @@ msgstr "Ore" msgid "Minutes" msgstr "Minute" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "Despre" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "Obiect" @@ -175,16 +209,12 @@ msgid "User locale profiles" msgstr "" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" -msgid "" -"Temporary directory used site wide to store thumbnails, previews and " -"temporary files." +msgid "Automatically enable logging to all apps." msgstr "" -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." +#: settings.py:19 +msgid "" +"Time to delay background tasks that depend on a database commit to propagate." msgstr "" #: settings.py:27 @@ -192,59 +222,57 @@ msgid "An integer specifying how many objects should be displayed per page." msgstr "" #: settings.py:33 -msgid "Automatically enable logging to all apps." +msgid "A storage backend that all workers can use to share files." msgstr "" -#: settings.py:39 +#: settings.py:38 msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." +"Temporary directory used site wide to store thumbnails, previews and " +"temporary files." msgstr "" -#: views.py:37 +#: views.py:43 msgid "Current user details" msgstr "" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "Nu a fost selectată nici o acţiune." -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "Trebuie sa selectaţi cel puţin un rând" -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "Nici unul" @@ -282,11 +310,11 @@ msgstr "Nici unul" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -295,11 +323,11 @@ msgstr "Nici unul" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/ru/LC_MESSAGES/django.po b/mayan/apps/common/locale/ru/LC_MESSAGES/django.po index 2a696dff02..d81ef13a83 100644 --- a/mayan/apps/common/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -9,77 +9,82 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "Общий" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "Доступные атрибуты:" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "Выбор" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "Фильтр" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "Невозможно передать выделение: %s." -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "Добавить" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "Удалить" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "%(object)s не создан, ошибка: %(error)s" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "%(object)s успешно создан." -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "%(object)s не удалён, ошибка: %(error)s." -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "%(object)s успешно удалён." -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "%(object)s не обновлён, ошибка: %(error)s." -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "%(object)s успешно обновлён." #: links.py:9 -msgid "About" +#, fuzzy +#| msgid "About" +msgid "About this" msgstr "Инфо" #: links.py:12 @@ -99,22 +104,38 @@ msgid "Edit locale profile" msgstr "Редактировать локаль" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "Фильтры данных" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "Лицензия" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "Лицензии других пакетов" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "Настройки" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "Инструменты" @@ -130,7 +151,21 @@ msgstr "Часов" msgid "Minutes" msgstr "Минут" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "Инфо" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "Объект" @@ -175,76 +210,77 @@ msgid "User locale profiles" msgstr "Профили локали пользователей" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" +msgid "Automatically enable logging to all apps." +msgstr "" +"Автоматически разрешать всем установленным приложениям делать записи в " +"журнале." + +#: settings.py:19 +msgid "" +"Time to delay background tasks that depend on a database commit to propagate." +msgstr "" +"Время задержки фоновых задач зависящих от процесса распространения " +"записанных в БД данных." + +#: settings.py:27 +msgid "An integer specifying how many objects should be displayed per page." +msgstr "" +"Числовое значение указывающее как много объектов может быть отображено на " +"одной странице." + +#: settings.py:33 +msgid "A storage backend that all workers can use to share files." +msgstr "" +"Бекенд хранения, который каждый может использовать для хранения файлов." + +#: settings.py:38 msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." msgstr "" -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." -msgstr "Бекенд хранения, который каждый может использовать для хранения файлов." - -#: settings.py:27 -msgid "An integer specifying how many objects should be displayed per page." -msgstr "Числовое значение указывающее как много объектов может быть отображено на одной странице." - -#: settings.py:33 -msgid "Automatically enable logging to all apps." -msgstr "Автоматически разрешать всем установленным приложениям делать записи в журнале." - -#: settings.py:39 -msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." -msgstr "Время задержки фоновых задач зависящих от процесса распространения записанных в БД данных." - -#: views.py:37 +#: views.py:43 msgid "Current user details" msgstr "Настройки текущего пользователя" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "Редактировать настройки текущего пользователя" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "Настройки локали текущего пользователя" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "Редактировать настройки локали текущего пользователя" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "Фильтр по выбранным" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "Результаты для фильтра: %s" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "Фильтр не найден" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "Элементы настроек" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "Никаких действий не выбрано." -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "Необходимо выбрать хотя бы один элемент." -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "Ни один" @@ -282,11 +318,11 @@ msgstr "Ни один" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -295,11 +331,11 @@ msgstr "Ни один" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/common/locale/sl_SI/LC_MESSAGES/django.po index 7b5b6ab0ab..ffeaaafd36 100644 --- a/mayan/apps/common/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/sl_SI/LC_MESSAGES/django.po @@ -1,84 +1,86 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "" -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "" -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "" -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "" -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "" -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "" #: links.py:9 -msgid "About" +msgid "About this" msgstr "" #: links.py:12 @@ -98,22 +100,38 @@ msgid "Edit locale profile" msgstr "" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "" @@ -129,7 +147,21 @@ msgstr "" msgid "Minutes" msgstr "" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "" @@ -174,16 +206,12 @@ msgid "User locale profiles" msgstr "" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" -msgid "" -"Temporary directory used site wide to store thumbnails, previews and " -"temporary files." +msgid "Automatically enable logging to all apps." msgstr "" -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." +#: settings.py:19 +msgid "" +"Time to delay background tasks that depend on a database commit to propagate." msgstr "" #: settings.py:27 @@ -191,59 +219,57 @@ msgid "An integer specifying how many objects should be displayed per page." msgstr "" #: settings.py:33 -msgid "Automatically enable logging to all apps." +msgid "A storage backend that all workers can use to share files." msgstr "" -#: settings.py:39 +#: settings.py:38 msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." +"Temporary directory used site wide to store thumbnails, previews and " +"temporary files." msgstr "" -#: views.py:37 +#: views.py:43 msgid "Current user details" msgstr "" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "" -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "" -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "Brez" @@ -281,11 +307,11 @@ msgstr "Brez" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -294,11 +320,11 @@ msgstr "Brez" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/common/locale/vi_VN/LC_MESSAGES/django.po index b2783432ce..01078ca88d 100644 --- a/mayan/apps/common/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Trung Phan Minh , 2013 @@ -9,77 +9,78 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "Lựa chọn" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "" -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "Thêm" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "Xóa" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "" -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "" -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "" -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "" -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "" #: links.py:9 -msgid "About" +msgid "About this" msgstr "" #: links.py:12 @@ -99,22 +100,38 @@ msgid "Edit locale profile" msgstr "" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "Bản quyền" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "" @@ -130,7 +147,21 @@ msgstr "" msgid "Minutes" msgstr "" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "Đối tượng" @@ -175,16 +206,12 @@ msgid "User locale profiles" msgstr "" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" -msgid "" -"Temporary directory used site wide to store thumbnails, previews and " -"temporary files." +msgid "Automatically enable logging to all apps." msgstr "" -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." +#: settings.py:19 +msgid "" +"Time to delay background tasks that depend on a database commit to propagate." msgstr "" #: settings.py:27 @@ -192,59 +219,57 @@ msgid "An integer specifying how many objects should be displayed per page." msgstr "" #: settings.py:33 -msgid "Automatically enable logging to all apps." +msgid "A storage backend that all workers can use to share files." msgstr "" -#: settings.py:39 +#: settings.py:38 msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." +"Temporary directory used site wide to store thumbnails, previews and " +"temporary files." msgstr "" -#: views.py:37 +#: views.py:43 msgid "Current user details" msgstr "" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "Không thao tác nào được chọn." -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "Cần chọn ít nhất một phần tử." -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "None" @@ -282,11 +307,11 @@ msgstr "None" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -295,11 +320,11 @@ msgstr "None" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/common/locale/zh_CN/LC_MESSAGES/django.po index ae9fd5e2bb..83fdd45518 100644 --- a/mayan/apps/common/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -9,77 +9,78 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:52-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:72 settings.py:9 +#: apps.py:76 settings.py:9 msgid "Common" msgstr "" -#: classes.py:53 +#: classes.py:106 msgid "Available attributes: " msgstr "" -#: forms.py:27 +#: forms.py:26 msgid "Selection" msgstr "选择" -#: forms.py:106 +#: forms.py:105 msgid "Filter" msgstr "" -#: generics.py:126 +#: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." msgstr "" -#: generics.py:150 +#: generics.py:157 msgid "Add" msgstr "新增" -#: generics.py:161 +#: generics.py:168 msgid "Remove" msgstr "移除" -#: generics.py:287 +#: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" msgstr "" -#: generics.py:298 +#: generics.py:338 #, python-format msgid "%(object)s created successfully." msgstr "" -#: generics.py:323 +#: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." msgstr "" -#: generics.py:334 +#: generics.py:374 #, python-format msgid "%(object)s deleted successfully." msgstr "" -#: generics.py:379 +#: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." msgstr "" -#: generics.py:390 +#: generics.py:430 #, python-format msgid "%(object)s updated successfully." msgstr "" #: links.py:9 -msgid "About" +msgid "About this" msgstr "" #: links.py:12 @@ -99,22 +100,38 @@ msgid "Edit locale profile" msgstr "" #: links.py:27 +msgid "Source code" +msgstr "" + +#: links.py:31 +msgid "Documentation" +msgstr "" + +#: links.py:35 msgid "Data filters" msgstr "" -#: links.py:31 views.py:150 +#: links.py:39 +msgid "Forum" +msgstr "" + +#: links.py:43 views.py:168 msgid "License" msgstr "许可证" -#: links.py:34 views.py:164 +#: links.py:46 views.py:182 msgid "Other packages licenses" msgstr "" -#: links.py:38 +#: links.py:50 msgid "Setup" msgstr "" -#: links.py:41 views.py:194 +#: links.py:53 +msgid "Support" +msgstr "" + +#: links.py:57 views.py:212 msgid "Tools" msgstr "" @@ -130,7 +147,21 @@ msgstr "小时" msgid "Minutes" msgstr "分钟" -#: mixins.py:125 +#: menus.py:12 +msgid "About" +msgstr "" + +#: mixins.py:74 +#, python-format +msgid "Operation performed on %(count)d object" +msgstr "" + +#: mixins.py:75 +#, python-format +msgid "Operation performed on %(count)d objects" +msgstr "" + +#: mixins.py:235 msgid "Object" msgstr "对象" @@ -175,16 +206,12 @@ msgid "User locale profiles" msgstr "" #: settings.py:13 -#| msgid "" -#| "ary directory used site wide to store thumbnails, previews and porary es. " -#| "If none is specified, one will be created using pfile.mkdtemp()" -msgid "" -"Temporary directory used site wide to store thumbnails, previews and " -"temporary files." +msgid "Automatically enable logging to all apps." msgstr "" -#: settings.py:21 -msgid "A storage backend that all workers can use to share files." +#: settings.py:19 +msgid "" +"Time to delay background tasks that depend on a database commit to propagate." msgstr "" #: settings.py:27 @@ -192,59 +219,57 @@ msgid "An integer specifying how many objects should be displayed per page." msgstr "" #: settings.py:33 -msgid "Automatically enable logging to all apps." +msgid "A storage backend that all workers can use to share files." msgstr "" -#: settings.py:39 +#: settings.py:38 msgid "" -"Time to delay background tasks that depend on a database commit to " -"propagate." +"Temporary directory used site wide to store thumbnails, previews and " +"temporary files." msgstr "" -#: views.py:37 +#: views.py:43 msgid "Current user details" msgstr "" -#: views.py:42 +#: views.py:48 msgid "Edit current user details" msgstr "" -#: views.py:62 +#: views.py:68 msgid "Current user locale profile details" msgstr "" -#: views.py:69 +#: views.py:75 msgid "Edit current user locale profile details" msgstr "" -#: views.py:113 -#| msgid "Selection" +#: views.py:131 msgid "Filter selection" msgstr "" -#: views.py:129 +#: views.py:147 #, python-format msgid "Results for filter: %s" msgstr "" -#: views.py:136 -#| msgid "Page not found" +#: views.py:154 msgid "Filter not found" msgstr "" -#: views.py:177 +#: views.py:195 msgid "Setup items" msgstr "" -#: views.py:221 +#: views.py:239 msgid "No action selected." msgstr "请选择一个操作" -#: views.py:229 +#: views.py:247 msgid "Must select at least one item." msgstr "至少需要选择一项" -#: widgets.py:50 +#: widgets.py:48 msgid "None" msgstr "无" @@ -282,11 +307,11 @@ msgstr "无" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password field " +#~ "is case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields is " -#~ "case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields " +#~ "is case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -295,11 +320,11 @@ msgstr "无" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: username, " -#~ "email" +#~ "Controls the mechanism used to authenticated user. Options are: " +#~ "username, email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/converter/locale/ar/LC_MESSAGES/django.po b/mayan/apps/converter/locale/ar/LC_MESSAGES/django.po index c1c17b8a73..7fdc356d01 100644 --- a/mayan/apps/converter/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -9,29 +9,31 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "" @@ -41,7 +43,6 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -50,35 +51,69 @@ msgstr "" msgid "LibreOffice not installed or not found at path: %s" msgstr "" -#: classes.py:254 -msgid "Resize" -msgstr "تغيير حجم" - -#: classes.py:295 -msgid "Rotate" -msgstr "تدوير" - -#: classes.py:313 -msgid "Zoom" -msgstr "التكبير" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "" -#: links.py:31 +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "تغيير حجم" + +#: classes.py:359 +msgid "Rotate" +msgstr "تدوير" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" +msgstr "التكبير" + +#: links.py:35 msgid "Create new transformation" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Delete" msgstr "" -#: links.py:39 +#: links.py:43 msgid "Edit" msgstr "تحرير" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "" @@ -111,7 +146,6 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -131,22 +165,22 @@ msgstr "" msgid "Enter a valid YAML value." msgstr "" -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" msgstr "" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" msgstr "" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "" @@ -160,9 +194,6 @@ msgstr "" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -188,14 +219,13 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -508,9 +538,11 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -626,7 +658,8 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/bg/LC_MESSAGES/django.po b/mayan/apps/converter/locale/bg/LC_MESSAGES/django.po index 0f8cf70816..6125cf5f5e 100644 --- a/mayan/apps/converter/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pavlin Koldamov , 2012 @@ -9,29 +9,30 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "" @@ -41,7 +42,6 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -50,35 +50,69 @@ msgstr "" msgid "LibreOffice not installed or not found at path: %s" msgstr "" -#: classes.py:254 -msgid "Resize" -msgstr "Преоразмеряване" - -#: classes.py:295 -msgid "Rotate" -msgstr "Завъртете" - -#: classes.py:313 -msgid "Zoom" -msgstr "Увеличаване" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "" -#: links.py:31 +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "Преоразмеряване" + +#: classes.py:359 +msgid "Rotate" +msgstr "Завъртете" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" +msgstr "Увеличаване" + +#: links.py:35 msgid "Create new transformation" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Delete" msgstr "" -#: links.py:39 +#: links.py:43 msgid "Edit" msgstr "Редактиране" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "" @@ -111,7 +145,6 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -131,22 +164,22 @@ msgstr "" msgid "Enter a valid YAML value." msgstr "" -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" msgstr "" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" msgstr "" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "" @@ -160,9 +193,6 @@ msgstr "" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -188,14 +218,13 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -508,9 +537,11 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -626,7 +657,8 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/converter/locale/bs_BA/LC_MESSAGES/django.po index cebc051a54..aec826d5a2 100644 --- a/mayan/apps/converter/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -9,29 +9,31 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "" @@ -41,7 +43,6 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -50,35 +51,69 @@ msgstr "" msgid "LibreOffice not installed or not found at path: %s" msgstr "" -#: classes.py:254 -msgid "Resize" -msgstr "Promjeni veličinu" - -#: classes.py:295 -msgid "Rotate" -msgstr "Rotiraj" - -#: classes.py:313 -msgid "Zoom" -msgstr "Uvećaj" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "" -#: links.py:31 +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "Promjeni veličinu" + +#: classes.py:359 +msgid "Rotate" +msgstr "Rotiraj" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" +msgstr "Uvećaj" + +#: links.py:35 msgid "Create new transformation" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Delete" msgstr "" -#: links.py:39 +#: links.py:43 msgid "Edit" msgstr "Urediti" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "" @@ -111,7 +146,6 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -131,22 +165,22 @@ msgstr "" msgid "Enter a valid YAML value." msgstr "" -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" msgstr "" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" msgstr "" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "" @@ -160,9 +194,6 @@ msgstr "" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -188,14 +219,13 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -508,9 +538,11 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -626,7 +658,8 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/da/LC_MESSAGES/django.po b/mayan/apps/converter/locale/da/LC_MESSAGES/django.po index ecd63460e1..40162c5e96 100644 --- a/mayan/apps/converter/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/da/LC_MESSAGES/django.po @@ -1,36 +1,37 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "" @@ -40,7 +41,6 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -49,35 +49,69 @@ msgstr "" msgid "LibreOffice not installed or not found at path: %s" msgstr "" -#: classes.py:254 -msgid "Resize" -msgstr "" - -#: classes.py:295 -msgid "Rotate" -msgstr "" - -#: classes.py:313 -msgid "Zoom" -msgstr "" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "" -#: links.py:31 -msgid "Create new transformation" +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "" + +#: classes.py:359 +msgid "Rotate" +msgstr "" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" msgstr "" #: links.py:35 -msgid "Delete" +msgid "Create new transformation" msgstr "" #: links.py:39 +msgid "Delete" +msgstr "" + +#: links.py:43 msgid "Edit" msgstr "" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "" @@ -110,7 +144,6 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -130,22 +163,22 @@ msgstr "" msgid "Enter a valid YAML value." msgstr "" -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" msgstr "" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" msgstr "" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "" @@ -159,9 +192,6 @@ msgstr "" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -187,14 +217,13 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -507,9 +536,11 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -625,7 +656,8 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/converter/locale/de_DE/LC_MESSAGES/django.po index 28ef027b85..2e60e26a92 100644 --- a/mayan/apps/converter/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mathias Behrle , 2014 @@ -10,29 +10,30 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "Konverter" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "Reihenfolge" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "Transformation" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "Argumente" @@ -42,7 +43,6 @@ msgid "Exception determining PDF page count; %s" msgstr "Ausnahme bei der Ermittlung der PDF-Seitenanzahl: %s" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "Kein Office-Dateiformat" @@ -51,35 +51,69 @@ msgstr "Kein Office-Dateiformat" msgid "LibreOffice not installed or not found at path: %s" msgstr "LibreOffice nicht installiert oder in Pfad %s nicht gefunden" -#: classes.py:254 -msgid "Resize" -msgstr "Größe ändern" - -#: classes.py:295 -msgid "Rotate" -msgstr "Drehen" - -#: classes.py:313 -msgid "Zoom" -msgstr "Zoom" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "Zuschneiden" -#: links.py:31 +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "Größe ändern" + +#: classes.py:359 +msgid "Rotate" +msgstr "Drehen" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" +msgstr "Zoom" + +#: links.py:35 msgid "Create new transformation" msgstr "Neue Transformation erstellen" -#: links.py:35 +#: links.py:39 msgid "Delete" msgstr "Löschen" -#: links.py:39 +#: links.py:43 msgid "Edit" msgstr "Bearbeiten" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "Transformationen" @@ -87,7 +121,9 @@ msgstr "Transformationen" msgid "" "Order in which the transformations will be executed. If left unchanged, an " "automatic order value will be assigned." -msgstr "Reihenfolge in der die Transformationen ausgeführt werden. Ohne Eintrag wird automatisch eine Reihenfolge zugewiesen." +msgstr "" +"Reihenfolge in der die Transformationen ausgeführt werden. Ohne Eintrag wird " +"automatisch eine Reihenfolge zugewiesen." #: models.py:38 msgid "Name" @@ -97,7 +133,9 @@ msgstr "Name" msgid "" "Enter the arguments for the transformation as a YAML dictionary. ie: " "{\"degrees\": 180}" -msgstr "Argumemte für die Transformation als YAML dictionary eingeben, z.B: {\"degrees\": 180}" +msgstr "" +"Argumemte für die Transformation als YAML dictionary eingeben, z.B: " +"{\"degrees\": 180}" #: permissions.py:10 msgid "Create new transformations" @@ -112,7 +150,6 @@ msgid "Edit transformations" msgstr "Transformationen bearbeiten" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "Transformationen anzeigen" @@ -132,22 +169,25 @@ msgstr "Pfad zum Popple Programm pdftoppm" msgid "Enter a valid YAML value." msgstr "Einen gültigen YAML Wert eingeben" -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" -msgstr "Transformation \"%(transformation)s\" für %(content_object)s wirklich löschen?" +msgstr "" +"Transformation \"%(transformation)s\" für %(content_object)s wirklich " +"löschen?" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "Transformation erstellen für %s" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" -msgstr "Transformation \"%(transformation)s\" für %(content_object)s bearbeiten" +msgstr "" +"Transformation \"%(transformation)s\" für %(content_object)s bearbeiten" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "Transformationen von %s" @@ -161,9 +201,6 @@ msgstr "Transformationen von %s" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -189,14 +226,13 @@ msgstr "Transformationen von %s" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -509,9 +545,11 @@ msgstr "Transformationen von %s" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -627,7 +665,8 @@ msgstr "Transformationen von %s" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/en/LC_MESSAGES/django.po b/mayan/apps/converter/locale/en/LC_MESSAGES/django.po index 6fb3e78918..8b58c513a7 100644 --- a/mayan/apps/converter/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2012-12-12 06:05+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" @@ -18,19 +18,19 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "" @@ -50,35 +50,69 @@ msgstr "suported file formats" msgid "LibreOffice not installed or not found at path: %s" msgstr "" -#: classes.py:254 -msgid "Resize" -msgstr "Resize" - -#: classes.py:295 -msgid "Rotate" -msgstr "Rotate" - -#: classes.py:313 -msgid "Zoom" -msgstr "Zoom" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "" -#: links.py:31 +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "Resize" + +#: classes.py:359 +msgid "Rotate" +msgstr "Rotate" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" +msgstr "Zoom" + +#: links.py:35 msgid "Create new transformation" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Delete" msgstr "" -#: links.py:39 +#: links.py:43 msgid "Edit" msgstr "" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "" @@ -133,22 +167,22 @@ msgstr "Path to the libreoffice program." msgid "Enter a valid YAML value." msgstr "" -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" msgstr "" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" msgstr "" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "" @@ -164,9 +198,6 @@ msgstr "" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #, fuzzy #~ msgid "Degrees" #~ msgstr "degrees" diff --git a/mayan/apps/converter/locale/es/LC_MESSAGES/django.po b/mayan/apps/converter/locale/es/LC_MESSAGES/django.po index be3dbda32f..cee0b25659 100644 --- a/mayan/apps/converter/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Lory977 , 2015 @@ -10,29 +10,30 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-05-09 01:47+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "Convertidor" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "Orden" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "Transformación" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "Argumentos" @@ -42,7 +43,6 @@ msgid "Exception determining PDF page count; %s" msgstr "Excepción determinando el número de páginas del PDF; %s" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "No es un formato de archivo de la oficina." @@ -51,35 +51,69 @@ msgstr "No es un formato de archivo de la oficina." msgid "LibreOffice not installed or not found at path: %s" msgstr "LibreOffice no instalado o no encontrado en: %s" -#: classes.py:254 -msgid "Resize" -msgstr "Cambiar el tamaño" - -#: classes.py:295 -msgid "Rotate" -msgstr "Girar" - -#: classes.py:313 -msgid "Zoom" -msgstr "Ampliar" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "Recortar" -#: links.py:31 +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "Cambiar el tamaño" + +#: classes.py:359 +msgid "Rotate" +msgstr "Girar" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" +msgstr "Ampliar" + +#: links.py:35 msgid "Create new transformation" msgstr "Crear nueva transformación" -#: links.py:35 +#: links.py:39 msgid "Delete" msgstr "Borrar" -#: links.py:39 +#: links.py:43 msgid "Edit" msgstr "Editar" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "Transformaciones" @@ -87,7 +121,9 @@ msgstr "Transformaciones" msgid "" "Order in which the transformations will be executed. If left unchanged, an " "automatic order value will be assigned." -msgstr "Orden de ejecución de las transformaciones. Si lo deja en blanco, un valor de orden sera asignado automáticamente. " +msgstr "" +"Orden de ejecución de las transformaciones. Si lo deja en blanco, un valor " +"de orden sera asignado automáticamente. " #: models.py:38 msgid "Name" @@ -97,7 +133,9 @@ msgstr "Nombre" msgid "" "Enter the arguments for the transformation as a YAML dictionary. ie: " "{\"degrees\": 180}" -msgstr "Entre el argumento de la transformación como un diccionario YAML. Ejemplo: {\"degrees\": 180}" +msgstr "" +"Entre el argumento de la transformación como un diccionario YAML. Ejemplo: " +"{\"degrees\": 180}" #: permissions.py:10 msgid "Create new transformations" @@ -112,7 +150,6 @@ msgid "Edit transformations" msgstr "Editar transformaciones" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "Ver transformaciones existentes" @@ -132,22 +169,23 @@ msgstr "Ruta al programa pdftoppm de Poppler." msgid "Enter a valid YAML value." msgstr "Entre un valor YAML." -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" -msgstr "¿Borrar transformación \"%(transformation)s\" para: %(content_object)s?" +msgstr "" +"¿Borrar transformación \"%(transformation)s\" para: %(content_object)s?" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "Crear transformación para :%s" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" msgstr "Editar transformación \"%(transformation)s\" para: %(content_object)s" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "Transformaciones para: %s" @@ -161,9 +199,6 @@ msgstr "Transformaciones para: %s" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -189,14 +224,13 @@ msgstr "Transformaciones para: %s" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -509,9 +543,11 @@ msgstr "Transformaciones para: %s" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -627,7 +663,8 @@ msgstr "Transformaciones para: %s" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/fa/LC_MESSAGES/django.po b/mayan/apps/converter/locale/fa/LC_MESSAGES/django.po index 7e32dce8b0..cbe5922cf2 100644 --- a/mayan/apps/converter/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/fa/LC_MESSAGES/django.po @@ -1,36 +1,37 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "ترتیب" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "تبدیلات" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "آرگومانها" @@ -40,7 +41,6 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -49,35 +49,69 @@ msgstr "" msgid "LibreOffice not installed or not found at path: %s" msgstr "" -#: classes.py:254 -msgid "Resize" -msgstr "تغییر اندازه" - -#: classes.py:295 -msgid "Rotate" -msgstr "چرخاندن" - -#: classes.py:313 -msgid "Zoom" -msgstr "بزرگ/کوچک نمایی" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "" -#: links.py:31 +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "تغییر اندازه" + +#: classes.py:359 +msgid "Rotate" +msgstr "چرخاندن" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" +msgstr "بزرگ/کوچک نمایی" + +#: links.py:35 msgid "Create new transformation" msgstr "ایجاد تبدیلات چدید" -#: links.py:35 +#: links.py:39 msgid "Delete" msgstr "حذف" -#: links.py:39 +#: links.py:43 msgid "Edit" msgstr "ویرایش" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "تبدیلات" @@ -110,7 +144,6 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -130,22 +163,22 @@ msgstr "محل Popple نرم افزار pdftoppm." msgid "Enter a valid YAML value." msgstr "" -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" msgstr "" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" msgstr "" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "تبدیلات برای : %s" @@ -159,9 +192,6 @@ msgstr "تبدیلات برای : %s" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -187,14 +217,13 @@ msgstr "تبدیلات برای : %s" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -507,9 +536,11 @@ msgstr "تبدیلات برای : %s" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -625,7 +656,8 @@ msgstr "تبدیلات برای : %s" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/fr/LC_MESSAGES/django.po b/mayan/apps/converter/locale/fr/LC_MESSAGES/django.po index 6d585245f6..52543ec6f8 100644 --- a/mayan/apps/converter/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pierre Lhoste , 2012 @@ -10,29 +10,30 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Thierry Schott \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "Convertisseur" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "Ordre" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "Transformation" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "Arguments" @@ -42,44 +43,78 @@ msgid "Exception determining PDF page count; %s" msgstr "Exception déterminant le nombre de pages PDF : %s" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "Format de fichier non reconnu." #: classes.py:120 #, python-format msgid "LibreOffice not installed or not found at path: %s" -msgstr "LibreOffice n'est pas installé ou n'a pas été trouvé à l'emplacement : %s" +msgstr "" +"LibreOffice n'est pas installé ou n'a pas été trouvé à l'emplacement : %s" -#: classes.py:254 -msgid "Resize" -msgstr "Redimensionner" - -#: classes.py:295 -msgid "Rotate" -msgstr "Rotation" - -#: classes.py:313 -msgid "Zoom" -msgstr "Zoom" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "Découper" -#: links.py:31 +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "Redimensionner" + +#: classes.py:359 +msgid "Rotate" +msgstr "Rotation" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" +msgstr "Zoom" + +#: links.py:35 msgid "Create new transformation" msgstr "Créer une nouvelle transformation" -#: links.py:35 +#: links.py:39 msgid "Delete" msgstr "Suppression" -#: links.py:39 +#: links.py:43 msgid "Edit" msgstr "Modifier" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "Transformations" @@ -87,7 +122,9 @@ msgstr "Transformations" msgid "" "Order in which the transformations will be executed. If left unchanged, an " "automatic order value will be assigned." -msgstr "Ordre dans lequel les transformations seront exécutées. En l'absence de modification, un ordre est automatiquement assigné." +msgstr "" +"Ordre dans lequel les transformations seront exécutées. En l'absence de " +"modification, un ordre est automatiquement assigné." #: models.py:38 msgid "Name" @@ -97,7 +134,9 @@ msgstr "Nom" msgid "" "Enter the arguments for the transformation as a YAML dictionary. ie: " "{\"degrees\": 180}" -msgstr "Saisir les arguments pour la transformation sous la forme d'un dictionnaire YAML. Par exemple : {\"degrees\": 180}" +msgstr "" +"Saisir les arguments pour la transformation sous la forme d'un dictionnaire " +"YAML. Par exemple : {\"degrees\": 180}" #: permissions.py:10 msgid "Create new transformations" @@ -112,7 +151,6 @@ msgid "Edit transformations" msgstr "Modifier des transformations" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "Afficher les transformations existantes" @@ -132,22 +170,25 @@ msgstr "Chemin pour le programme Popple pdftoppm" msgid "Enter a valid YAML value." msgstr "Saisissez une valeur YAML valide." -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" -msgstr "Êtes vous certain de vouloir supprimer la transformation \"%(transformation)s\" pour : %(content_object)s ?" +msgstr "" +"Êtes vous certain de vouloir supprimer la transformation \"%(transformation)s" +"\" pour : %(content_object)s ?" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "Créer une nouvelle transformation pour : %s" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" -msgstr "Modifier la transformation \"%(transformation)s\" pour : %(content_object)s" +msgstr "" +"Modifier la transformation \"%(transformation)s\" pour : %(content_object)s" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "Transformations pour : %s" @@ -161,9 +202,6 @@ msgstr "Transformations pour : %s" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -189,14 +227,13 @@ msgstr "Transformations pour : %s" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -509,9 +546,11 @@ msgstr "Transformations pour : %s" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -627,7 +666,8 @@ msgstr "Transformations pour : %s" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/hu/LC_MESSAGES/django.po b/mayan/apps/converter/locale/hu/LC_MESSAGES/django.po index 6fd4505ed4..cbe79054fd 100644 --- a/mayan/apps/converter/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/hu/LC_MESSAGES/django.po @@ -1,36 +1,37 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2015-08-20 19:29+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "" @@ -40,7 +41,6 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -49,35 +49,69 @@ msgstr "" msgid "LibreOffice not installed or not found at path: %s" msgstr "" -#: classes.py:254 -msgid "Resize" -msgstr "" - -#: classes.py:295 -msgid "Rotate" -msgstr "" - -#: classes.py:313 -msgid "Zoom" -msgstr "" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "" -#: links.py:31 -msgid "Create new transformation" +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "" + +#: classes.py:359 +msgid "Rotate" +msgstr "" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" msgstr "" #: links.py:35 -msgid "Delete" +msgid "Create new transformation" msgstr "" #: links.py:39 +msgid "Delete" +msgstr "" + +#: links.py:43 msgid "Edit" msgstr "" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "" @@ -110,7 +144,6 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -130,22 +163,22 @@ msgstr "" msgid "Enter a valid YAML value." msgstr "" -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" msgstr "" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" msgstr "" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "" @@ -159,9 +192,6 @@ msgstr "" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -187,14 +217,13 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -507,9 +536,11 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -625,7 +656,8 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/id/LC_MESSAGES/django.po b/mayan/apps/converter/locale/id/LC_MESSAGES/django.po index 1e774225c9..72cdc1bba3 100644 --- a/mayan/apps/converter/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/id/LC_MESSAGES/django.po @@ -1,36 +1,37 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2015-08-20 19:29+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "" @@ -40,7 +41,6 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -49,35 +49,69 @@ msgstr "" msgid "LibreOffice not installed or not found at path: %s" msgstr "" -#: classes.py:254 -msgid "Resize" -msgstr "" - -#: classes.py:295 -msgid "Rotate" -msgstr "" - -#: classes.py:313 -msgid "Zoom" -msgstr "" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "" -#: links.py:31 -msgid "Create new transformation" +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "" + +#: classes.py:359 +msgid "Rotate" +msgstr "" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" msgstr "" #: links.py:35 -msgid "Delete" +msgid "Create new transformation" msgstr "" #: links.py:39 +msgid "Delete" +msgstr "" + +#: links.py:43 msgid "Edit" msgstr "" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "" @@ -110,7 +144,6 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -130,22 +163,22 @@ msgstr "" msgid "Enter a valid YAML value." msgstr "" -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" msgstr "" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" msgstr "" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "" @@ -159,9 +192,6 @@ msgstr "" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -187,14 +217,13 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -507,9 +536,11 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -625,7 +656,8 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/it/LC_MESSAGES/django.po b/mayan/apps/converter/locale/it/LC_MESSAGES/django.po index 4f6301d247..2655c18c73 100644 --- a/mayan/apps/converter/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Marco Camplese , 2016 @@ -10,29 +10,30 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-09-24 10:31+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "Convertitore" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "Ordine" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "Trasformazione" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "Argomenti" @@ -42,7 +43,6 @@ msgid "Exception determining PDF page count; %s" msgstr "Eccezione che determina il conteggio pagine PDF: %s" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "Non è un formato di file office" @@ -51,35 +51,69 @@ msgstr "Non è un formato di file office" msgid "LibreOffice not installed or not found at path: %s" msgstr "LibreOffice non installato o non trovato nel percorso: %s" -#: classes.py:254 -msgid "Resize" -msgstr "Ridimensiona" - -#: classes.py:295 -msgid "Rotate" -msgstr "Ruotare" - -#: classes.py:313 -msgid "Zoom" -msgstr "Zoom" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "Taglia" -#: links.py:31 +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "Ridimensiona" + +#: classes.py:359 +msgid "Rotate" +msgstr "Ruotare" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" +msgstr "Zoom" + +#: links.py:35 msgid "Create new transformation" msgstr "Crea nuova trasformazione" -#: links.py:35 +#: links.py:39 msgid "Delete" msgstr "Cancella" -#: links.py:39 +#: links.py:43 msgid "Edit" msgstr "Modifica" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "Trasformazioni" @@ -87,7 +121,9 @@ msgstr "Trasformazioni" msgid "" "Order in which the transformations will be executed. If left unchanged, an " "automatic order value will be assigned." -msgstr "Ordine delle trasformazioni da eseguire. Se resta invariato verrà assegnato l'ordine automatico." +msgstr "" +"Ordine delle trasformazioni da eseguire. Se resta invariato verrà assegnato " +"l'ordine automatico." #: models.py:38 msgid "Name" @@ -97,7 +133,9 @@ msgstr "Nome " msgid "" "Enter the arguments for the transformation as a YAML dictionary. ie: " "{\"degrees\": 180}" -msgstr "Scrivi gli argomenti per la trasformazione come dizionario YAML. es: {\"degrees\": 180}" +msgstr "" +"Scrivi gli argomenti per la trasformazione come dizionario YAML. es: " +"{\"degrees\": 180}" #: permissions.py:10 msgid "Create new transformations" @@ -112,7 +150,6 @@ msgid "Edit transformations" msgstr "Modifica le trasformazioni" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "Visualizza le trasformazioni esistenti" @@ -132,22 +169,24 @@ msgstr "Percorso per il programma Popple" msgid "Enter a valid YAML value." msgstr "Inserisci un valore YAML valido." -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" -msgstr "Cancellare le trasformazioni \"%(transformation)s\" per: %(content_object)s?" +msgstr "" +"Cancellare le trasformazioni \"%(transformation)s\" per: %(content_object)s?" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "Crea una nuove trasformazioni per: %s" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" -msgstr "Modifica le trasformazioni \"%(transformation)s\" per: %(content_object)s" +msgstr "" +"Modifica le trasformazioni \"%(transformation)s\" per: %(content_object)s" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "Trasformazione per: %s" @@ -161,9 +200,6 @@ msgstr "Trasformazione per: %s" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -189,14 +225,13 @@ msgstr "Trasformazione per: %s" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -509,9 +544,11 @@ msgstr "Trasformazione per: %s" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -627,7 +664,8 @@ msgstr "Trasformazione per: %s" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/converter/locale/nl_NL/LC_MESSAGES/django.po index 6813ca5a78..2e07a649e1 100644 --- a/mayan/apps/converter/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -11,29 +11,30 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-09 16:40+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "Converter" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "Volgorde" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "Transformatie" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "Argumenten" @@ -43,7 +44,6 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -52,35 +52,69 @@ msgstr "" msgid "LibreOffice not installed or not found at path: %s" msgstr "" -#: classes.py:254 -msgid "Resize" -msgstr "Afmeting wijzigen" - -#: classes.py:295 -msgid "Rotate" -msgstr "Roteren" - -#: classes.py:313 -msgid "Zoom" -msgstr "Inzoomen" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "Bijsnijden" -#: links.py:31 +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "Afmeting wijzigen" + +#: classes.py:359 +msgid "Rotate" +msgstr "Roteren" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" +msgstr "Inzoomen" + +#: links.py:35 msgid "Create new transformation" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Delete" msgstr "Verwijder" -#: links.py:39 +#: links.py:43 msgid "Edit" msgstr "bewerken" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "Transformaties" @@ -113,7 +147,6 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "Bekijk bestaande transformaties" @@ -133,22 +166,22 @@ msgstr "Pad naar het Popple-programma pdftoppm." msgid "Enter a valid YAML value." msgstr "Voer een geldige YAML-waarde in." -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" msgstr "" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" msgstr "" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "Transformaties voor: %s" @@ -162,9 +195,6 @@ msgstr "Transformaties voor: %s" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -190,14 +220,13 @@ msgstr "Transformaties voor: %s" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -510,9 +539,11 @@ msgstr "Transformaties voor: %s" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -628,7 +659,8 @@ msgstr "Transformaties voor: %s" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/pl/LC_MESSAGES/django.po b/mayan/apps/converter/locale/pl/LC_MESSAGES/django.po index 0395e60203..acf25f399a 100644 --- a/mayan/apps/converter/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # mic , 2012,2015 @@ -10,29 +10,31 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Wojtek Warczakowski \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "Konwerter" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "Kolejność" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "Transformacja" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "Argumenty" @@ -42,7 +44,6 @@ msgid "Exception determining PDF page count; %s" msgstr "Wyjątek określający liczbę stron PDF: %s" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "Format niezgodny z formatem plików LibreOffice." @@ -51,35 +52,69 @@ msgstr "Format niezgodny z formatem plików LibreOffice." msgid "LibreOffice not installed or not found at path: %s" msgstr "LibreOffice nie został zainstalowany lub nie znaleziono ścieżki: %s" -#: classes.py:254 -msgid "Resize" -msgstr "Zmiana rozmiaru" - -#: classes.py:295 -msgid "Rotate" -msgstr "Obrócenie" - -#: classes.py:313 -msgid "Zoom" -msgstr "Powiększenie" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "Przycięcie" -#: links.py:31 +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "Zmiana rozmiaru" + +#: classes.py:359 +msgid "Rotate" +msgstr "Obrócenie" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" +msgstr "Powiększenie" + +#: links.py:35 msgid "Create new transformation" msgstr "Utwórz nową transformację" -#: links.py:35 +#: links.py:39 msgid "Delete" msgstr "Usuń" -#: links.py:39 +#: links.py:43 msgid "Edit" msgstr "Edytuj" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "Transformacje" @@ -87,7 +122,9 @@ msgstr "Transformacje" msgid "" "Order in which the transformations will be executed. If left unchanged, an " "automatic order value will be assigned." -msgstr "Kolejność wykonywania transformacji. Jeśli nie zostanie zmieniona, przyjmie wartość automatyczną." +msgstr "" +"Kolejność wykonywania transformacji. Jeśli nie zostanie zmieniona, przyjmie " +"wartość automatyczną." #: models.py:38 msgid "Name" @@ -97,7 +134,9 @@ msgstr "Nazwa" msgid "" "Enter the arguments for the transformation as a YAML dictionary. ie: " "{\"degrees\": 180}" -msgstr "Wprowadź argumenty dla transformacji w postaci słownika YAML np.: {\"degrees\": 180}" +msgstr "" +"Wprowadź argumenty dla transformacji w postaci słownika YAML np.: {\"degrees" +"\": 180}" #: permissions.py:10 msgid "Create new transformations" @@ -112,7 +151,6 @@ msgid "Edit transformations" msgstr "Edytuj transformacje" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "Przeglądaj istniejące transformacje" @@ -132,22 +170,22 @@ msgstr "Ścieżka do programu pdftoppm z pakietu Poppler." msgid "Enter a valid YAML value." msgstr "Wprowadź poprawną wartość YAML." -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" msgstr "Usunąć transformację \"%(transformation)s\" dla: %(content_object)s?" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "Utwórz nową transformację dla: %s" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" msgstr "Edycja transformacji \"%(transformation)s\" dla: %(content_object)s" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "Transformacje dla: %s" @@ -161,9 +199,6 @@ msgstr "Transformacje dla: %s" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -189,14 +224,13 @@ msgstr "Transformacje dla: %s" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -509,9 +543,11 @@ msgstr "Transformacje dla: %s" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -627,7 +663,8 @@ msgstr "Transformacje dla: %s" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/pt/LC_MESSAGES/django.po b/mayan/apps/converter/locale/pt/LC_MESSAGES/django.po index 6d9478b3c6..fe50ac7606 100644 --- a/mayan/apps/converter/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Emerson Soares , 2011 @@ -11,29 +11,30 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "" @@ -43,7 +44,6 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -52,35 +52,69 @@ msgstr "" msgid "LibreOffice not installed or not found at path: %s" msgstr "" -#: classes.py:254 -msgid "Resize" -msgstr "Redimensionar" - -#: classes.py:295 -msgid "Rotate" -msgstr "Rodar" - -#: classes.py:313 -msgid "Zoom" -msgstr "Zoom" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "" -#: links.py:31 +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "Redimensionar" + +#: classes.py:359 +msgid "Rotate" +msgstr "Rodar" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" +msgstr "Zoom" + +#: links.py:35 msgid "Create new transformation" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Delete" msgstr "Eliminar" -#: links.py:39 +#: links.py:43 msgid "Edit" msgstr "Editar" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "" @@ -113,7 +147,6 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -133,22 +166,22 @@ msgstr "" msgid "Enter a valid YAML value." msgstr "" -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" msgstr "" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" msgstr "" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "" @@ -162,9 +195,6 @@ msgstr "" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -190,14 +220,13 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -510,9 +539,11 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -628,7 +659,8 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/converter/locale/pt_BR/LC_MESSAGES/django.po index 9b1a8a9cae..34f32965ec 100644 --- a/mayan/apps/converter/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -11,29 +11,30 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-17 22:48+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "Conversor" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "Ordem" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "Transformação" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "Argumentos" @@ -43,7 +44,6 @@ msgid "Exception determining PDF page count; %s" msgstr "Exceção ao determinar o número de páginas do PDF; %s" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "Não é um formato de arquivo de escritório." @@ -52,35 +52,69 @@ msgstr "Não é um formato de arquivo de escritório." msgid "LibreOffice not installed or not found at path: %s" msgstr "LibreOffice não instalado ou não encontrado no caminho: %s" -#: classes.py:254 -msgid "Resize" -msgstr "Redimensionar" - -#: classes.py:295 -msgid "Rotate" -msgstr "Rotacionar" - -#: classes.py:313 -msgid "Zoom" -msgstr "Ampliar" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "Recortar" -#: links.py:31 +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "Redimensionar" + +#: classes.py:359 +msgid "Rotate" +msgstr "Rotacionar" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" +msgstr "Ampliar" + +#: links.py:35 msgid "Create new transformation" msgstr "Criar nova transformação" -#: links.py:35 +#: links.py:39 msgid "Delete" msgstr "Excluir" -#: links.py:39 +#: links.py:43 msgid "Edit" msgstr "Editar" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "Transformações" @@ -88,7 +122,9 @@ msgstr "Transformações" msgid "" "Order in which the transformations will be executed. If left unchanged, an " "automatic order value will be assigned." -msgstr "Ordem de execução das transformações. Se deixar em branco, um valor automático vai ser atribuído." +msgstr "" +"Ordem de execução das transformações. Se deixar em branco, um valor " +"automático vai ser atribuído." #: models.py:38 msgid "Name" @@ -98,7 +134,9 @@ msgstr "Nome" msgid "" "Enter the arguments for the transformation as a YAML dictionary. ie: " "{\"degrees\": 180}" -msgstr "Entre com os argumentos da transformação como um dicionário YAML. ie: {\"degrees\": 180}" +msgstr "" +"Entre com os argumentos da transformação como um dicionário YAML. ie: " +"{\"degrees\": 180}" #: permissions.py:10 msgid "Create new transformations" @@ -113,7 +151,6 @@ msgid "Edit transformations" msgstr "Editar transformações" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "Visualizar transformações existentes" @@ -133,22 +170,22 @@ msgstr "Caminho para o programa pdftoppm de Popple." msgid "Enter a valid YAML value." msgstr "Entre com um valor YAML válido." -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" msgstr "Excluir transformaçãa \"%(transformation)s\" para: %(content_object)s?" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "Criar nova transformação para: %s" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" msgstr "Editar transformação \"%(transformation)s\" para: %(content_object)s" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "Transformações para: %s" @@ -162,9 +199,6 @@ msgstr "Transformações para: %s" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -190,14 +224,13 @@ msgstr "Transformações para: %s" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -510,9 +543,11 @@ msgstr "Transformações para: %s" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -628,7 +663,8 @@ msgstr "Transformações para: %s" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/converter/locale/ro_RO/LC_MESSAGES/django.po index 165cc3859d..72e54b3cea 100644 --- a/mayan/apps/converter/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Badea Gabriel , 2013 @@ -9,29 +9,31 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-17 09:43+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "" @@ -41,7 +43,6 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -50,35 +51,69 @@ msgstr "" msgid "LibreOffice not installed or not found at path: %s" msgstr "" -#: classes.py:254 -msgid "Resize" -msgstr "Redimensionarea" - -#: classes.py:295 -msgid "Rotate" -msgstr "Roti" - -#: classes.py:313 -msgid "Zoom" -msgstr "Zoom" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "" -#: links.py:31 +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "Redimensionarea" + +#: classes.py:359 +msgid "Rotate" +msgstr "Roti" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" +msgstr "Zoom" + +#: links.py:35 msgid "Create new transformation" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Delete" msgstr "Șterge" -#: links.py:39 +#: links.py:43 msgid "Edit" msgstr "Editează" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "" @@ -111,7 +146,6 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -131,22 +165,22 @@ msgstr "" msgid "Enter a valid YAML value." msgstr "" -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" msgstr "" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" msgstr "" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "" @@ -160,9 +194,6 @@ msgstr "" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -188,14 +219,13 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -508,9 +538,11 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -626,7 +658,8 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/ru/LC_MESSAGES/django.po b/mayan/apps/converter/locale/ru/LC_MESSAGES/django.po index 06df947843..d033973a84 100644 --- a/mayan/apps/converter/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -9,29 +9,32 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-07-19 20:00+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "Конвертер" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "Порядок" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "Преобразование" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "Аргументы" @@ -41,7 +44,6 @@ msgid "Exception determining PDF page count; %s" msgstr "Ошибка при определении числа страниц PDF; %s" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "Не является файлом офисного формата." @@ -50,35 +52,69 @@ msgstr "Не является файлом офисного формата." msgid "LibreOffice not installed or not found at path: %s" msgstr "LibreOffice не установлен, или не найден по пути: %s" -#: classes.py:254 -msgid "Resize" -msgstr "Изменение размера" - -#: classes.py:295 -msgid "Rotate" -msgstr "Вращать" - -#: classes.py:313 -msgid "Zoom" -msgstr "Увеличить" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "Кадрировать" -#: links.py:31 +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "Изменение размера" + +#: classes.py:359 +msgid "Rotate" +msgstr "Вращать" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" +msgstr "Увеличить" + +#: links.py:35 msgid "Create new transformation" msgstr "Создать новое преобразование" -#: links.py:35 +#: links.py:39 msgid "Delete" msgstr "Удалить" -#: links.py:39 +#: links.py:43 msgid "Edit" msgstr "Редактировать" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "Преобразования" @@ -86,7 +122,9 @@ msgstr "Преобразования" msgid "" "Order in which the transformations will be executed. If left unchanged, an " "automatic order value will be assigned." -msgstr "Порядок выполнения преобразований. Если оставить неизменным, будет установлен флаг автоматического выставления порядка." +msgstr "" +"Порядок выполнения преобразований. Если оставить неизменным, будет " +"установлен флаг автоматического выставления порядка." #: models.py:38 msgid "Name" @@ -96,7 +134,9 @@ msgstr "Имя" msgid "" "Enter the arguments for the transformation as a YAML dictionary. ie: " "{\"degrees\": 180}" -msgstr "Введите аргументы для преобразования в формате YAML-словаря, например: {\"degrees\": 180}" +msgstr "" +"Введите аргументы для преобразования в формате YAML-словаря, например: " +"{\"degrees\": 180}" #: permissions.py:10 msgid "Create new transformations" @@ -111,7 +151,6 @@ msgid "Edit transformations" msgstr "Изменить преобразования" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "Просмотр существующих преобразований" @@ -131,22 +170,24 @@ msgstr "Путь до программы Popple pdftoppm." msgid "Enter a valid YAML value." msgstr "Введите допустимое YAML-значение." -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" msgstr "Удалить преобразование \"%(transformation)s\" для: %(content_object)s?" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "Создать новое преобразование для: %s" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" -msgstr "Изменить преобразование \"%(transformation)s\" for: %(content_object)sjavascript:;" +msgstr "" +"Изменить преобразование \"%(transformation)s\" for: " +"%(content_object)sjavascript:;" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "Преобразования для: %s" @@ -160,9 +201,6 @@ msgstr "Преобразования для: %s" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -188,14 +226,13 @@ msgstr "Преобразования для: %s" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -508,9 +545,11 @@ msgstr "Преобразования для: %s" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -626,7 +665,8 @@ msgstr "Преобразования для: %s" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/converter/locale/sl_SI/LC_MESSAGES/django.po index f8701f5130..b1bfb35990 100644 --- a/mayan/apps/converter/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/sl_SI/LC_MESSAGES/django.po @@ -1,36 +1,38 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "" @@ -40,7 +42,6 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -49,35 +50,69 @@ msgstr "" msgid "LibreOffice not installed or not found at path: %s" msgstr "" -#: classes.py:254 -msgid "Resize" -msgstr "" - -#: classes.py:295 -msgid "Rotate" -msgstr "" - -#: classes.py:313 -msgid "Zoom" -msgstr "" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "" -#: links.py:31 -msgid "Create new transformation" +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "" + +#: classes.py:359 +msgid "Rotate" +msgstr "" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" msgstr "" #: links.py:35 -msgid "Delete" +msgid "Create new transformation" msgstr "" #: links.py:39 +msgid "Delete" +msgstr "" + +#: links.py:43 msgid "Edit" msgstr "" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "" @@ -110,7 +145,6 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -130,22 +164,22 @@ msgstr "" msgid "Enter a valid YAML value." msgstr "" -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" msgstr "" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" msgstr "" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "" @@ -159,9 +193,6 @@ msgstr "" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -187,14 +218,13 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -507,9 +537,11 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -625,7 +657,8 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/converter/locale/vi_VN/LC_MESSAGES/django.po index 261c26b825..88fbb7f37c 100644 --- a/mayan/apps/converter/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/vi_VN/LC_MESSAGES/django.po @@ -1,36 +1,37 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "" @@ -40,7 +41,6 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -49,35 +49,69 @@ msgstr "" msgid "LibreOffice not installed or not found at path: %s" msgstr "" -#: classes.py:254 -msgid "Resize" -msgstr "" - -#: classes.py:295 -msgid "Rotate" -msgstr "" - -#: classes.py:313 -msgid "Zoom" -msgstr "" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "" -#: links.py:31 -msgid "Create new transformation" +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "" + +#: classes.py:359 +msgid "Rotate" +msgstr "" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" msgstr "" #: links.py:35 -msgid "Delete" +msgid "Create new transformation" msgstr "" #: links.py:39 +msgid "Delete" +msgstr "" + +#: links.py:43 msgid "Edit" msgstr "Sửa" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "" @@ -110,7 +144,6 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -130,22 +163,22 @@ msgstr "" msgid "Enter a valid YAML value." msgstr "" -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" msgstr "" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" msgstr "" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "" @@ -159,9 +192,6 @@ msgstr "" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -187,14 +217,13 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -507,9 +536,11 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -625,7 +656,8 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/converter/locale/zh_CN/LC_MESSAGES/django.po index 9288501a04..9786b9dda7 100644 --- a/mayan/apps/converter/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -9,29 +9,30 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:18 permissions.py:7 settings.py:7 +#: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" msgstr "" -#: apps.py:38 models.py:34 +#: apps.py:26 models.py:34 msgid "Order" msgstr "" -#: apps.py:40 models.py:64 +#: apps.py:28 models.py:64 msgid "Transformation" msgstr "" -#: apps.py:44 models.py:44 +#: apps.py:32 models.py:44 msgid "Arguments" msgstr "" @@ -41,7 +42,6 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 -#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -50,35 +50,69 @@ msgstr "" msgid "LibreOffice not installed or not found at path: %s" msgstr "" -#: classes.py:254 -msgid "Resize" -msgstr "调整大小" - -#: classes.py:295 -msgid "Rotate" -msgstr "旋转" - -#: classes.py:313 -msgid "Zoom" -msgstr "缩放" - -#: classes.py:333 +#: classes.py:286 msgid "Crop" msgstr "" -#: links.py:31 +#: classes.py:299 +msgid "Flip" +msgstr "" + +#: classes.py:310 +msgid "Gaussian blur" +msgstr "" + +#: classes.py:321 +msgid "Mirror" +msgstr "" + +#: classes.py:332 +msgid "Resize" +msgstr "调整大小" + +#: classes.py:359 +msgid "Rotate" +msgstr "旋转" + +#: classes.py:378 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 90 degrees" +msgstr "Rotate by n degress." + +#: classes.py:389 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 180 degrees" +msgstr "Rotate by n degress." + +#: classes.py:400 +#, fuzzy +#| msgid "Rotate by n degress." +msgid "Rotate 270 degrees" +msgstr "Rotate by n degress." + +#: classes.py:410 +msgid "Unsharp masking" +msgstr "" + +#: classes.py:426 +msgid "Zoom" +msgstr "缩放" + +#: links.py:35 msgid "Create new transformation" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Delete" msgstr "" -#: links.py:39 +#: links.py:43 msgid "Edit" msgstr "" -#: links.py:43 models.py:65 +#: links.py:47 models.py:65 msgid "Transformations" msgstr "" @@ -111,7 +145,6 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 -#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -131,22 +164,22 @@ msgstr "" msgid "Enter a valid YAML value." msgstr "" -#: views.py:71 +#: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" msgstr "" -#: views.py:139 +#: views.py:127 #, python-format msgid "Create new transformation for: %s" msgstr "" -#: views.py:192 +#: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" msgstr "" -#: views.py:238 +#: views.py:216 #, python-format msgid "Transformations for: %s" msgstr "" @@ -160,9 +193,6 @@ msgstr "" #~ msgid "Height" #~ msgstr "height" -#~ msgid "Rotate by n degress." -#~ msgstr "Rotate by n degress." - #~ msgid "Degrees" #~ msgstr "degrees" @@ -188,14 +218,13 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick.ImageMagick, " -#~ "converter.backends.graphicsmagick.GraphicsMagick and " -#~ "converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " +#~ "and converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: " -#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " -#~ "converter.backends.python." +#~ "Graphics conversion backend to use. Options are: converter.backends." +#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." +#~ "python." #~ msgid "Help" #~ msgstr "Help" @@ -508,9 +537,11 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " +#~ "1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -626,7 +657,8 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "" +#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/django_gpg/locale/ar/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/ar/LC_MESSAGES/django.po index 98a7589b80..7642e07260 100644 --- a/mayan/apps/django_gpg/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -9,45 +9,47 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:22+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "Key ID" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "" @@ -96,7 +98,6 @@ msgid "Key management" msgstr "Key management" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "" @@ -161,7 +162,6 @@ msgid "Key data" msgstr "" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "" @@ -194,7 +194,6 @@ msgid "Use keys to sign content" msgstr "" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "" @@ -203,7 +202,6 @@ msgid "View keys" msgstr "View keys" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "" @@ -216,13 +214,11 @@ msgid "Path to the GPG binary." msgstr "" #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "" #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "" @@ -233,7 +229,6 @@ msgstr "" #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "" @@ -243,7 +238,6 @@ msgstr "Import key" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "" @@ -287,12 +281,12 @@ msgstr "" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/django_gpg/locale/bg/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/bg/LC_MESSAGES/django.po index 6f19291860..2d95d063b3 100644 --- a/mayan/apps/django_gpg/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pavlin Koldamov , 2012 @@ -9,45 +9,46 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:22+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "Ключ ID" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "" @@ -96,7 +97,6 @@ msgid "Key management" msgstr "Управление на ключове" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "" @@ -161,7 +161,6 @@ msgid "Key data" msgstr "" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "" @@ -194,7 +193,6 @@ msgid "Use keys to sign content" msgstr "" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "" @@ -203,7 +201,6 @@ msgid "View keys" msgstr "Виж ключове" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "Подписи" @@ -216,13 +213,11 @@ msgid "Path to the GPG binary." msgstr "" #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "" #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "" @@ -233,7 +228,6 @@ msgstr "" #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "" @@ -243,7 +237,6 @@ msgstr "Внасяне на ключ" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "" @@ -287,12 +280,12 @@ msgstr "" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/django_gpg/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/bs_BA/LC_MESSAGES/django.po index d6285aa2ae..725d141917 100644 --- a/mayan/apps/django_gpg/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -9,45 +9,47 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:22+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "ID ključa" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "" @@ -96,7 +98,6 @@ msgid "Key management" msgstr "Upravljanje ključevima" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "" @@ -161,7 +162,6 @@ msgid "Key data" msgstr "" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "" @@ -194,7 +194,6 @@ msgid "Use keys to sign content" msgstr "" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "" @@ -203,26 +202,25 @@ msgid "View keys" msgstr "Pogledaj ključeve" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "" #: settings.py:15 msgid "Home directory used to store keys as well as configuration files." -msgstr "Home direktorij se koristi za pohranu ključeva, kao i konfiguracijskih datoteka." +msgstr "" +"Home direktorij se koristi za pohranu ključeva, kao i konfiguracijskih " +"datoteka." #: settings.py:21 msgid "Path to the GPG binary." msgstr "" #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "" #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "" @@ -233,7 +231,6 @@ msgstr "" #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "" @@ -243,7 +240,6 @@ msgstr "Importuj ključ" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "" @@ -287,12 +283,12 @@ msgstr "" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/django_gpg/locale/da/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/da/LC_MESSAGES/django.po index 0379b6f277..6d186dcbe6 100644 --- a/mayan/apps/django_gpg/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/da/LC_MESSAGES/django.po @@ -1,52 +1,53 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:22+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "" @@ -95,7 +96,6 @@ msgid "Key management" msgstr "" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "" @@ -160,7 +160,6 @@ msgid "Key data" msgstr "" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "" @@ -193,7 +192,6 @@ msgid "Use keys to sign content" msgstr "" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "" @@ -202,7 +200,6 @@ msgid "View keys" msgstr "" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "" @@ -215,13 +212,11 @@ msgid "Path to the GPG binary." msgstr "" #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "" #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "" @@ -232,7 +227,6 @@ msgstr "" #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "" @@ -242,7 +236,6 @@ msgstr "" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "" @@ -286,12 +279,12 @@ msgstr "" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/django_gpg/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/de_DE/LC_MESSAGES/django.po index fbff8df6cd..0e9c57ec8a 100644 --- a/mayan/apps/django_gpg/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mathias Behrle , 2014 @@ -12,45 +12,46 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-05-20 21:54+0000\n" "Last-Translator: Tobias Paepke \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "Django GPG" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "Schlüssel-ID" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "Benutzer-ID" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "Typ" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "Erstellungsdatum" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "Ablaufdatum" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "Ohne Ablaufdatum" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "Länge" @@ -72,7 +73,9 @@ msgstr "Begriff" #: forms.py:48 msgid "Name, e-mail, key ID or key fingerprint to look for." -msgstr "Name, E-Mail, Schlüssel-ID oder Fingerabdruck des Schlüssels, der gesucht wird" +msgstr "" +"Name, E-Mail, Schlüssel-ID oder Fingerabdruck des Schlüssels, der gesucht " +"wird" #: links.py:13 msgid "Delete" @@ -99,7 +102,6 @@ msgid "Key management" msgstr "Schlüssel-Management" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "Schlüssel hochladen" @@ -145,7 +147,9 @@ msgstr "Signaturfehler" #: literals.py:53 msgid "Document is signed but no public key is available for verification." -msgstr "Das Dokument ist signiert, aber kein öffentlicher Schlüssel zur Überprüfung verfügbar." +msgstr "" +"Das Dokument ist signiert, aber kein öffentlicher Schlüssel zur Überprüfung " +"verfügbar." #: literals.py:58 msgid "Document is signed, and signature is good." @@ -164,7 +168,6 @@ msgid "Key data" msgstr "Schlüssel-Daten" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "Schlüssel" @@ -197,7 +200,6 @@ msgid "Use keys to sign content" msgstr "Schlüssel benutzen um Inhalt zu signieren" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "Schlüssel hochladen" @@ -206,7 +208,6 @@ msgid "View keys" msgstr "Schlüssel anzeigen" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "Unterschriften" @@ -219,13 +220,11 @@ msgid "Path to the GPG binary." msgstr "Pfad zum Programm GPG" #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "Server, der nach unbekannten Schlüsseln durchsucht wird." #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "Schlüssel löschen: %s" @@ -236,7 +235,6 @@ msgstr "Details für Schlüssel %s" #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "Schlüssel-ID %s importieren?" @@ -246,7 +244,6 @@ msgstr "Schlüssel importieren" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "Schlüssel-ID %(key_id)s konnte nicht importiert werden: %(error)s" @@ -290,12 +287,12 @@ msgstr "Neuen Schlüssel hochladen" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/django_gpg/locale/en/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/en/LC_MESSAGES/django.po index f78132148e..ae5c619818 100644 --- a/mayan/apps/django_gpg/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2012-12-12 06:05+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" @@ -18,38 +18,38 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "Key ID" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 #, fuzzy msgid "Creation date" msgstr "creation date" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 #, fuzzy msgid "Expiration date" msgstr "expiration date" -#: apps.py:83 +#: apps.py:57 #, fuzzy msgid "No expiration" msgstr "expiration date" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 #, fuzzy msgid "Length" msgstr "length" diff --git a/mayan/apps/django_gpg/locale/es/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/es/LC_MESSAGES/django.po index 5affd12616..e761f830d2 100644 --- a/mayan/apps/django_gpg/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 @@ -11,45 +11,46 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-05-09 01:46+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "Django GPG" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "Identificador de clave" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "ID de usuario" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "Tipo" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "Fecha de creación" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "Fecha de expiración" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "No expira" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "Largo" @@ -71,7 +72,9 @@ msgstr "Término" #: forms.py:48 msgid "Name, e-mail, key ID or key fingerprint to look for." -msgstr "Nombre, dirección de correo electrónico, identificador de clave o huella digital de clave a buscar." +msgstr "" +"Nombre, dirección de correo electrónico, identificador de clave o huella " +"digital de clave a buscar." #: links.py:13 msgid "Delete" @@ -98,7 +101,6 @@ msgid "Key management" msgstr "Gestión de claves" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "Subir llave" @@ -144,7 +146,9 @@ msgstr "Error de firma." #: literals.py:53 msgid "Document is signed but no public key is available for verification." -msgstr "El documento ha sido firmado pero no hay clave pública disponible para verificación." +msgstr "" +"El documento ha sido firmado pero no hay clave pública disponible para " +"verificación." #: literals.py:58 msgid "Document is signed, and signature is good." @@ -163,7 +167,6 @@ msgid "Key data" msgstr "Datos de llave" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "Llave" @@ -196,7 +199,6 @@ msgid "Use keys to sign content" msgstr "Usar llaves para firmar contenido" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "Subir llaves" @@ -205,26 +207,25 @@ msgid "View keys" msgstr "Ver claves" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "Firma" #: settings.py:15 msgid "Home directory used to store keys as well as configuration files." -msgstr "Directorio de inicio utilizado para almacenar las claves, así como los archivos de configuración." +msgstr "" +"Directorio de inicio utilizado para almacenar las claves, así como los " +"archivos de configuración." #: settings.py:21 msgid "Path to the GPG binary." msgstr "Ruta al binario GPG." #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "Servidor usado para buscar llaves." #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "Borrar llave: %s" @@ -235,7 +236,6 @@ msgstr "Detalles para llave: %s" #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "¿Importar llave: %s?" @@ -245,7 +245,6 @@ msgstr "Importar clave" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "No se pudo importar la llave: %(key_id)s; %(error)s " @@ -289,12 +288,12 @@ msgstr "Subir una nueva llave" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/django_gpg/locale/fa/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/fa/LC_MESSAGES/django.po index 42bb14f760..61a893187b 100644 --- a/mayan/apps/django_gpg/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/fa/LC_MESSAGES/django.po @@ -1,52 +1,53 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:22+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "شناسه کلید" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "نوع" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "تاریخ ایجاد" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "تاریخ انقضا" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "طول" @@ -95,7 +96,6 @@ msgid "Key management" msgstr "مدیریت کلید" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "" @@ -160,7 +160,6 @@ msgid "Key data" msgstr "" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "" @@ -193,7 +192,6 @@ msgid "Use keys to sign content" msgstr "" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "" @@ -202,7 +200,6 @@ msgid "View keys" msgstr "دیدن کلیدها" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "امضاها" @@ -215,13 +212,11 @@ msgid "Path to the GPG binary." msgstr "محل کتایخانه باینری GPG" #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "" #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "" @@ -232,7 +227,6 @@ msgstr "" #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "" @@ -242,7 +236,6 @@ msgstr "وارد کردن کلید" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "" @@ -286,12 +279,12 @@ msgstr "" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/django_gpg/locale/fr/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/fr/LC_MESSAGES/django.po index 801ff61f5b..cd5e5811e7 100644 --- a/mayan/apps/django_gpg/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Bruno CAPELETO , 2016 @@ -11,45 +11,46 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-05-23 20:02+0000\n" "Last-Translator: Bruno CAPELETO \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "Django GPG" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "ID de la clé" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "Id Utilisateur" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "Type" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "Date de création" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "Date d'expiration" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "Pas d'expiration" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "Durée" @@ -98,7 +99,6 @@ msgid "Key management" msgstr "Gestion des clés" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "Uploader la clé" @@ -144,7 +144,9 @@ msgstr "Erreur de signature." #: literals.py:53 msgid "Document is signed but no public key is available for verification." -msgstr "Ce document est signé mais aucune clé publique n'est disponible pour vérifier la signature." +msgstr "" +"Ce document est signé mais aucune clé publique n'est disponible pour " +"vérifier la signature." #: literals.py:58 msgid "Document is signed, and signature is good." @@ -163,7 +165,6 @@ msgid "Key data" msgstr "Contenu de la clef" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "Clé" @@ -196,7 +197,6 @@ msgid "Use keys to sign content" msgstr "Utiliser des clefs pour signer le document" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "Uploader les clés" @@ -205,26 +205,25 @@ msgid "View keys" msgstr "Afficher les clés" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "Signatures" #: settings.py:15 msgid "Home directory used to store keys as well as configuration files." -msgstr "Répertoire principal utilisé pour stocker les clés, ainsi que les fichiers de configuration" +msgstr "" +"Répertoire principal utilisé pour stocker les clés, ainsi que les fichiers " +"de configuration" #: settings.py:21 msgid "Path to the GPG binary." msgstr "Chemin du binaire GPG" #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "Serveur de clefs à contacter" #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "Effacer la clé: %s" @@ -235,7 +234,6 @@ msgstr "Détails de la clé: %s" #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "Importer l'identifiant de clé : %s ?" @@ -245,7 +243,6 @@ msgstr "Importer la clé" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "Impossible d'importer la clé : %(key_id)s; %(error)s" @@ -289,12 +286,12 @@ msgstr "Uploader une nouvelle clé" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/django_gpg/locale/hu/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/hu/LC_MESSAGES/django.po index 3c9bd2d917..35110a3c6e 100644 --- a/mayan/apps/django_gpg/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/hu/LC_MESSAGES/django.po @@ -1,52 +1,53 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:22+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "" @@ -95,7 +96,6 @@ msgid "Key management" msgstr "" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "" @@ -160,7 +160,6 @@ msgid "Key data" msgstr "" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "" @@ -193,7 +192,6 @@ msgid "Use keys to sign content" msgstr "" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "" @@ -202,7 +200,6 @@ msgid "View keys" msgstr "" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "" @@ -215,13 +212,11 @@ msgid "Path to the GPG binary." msgstr "" #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "" #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "" @@ -232,7 +227,6 @@ msgstr "" #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "" @@ -242,7 +236,6 @@ msgstr "" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "" @@ -286,12 +279,12 @@ msgstr "" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/django_gpg/locale/id/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/id/LC_MESSAGES/django.po index c586ee243c..aeca45698b 100644 --- a/mayan/apps/django_gpg/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/id/LC_MESSAGES/django.po @@ -1,52 +1,53 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:22+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "" @@ -95,7 +96,6 @@ msgid "Key management" msgstr "" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "" @@ -160,7 +160,6 @@ msgid "Key data" msgstr "" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "" @@ -193,7 +192,6 @@ msgid "Use keys to sign content" msgstr "" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "" @@ -202,7 +200,6 @@ msgid "View keys" msgstr "" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "" @@ -215,13 +212,11 @@ msgid "Path to the GPG binary." msgstr "" #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "" #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "" @@ -232,7 +227,6 @@ msgstr "" #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "" @@ -242,7 +236,6 @@ msgstr "" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "" @@ -286,12 +279,12 @@ msgstr "" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/django_gpg/locale/it/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/it/LC_MESSAGES/django.po index 895fcb7777..5efe68d08d 100644 --- a/mayan/apps/django_gpg/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Marco Camplese , 2016 @@ -10,45 +10,46 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-09-24 10:33+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "Django GPG" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "chiave ID" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "User ID" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "Tipo" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "Data di creazione" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "Data scadenza" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "Nessuna scadenza" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "Lunghezza" @@ -97,7 +98,6 @@ msgid "Key management" msgstr "Gestione delle chiavi" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "Carica chiave" @@ -143,7 +143,9 @@ msgstr "Errore di firma" #: literals.py:53 msgid "Document is signed but no public key is available for verification." -msgstr "Il documento è stato firmato, ma la chiave pubblica non è disponibile per la verifica" +msgstr "" +"Il documento è stato firmato, ma la chiave pubblica non è disponibile per la " +"verifica" #: literals.py:58 msgid "Document is signed, and signature is good." @@ -162,7 +164,6 @@ msgid "Key data" msgstr "Dati chiave" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "Chiave" @@ -195,7 +196,6 @@ msgid "Use keys to sign content" msgstr "Usa la chiave per formare i contenuti" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "Carica chiavi" @@ -204,26 +204,25 @@ msgid "View keys" msgstr "Vista delle chiavi" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "Firme" #: settings.py:15 msgid "Home directory used to store keys as well as configuration files." -msgstr "Home directory utilizzata per memorizzare le chiavi così come i file di configurazione." +msgstr "" +"Home directory utilizzata per memorizzare le chiavi così come i file di " +"configurazione." #: settings.py:21 msgid "Path to the GPG binary." msgstr "Percorso per il programma GPG" #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "Keyserver utilizzato per richiedere le chiavi." #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "Cancellare la chiave: %s" @@ -234,7 +233,6 @@ msgstr "Dettagli della chiave: %s." #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "Importare ID chiave: %s?" @@ -244,7 +242,6 @@ msgstr "Importa chiave" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "Impossibile importare la chiave: %(key_id)s; %(error)s" @@ -288,12 +285,12 @@ msgstr "Carica nuova chiave" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/django_gpg/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/nl_NL/LC_MESSAGES/django.po index b82110c77d..ba71f21e79 100644 --- a/mayan/apps/django_gpg/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -9,45 +9,46 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-09 16:40+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "Django GPG" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "Sleutel-ID" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "Gebruikers-ID" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "Type" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "Aanmaakdatum" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "Verloopdatu" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "Geen verloop" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "Lengte" @@ -96,7 +97,6 @@ msgid "Key management" msgstr "Sleutelbeheer" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "Upload sleutel" @@ -161,7 +161,6 @@ msgid "Key data" msgstr "" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "Sleutel" @@ -194,7 +193,6 @@ msgid "Use keys to sign content" msgstr "" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "" @@ -203,7 +201,6 @@ msgid "View keys" msgstr "Bekijk sleutels" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "Handtekeningen" @@ -216,13 +213,11 @@ msgid "Path to the GPG binary." msgstr "" #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "" #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "" @@ -233,7 +228,6 @@ msgstr "" #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "" @@ -243,7 +237,6 @@ msgstr "Importeer sleutel" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "" @@ -287,12 +280,12 @@ msgstr "" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/django_gpg/locale/pl/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/pl/LC_MESSAGES/django.po index 3103cad4c9..4803ec5aba 100644 --- a/mayan/apps/django_gpg/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Annunnaky , 2015 @@ -10,45 +10,47 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:22+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "Key ID" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "Typ" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "Data utworzenia" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "Data wygaśnięcia" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "Długość" @@ -97,7 +99,6 @@ msgid "Key management" msgstr "Zarządzanie kluczami" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "" @@ -143,7 +144,9 @@ msgstr "Błąd podpisu." #: literals.py:53 msgid "Document is signed but no public key is available for verification." -msgstr "Dokument został podpisany, ale klucz publiczny nie jest dostępny do weryfikacji." +msgstr "" +"Dokument został podpisany, ale klucz publiczny nie jest dostępny do " +"weryfikacji." #: literals.py:58 msgid "Document is signed, and signature is good." @@ -162,7 +165,6 @@ msgid "Key data" msgstr "" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "" @@ -195,7 +197,6 @@ msgid "Use keys to sign content" msgstr "" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "" @@ -204,26 +205,24 @@ msgid "View keys" msgstr "View keys" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "" #: settings.py:15 msgid "Home directory used to store keys as well as configuration files." -msgstr "Katalog domowy używany do przechowywania kluczy oraz plików konfiguracyjnych." +msgstr "" +"Katalog domowy używany do przechowywania kluczy oraz plików konfiguracyjnych." #: settings.py:21 msgid "Path to the GPG binary." msgstr "Ścieżka do GPG binary." #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "" #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "" @@ -234,7 +233,6 @@ msgstr "" #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "" @@ -244,7 +242,6 @@ msgstr "Importuj klucz" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "" @@ -288,12 +285,12 @@ msgstr "" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/django_gpg/locale/pt/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/pt/LC_MESSAGES/django.po index b65ad439e1..c2eb454551 100644 --- a/mayan/apps/django_gpg/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Roberto Rosario, 2012 @@ -10,45 +10,46 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:22+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "ID da chave" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "" @@ -97,7 +98,6 @@ msgid "Key management" msgstr "Gestão de chaves" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "" @@ -143,7 +143,9 @@ msgstr "Erro de assinatura." #: literals.py:53 msgid "Document is signed but no public key is available for verification." -msgstr "O documento está assinado, mas não está disponível uma chave pública para verificação." +msgstr "" +"O documento está assinado, mas não está disponível uma chave pública para " +"verificação." #: literals.py:58 msgid "Document is signed, and signature is good." @@ -162,7 +164,6 @@ msgid "Key data" msgstr "" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "" @@ -195,7 +196,6 @@ msgid "Use keys to sign content" msgstr "" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "" @@ -204,7 +204,6 @@ msgid "View keys" msgstr "Ver as chaves" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "Assinaturas" @@ -217,13 +216,11 @@ msgid "Path to the GPG binary." msgstr "" #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "" #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "" @@ -234,7 +231,6 @@ msgstr "" #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "" @@ -244,7 +240,6 @@ msgstr "Importar chave" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "" @@ -288,12 +283,12 @@ msgstr "" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/django_gpg/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/pt_BR/LC_MESSAGES/django.po index e3482eec1f..7f7e6b9f0c 100644 --- a/mayan/apps/django_gpg/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -11,45 +11,46 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-17 23:07+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "Django GPG" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "ID da chave" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "ID de usuário" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "Tipo" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "Data de criação" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "Data de expiração" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "Sem expiração" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "Largura" @@ -98,7 +99,6 @@ msgid "Key management" msgstr "Gerenciar chaves" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "Envio da chave" @@ -163,7 +163,6 @@ msgid "Key data" msgstr "Dados da chave" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "Chave" @@ -196,7 +195,6 @@ msgid "Use keys to sign content" msgstr "Usar chaves para assinar conteúdo" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "Enviar chaves" @@ -205,26 +203,25 @@ msgid "View keys" msgstr "Ver as chaves" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "Assinaturas" #: settings.py:15 msgid "Home directory used to store keys as well as configuration files." -msgstr "Diretório inicial usado para armazenar as chaves, assim como os arquivos de configuração." +msgstr "" +"Diretório inicial usado para armazenar as chaves, assim como os arquivos de " +"configuração." #: settings.py:21 msgid "Path to the GPG binary." msgstr "Caminho para o binário GPG." #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "Servidor usado para procurar chaves." #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "Apagar chave: %s" @@ -235,7 +232,6 @@ msgstr "Detalhes para chave: %s" #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "Importar ID da chave: %s?" @@ -245,7 +241,6 @@ msgstr "Importar chave" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "Não foi possível importar chave: %(key_id)s; %(error)s" @@ -289,12 +284,12 @@ msgstr "Carregar nova chave" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/django_gpg/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/ro_RO/LC_MESSAGES/django.po index d05753ffc8..4b1d7347b8 100644 --- a/mayan/apps/django_gpg/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Badea Gabriel , 2013 @@ -9,45 +9,47 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:22+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "ID cheie" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "Tip" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "" @@ -96,7 +98,6 @@ msgid "Key management" msgstr "gestionare chei" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "" @@ -142,7 +143,9 @@ msgstr "Eroare semnătură." #: literals.py:53 msgid "Document is signed but no public key is available for verification." -msgstr "Documentul este semnat, dar nici o cheie publică nu este disponibilă pentru verificare." +msgstr "" +"Documentul este semnat, dar nici o cheie publică nu este disponibilă pentru " +"verificare." #: literals.py:58 msgid "Document is signed, and signature is good." @@ -161,7 +164,6 @@ msgid "Key data" msgstr "" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "" @@ -194,7 +196,6 @@ msgid "Use keys to sign content" msgstr "" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "" @@ -203,26 +204,25 @@ msgid "View keys" msgstr "Vizualiza cheile" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "" #: settings.py:15 msgid "Home directory used to store keys as well as configuration files." -msgstr "Cale director utilizată pentru a stoca cheile, precum și fișiere de configurare." +msgstr "" +"Cale director utilizată pentru a stoca cheile, precum și fișiere de " +"configurare." #: settings.py:21 msgid "Path to the GPG binary." msgstr "" #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "" #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "" @@ -233,7 +233,6 @@ msgstr "" #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "" @@ -243,7 +242,6 @@ msgstr "Import cheie" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "" @@ -287,12 +285,12 @@ msgstr "" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/django_gpg/locale/ru/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/ru/LC_MESSAGES/django.po index 6a3dccca02..d3bb86edf8 100644 --- a/mayan/apps/django_gpg/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -9,45 +9,48 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-07-19 20:20+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "Django GPG" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "ID ключа" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "Идентификатор пользователя" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "Тип" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "Дата создания" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "Дата окончания" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "Не устаревает" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "Длина" @@ -96,7 +99,6 @@ msgid "Key management" msgstr "Управление ключами" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "Загрузить ключ" @@ -161,7 +163,6 @@ msgid "Key data" msgstr "Содержимое ключа" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "Ключ" @@ -194,7 +195,6 @@ msgid "Use keys to sign content" msgstr "Использовать ключи для подписи контента" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "Загрузить ключи" @@ -203,26 +203,25 @@ msgid "View keys" msgstr "Просмотр ключей" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "Подписи" #: settings.py:15 msgid "Home directory used to store keys as well as configuration files." -msgstr "Домашний каталог, используемый для хранения ключей, а также файлов конфигурации." +msgstr "" +"Домашний каталог, используемый для хранения ключей, а также файлов " +"конфигурации." #: settings.py:21 msgid "Path to the GPG binary." msgstr "Путь к GPG исходникам." #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "Сервер ключей используемый для запроса ключей." #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "Удалить ключ: %s" @@ -233,7 +232,6 @@ msgstr "Подробности для ключа: %s" #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "Получить ключ ID: %s?" @@ -243,7 +241,6 @@ msgstr "Получить ключ" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "Невозможно импортировать ключ %(key_id)s; %(error)s" @@ -287,12 +284,12 @@ msgstr "Загрузить новый ключ" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/django_gpg/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/sl_SI/LC_MESSAGES/django.po index e4137c2a43..c3907356c4 100644 --- a/mayan/apps/django_gpg/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/sl_SI/LC_MESSAGES/django.po @@ -1,52 +1,54 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:22+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "" @@ -95,7 +97,6 @@ msgid "Key management" msgstr "" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "" @@ -160,7 +161,6 @@ msgid "Key data" msgstr "" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "" @@ -193,7 +193,6 @@ msgid "Use keys to sign content" msgstr "" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "" @@ -202,7 +201,6 @@ msgid "View keys" msgstr "" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "" @@ -215,13 +213,11 @@ msgid "Path to the GPG binary." msgstr "" #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "" #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "" @@ -232,7 +228,6 @@ msgstr "" #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "" @@ -242,7 +237,6 @@ msgstr "" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "" @@ -286,12 +280,12 @@ msgstr "" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/django_gpg/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/vi_VN/LC_MESSAGES/django.po index 3a37ebc8ec..8986db56d7 100644 --- a/mayan/apps/django_gpg/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Trung Phan Minh , 2013 @@ -9,45 +9,46 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:22+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "Key ID" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "" @@ -96,7 +97,6 @@ msgid "Key management" msgstr "Quản lý khóa" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "" @@ -161,7 +161,6 @@ msgid "Key data" msgstr "" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "" @@ -194,7 +193,6 @@ msgid "Use keys to sign content" msgstr "" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "" @@ -203,7 +201,6 @@ msgid "View keys" msgstr "Xem các khóa" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "" @@ -216,13 +213,11 @@ msgid "Path to the GPG binary." msgstr "" #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "" #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "" @@ -233,7 +228,6 @@ msgstr "" #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "" @@ -243,7 +237,6 @@ msgstr "Import key" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "" @@ -287,12 +280,12 @@ msgstr "" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/django_gpg/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/django_gpg/locale/zh_CN/LC_MESSAGES/django.po index c163015017..4aae7c0c5f 100644 --- a/mayan/apps/django_gpg/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/django_gpg/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -9,45 +9,46 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:22+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:30 +#: apps.py:31 msgid "Django GPG" msgstr "" -#: apps.py:73 apps.py:76 forms.py:17 +#: apps.py:47 apps.py:50 forms.py:17 msgid "Key ID" msgstr "密钥ID" -#: apps.py:74 apps.py:87 forms.py:19 models.py:47 +#: apps.py:48 apps.py:61 forms.py:19 models.py:47 msgid "User ID" msgstr "" -#: apps.py:77 forms.py:34 models.py:50 +#: apps.py:51 forms.py:34 models.py:50 msgid "Type" msgstr "" -#: apps.py:79 forms.py:23 models.py:31 +#: apps.py:53 forms.py:23 models.py:31 msgid "Creation date" msgstr "" -#: apps.py:82 forms.py:27 models.py:35 +#: apps.py:56 forms.py:27 models.py:35 msgid "Expiration date" msgstr "" -#: apps.py:83 +#: apps.py:57 msgid "No expiration" msgstr "" -#: apps.py:85 forms.py:32 models.py:42 +#: apps.py:59 forms.py:32 models.py:42 msgid "Length" msgstr "" @@ -96,7 +97,6 @@ msgid "Key management" msgstr "密钥管理" #: links.py:37 -#| msgid "Import key" msgid "Upload key" msgstr "" @@ -161,7 +161,6 @@ msgid "Key data" msgstr "" #: models.py:56 -#| msgid "Key ID" msgid "Key" msgstr "" @@ -194,7 +193,6 @@ msgid "Use keys to sign content" msgstr "" #: permissions.py:22 -#| msgid "public keys" msgid "Upload keys" msgstr "" @@ -203,7 +201,6 @@ msgid "View keys" msgstr "查看密钥" #: settings.py:10 -#| msgid "Signature error." msgid "Signatures" msgstr "" @@ -216,13 +213,11 @@ msgid "Path to the GPG binary." msgstr "" #: settings.py:25 -#| msgid "List of keyservers to be queried for unknown keys." msgid "Keyserver used to query for keys." msgstr "" #: views.py:38 #, python-format -#| msgid "Delete keys" msgid "Delete key: %s" msgstr "" @@ -233,7 +228,6 @@ msgstr "" #: views.py:68 #, python-format -#| msgid "Import key" msgid "Import key ID: %s?" msgstr "" @@ -243,7 +237,6 @@ msgstr "导入密钥" #: views.py:78 #, python-format -#| msgid "Unable to import key id: %(key_id)s; %(error)s" msgid "Unable to import key: %(key_id)s; %(error)s" msgstr "" @@ -287,12 +280,12 @@ msgstr "" #~ msgstr "Delete key" #~ msgid "" -#~ "Delete key %s? If you delete a public key that is part of a public/private " -#~ "pair the private key will be deleted as well." +#~ "Delete key %s? If you delete a public key that is part of a public/" +#~ "private pair the private key will be deleted as well." #~ msgstr "" -#~ "Are you sure you wish to delete key: %s? If you try to delete a public key " -#~ "that is part of a public/private pair the private key will be deleted as " -#~ "well." +#~ "Are you sure you wish to delete key: %s? If you try to delete a public " +#~ "key that is part of a public/private pair the private key will be deleted " +#~ "as well." #~ msgid "results" #~ msgstr "results" diff --git a/mayan/apps/document_comments/locale/ar/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/ar/LC_MESSAGES/django.po index d250379d6b..ba9e57d7f2 100644 --- a/mayan/apps/document_comments/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/ar/LC_MESSAGES/django.po @@ -1,48 +1,51 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "Date" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "مستخدم" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "تعليق" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "التعليقات" + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "" @@ -54,10 +57,6 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "التعليقات" - #: models.py:23 msgid "Document" msgstr "" @@ -78,18 +77,17 @@ msgstr "حذف التعليقات" msgid "View comments" msgstr "عرض التعليقات" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "إضافة تعليق على الوثيقة: %s" -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "" diff --git a/mayan/apps/document_comments/locale/bg/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/bg/LC_MESSAGES/django.po index b4568c327e..ac28fb7f2d 100644 --- a/mayan/apps/document_comments/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/bg/LC_MESSAGES/django.po @@ -1,48 +1,50 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "Дата" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "Потребител" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "Коментар" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "Коментари" + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "" @@ -54,10 +56,6 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "Коментари" - #: models.py:23 msgid "Document" msgstr "" @@ -78,18 +76,17 @@ msgstr "Изтриване на коментари" msgid "View comments" msgstr "Преглед на коментари" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "Добавяне на коментар към документ: %s" -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "" diff --git a/mayan/apps/document_comments/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/bs_BA/LC_MESSAGES/django.po index b6db8b2ba5..65b588ff35 100644 --- a/mayan/apps/document_comments/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/bs_BA/LC_MESSAGES/django.po @@ -1,48 +1,51 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "Datum" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "Korisnik" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "Komentar" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "Komentari" + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "" @@ -54,10 +57,6 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "Komentari" - #: models.py:23 msgid "Document" msgstr "" @@ -78,18 +77,17 @@ msgstr "Obriši komentare" msgid "View comments" msgstr "Pregledaj komentare" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "Dodaj komentar za dokument: %s" -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "" diff --git a/mayan/apps/document_comments/locale/da/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/da/LC_MESSAGES/django.po index d30bef8e52..1ae1cfd209 100644 --- a/mayan/apps/document_comments/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/da/LC_MESSAGES/django.po @@ -1,48 +1,50 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "Dato" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "Bruger" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "Kommentar" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "Kommentarer" + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "" @@ -54,10 +56,6 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "Kommentarer" - #: models.py:23 msgid "Document" msgstr "" @@ -78,18 +76,17 @@ msgstr "Slet kommentarer" msgid "View comments" msgstr "Se kommentarer" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "Tilføj kommentar til dokument: %s" -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "" diff --git a/mayan/apps/document_comments/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/de_DE/LC_MESSAGES/django.po index ea34ed74c7..df5562e516 100644 --- a/mayan/apps/document_comments/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Berny , 2015 @@ -9,41 +9,43 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "Kommentare" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "Datum" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "Benutzer" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "Kommentar" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "Kommentare" + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "Kommentar erstellt" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "Kommentar gelöscht" @@ -55,10 +57,6 @@ msgstr "Kommentar hinzufügen" msgid "Delete" msgstr "Löschen" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "Kommentare" - #: models.py:23 msgid "Document" msgstr "Dokument" @@ -79,18 +77,17 @@ msgstr "Kommentare löschen" msgid "View comments" msgstr "Kommentare ansehen" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "Kommentar zu Dokument %s hinzufügen" -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "Kommentar %s löschen?" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "Kommentare für Dokument: %s" diff --git a/mayan/apps/document_comments/locale/en/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/en/LC_MESSAGES/django.po index 0add17e181..2bda5a30b1 100644 --- a/mayan/apps/document_comments/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2013-11-20 11:56+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" @@ -18,26 +18,30 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:23 +#: apps.py:26 #, fuzzy #| msgid "Delete comments" msgid "Document comments" msgstr "Delete comments" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 #, fuzzy msgid "Comment" msgstr "Comments" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "Comments" + #: events.py:9 #, fuzzy #| msgid "Delete comments" @@ -60,10 +64,6 @@ msgstr "add comment" msgid "Delete" msgstr "delete" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "Comments" - #: models.py:23 #, fuzzy msgid "Document" @@ -85,18 +85,18 @@ msgstr "Delete comments" msgid "View comments" msgstr "View comments" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "Add comment to document: %s" -#: views.py:90 +#: views.py:79 #, fuzzy, python-format #| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "Delete comments" -#: views.py:122 +#: views.py:106 #, fuzzy, python-format msgid "Comments for document: %s" msgstr "Add comment to document: %s" diff --git a/mayan/apps/document_comments/locale/es/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/es/LC_MESSAGES/django.po index 3fb8867504..edf3a0f070 100644 --- a/mayan/apps/document_comments/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Roberto Rosario, 2015 @@ -9,41 +9,43 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "Comentarios de documento" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "Fecha" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "Usuario" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "Comentario" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "Comentarios" + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "Comentario de documento creado" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "Comentario de documento borrado" @@ -55,10 +57,6 @@ msgstr "Añadir comentario" msgid "Delete" msgstr "Borrar" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "Comentarios" - #: models.py:23 msgid "Document" msgstr "Documento" @@ -79,18 +77,17 @@ msgstr "Eliminar comentarios" msgid "View comments" msgstr "Ver comentarios" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "Añadir comentario al documento: %s" -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "¿Borrar comentario: %s?" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "Comentarios para el documento: %s" diff --git a/mayan/apps/document_comments/locale/fa/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/fa/LC_MESSAGES/django.po index a5777a047c..fc96cb7a96 100644 --- a/mayan/apps/document_comments/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/fa/LC_MESSAGES/django.po @@ -1,48 +1,50 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "تاریخ" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "کاربر" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "شرح" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "توضیحات" + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "" @@ -54,10 +56,6 @@ msgstr "اضافه کردن توضیحات" msgid "Delete" msgstr "حذف" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "توضیحات" - #: models.py:23 msgid "Document" msgstr "سند" @@ -78,18 +76,17 @@ msgstr "حذف توضیحات" msgid "View comments" msgstr "بازبینی توضیحات" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "اضافه کردن توضیحات به سند: %s" -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "توضیحات سند %s" diff --git a/mayan/apps/document_comments/locale/fr/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/fr/LC_MESSAGES/django.po index 08e93aff2c..aa6febd84d 100644 --- a/mayan/apps/document_comments/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Thierry Schott , 2016 @@ -9,41 +9,43 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Thierry Schott \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "Commentaires du document" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "Date" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "Utilisateur" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "Commentaire" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "Commentaires" + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "Commentaire de document créé" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "Commentaire de document supprimé" @@ -55,10 +57,6 @@ msgstr "Ajouter un commentaire" msgid "Delete" msgstr "Suppression" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "Commentaires" - #: models.py:23 msgid "Document" msgstr "Document" @@ -79,18 +77,17 @@ msgstr "Supprimer des commentaires" msgid "View comments" msgstr "Afficher les commentaires" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "Ajouter un commentaire au document : %s" -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "Supprimer le commentaire : %s ?" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "Commentaires pour le document : %s" diff --git a/mayan/apps/document_comments/locale/hu/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/hu/LC_MESSAGES/django.po index 4301236550..ca42d2e866 100644 --- a/mayan/apps/document_comments/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/hu/LC_MESSAGES/django.po @@ -1,48 +1,50 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "Felhasználó" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "Megjegyzés" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "Megjegyzések" + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "" @@ -54,10 +56,6 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "Megjegyzések" - #: models.py:23 msgid "Document" msgstr "" @@ -78,18 +76,17 @@ msgstr "hozzászólás törlése" msgid "View comments" msgstr "hozzászólás megtekintése" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "Megjegyzés fűzése a %s dokumentumhoz." -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "" diff --git a/mayan/apps/document_comments/locale/id/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/id/LC_MESSAGES/django.po index 6f563c7f4a..cb551e73e5 100644 --- a/mayan/apps/document_comments/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/id/LC_MESSAGES/django.po @@ -1,48 +1,50 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "Pengguna" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "Komentar" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "Komentar-komentar" + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "" @@ -54,10 +56,6 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "Komentar-komentar" - #: models.py:23 msgid "Document" msgstr "" @@ -78,18 +76,17 @@ msgstr "Hapus komentar-komentar" msgid "View comments" msgstr "Lihat komentar-komentar" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "Menambah komentar ke dokumen: %s" -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "" diff --git a/mayan/apps/document_comments/locale/it/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/it/LC_MESSAGES/django.po index f9bc51023d..f113c8cf6f 100644 --- a/mayan/apps/document_comments/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Marco Camplese , 2016 @@ -9,41 +9,43 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-09-24 09:51+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "Commenti documento" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "Data" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "Utente" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "Commento" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "Commenti " + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "Commento documento creato" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "Commento documento cancellato" @@ -55,10 +57,6 @@ msgstr "Aggiungi commento" msgid "Delete" msgstr "Cancella" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "Commenti " - #: models.py:23 msgid "Document" msgstr "Documento" @@ -79,18 +77,17 @@ msgstr "Cancella commenti" msgid "View comments" msgstr "Visualizza commenti" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "Aggiungi un comento al documento: %s" -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "Cancellare il commento: %s?" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "Commenti al documento: %s" diff --git a/mayan/apps/document_comments/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/nl_NL/LC_MESSAGES/django.po index 8faa889e6c..bfbdf62024 100644 --- a/mayan/apps/document_comments/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -9,41 +9,43 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 12:44+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "Documentopmerkingen" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "Datum" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "Gebruiker" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "Commentaar" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "Commentaar" + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "" @@ -55,10 +57,6 @@ msgstr "Voeg opmerking toe" msgid "Delete" msgstr "Verwijder" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "Commentaar" - #: models.py:23 msgid "Document" msgstr "Document" @@ -79,18 +77,17 @@ msgstr "Verwijderen van commentaar" msgid "View comments" msgstr "Bekijk commentaar" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "Opmerking toevoegen aan document: %s" -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "Verwijder opmerking: %s?" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "Opmerkingen voor document: %s" diff --git a/mayan/apps/document_comments/locale/pl/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/pl/LC_MESSAGES/django.po index 31961be65a..a453bb5a19 100644 --- a/mayan/apps/document_comments/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Wojtek Warczakowski , 2016 @@ -9,41 +9,44 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Wojtek Warczakowski \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "Komentarze dokumentu" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "Data" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "Użytkownik" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "Komentarz" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "Komentarze" + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "Dokument został skomentowany" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "Komentarz do dokumentu został usunięty" @@ -55,10 +58,6 @@ msgstr "Dodaj komentarz" msgid "Delete" msgstr "Usuń" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "Komentarze" - #: models.py:23 msgid "Document" msgstr "Dokument" @@ -79,18 +78,17 @@ msgstr "Usuwaj komentarze" msgid "View comments" msgstr "Przeglądaj komentarze" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "Dodanie komentarza do dokumentu: %s" -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "Usunąć komentarz: %s?" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "Komentarze do dokumentu: %s" diff --git a/mayan/apps/document_comments/locale/pt/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/pt/LC_MESSAGES/django.po index 71167c7c84..52315cfeef 100644 --- a/mayan/apps/document_comments/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/pt/LC_MESSAGES/django.po @@ -1,48 +1,50 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "Data" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "Utilizador" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "Comentário" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "Comentários" + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "" @@ -54,10 +56,6 @@ msgstr "" msgid "Delete" msgstr "Eliminar" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "Comentários" - #: models.py:23 msgid "Document" msgstr "" @@ -78,18 +76,17 @@ msgstr "Excluir comentários" msgid "View comments" msgstr "Ver comentários" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "Adicionar comentário ao documento: %s" -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "" diff --git a/mayan/apps/document_comments/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/pt_BR/LC_MESSAGES/django.po index 23ae98d96a..27fd32433e 100644 --- a/mayan/apps/document_comments/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -9,41 +9,43 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-17 22:54+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "Comentários de documento" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "Data" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "Usuário" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "Comentário" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "Comentários" + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "Comentário de documento criado" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "Comentário de documento apagado" @@ -55,10 +57,6 @@ msgstr "Adicionar comentário" msgid "Delete" msgstr "Excluir" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "Comentários" - #: models.py:23 msgid "Document" msgstr "Documento" @@ -79,18 +77,17 @@ msgstr "Excluir comentários" msgid "View comments" msgstr "Ver comentários" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "Adicionar comentário ao documento: %s" -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "Apagar comentário: %s?" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "Comentário para documento: %s" diff --git a/mayan/apps/document_comments/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/ro_RO/LC_MESSAGES/django.po index 56513d1ea0..d59baf0f86 100644 --- a/mayan/apps/document_comments/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/ro_RO/LC_MESSAGES/django.po @@ -1,48 +1,51 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-17 09:39+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "Data" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "utilizator" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "Comentariu" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "Comentarii" + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "" @@ -54,10 +57,6 @@ msgstr "" msgid "Delete" msgstr "Șterge" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "Comentarii" - #: models.py:23 msgid "Document" msgstr "" @@ -78,18 +77,17 @@ msgstr "Ștergeți comentarii" msgid "View comments" msgstr "Vezi comentariile" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "Adaugă comentariu la document:% s" -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "" diff --git a/mayan/apps/document_comments/locale/ru/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/ru/LC_MESSAGES/django.po index 383a39376d..f74b98244b 100644 --- a/mayan/apps/document_comments/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -9,41 +9,45 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-07-14 01:35+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "Комментарии документа" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "Дата" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "Пользователь" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "Комментарий" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "Комментарии" + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "Комментарий документа создан" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "Комментарий документа удалён" @@ -55,10 +59,6 @@ msgstr "Добавить комментарий" msgid "Delete" msgstr "Удалить" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "Комментарии" - #: models.py:23 msgid "Document" msgstr "Документ" @@ -79,18 +79,17 @@ msgstr "Удалить комментарии" msgid "View comments" msgstr "Просмотр комментариев" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "Добавить комментарий на документ: %s" -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "Удалить комментарий: %s?" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "Комментарии для документа: %s" diff --git a/mayan/apps/document_comments/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/sl_SI/LC_MESSAGES/django.po index 9f8c03b55d..1862e42eba 100644 --- a/mayan/apps/document_comments/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/sl_SI/LC_MESSAGES/django.po @@ -1,48 +1,51 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "Komentar" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "Komentarji" + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "" @@ -54,10 +57,6 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "Komentarji" - #: models.py:23 msgid "Document" msgstr "" @@ -78,18 +77,17 @@ msgstr "Izbriši komentarje" msgid "View comments" msgstr "Poglej komentarje" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "Dodaj komentar datotekei: %s" -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "" diff --git a/mayan/apps/document_comments/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/vi_VN/LC_MESSAGES/django.po index 79b52a7022..2f20dc465c 100644 --- a/mayan/apps/document_comments/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/vi_VN/LC_MESSAGES/django.po @@ -1,48 +1,50 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "Ngày" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "Người dùng" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "Chú thích" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "Chú thích" + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "" @@ -54,10 +56,6 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "Chú thích" - #: models.py:23 msgid "Document" msgstr "" @@ -78,18 +76,17 @@ msgstr "Xóa chú thích" msgid "View comments" msgstr "Xem chú thích" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "Thêm chú thích cho tài liệu: %s" -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "" diff --git a/mayan/apps/document_comments/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/zh_CN/LC_MESSAGES/django.po index 447c47680c..e4fc85a2a5 100644 --- a/mayan/apps/document_comments/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/zh_CN/LC_MESSAGES/django.po @@ -1,48 +1,50 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:23 -#| msgid "Delete comments" +#: apps.py:26 msgid "Document comments" msgstr "" -#: apps.py:41 +#: apps.py:46 msgid "Date" msgstr "日期" -#: apps.py:43 models.py:27 +#: apps.py:48 models.py:27 msgid "User" msgstr "用户" #. Translators: Comment here is a noun and refers to the actual text stored -#: apps.py:46 models.py:30 models.py:72 views.py:25 +#: apps.py:51 models.py:30 models.py:72 views.py:23 msgid "Comment" msgstr "评论" +#: apps.py:55 apps.py:59 links.py:22 models.py:73 permissions.py:7 +msgid "Comments" +msgstr "评论" + #: events.py:9 -#| msgid "Delete comments" msgid "Document comment created" msgstr "" #: events.py:13 -#| msgid "Delete comments" msgid "Document comment deleted" msgstr "" @@ -54,10 +56,6 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:22 models.py:73 permissions.py:7 -msgid "Comments" -msgstr "评论" - #: models.py:23 msgid "Document" msgstr "" @@ -78,18 +76,17 @@ msgstr "删除评论" msgid "View comments" msgstr "查看评论" -#: views.py:47 +#: views.py:41 #, python-format msgid "Add comment to document: %s" msgstr "添加评论到文档:%s" -#: views.py:90 +#: views.py:79 #, python-format -#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "" -#: views.py:122 +#: views.py:106 #, python-format msgid "Comments for document: %s" msgstr "" diff --git a/mayan/apps/document_indexing/locale/ar/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/ar/LC_MESSAGES/django.po index 3ed97bc974..ec51579cbd 100644 --- a/mayan/apps/document_indexing/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -9,54 +9,55 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: admin.py:24 msgid "None" msgstr "لا شيء" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "" @@ -64,12 +65,12 @@ msgstr "" msgid "Creation date" msgstr "" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "Indexes" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "" @@ -104,89 +105,90 @@ msgid "" "%(exception)s" msgstr "" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." msgstr "" -#: models.py:35 -msgid "" +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." +msgstr "" "Causes this index to be visible and updated when document data changes." -msgstr "Causes this index to be visible and updated when document data changes." -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" msgstr "" -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." msgstr "Causes this node to be visible and updated when document data changes." -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." -msgstr "Check this option to have this node act as a container for documents and not as a parent for further nodes." +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." +msgstr "" +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "" -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "قيمة" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "الوثائق" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "" -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "" @@ -214,74 +216,73 @@ msgstr "View document indexes" msgid "Rebuild document indexes" msgstr "Rebuild document indexes" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "" -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." msgstr "On large databases this operation may take some time to execute." -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "" @@ -346,9 +347,11 @@ msgstr "" #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -385,11 +388,11 @@ msgstr "" #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_indexing/locale/bg/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/bg/LC_MESSAGES/django.po index 52ea6c168d..42bf4ab9f9 100644 --- a/mayan/apps/document_indexing/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pavlin Koldamov , 2012 @@ -9,54 +9,54 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: admin.py:24 msgid "None" msgstr "Няма" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "" @@ -64,12 +64,12 @@ msgstr "" msgid "Creation date" msgstr "" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "Индекси" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "" @@ -104,89 +104,89 @@ msgid "" "%(exception)s" msgstr "" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." msgstr "" -#: models.py:35 -msgid "" -"Causes this index to be visible and updated when document data changes." -msgstr "Предизвиква този индекс да бъдат видим и актуализиран, когато данните в документа се променят." +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." +msgstr "" +"Предизвиква този индекс да бъдат видим и актуализиран, когато данните в " +"документа се променят." -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" msgstr "" -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." msgstr "" -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." msgstr "" -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "" -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "Стойност" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "Документи" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "" -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "" @@ -214,74 +214,75 @@ msgstr "" msgid "Rebuild document indexes" msgstr "" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "" -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." -msgstr "При големи бази данни тази операция може да отнеме известно време за изпълнение." +msgstr "" +"При големи бази данни тази операция може да отнеме известно време за " +"изпълнение." -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "" @@ -346,9 +347,11 @@ msgstr "" #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -385,11 +388,11 @@ msgstr "" #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_indexing/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/bs_BA/LC_MESSAGES/django.po index 2bbbb288a3..7c78f9d60f 100644 --- a/mayan/apps/document_indexing/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -9,54 +9,55 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:34+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: admin.py:24 msgid "None" msgstr "Nijedno" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "" @@ -64,12 +65,12 @@ msgstr "" msgid "Creation date" msgstr "" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "Indeksi" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "" @@ -104,89 +105,93 @@ msgid "" "%(exception)s" msgstr "" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." msgstr "" -#: models.py:35 -msgid "" -"Causes this index to be visible and updated when document data changes." -msgstr "Uzrokuje da će ovaj indeks biti vidljiv i update-ovan kad se promjene podaci dokumenta." +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." +msgstr "" +"Uzrokuje da će ovaj indeks biti vidljiv i update-ovan kad se promjene podaci " +"dokumenta." -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" msgstr "" -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." -msgstr "Uzrokuje da će ovaj nod biti vidljiv i update-ovan kad se promjene podaci dokumenta." +msgstr "" +"Uzrokuje da će ovaj nod biti vidljiv i update-ovan kad se promjene podaci " +"dokumenta." -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." -msgstr "Označite ovu opciju da ovaj nod služi kao kontejner za dokumente a ne kao parent za buduće nodove." +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." +msgstr "" +"Označite ovu opciju da ovaj nod služi kao kontejner za dokumente a ne kao " +"parent za buduće nodove." -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "" -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "Vrijednost" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "Dokumenti" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "" -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "" @@ -214,74 +219,73 @@ msgstr "Pregledaj indekse dokumenata" msgid "Rebuild document indexes" msgstr " Obnovi indekse dokumenata" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "" -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." msgstr "Na velikim bazama podataka ove operacije mogu potrajati neko vrijeme." -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "" @@ -346,9 +350,11 @@ msgstr "" #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -385,11 +391,11 @@ msgstr "" #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_indexing/locale/da/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/da/LC_MESSAGES/django.po index 7e9a0f3b4f..bdbb4b18ae 100644 --- a/mayan/apps/document_indexing/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/da/LC_MESSAGES/django.po @@ -1,61 +1,61 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: admin.py:24 msgid "None" msgstr "Ingen" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "" @@ -63,12 +63,12 @@ msgstr "" msgid "Creation date" msgstr "" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "" @@ -103,89 +103,87 @@ msgid "" "%(exception)s" msgstr "" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." msgstr "" -#: models.py:35 -msgid "" -"Causes this index to be visible and updated when document data changes." +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." msgstr "" -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" msgstr "" -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." msgstr "" -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." msgstr "" -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "" -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "Dokumenter" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "" -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "" @@ -213,74 +211,73 @@ msgstr "" msgid "Rebuild document indexes" msgstr "" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "" -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." msgstr "På store databaser kan denne operation tage lidt tid at udføre." -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "" @@ -345,9 +342,11 @@ msgstr "" #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -384,11 +383,11 @@ msgstr "" #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_indexing/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/de_DE/LC_MESSAGES/django.po index 26cf2c0e75..cefa357344 100644 --- a/mayan/apps/document_indexing/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Berny , 2015-2016 @@ -13,54 +13,54 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:34+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: admin.py:24 msgid "None" msgstr "Keine" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "Dokumententypen" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "Dokumentenindices" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "Bezeichner" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "Abkürzung" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "Aktiviert" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "Elemente" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "Stufe" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "Dokument verknüpft" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "Knotenpunkt" @@ -68,12 +68,12 @@ msgstr "Knotenpunkt" msgid "Creation date" msgstr "Erstellungsdatum" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "Indices" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "Index erstellen" @@ -106,91 +106,101 @@ msgstr "Neuer Unterknoten" msgid "" "Error indexing document: %(document)s; expression: %(expression)s; " "%(exception)s" -msgstr "Fehler bei der Indexierung von Dokument %(document)s; Ausdruck: %(expression)s; %(exception)s" +msgstr "" +"Fehler bei der Indexierung von Dokument %(document)s; Ausdruck: " +"%(expression)s; %(exception)s" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." msgstr "Interner Name um diesen Index zu identifizieren" -#: models.py:35 -msgid "" -"Causes this index to be visible and updated when document data changes." -msgstr "Bewirkt Sichtbarkeit und Aktualisierung des Index, wenn Dokumente geändert werden." +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." +msgstr "" +"Bewirkt Sichtbarkeit und Aktualisierung des Index, wenn Dokumente geändert " +"werden." -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "Index" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "Index-Instanzen" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -msgstr "Vorlage/Template zur Generierung eingeben. Django's Standard-Vorlagen-Sprache benutzen (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" +msgstr "" +"Vorlage/Template zur Generierung eingeben. Django's Standard-Vorlagen-" +"Sprache benutzen (https://docs.djangoproject.com/en/1.7/ref/templates/" +"builtins/)" -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "Indexierungsausdruck" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." -msgstr "Bewirkt Sichtbarkeit und Aktualisierung des Index, wenn Dokumente geändert werden." +msgstr "" +"Bewirkt Sichtbarkeit und Aktualisierung des Index, wenn Dokumente geändert " +"werden." -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." -msgstr "Wählen Sie diese Option, wenn Dokumente in diesem Knoten dargestellt werden sollen (und dieser Knoten nicht als Eltern-Knoten für weitere Kind-Knotenpunkte fungieren soll)." +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." +msgstr "" +"Wählen Sie diese Option, wenn Dokumente in diesem Knoten dargestellt werden " +"sollen (und dieser Knoten nicht als Eltern-Knoten für weitere Kind-" +"Knotenpunkte fungieren soll)." -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "Dokumente verknüpfen" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "Wurzel" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "Index Knotenvorlage" -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "Index Knotenvorlagen" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "Index Knotenpunkt" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "Wert" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "Dokumente" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "Indexknotenpunkt" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "Indexknotenpunkte" -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "Indexknotenpunkt" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "Indexknotenpunkte" @@ -218,74 +228,74 @@ msgstr "Dokumentenindices anzeigen" msgid "Rebuild document indexes" msgstr "Dokumentenindices neu aufbauen" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "Index %s löschen?" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "Index %s bearbeiten" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "Verfügbare Dokumententypen" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "Verknüpfte Dokumententypen" -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "Mit Index %s verknüpfte Dokumententypen" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "Baumvorlagen für Index %s" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "Unterknotenpunkt von %s erstellen" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "Indexvorlagen-Knotenpunkt %s löschen?" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "Indexvorlagen-Knotenpunkt %s bearbeiten" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "Navigation: %s" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "Inhalt von Index %s" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "Knotenpunkte der Indices, die Dokumente enthalten: %s" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." -msgstr "Bei großen Datenbanken kann dieser Vorgang einige Zeit in Anspruch nehmen." +msgstr "" +"Bei großen Datenbanken kann dieser Vorgang einige Zeit in Anspruch nehmen." -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "Alle Indices neu aufbauen?" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "Indexwiederaufbau erfolgreich eingereiht" @@ -350,9 +360,11 @@ msgstr "Indexwiederaufbau erfolgreich eingereiht" #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -389,11 +401,11 @@ msgstr "Indexwiederaufbau erfolgreich eingereiht" #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_indexing/locale/en/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/en/LC_MESSAGES/django.po index 8a2bde3c51..c3fd5c81b9 100644 --- a/mayan/apps/document_indexing/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2012-12-12 06:05+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" @@ -22,7 +22,7 @@ msgstr "" msgid "None" msgstr "" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 #, fuzzy msgid "Document types" msgstr "document types" @@ -33,35 +33,35 @@ msgstr "document types" msgid "Document indexing" msgstr "document indexes" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 #, fuzzy msgid "Enabled" msgstr "enabled" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 #, fuzzy msgid "Items" msgstr "items" -#: apps.py:144 +#: apps.py:104 #, fuzzy msgid "Level" msgstr "level" -#: apps.py:152 +#: apps.py:112 #, fuzzy msgid "Has document links?" msgstr "has document links?" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "" @@ -70,12 +70,12 @@ msgstr "" msgid "Creation date" msgstr "create index" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "Indexes" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 #, fuzzy msgid "Create index" msgstr "create index" @@ -116,48 +116,48 @@ msgid "" msgstr "" "Error updating document index, expression: %(expression)s; %(exception)s" -#: models.py:29 +#: models.py:27 #, fuzzy #| msgid "Internal name used to reference this index." msgid "This values will be used by other apps to reference this index." msgstr "Internal name used to reference this index." -#: models.py:35 +#: models.py:33 msgid "Causes this index to be visible and updated when document data changes." msgstr "" "Causes this index to be visible and updated when document data changes." -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 #, fuzzy msgid "Index" msgstr "Indexes" -#: models.py:101 +#: models.py:99 #, fuzzy msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 #, fuzzy msgid "Index instances" msgstr "index instance" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" msgstr "" -#: models.py:118 +#: models.py:116 #, fuzzy msgid "Indexing expression" msgstr "indexing expression" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." msgstr "Causes this node to be visible and updated when document data changes." -#: models.py:131 +#: models.py:129 msgid "" "Check this option to have this node act as a container for documents and not " "as a parent for further nodes." @@ -165,56 +165,56 @@ msgstr "" "Check this option to have this node act as a container for documents and not " "as a parent for further nodes." -#: models.py:134 +#: models.py:132 #, fuzzy msgid "Link documents" msgstr "link documents" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "" -#: models.py:144 +#: models.py:142 #, fuzzy msgid "Index node template" msgstr "index template node" -#: models.py:145 +#: models.py:143 #, fuzzy msgid "Indexes node template" msgstr "indexes template nodes" -#: models.py:153 +#: models.py:151 #, fuzzy msgid "Index template node" msgstr "index template node" -#: models.py:156 +#: models.py:154 #, fuzzy msgid "Value" msgstr "value" -#: models.py:159 +#: models.py:157 #, fuzzy msgid "Documents" msgstr "documents" -#: models.py:204 +#: models.py:197 #, fuzzy msgid "Index node instance" msgstr "index instance" -#: models.py:205 +#: models.py:198 #, fuzzy msgid "Indexes node instances" msgstr "index instance" -#: models.py:213 +#: models.py:206 #, fuzzy msgid "Document index node instance" msgstr "index instance" -#: models.py:214 +#: models.py:207 #, fuzzy msgid "Document indexes node instances" msgstr "index instance" @@ -243,77 +243,77 @@ msgstr "View document indexes" msgid "Rebuild document indexes" msgstr "Rebuild document indexes" -#: views.py:51 +#: views.py:49 #, fuzzy, python-format #| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "Delete document indexes" -#: views.py:64 +#: views.py:62 #, fuzzy, python-format msgid "Edit index: %s" msgstr "edit index: %s" -#: views.py:81 +#: views.py:79 #, fuzzy msgid "Available document types" msgstr "document types" -#: views.py:83 +#: views.py:81 #, fuzzy msgid "Document types linked" msgstr "document types" -#: views.py:106 +#: views.py:96 #, fuzzy, python-format msgid "Document types linked to index: %s" msgstr "document types for index: %s" -#: views.py:145 +#: views.py:135 #, fuzzy, python-format msgid "Tree template nodes for index: %s" msgstr "tree template nodes for index: %s" -#: views.py:172 +#: views.py:157 #, fuzzy, python-format msgid "Create child node of: %s" msgstr "create child node" -#: views.py:196 +#: views.py:181 #, fuzzy, python-format msgid "Delete the index template node: %s?" msgstr "edit index template node: %s" -#: views.py:218 +#: views.py:203 #, fuzzy, python-format msgid "Edit the index template node: %s?" msgstr "edit index template node: %s" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "" -#: views.py:291 +#: views.py:271 #, fuzzy, python-format msgid "Contents for index: %s" msgstr "contents for index: %s" -#: views.py:331 +#: views.py:307 #, fuzzy, python-format msgid "Indexes nodes containing document: %s" msgstr "indexes containing: %s" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." msgstr "On large databases this operation may take some time to execute." -#: views.py:342 +#: views.py:318 #, fuzzy msgid "Rebuild all indexes?" msgstr "rebuild indexes" -#: views.py:351 +#: views.py:327 #, fuzzy msgid "Index rebuild queued successfully." msgstr "Index rebuild completed successfully." diff --git a/mayan/apps/document_indexing/locale/es/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/es/LC_MESSAGES/django.po index ebe1770c8d..a231b90087 100644 --- a/mayan/apps/document_indexing/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 @@ -11,54 +11,54 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-23 06:46+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: admin.py:24 msgid "None" msgstr "Ninguno" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "Tipos de documento" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "Indexación de documentos" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "Etiqueta" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "Identificador" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "Habilitado" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "Elementos" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "Nível" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "El documento tiene enlaces?" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "Nodo" @@ -66,12 +66,12 @@ msgstr "Nodo" msgid "Creation date" msgstr "Fecha de creación" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "Índices" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "Crear índice" @@ -104,91 +104,101 @@ msgstr "nuevo nodo secundario" msgid "" "Error indexing document: %(document)s; expression: %(expression)s; " "%(exception)s" -msgstr "Error indexando documento: %(document)s; expresión: %(expression)s; %(exception)s" +msgstr "" +"Error indexando documento: %(document)s; expresión: %(expression)s; " +"%(exception)s" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." -msgstr "Estos valores serán utilizados por otras aplicaciones para hacer referencia a este índice." +msgstr "" +"Estos valores serán utilizados por otras aplicaciones para hacer referencia " +"a este índice." -#: models.py:35 -msgid "" -"Causes this index to be visible and updated when document data changes." -msgstr "Hace que este índice sea visible y actualizado cuando los datos de documentos cambien." +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." +msgstr "" +"Hace que este índice sea visible y actualizado cuando los datos de " +"documentos cambien." -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "índice" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "Instancias de índices" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -msgstr "Introduzca una plantilla para generar. Use el lenguaje de plantillas de Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). " +msgstr "" +"Introduzca una plantilla para generar. Use el lenguaje de plantillas de " +"Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). " -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "expresión de indexación" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." -msgstr "Hace que este nodo sea visible y actualizado cuando los datos de los documentos son cambiados." +msgstr "" +"Hace que este nodo sea visible y actualizado cuando los datos de los " +"documentos son cambiados." -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." -msgstr "Marque esta opción para que el nodo actúe como un contenedor de documentos y no como un padre para otros nodos secundarios." +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." +msgstr "" +"Marque esta opción para que el nodo actúe como un contenedor de documentos y " +"no como un padre para otros nodos secundarios." -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "enlace de documentos" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "raíz" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "nodo de plantilla de indice" -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "nodos de plantillas de índices" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "nodo de plantilla de indice" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "Valor" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "Documentos" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "índice de nodo de instancia" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "nodos de instancias de indices" -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "" @@ -216,74 +226,75 @@ msgstr "Ver los índices de documentos" msgid "Rebuild document indexes" msgstr "Generar índices de documentos" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "¿Borrar el indice: %s?" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "Editar índice: %s" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "Tipos de documentos disponibles" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "Tipos de documentos enlazados " -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "Tipos de documentos enlazados al índice: %s" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "nodos de la plantilla del árbol del índice: %s" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "Crear nodo hijo de: %s" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "¿Borrar el nodo de plantilla de indice: %s?" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "¿Editar el nodo de plantilla de indice: %s?" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "Navegación: %s" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "contenido del indice: %s" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "Nodos de indices que contienen el documento: %s" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." -msgstr "En bases de datos de gran tamaño esta operación puede tardar algún tiempo en ejecutarse." +msgstr "" +"En bases de datos de gran tamaño esta operación puede tardar algún tiempo en " +"ejecutarse." -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "¿Reconstruir todos los índices?" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "Reconstrucción de Índices en espera de forma exitosa." @@ -348,9 +359,11 @@ msgstr "Reconstrucción de Índices en espera de forma exitosa." #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -387,11 +400,11 @@ msgstr "Reconstrucción de Índices en espera de forma exitosa." #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_indexing/locale/fa/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/fa/LC_MESSAGES/django.po index a18b5229a3..ddfbe2f3f0 100644 --- a/mayan/apps/document_indexing/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/fa/LC_MESSAGES/django.po @@ -1,61 +1,61 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:34+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: admin.py:24 msgid "None" msgstr "ناموجود" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "انواع سند" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "برچسب" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "Slug" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "فعال شده" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "اقلام" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "سطح" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "آیا سند دارای پیوند است؟" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "گره" @@ -63,12 +63,12 @@ msgstr "گره" msgid "Creation date" msgstr "تاریخ ایجاد" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "اندیس ها" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "ایجاد اندیس" @@ -101,91 +101,94 @@ msgstr "گره فرزند جدید" msgid "" "Error indexing document: %(document)s; expression: %(expression)s; " "%(exception)s" -msgstr "خطای ساختن ایندکس سند: %(document)s; , عبارت : %(expression)s; %(exception)s" +msgstr "" +"خطای ساختن ایندکس سند: %(document)s; , عبارت : %(expression)s; %(exception)s" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." msgstr "" -#: models.py:35 -msgid "" -"Causes this index to be visible and updated when document data changes." -msgstr "باعث میشود که این ایندکس قابل رویت شود و در زمان تغییر داده سند بروز رسانی شود." +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." +msgstr "" +"باعث میشود که این ایندکس قابل رویت شود و در زمان تغییر داده سند بروز رسانی " +"شود." -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "اندیس" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" msgstr "" -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "عبارت اندیس گذاری" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." -msgstr "باعث میشود که این ایندکس قابل رویت شود و در زمان تغییر داده سند بروز رسانی شود." +msgstr "" +"باعث میشود که این ایندکس قابل رویت شود و در زمان تغییر داده سند بروز رسانی " +"شود." -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." msgstr "بررسی شود که اینکه این گره ظرفی برای اسناد است و نه پدر گره های دیگر." -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "اسناد پیوند" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "ریشه" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "الگوی گره اندیس" -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "الگوی گره اندیس ها" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "گره الگوی اندیس" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "مقدار" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "اسناد" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "موردی ازگره اندیس" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "موارد گره اندیس ها" -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "" @@ -213,74 +216,73 @@ msgstr "دیدن ایندکسهای سند" msgid "Rebuild document indexes" msgstr "بازسازی ایندکسهای سند" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "ویرایش اندیس %s" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "" -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "گره الگوی درخت اندیس %s" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "محتوا برای اندیس : %s" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." msgstr "در پایگاه داده بزرگ این عملیات مدت زیادی بطول خواهد انجامید." -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "ساخت مجدد اندیسها در صف قرار گرفت." @@ -345,9 +347,11 @@ msgstr "ساخت مجدد اندیسها در صف قرار گرفت." #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -384,11 +388,11 @@ msgstr "ساخت مجدد اندیسها در صف قرار گرفت." #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_indexing/locale/fr/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/fr/LC_MESSAGES/django.po index 11ff9120df..178b3cbfb3 100644 --- a/mayan/apps/document_indexing/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pierre Lhoste , 2012 @@ -11,54 +11,54 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:34+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: admin.py:24 msgid "None" msgstr "Aucun" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "Types de document" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "Indexation de document" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "Libellé" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "Jeton" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "Activé" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "Éléments" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "Niveau" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "Est lié à d'autres documents ?" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "Noeud" @@ -66,12 +66,12 @@ msgstr "Noeud" msgid "Creation date" msgstr "Date de création" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "Indexes" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "Créer un index" @@ -89,7 +89,8 @@ msgstr "Modèle d'arborescence" #: links.py:54 msgid "Deletes and creates from scratch all the document indexes." -msgstr "Supprimer et reconstruire les indexes des documents en partant de zéro." +msgstr "" +"Supprimer et reconstruire les indexes des documents en partant de zéro." #: links.py:57 msgid "Rebuild indexes" @@ -104,91 +105,101 @@ msgstr "Nouveau noeud enfant" msgid "" "Error indexing document: %(document)s; expression: %(expression)s; " "%(exception)s" -msgstr "Erreur lors de l'indexation du document: %(document)s; expression: %(expression)s; %(exception)s" +msgstr "" +"Erreur lors de l'indexation du document: %(document)s; expression: " +"%(expression)s; %(exception)s" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." -msgstr "Ces valeurs seront utilisées par d'autres applications pour référencer cet indexe." +msgstr "" +"Ces valeurs seront utilisées par d'autres applications pour référencer cet " +"indexe." -#: models.py:35 -msgid "" -"Causes this index to be visible and updated when document data changes." -msgstr "Permet à cet index d'être à la fois visible et mis à jour quand le contenu d'un document est modifié." +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." +msgstr "" +"Permet à cet index d'être à la fois visible et mis à jour quand le contenu " +"d'un document est modifié." -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "Index" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "Instance d'indexe" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -msgstr "Saisissez un modèle à restituer. Utiliser le langage de rendu de Django par défaut (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" +msgstr "" +"Saisissez un modèle à restituer. Utiliser le langage de rendu de Django par " +"défaut (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "Expression d'indexation" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." -msgstr "Permet à ce noeud d'être visible et mis à jour quand le contenu d'un document est modifié." +msgstr "" +"Permet à ce noeud d'être visible et mis à jour quand le contenu d'un " +"document est modifié." -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." -msgstr "Cochez cette option pour permettre à ce noeud d'être un conteneur de documents et pas seulement un noeud parent d'autres noeuds enfants." +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." +msgstr "" +"Cochez cette option pour permettre à ce noeud d'être un conteneur de " +"documents et pas seulement un noeud parent d'autres noeuds enfants." -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "Lier les documents" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "Racine" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "Noeud de modèle d'index" -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "Noeud de modèle d'index" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "Noeud de modèle d'index" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "Valeur" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "Documents" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "Noeud d'instance d'index" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "Noeud d'instances d'indexes" -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "Instance de noeud d'indexe de document" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "Instances de noeuds d'indexe de document" @@ -216,74 +227,75 @@ msgstr "Afficher les indexes des documents" msgid "Rebuild document indexes" msgstr "Reconstruire les indexes des documents" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "Supprimer l'indexe : %s ?" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "Modifier l'index: %s" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "Types de document disponible" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "Types de document liés" -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "Types de documents liés à l'indexe : %s" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "Noeuds de modèles arborescentes pour l'index: %s" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "Créer un noeud enfant pour: %s" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "Supprimer le noeud du modèle d'indexe: %s ?" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "Modifier le noeud du modèle d'index: %s" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "Navigation: %s" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "Contenu de l'index:%s" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "Noeuds d'indexe contenant le document : %s" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." -msgstr "Sur de grosses bases de données, cette opération peut prendre un certain temps." +msgstr "" +"Sur de grosses bases de données, cette opération peut prendre un certain " +"temps." -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "Reconstruire tous les indexes ?" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "La ré-indexation en attente a été faite avec succès." @@ -348,9 +360,11 @@ msgstr "La ré-indexation en attente a été faite avec succès." #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -387,11 +401,11 @@ msgstr "La ré-indexation en attente a été faite avec succès." #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_indexing/locale/hu/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/hu/LC_MESSAGES/django.po index 0c4474260c..7feca63fe6 100644 --- a/mayan/apps/document_indexing/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/hu/LC_MESSAGES/django.po @@ -1,61 +1,61 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: admin.py:24 msgid "None" msgstr "Semmi" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "" @@ -63,12 +63,12 @@ msgstr "" msgid "Creation date" msgstr "" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "" @@ -103,89 +103,87 @@ msgid "" "%(exception)s" msgstr "" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." msgstr "" -#: models.py:35 -msgid "" -"Causes this index to be visible and updated when document data changes." +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." msgstr "" -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" msgstr "" -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." msgstr "" -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." msgstr "" -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "" -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "dokumentumok" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "" -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "" @@ -213,74 +211,73 @@ msgstr "" msgid "Rebuild document indexes" msgstr "" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "" -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." msgstr "A nagy adatbázisok esetében a művelet sokáig is tarthat." -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "" @@ -345,9 +342,11 @@ msgstr "" #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -384,11 +383,11 @@ msgstr "" #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_indexing/locale/id/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/id/LC_MESSAGES/django.po index 74491109cf..74217c150b 100644 --- a/mayan/apps/document_indexing/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/id/LC_MESSAGES/django.po @@ -1,61 +1,61 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: admin.py:24 msgid "None" msgstr "" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "" @@ -63,12 +63,12 @@ msgstr "" msgid "Creation date" msgstr "" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "" @@ -103,89 +103,87 @@ msgid "" "%(exception)s" msgstr "" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." msgstr "" -#: models.py:35 -msgid "" -"Causes this index to be visible and updated when document data changes." +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." msgstr "" -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" msgstr "" -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." msgstr "" -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." msgstr "" -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "" -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "Dokumen" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "" -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "" @@ -213,74 +211,75 @@ msgstr "" msgid "Rebuild document indexes" msgstr "" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "" -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." -msgstr "Pada database yang besar pekerjaan berikut mungkin akan membutuhkan waktu untuk dilaksanakan." +msgstr "" +"Pada database yang besar pekerjaan berikut mungkin akan membutuhkan waktu " +"untuk dilaksanakan." -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "" @@ -345,9 +344,11 @@ msgstr "" #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -384,11 +385,11 @@ msgstr "" #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_indexing/locale/it/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/it/LC_MESSAGES/django.po index dd51315a8b..88a9235bdd 100644 --- a/mayan/apps/document_indexing/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Carlo Zanatto <>, 2012 @@ -12,54 +12,54 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-30 21:18+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: admin.py:24 msgid "None" msgstr "Nessuno" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "Tipi di documento" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "Indicizzazione documento" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "etichetta" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "Slug" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "Abilitato" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "Articoli" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "Livello" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "Il documento ha un collegamento?" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "Nodo" @@ -67,12 +67,12 @@ msgstr "Nodo" msgid "Creation date" msgstr "Data di creazione" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "Indici" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "Crea indice" @@ -105,91 +105,100 @@ msgstr "Novo nodo figlio" msgid "" "Error indexing document: %(document)s; expression: %(expression)s; " "%(exception)s" -msgstr "Errore nell'ndicizzazione del documento: %(document)s; espressione: %(expression)s; %(exception)s" +msgstr "" +"Errore nell'ndicizzazione del documento: %(document)s; espressione: " +"%(expression)s; %(exception)s" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." -msgstr "Questo valore è utilizzato dalle altre apps per riferirsi a questo indice." +msgstr "" +"Questo valore è utilizzato dalle altre apps per riferirsi a questo indice." -#: models.py:35 -msgid "" -"Causes this index to be visible and updated when document data changes." -msgstr "Fa sì che questo indice possa essere visibile e aggiornato quando i dati del documento cambiano." +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." +msgstr "" +"Fa sì che questo indice possa essere visibile e aggiornato quando i dati del " +"documento cambiano." -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "Indice" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "Instanze indice" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -msgstr "Inserisci il template da renderizzare. Usa il linguaggio di template di Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" +msgstr "" +"Inserisci il template da renderizzare. Usa il linguaggio di template di " +"Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "Espressione di indicizzazione" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." -msgstr "Fa sì che questo nodo possa essere visibili e aggiornato quando i dati del documento cambiano." +msgstr "" +"Fa sì che questo nodo possa essere visibili e aggiornato quando i dati del " +"documento cambiano." -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." -msgstr "Selezionare questa opzione per questo specifico nodo quale contenitore per i documenti e non come un genitore per ulteriori nodi." +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." +msgstr "" +"Selezionare questa opzione per questo specifico nodo quale contenitore per i " +"documenti e non come un genitore per ulteriori nodi." -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "Documenti di collegamento" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "Principale" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "Indice del nodo Template " -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "Indici dei nodi Template" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "Indice del nodo Template" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "Valore" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "Documenti" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "Istanza nodo Indice" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "Istanze nodo indici" -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "Istanza del nodo indice del documento" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "Istanze dei nodi indice del documento" @@ -217,74 +226,75 @@ msgstr "Visualizza indici documento" msgid "Rebuild document indexes" msgstr "Ricostruisci indici documento" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "Cancellare l'indice: %s?" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "Modifica indice: %s" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "Tipi di documento disponibili" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "Tipi di documento collegati" -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "Tipi di documento collegati all'indice: %s" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "Template principale per i nodi dell'indice: %s" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "Crea un nodo figlio di: %s" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "Cancellare il template del nodo indice: %s?" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "Modificare il template del nodo indice: %s?" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "Navigazione: %s" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "Contenuti per l'indice: %s" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "Indici contenuti nel documento: %s" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." -msgstr "Per un database di grosse dimensioni l'operazione protrebbe aver bisogno di tempo." +msgstr "" +"Per un database di grosse dimensioni l'operazione protrebbe aver bisogno di " +"tempo." -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "Ricostruire tutti gli indici?" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "Ricostruzione dell'indice messo in coda." @@ -349,9 +359,11 @@ msgstr "Ricostruzione dell'indice messo in coda." #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -388,11 +400,11 @@ msgstr "Ricostruzione dell'indice messo in coda." #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_indexing/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/nl_NL/LC_MESSAGES/django.po index 2295889bb4..ce937921de 100644 --- a/mayan/apps/document_indexing/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -10,54 +10,54 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-09 16:41+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: admin.py:24 msgid "None" msgstr "Geen" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "Documentsoorten" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "Documentindexering" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "Label" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "Ingeschakeld" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "Items" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "Niveau" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "Node" @@ -65,12 +65,12 @@ msgstr "Node" msgid "Creation date" msgstr "Aanmaakdatum" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "Indexeringen" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "Indexering aanmaken" @@ -105,89 +105,90 @@ msgid "" "%(exception)s" msgstr "" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." msgstr "" -#: models.py:35 -msgid "" -"Causes this index to be visible and updated when document data changes." -msgstr "Maakt deze index zichtbaar en 'up-to-date' wanneer document gegevens wijzigd." +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." +msgstr "" +"Maakt deze index zichtbaar en 'up-to-date' wanneer document gegevens wijzigd." -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "Index" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" msgstr "" -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "Indexeringsexpressie" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." -msgstr "Maakt deze node zichtbaar en 'up-to-date' wanneer document gegevens wijzigen" +msgstr "" +"Maakt deze node zichtbaar en 'up-to-date' wanneer document gegevens wijzigen" -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." -msgstr "Selecteer deze optie, wanneer deze node alleen documenten dient te bevatten. " +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." +msgstr "" +"Selecteer deze optie, wanneer deze node alleen documenten dient te bevatten. " -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "Koppel documenten" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "" -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "Waarde" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "Documenten" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "" -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "" @@ -215,74 +216,73 @@ msgstr "Bekijk document-indexeringen" msgid "Rebuild document indexes" msgstr "documenten opnieuw indexeren" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "Beschikbare documentsoorten" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "" -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." msgstr "Voor een grote database kan deze operatie lang duren." -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "" @@ -347,9 +347,11 @@ msgstr "" #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -386,11 +388,11 @@ msgstr "" #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_indexing/locale/pl/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/pl/LC_MESSAGES/django.po index 5b67bfd82d..2e88b22401 100644 --- a/mayan/apps/document_indexing/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # mic , 2012,2015 @@ -11,54 +11,55 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:34+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" #: admin.py:24 msgid "None" msgstr "Brak" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "Typy dokumentów" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "Etykieta" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "Slug" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "Włączony" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "Pozycje" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "Węzeł" @@ -66,12 +67,12 @@ msgstr "Węzeł" msgid "Creation date" msgstr "Data utworzenia" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "Indeksy" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "Tworzenie indeksu" @@ -106,89 +107,93 @@ msgid "" "%(exception)s" msgstr "" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." msgstr "" -#: models.py:35 -msgid "" -"Causes this index to be visible and updated when document data changes." -msgstr "Powoduje że ten wskaźnik będzie widoczny i zaktualizowany podczas zmiany danych dokumentów." +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." +msgstr "" +"Powoduje że ten wskaźnik będzie widoczny i zaktualizowany podczas zmiany " +"danych dokumentów." -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "Indeks" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -msgstr "Podaj szablon do wyrenderowania. Użyj domyślnego języka szablonów Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" +msgstr "" +"Podaj szablon do wyrenderowania. Użyj domyślnego języka szablonów Django " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." msgstr "Causes this node to be visible and updated when document data changes." -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." -msgstr "Check this option to have this node act as a container for documents and not as a parent for further nodes." +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." +msgstr "" +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "" -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "Wartość" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "Dokumenty" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "" -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "" @@ -216,74 +221,73 @@ msgstr "Zobacz indeksy dokumentów" msgid "Rebuild document indexes" msgstr "Odbuduj indeksy dokumentów" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "Dostępne typy dokumentów" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "" -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "Zawartość indeksu: %s" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "Węzły indeksów zawierające dokument: %s" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." msgstr "Na dużych bazach danych operacja może chwilę potrwać." -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "" @@ -348,9 +352,11 @@ msgstr "" #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -387,11 +393,11 @@ msgstr "" #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_indexing/locale/pt/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/pt/LC_MESSAGES/django.po index a88f2d4264..f15607ca3a 100644 --- a/mayan/apps/document_indexing/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Renata Oliveira , 2011 @@ -10,54 +10,54 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:34+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: admin.py:24 msgid "None" msgstr "Nenhum" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "Nome" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "Slug" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "Itens" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "" @@ -65,12 +65,12 @@ msgstr "" msgid "Creation date" msgstr "" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "Índices" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "" @@ -105,89 +105,93 @@ msgid "" "%(exception)s" msgstr "" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." msgstr "" -#: models.py:35 -msgid "" -"Causes this index to be visible and updated when document data changes." -msgstr "Faz com que este índice seja visível e atualizado quando os dados do documento forem alterados." +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." +msgstr "" +"Faz com que este índice seja visível e atualizado quando os dados do " +"documento forem alterados." -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" msgstr "" -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." -msgstr "Faz com que este nó seja visível e atualizado quando os dados do documento forem alterados." +msgstr "" +"Faz com que este nó seja visível e atualizado quando os dados do documento " +"forem alterados." -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." -msgstr "Escolha esta opção para que este nó atue como contentor para documentos e não como pai de outros nós." +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." +msgstr "" +"Escolha esta opção para que este nó atue como contentor para documentos e " +"não como pai de outros nós." -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "" -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "Valor" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "Documentos" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "" -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "" @@ -215,74 +219,73 @@ msgstr "Ver índices de documento" msgid "Rebuild document indexes" msgstr "Reconstruir índices de documento" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "" -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." msgstr "Esta operação pode levar algum tempo em bases de dados grandes." -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "" @@ -347,9 +350,11 @@ msgstr "" #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -386,11 +391,11 @@ msgstr "" #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_indexing/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/pt_BR/LC_MESSAGES/django.po index 4de82a369c..d826b6b85e 100644 --- a/mayan/apps/document_indexing/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -11,54 +11,54 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-17 23:07+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: admin.py:24 msgid "None" msgstr "Nenhum" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "Tipos de Documentos" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "Indexação de documentos" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "Etiqueta" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "Identificador" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "Habilitado" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "Itens" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "Nível" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "Tem links de documentos?" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "Nó" @@ -66,12 +66,12 @@ msgstr "Nó" msgid "Creation date" msgstr "Data de criação" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "Índices" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "Criar índice" @@ -104,91 +104,101 @@ msgstr "Novo node filho" msgid "" "Error indexing document: %(document)s; expression: %(expression)s; " "%(exception)s" -msgstr "Erro indexando documento: %(document)s; expressão: %(expression)s; %(exception)s" +msgstr "" +"Erro indexando documento: %(document)s; expressão: %(expression)s; " +"%(exception)s" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." -msgstr "Estes valores serão utilizados por outras aplicações para fazer referência a este índice." +msgstr "" +"Estes valores serão utilizados por outras aplicações para fazer referência a " +"este índice." -#: models.py:35 -msgid "" -"Causes this index to be visible and updated when document data changes." -msgstr "Faz com que este índice seja visível e atualizado quando dados de documentos forem alterados." +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." +msgstr "" +"Faz com que este índice seja visível e atualizado quando dados de documentos " +"forem alterados." -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "Índice" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "Instância de índice" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "Instâncias de índice" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -msgstr "Insira um modelo para renderizar. Use a linguagem de modelo padrão do Django (https://docs.djangoproject.com/pt-br/1.10/ref/templates/builtins/)" +msgstr "" +"Insira um modelo para renderizar. Use a linguagem de modelo padrão do Django " +"(https://docs.djangoproject.com/pt-br/1.10/ref/templates/builtins/)" -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "Indexando expressão" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." -msgstr "Faz com que este nó seja visível e atualizado quando dados do documento forem alterados." +msgstr "" +"Faz com que este nó seja visível e atualizado quando dados do documento " +"forem alterados." -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." -msgstr "Marque esta opção para que este nó atue como um recipiente para documentos e não como um pai para outros nós secundários." +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." +msgstr "" +"Marque esta opção para que este nó atue como um recipiente para documentos e " +"não como um pai para outros nós secundários." -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "Link de documentos" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "Raiz" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "Índice de modelo de nó" -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "Indices de modelo de nó" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "Indice de modelo de índice" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "Valor" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "Documento" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "Índice de instância de nó" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "Índices instâncias de nó " -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "Instâncias do nó do índice de documentos" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "Instâncias de nós de lindice de instâncias" @@ -216,74 +226,74 @@ msgstr "Ver índices de documento" msgid "Rebuild document indexes" msgstr "Reconstruir índices de documento" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "Apagar o índice: %s?" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "Editar Indice: %s" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "Tipos de documentos disponíveis" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "Tipos de documentos vinculados" -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "Tipos de documentos vinculados ao índice: %s" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "Nós de modelo da árvore do índice: %s" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "Criar nó filho de: %s" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "Excluir o nó de modelo de índice: %s?" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "Editar o nó de modelo de índice: %s?" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "Navegação: %s" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "Conteúdo para Indice? %s" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "Indexar nós contendo documento: %s" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." -msgstr "Em grandes bases de dados esta operação pode levar algum tempo para executar." +msgstr "" +"Em grandes bases de dados esta operação pode levar algum tempo para executar." -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "Reconstruir todos os índices?" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "Índices em fila reconstruídos com sucesso." @@ -348,9 +358,11 @@ msgstr "Índices em fila reconstruídos com sucesso." #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -387,11 +399,11 @@ msgstr "Índices em fila reconstruídos com sucesso." #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_indexing/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/ro_RO/LC_MESSAGES/django.po index 0d4f684543..ea7fa98cbb 100644 --- a/mayan/apps/document_indexing/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Badea Gabriel , 2013 @@ -9,54 +9,55 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:34+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" #: admin.py:24 msgid "None" msgstr "Nici unul" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "Etichetă" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "Articole" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "" @@ -64,12 +65,12 @@ msgstr "" msgid "Creation date" msgstr "" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "Indexuri" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "" @@ -104,89 +105,93 @@ msgid "" "%(exception)s" msgstr "" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." msgstr "" -#: models.py:35 -msgid "" -"Causes this index to be visible and updated when document data changes." -msgstr "Cauză pentru acest index să fie vizibil și actualizat când documentul suferă schimbări." +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." +msgstr "" +"Cauză pentru acest index să fie vizibil și actualizat când documentul suferă " +"schimbări." -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" msgstr "" -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." -msgstr "Cauză pentru ca acest nod să fie vizibil și actualizat atunci când datele documentului se modifică." +msgstr "" +"Cauză pentru ca acest nod să fie vizibil și actualizat atunci când datele " +"documentului se modifică." -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." -msgstr "Bifați această opțiune pentru a avea acest nod ca un container pentru documente și nu ca un părinte pentru nodurile suplimentare." +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." +msgstr "" +"Bifați această opțiune pentru a avea acest nod ca un container pentru " +"documente și nu ca un părinte pentru nodurile suplimentare." -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "" -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "Valoare" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "Documente" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "" -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "" @@ -214,74 +219,74 @@ msgstr "Vezi indexul de documente" msgid "Rebuild document indexes" msgstr "Reconstruire index documente" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "" -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." -msgstr "Pe baze de date mari, această operație poate dura ceva timp pentru a executa." +msgstr "" +"Pe baze de date mari, această operație poate dura ceva timp pentru a executa." -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "" @@ -346,9 +351,11 @@ msgstr "" #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -385,11 +392,11 @@ msgstr "" #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_indexing/locale/ru/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/ru/LC_MESSAGES/django.po index a427ce095e..ca65b88d32 100644 --- a/mayan/apps/document_indexing/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -9,54 +9,56 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-02 04:15+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" #: admin.py:24 msgid "None" msgstr "Ни один" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "Типы документов" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "Индексирование документа" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "Надпись" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "Доступно" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "Элементы" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "Уровень" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "Узел" @@ -64,12 +66,12 @@ msgstr "Узел" msgid "Creation date" msgstr "Дата создания" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "Индексы" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "Создать индекс" @@ -104,89 +106,90 @@ msgid "" "%(exception)s" msgstr "" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." msgstr "" -#: models.py:35 -msgid "" -"Causes this index to be visible and updated when document data changes." -msgstr "Этот индекс должен быть видимым и обновляться при изменении данных документа." +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." +msgstr "" +"Этот индекс должен быть видимым и обновляться при изменении данных документа." -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "Индекс" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "Экземпляры индекса" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" msgstr "" -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." -msgstr "Этот узел должен быть видимым и обновляются при изменении данных документа." +msgstr "" +"Этот узел должен быть видимым и обновляются при изменении данных документа." -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." -msgstr "Этот узел будет контейнером для документов и не будет иметь дочерних узлов." +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." +msgstr "" +"Этот узел будет контейнером для документов и не будет иметь дочерних узлов." -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "Корень" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "" -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "Значение" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "Документы" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "" -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "" @@ -214,74 +217,75 @@ msgstr "Просмотр индексов документа" msgid "Rebuild document indexes" msgstr "Восстановление индексов документа" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "Удалить индекс: %s?" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "Редактировать индекс: %s" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "Доступные типы документов" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "Типы документов связаны" -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "Навигация: %s" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." -msgstr "В больших базах данных эта операция может занять некоторое время для выполнения." +msgstr "" +"В больших базах данных эта операция может занять некоторое время для " +"выполнения." -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "Восстановить все индексы?" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "Восстановление индекса успешно отправлено в очередь." @@ -346,9 +350,11 @@ msgstr "Восстановление индекса успешно отправ #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -385,11 +391,11 @@ msgstr "Восстановление индекса успешно отправ #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_indexing/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/sl_SI/LC_MESSAGES/django.po index 4ef9bb3d4a..144dc31f38 100644 --- a/mayan/apps/document_indexing/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/sl_SI/LC_MESSAGES/django.po @@ -1,61 +1,62 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-17 08:59+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" #: admin.py:24 msgid "None" msgstr "Brez" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "Oznaka" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "" @@ -63,12 +64,12 @@ msgstr "" msgid "Creation date" msgstr "" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "" @@ -103,89 +104,87 @@ msgid "" "%(exception)s" msgstr "" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." msgstr "" -#: models.py:35 -msgid "" -"Causes this index to be visible and updated when document data changes." +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." msgstr "" -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" msgstr "" -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." msgstr "" -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." msgstr "" -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "" -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "Dokumenti" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "" -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "" @@ -213,74 +212,73 @@ msgstr "" msgid "Rebuild document indexes" msgstr "" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "" -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." msgstr "Če je baza velika lahko operacija zahteva nekaj več časa da se izvrši." -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "" @@ -345,9 +343,11 @@ msgstr "" #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -384,11 +384,11 @@ msgstr "" #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_indexing/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/vi_VN/LC_MESSAGES/django.po index d45f72629c..c16002bba6 100644 --- a/mayan/apps/document_indexing/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/vi_VN/LC_MESSAGES/django.po @@ -1,61 +1,61 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: admin.py:24 msgid "None" msgstr "None" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "" @@ -63,12 +63,12 @@ msgstr "" msgid "Creation date" msgstr "" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "" @@ -103,89 +103,87 @@ msgid "" "%(exception)s" msgstr "" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." msgstr "" -#: models.py:35 -msgid "" -"Causes this index to be visible and updated when document data changes." +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." msgstr "" -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" msgstr "" -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." msgstr "" -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." msgstr "" -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "" -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "Giá trị" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "Tài liệu" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "" -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "" @@ -213,74 +211,73 @@ msgstr "" msgid "Rebuild document indexes" msgstr "" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "" -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." msgstr "" -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "" @@ -345,9 +342,11 @@ msgstr "" #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -384,11 +383,11 @@ msgstr "" #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_indexing/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/document_indexing/locale/zh_CN/LC_MESSAGES/django.po index 14e3e06cb6..8a0e4814f9 100644 --- a/mayan/apps/document_indexing/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/document_indexing/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -9,54 +9,54 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: admin.py:24 msgid "None" msgstr "无" -#: admin.py:26 apps.py:139 links.py:48 models.py:41 +#: admin.py:26 apps.py:99 links.py:48 models.py:39 msgid "Document types" msgstr "" #: apps.py:49 -#| msgid "document indexes" msgid "Document indexing" msgstr "" -#: apps.py:125 models.py:25 +#: apps.py:85 models.py:23 msgid "Label" msgstr "" -#: apps.py:126 models.py:30 +#: apps.py:86 models.py:28 msgid "Slug" msgstr "" -#: apps.py:128 apps.py:148 models.py:38 models.py:126 +#: apps.py:88 apps.py:108 models.py:36 models.py:124 msgid "Enabled" msgstr "" -#: apps.py:133 apps.py:163 apps.py:176 +#: apps.py:93 apps.py:123 apps.py:136 msgid "Items" msgstr "" -#: apps.py:144 +#: apps.py:104 msgid "Level" msgstr "" -#: apps.py:152 +#: apps.py:112 msgid "Has document links?" msgstr "" -#: apps.py:159 apps.py:170 +#: apps.py:119 apps.py:130 msgid "Node" msgstr "" @@ -64,12 +64,12 @@ msgstr "" msgid "Creation date" msgstr "" -#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:83 views.py:75 -#: views.py:235 +#: links.py:18 links.py:22 links.py:25 links.py:28 models.py:81 views.py:73 +#: views.py:220 msgid "Indexes" msgstr "索引" -#: links.py:31 views.py:36 +#: links.py:31 views.py:34 msgid "Create index" msgstr "" @@ -104,89 +104,87 @@ msgid "" "%(exception)s" msgstr "" -#: models.py:29 -#| msgid "Internal name used to reference this index." +#: models.py:27 msgid "This values will be used by other apps to reference this index." msgstr "" -#: models.py:35 -msgid "" -"Causes this index to be visible and updated when document data changes." +#: models.py:33 +msgid "Causes this index to be visible and updated when document data changes." msgstr "当文档数据变化时,将导致索引被更新和可见。" -#: models.py:82 models.py:109 +#: models.py:80 models.py:107 msgid "Index" msgstr "" -#: models.py:101 +#: models.py:99 msgid "Index instance" msgstr "index instance" -#: models.py:102 +#: models.py:100 msgid "Index instances" msgstr "" -#: models.py:114 +#: models.py:112 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" msgstr "" -#: models.py:118 +#: models.py:116 msgid "Indexing expression" msgstr "" -#: models.py:123 +#: models.py:121 msgid "Causes this node to be visible and updated when document data changes." msgstr "当文档数据变化时,导致节点被更新和可见。" -#: models.py:131 +#: models.py:129 msgid "" -"Check this option to have this node act as a container for documents and not" -" as a parent for further nodes." +"Check this option to have this node act as a container for documents and not " +"as a parent for further nodes." msgstr "检查当前节点是否为文档容器,而不是作为别处节点的父节点。" -#: models.py:134 +#: models.py:132 msgid "Link documents" msgstr "" -#: models.py:139 +#: models.py:137 msgid "Root" msgstr "" -#: models.py:144 +#: models.py:142 msgid "Index node template" msgstr "" -#: models.py:145 +#: models.py:143 msgid "Indexes node template" msgstr "" -#: models.py:153 +#: models.py:151 msgid "Index template node" msgstr "" -#: models.py:156 +#: models.py:154 msgid "Value" msgstr "值" -#: models.py:159 +#: models.py:157 msgid "Documents" msgstr "文档" -#: models.py:204 +#: models.py:197 msgid "Index node instance" msgstr "" -#: models.py:205 +#: models.py:198 msgid "Indexes node instances" msgstr "" -#: models.py:213 +#: models.py:206 msgid "Document index node instance" msgstr "" -#: models.py:214 +#: models.py:207 msgid "Document indexes node instances" msgstr "" @@ -214,74 +212,73 @@ msgstr "查看文档索引" msgid "Rebuild document indexes" msgstr "重建文档索引" -#: views.py:51 +#: views.py:49 #, python-format -#| msgid "Delete document indexes" msgid "Delete the index: %s?" msgstr "" -#: views.py:64 +#: views.py:62 #, python-format msgid "Edit index: %s" msgstr "" -#: views.py:81 +#: views.py:79 msgid "Available document types" msgstr "" -#: views.py:83 +#: views.py:81 msgid "Document types linked" msgstr "" -#: views.py:106 +#: views.py:96 #, python-format msgid "Document types linked to index: %s" msgstr "" -#: views.py:145 +#: views.py:135 #, python-format msgid "Tree template nodes for index: %s" msgstr "" -#: views.py:172 +#: views.py:157 #, python-format msgid "Create child node of: %s" msgstr "" -#: views.py:196 +#: views.py:181 #, python-format msgid "Delete the index template node: %s?" msgstr "" -#: views.py:218 +#: views.py:203 #, python-format msgid "Edit the index template node: %s?" msgstr "" -#: views.py:286 +#: views.py:266 #, python-format msgid "Navigation: %s" msgstr "" -#: views.py:291 +#: views.py:271 #, python-format msgid "Contents for index: %s" msgstr "" -#: views.py:331 +#: views.py:307 #, python-format msgid "Indexes nodes containing document: %s" msgstr "" -#: views.py:341 +#: views.py:317 msgid "On large databases this operation may take some time to execute." msgstr "在大数据库中,此操作将比较耗时。" -#: views.py:342 +#: views.py:318 msgid "Rebuild all indexes?" msgstr "" -#: views.py:351 +#: views.py:327 msgid "Index rebuild queued successfully." msgstr "" @@ -346,9 +343,11 @@ msgstr "" #~ msgstr "Maximum suffix (%s) count reached." #~ msgid "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error in document indexing update expression: %(expression)s; %(exception)s" +#~ "Error in document indexing update expression: %(expression)s; " +#~ "%(exception)s" #~ msgid "Unable to delete document indexing node; %s" #~ msgstr "Unable to delete document indexing node; %s" @@ -385,11 +384,11 @@ msgstr "" #~ msgstr "documents rename count" #~ msgid "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgstr "" -#~ "A dictionary that maps the index name and where on the filesystem that index" -#~ " will be mirrored." +#~ "A dictionary that maps the index name and where on the filesystem that " +#~ "index will be mirrored." #~ msgid "Index rebuild error: %s" #~ msgstr "Index rebuild error: %s" diff --git a/mayan/apps/document_signatures/locale/ar/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/ar/LC_MESSAGES/django.po index 372cfc4df4..8ccf5bf345 100644 --- a/mayan/apps/document_signatures/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -9,15 +9,17 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:23+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:51 permissions.py:8 settings.py:7 msgid "Document signatures" @@ -28,16 +30,14 @@ msgid "Date" msgstr "Date" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "Key ID" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "لا شيء" @@ -45,64 +45,59 @@ msgstr "لا شيء" msgid "Type" msgstr "" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "" @@ -203,12 +198,10 @@ msgid "Delete detached signatures" msgstr "" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "" @@ -217,63 +210,60 @@ msgid "Verify document signatures" msgstr "Verify document signatures" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "" -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "" -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "" -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "" -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." msgstr "On large databases this operation may take some time to execute." -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "" diff --git a/mayan/apps/document_signatures/locale/bg/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/bg/LC_MESSAGES/django.po index b0a31d6e7a..6f43280888 100644 --- a/mayan/apps/document_signatures/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pavlin Koldamov , 2012 @@ -9,14 +9,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:23+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:51 permissions.py:8 settings.py:7 @@ -28,16 +29,14 @@ msgid "Date" msgstr "Дата" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "Ключ ID" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "Няма" @@ -45,64 +44,59 @@ msgstr "Няма" msgid "Type" msgstr "" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "" @@ -203,12 +197,10 @@ msgid "Delete detached signatures" msgstr "Изтриване на несвързани сигнатури" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "" @@ -217,63 +209,62 @@ msgid "Verify document signatures" msgstr "Проверете сигнатурите на документа" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "" -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "" -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "" -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "" -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." -msgstr "При големи бази данни тази операция може да отнеме известно време за изпълнение." +msgstr "" +"При големи бази данни тази операция може да отнеме известно време за " +"изпълнение." -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "" diff --git a/mayan/apps/document_signatures/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/bs_BA/LC_MESSAGES/django.po index 1b58bda6c4..860bd6b8fc 100644 --- a/mayan/apps/document_signatures/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -9,15 +9,17 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:23+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:51 permissions.py:8 settings.py:7 msgid "Document signatures" @@ -28,16 +30,14 @@ msgid "Date" msgstr "Datum" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "ID ključa" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "Nijedno" @@ -45,64 +45,59 @@ msgstr "Nijedno" msgid "Type" msgstr "" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "" @@ -203,12 +198,10 @@ msgid "Delete detached signatures" msgstr "" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "" @@ -217,63 +210,60 @@ msgid "Verify document signatures" msgstr "Provjeriti potpise dokumenta" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "" -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "" -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "" -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "" -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." msgstr "Na velikim bazama podataka ove operacije mogu potrajati neko vrijeme." -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "" diff --git a/mayan/apps/document_signatures/locale/da/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/da/LC_MESSAGES/django.po index 2bb0e24574..aedc936492 100644 --- a/mayan/apps/document_signatures/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/da/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:23+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:51 permissions.py:8 settings.py:7 @@ -27,16 +28,14 @@ msgid "Date" msgstr "Dato" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "Ingen" @@ -44,64 +43,59 @@ msgstr "Ingen" msgid "Type" msgstr "" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "" @@ -202,12 +196,10 @@ msgid "Delete detached signatures" msgstr "" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "" @@ -216,63 +208,60 @@ msgid "Verify document signatures" msgstr "" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "" -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "" -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "" -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "" -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." msgstr "På store databaser kan denne operation tage lidt tid at udføre." -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "" diff --git a/mayan/apps/document_signatures/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/de_DE/LC_MESSAGES/django.po index 337be4e52f..886ef0edde 100644 --- a/mayan/apps/document_signatures/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Berny , 2015 @@ -13,14 +13,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-05-20 22:09+0000\n" "Last-Translator: Tobias Paepke \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:51 permissions.py:8 settings.py:7 @@ -32,16 +33,14 @@ msgid "Date" msgstr "Datum" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "Schlüssel-ID" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "Unterschrifts-ID" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "Nichts" @@ -49,64 +48,59 @@ msgstr "Nichts" msgid "Type" msgstr "Typ" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "Schlüssel" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "Passphrase" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "Eingebettete Unterschrift?" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "Datum der Unterschrift" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "Unterschrifts-Schlüssel-ID" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "Unterschrifts-Schlüssel vorhanden?" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "Schlüssel-Fingerabdruck" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "Erstellungsdatum des Schlüssels" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "Ablaufdatum des Schlüssels" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "Schlüssellänge" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "Schlüssel-Verfahren" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "Schlüssel-Benutzer-ID" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "Schlüssel-Typ" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "Alle Dokumente überprüfen" @@ -207,12 +201,10 @@ msgid "Delete detached signatures" msgstr "Separate Unterschriften löschen" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "Separate Unterschriften der Dokumente herunterladen" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "Separate Unterschriften der Dokumente hochladen" @@ -221,63 +213,61 @@ msgid "Verify document signatures" msgstr "Dokumentenunterschriften überprüfen" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "Details der Unterschriften des Dokuments" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "Passphrase wird benötigt um den Schlüssel zu entsperren" -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "Passphrase ist ungültig" -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "Dokumentenversion wurde erfolgreich signiert." -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "Dokumentenversion \"%s\" mit seperater Unterschrift signieren" -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "Dokumentenversion \"%s\" mit eingebetteter Unterschrift signieren" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "Separate Unterschrift löschen: %s" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "Details für Signatur: %s" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "Unterschriften für Dokumentenversion: %s" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "Seperate Unterschrift für Dokumentenversion hochladen: %s" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." -msgstr "Bei großen Datenbanken kann dieser Vorgang einige Zeit in Anspruch nehmen." +msgstr "" +"Bei großen Datenbanken kann dieser Vorgang einige Zeit in Anspruch nehmen." -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "Alle Unterschriften der Dokumente überprüfen?" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "Überprüfung der Unterschriften erfolgreich eingereiht." diff --git a/mayan/apps/document_signatures/locale/en/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/en/LC_MESSAGES/django.po index 9905a89654..9b6d276a88 100644 --- a/mayan/apps/document_signatures/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2012-12-12 06:05+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" @@ -32,13 +32,13 @@ msgstr "" msgid "Key ID" msgstr "Key ID: %s" -#: apps.py:98 forms.py:71 models.py:41 +#: apps.py:98 forms.py:64 models.py:41 #, fuzzy #| msgid "Signature ID: %s" msgid "Signature ID" msgstr "Signature ID: %s" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "" @@ -46,63 +46,63 @@ msgstr "" msgid "Type" msgstr "" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "" -#: forms.py:53 +#: forms.py:46 #, fuzzy #| msgid "Signature file" msgid "Signature is embedded?" msgstr "Signature file" -#: forms.py:55 +#: forms.py:48 #, fuzzy #| msgid "Signature file" msgid "Signature date" msgstr "Signature file" -#: forms.py:58 +#: forms.py:51 #, fuzzy #| msgid "Signature ID: %s" msgid "Signature key ID" msgstr "Signature ID: %s" -#: forms.py:60 +#: forms.py:53 #, fuzzy #| msgid "Signature type: %s" msgid "Signature key present?" msgstr "Signature type: %s" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "" @@ -250,61 +250,61 @@ msgstr "Verify document signatures" msgid "View details of document signatures" msgstr "Verify document signatures" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "" -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "" -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 #, fuzzy msgid "Document version signed successfully." msgstr "document version signatures" -#: views.py:129 +#: views.py:117 #, fuzzy, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "document version signature" -#: views.py:240 +#: views.py:218 #, fuzzy, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "document version signature" -#: views.py:267 +#: views.py:245 #, fuzzy, python-format msgid "Delete detached signature: %s" msgstr "Download detached signatures" -#: views.py:292 +#: views.py:270 #, fuzzy, python-format #| msgid "Document signatures" msgid "Details for signature: %s" msgstr "Document signatures" -#: views.py:339 +#: views.py:312 #, fuzzy, python-format msgid "Signatures for document version: %s" msgstr "signature properties for: %s" -#: views.py:375 +#: views.py:343 #, fuzzy, python-format msgid "Upload detached signature for document version: %s" msgstr "Upload detached signature for: %s" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." msgstr "" -#: views.py:393 +#: views.py:361 #, fuzzy #| msgid "Verify document signatures" msgid "Verify all document for signatures?" msgstr "Verify document signatures" -#: views.py:403 +#: views.py:371 #, fuzzy msgid "Signature verification queued successfully." msgstr "Detached signature uploaded successfully." diff --git a/mayan/apps/document_signatures/locale/es/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/es/LC_MESSAGES/django.po index 3cc61a9523..a808d3edb2 100644 --- a/mayan/apps/document_signatures/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 @@ -12,14 +12,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-23 06:48+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:51 permissions.py:8 settings.py:7 @@ -31,16 +32,14 @@ msgid "Date" msgstr "Fecha" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "Identificador de clave" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "ID de firma" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "Ninguno" @@ -48,64 +47,59 @@ msgstr "Ninguno" msgid "Type" msgstr "Tipo" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "Llave" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "Contraseña" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "¿Firma integrada?" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "Fecha de la firma" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "ID de llave de firma" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "¿Llave de la firma presente?" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "Huella de la llave" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "Fecha de creación de la llave" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "Fecha de expiración de la llave" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "Tamaño de la llave" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "Algoritmo de la llave" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "ID de usuario de la llave" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "Tipo de llave" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "Verificar todos los documents" @@ -206,12 +200,10 @@ msgid "Delete detached signatures" msgstr "Borrar firmas separadas" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "Descargar firma aparte de documentos" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "Subir firmas aparte de documentos" @@ -220,63 +212,62 @@ msgid "Verify document signatures" msgstr "Verificar firmas de documentos" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "Ver detalles de firma de documentos" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "Se necesita contraseña para acceder a esta llave." -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "Contraseña incorrecta." -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "Versión de documento firmada con éxito." -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "Firmar versión de documento \"%s\" con una firma aparte " -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "Firmar versión de documento \"%s\" con una firma integrada" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "Borrar firma aparte: %s" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "Detalles para la firma: %s" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "Firmas para la versión de documento: %s" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "Subir firma aparte para la versión de documento: %s" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." -msgstr "En bases de datos de gran tamaño esta operación puede tardar algún tiempo en ejecutarse." +msgstr "" +"En bases de datos de gran tamaño esta operación puede tardar algún tiempo en " +"ejecutarse." -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "¿Verificar todos los documentos para firmas?" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "Verificación de firmas colocada en la cola." diff --git a/mayan/apps/document_signatures/locale/fa/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/fa/LC_MESSAGES/django.po index fc81baf490..425b9c09b4 100644 --- a/mayan/apps/document_signatures/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/fa/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:23+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:51 permissions.py:8 settings.py:7 @@ -27,16 +28,14 @@ msgid "Date" msgstr "تاریخ" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "شناسه کلید" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "هیچ" @@ -44,64 +43,59 @@ msgstr "هیچ" msgid "Type" msgstr "نوع" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "" @@ -202,12 +196,10 @@ msgid "Delete detached signatures" msgstr "حذف امضاهای جدا شده" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "" @@ -216,63 +208,60 @@ msgid "Verify document signatures" msgstr "بررسی امضای سند" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "" -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "" -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "" -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "" -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." msgstr "در پایگاه داده بزرگ این عملیات مدت زیادی بطول خواهد انجامید." -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "" diff --git a/mayan/apps/document_signatures/locale/fr/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/fr/LC_MESSAGES/django.po index f575ff469c..96a64b0e3c 100644 --- a/mayan/apps/document_signatures/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Bruno CAPELETO , 2016 @@ -12,14 +12,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-05-23 19:54+0000\n" "Last-Translator: Bruno CAPELETO \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:51 permissions.py:8 settings.py:7 @@ -31,16 +32,14 @@ msgid "Date" msgstr "Date" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "ID de la clé" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "ID de la signature" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "Aucune" @@ -48,64 +47,59 @@ msgstr "Aucune" msgid "Type" msgstr "Type" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "Clé" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "Phrase secrète" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "La signature est-elle intégrée?" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "Date de la signature" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "Identifiant de la clef de signature" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "Clé de signature présente?" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "Emprunte de la clef" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "Date de création de la clé" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "Date d'expiration de la clé" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "Longueur de la clé" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "Algorithme de la clé" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "Clé de l'ID utilisateur" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "Type de clé" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "Vérifier tous les documents" @@ -206,12 +200,10 @@ msgid "Delete detached signatures" msgstr "Suppression des signatures détachées" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "Télécharger les signatures externes du document" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "Transmettre les signatures externes du document" @@ -220,63 +212,62 @@ msgid "Verify document signatures" msgstr "Vérifier les signatures du document" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "Voir le détails des signatures du document" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "Une phrase secrète est nécessaire pour déverrouiller cette clé" -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "Phrase secrète incorrecte" -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "Signature de la version du document réussie." -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "Signer la version \"%s\" du document avec une signature externe" -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "Signer la version \"%s\" du document avec une signature intégrée" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "Supprimer la signature détachée: %s" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "Détails de la signature: %s" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "Signatures pour cette version du document: %s" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "Transférer une signature détachée pour la version du document: %s" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." -msgstr "Sur de grosses bases de données, cette opération peut prendre un certain temps." +msgstr "" +"Sur de grosses bases de données, cette opération peut prendre un certain " +"temps." -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "Vérifier la signature des documents?" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "Vérification de la signature ajoutée à la file d'attente" diff --git a/mayan/apps/document_signatures/locale/hu/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/hu/LC_MESSAGES/django.po index 0180d893cc..c2050f4c2b 100644 --- a/mayan/apps/document_signatures/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/hu/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:23+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:51 permissions.py:8 settings.py:7 @@ -27,16 +28,14 @@ msgid "Date" msgstr "" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "Semmi" @@ -44,64 +43,59 @@ msgstr "Semmi" msgid "Type" msgstr "" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "" @@ -202,12 +196,10 @@ msgid "Delete detached signatures" msgstr "" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "" @@ -216,63 +208,60 @@ msgid "Verify document signatures" msgstr "" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "" -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "" -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "" -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "" -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." msgstr "A nagy adatbázisok esetében a művelet sokáig is tarthat." -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "" diff --git a/mayan/apps/document_signatures/locale/id/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/id/LC_MESSAGES/django.po index d5e39cb143..cd9e5159e2 100644 --- a/mayan/apps/document_signatures/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/id/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:23+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:51 permissions.py:8 settings.py:7 @@ -27,16 +28,14 @@ msgid "Date" msgstr "" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "" @@ -44,64 +43,59 @@ msgstr "" msgid "Type" msgstr "" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "" @@ -202,12 +196,10 @@ msgid "Delete detached signatures" msgstr "" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "" @@ -216,63 +208,62 @@ msgid "Verify document signatures" msgstr "" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "" -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "" -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "" -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "" -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." -msgstr "Pada database yang besar pekerjaan berikut mungkin akan membutuhkan waktu untuk dilaksanakan." +msgstr "" +"Pada database yang besar pekerjaan berikut mungkin akan membutuhkan waktu " +"untuk dilaksanakan." -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "" diff --git a/mayan/apps/document_signatures/locale/it/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/it/LC_MESSAGES/django.po index c7f2f178eb..285314577b 100644 --- a/mayan/apps/document_signatures/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Carlo Zanatto <>, 2012 @@ -11,14 +11,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-09-24 13:19+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:51 permissions.py:8 settings.py:7 @@ -30,16 +31,14 @@ msgid "Date" msgstr "Data" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "ID Chiave" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "ID Firma" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "Nessuno" @@ -47,64 +46,59 @@ msgstr "Nessuno" msgid "Type" msgstr "Tipo" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "Chiave" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "Passphrase" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "La firma è integrata?" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "Data firma" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "ID chiave di firma" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "La chiave di firma è presente?" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "Impronta della chiave" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "Data di creazione chiave" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "Data scadenza chiave" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "Lunghezza chiave" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "Algoritmo chiave" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "ID chiave utente" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "Tipo chiave" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "Verifica tutti i documenti" @@ -205,12 +199,10 @@ msgid "Delete detached signatures" msgstr "Elimina firme allegate" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "Scarica firme scollegate documenti" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "Carica firme scollegate documenti" @@ -219,63 +211,62 @@ msgid "Verify document signatures" msgstr "Verifica la firma del documento" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "Vedi dettagli delle firme documento" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "è richiesta la passphrase per sbloccare questa chiave." -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "La passphrase non è corretta." -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "La versione del documento è stata firmata con successo." -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "Firma la versione del documento \"%s\" con firma allegata" -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "Firma la versione del documento \"%s\" con la firma integrata" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "Cancella la firma allegata: %s" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "Dettagli per la firma: %s" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "Firme per la versione del documento: %s" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "Carica la firma scollegata per la versione documento: %s" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." -msgstr "Per un database di grosse dimensioni l'operazione protrebbe aver bisogno di tempo." +msgstr "" +"Per un database di grosse dimensioni l'operazione protrebbe aver bisogno di " +"tempo." -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "Verificare le firme per tutti i documenti?" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "Verifica firme messo in coda con successo." diff --git a/mayan/apps/document_signatures/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/nl_NL/LC_MESSAGES/django.po index 066f1c5c20..87bfaa9013 100644 --- a/mayan/apps/document_signatures/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -9,14 +9,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-09 16:39+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:51 permissions.py:8 settings.py:7 @@ -28,16 +29,14 @@ msgid "Date" msgstr "Datum" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "Sleutel-ID" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "Handtekening-ID" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "Geen" @@ -45,64 +44,59 @@ msgstr "Geen" msgid "Type" msgstr "Type" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "Sleutel" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "Datum van handtekening" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "Handtekening sleutel-ID" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "Sleutelverloopdatu" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "Sleutellengte" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "Sleutelsoort" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "Verifieer alle documenten" @@ -203,12 +197,10 @@ msgid "Delete detached signatures" msgstr "" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "" @@ -217,63 +209,60 @@ msgid "Verify document signatures" msgstr "" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "" -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "" -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "" -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "" -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." msgstr "Voor een grote database kan deze operatie lang duren." -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "" diff --git a/mayan/apps/document_signatures/locale/pl/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/pl/LC_MESSAGES/django.po index d6762f34f8..9d91b7c39a 100644 --- a/mayan/apps/document_signatures/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # mic , 2012 @@ -9,15 +9,17 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:23+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" #: apps.py:51 permissions.py:8 settings.py:7 msgid "Document signatures" @@ -28,16 +30,14 @@ msgid "Date" msgstr "Data" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "Key ID" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "Brak" @@ -45,64 +45,59 @@ msgstr "Brak" msgid "Type" msgstr "Typ" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "" @@ -203,12 +198,10 @@ msgid "Delete detached signatures" msgstr "" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "" @@ -217,63 +210,60 @@ msgid "Verify document signatures" msgstr "Verify document signatures" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "" -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "" -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "" -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "" -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." msgstr "Na dużych bazach danych operacja może chwilę potrwać." -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "" diff --git a/mayan/apps/document_signatures/locale/pt/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/pt/LC_MESSAGES/django.po index 60ae06c37e..a6808e84e1 100644 --- a/mayan/apps/document_signatures/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Vítor Figueiró , 2012 @@ -9,14 +9,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:23+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:51 permissions.py:8 settings.py:7 @@ -28,16 +29,14 @@ msgid "Date" msgstr "Data" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "ID da chave" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "Nenhum" @@ -45,64 +44,59 @@ msgstr "Nenhum" msgid "Type" msgstr "" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "" @@ -203,12 +197,10 @@ msgid "Delete detached signatures" msgstr "" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "" @@ -217,63 +209,60 @@ msgid "Verify document signatures" msgstr "Verificar as assinaturas do documento" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "" -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "" -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "" -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "" -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." msgstr "Esta operação pode levar algum tempo em bases de dados grandes." -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "" diff --git a/mayan/apps/document_signatures/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/pt_BR/LC_MESSAGES/django.po index c0e3f7f3b5..35c0667089 100644 --- a/mayan/apps/document_signatures/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -10,14 +10,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-17 22:53+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:51 permissions.py:8 settings.py:7 @@ -29,16 +30,14 @@ msgid "Date" msgstr "Data" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "ID da chave" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "ID da assinatura" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "Nenhum" @@ -46,64 +45,59 @@ msgstr "Nenhum" msgid "Type" msgstr "Tipo" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "Chave" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "Senha" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "Assinatura integrada?" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "Data da assinatura" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "ID da chave da assinatura" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "Chave da assinatura presente?" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "Impressão digital da chave" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "Data de criação da chave" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "Data de expiração da chave" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "Tamanho da chave" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "Algoritmo da chave" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "ID de usuário da chave" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "Tipo de chave" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "Verificar todos os documentos" @@ -204,12 +198,10 @@ msgid "Delete detached signatures" msgstr "Excluir assinaturas desanexados" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "Baixar assinatura destacada de documentos" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "Carregar assinaturas destacadas de documentos" @@ -218,63 +210,61 @@ msgid "Verify document signatures" msgstr "Verificar as assinaturas de documentos" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "Ver detalhes da assinatura de documentos" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "É preciso senha para acessar a chave." -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "Senha incorreta." -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "A versão do documento foi assinada com sucesso." -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "Assinar a versão do documento \"%s\" com uma assinatura destacada" -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "Assinar uma versão do documento \"%s\" com uma assinatura integrada" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "Excluir assinatura destacada: %s" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "Detalhes para a assinatura: %s" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "Assinaturas para a versão do documento: %s" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "Carregar a assinatura destacada para a versão do documento: %s" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." -msgstr "Em grandes bases de dados esta operação pode levar algum tempo para executar." +msgstr "" +"Em grandes bases de dados esta operação pode levar algum tempo para executar." -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "Verificar todos os documentos para assinaturas?" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "Verificação de assinaturas colocada em fila." diff --git a/mayan/apps/document_signatures/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/ro_RO/LC_MESSAGES/django.po index b02cd1679c..968e447f5d 100644 --- a/mayan/apps/document_signatures/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Badea Gabriel , 2013 @@ -9,15 +9,17 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:23+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" #: apps.py:51 permissions.py:8 settings.py:7 msgid "Document signatures" @@ -28,16 +30,14 @@ msgid "Date" msgstr "Data" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "ID cheie" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "Nici unul" @@ -45,64 +45,59 @@ msgstr "Nici unul" msgid "Type" msgstr "Tip" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "" @@ -203,12 +198,10 @@ msgid "Delete detached signatures" msgstr "" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "" @@ -217,63 +210,61 @@ msgid "Verify document signatures" msgstr "Verifica semnăturile de documente" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "" -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "" -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "" -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "" -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." -msgstr "Pe baze de date mari, această operație poate dura ceva timp pentru a executa." +msgstr "" +"Pe baze de date mari, această operație poate dura ceva timp pentru a executa." -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "" diff --git a/mayan/apps/document_signatures/locale/ru/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/ru/LC_MESSAGES/django.po index 5a32610ce7..26eb600643 100644 --- a/mayan/apps/document_signatures/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -10,15 +10,18 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-07-19 20:01+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:51 permissions.py:8 settings.py:7 msgid "Document signatures" @@ -29,16 +32,14 @@ msgid "Date" msgstr "Дата" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "ID ключа" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "ID подписи" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "Ни один" @@ -46,64 +47,59 @@ msgstr "Ни один" msgid "Type" msgstr "Тип" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "Ключ" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "Кодовая фраза" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "Подпись встроена?" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "Дата подписи" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "ID ключа подписи" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "Ключ подписи предоставлен?" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "Отпечаток ключа" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "Дата создания ключа" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "Дата устаревания ключа" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "Длина ключа" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "Алгоритм ключа" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "ID пользователя ключа" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "Тип ключа" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "Проверить все документы" @@ -204,12 +200,10 @@ msgid "Delete detached signatures" msgstr "Удаление отделенных подписей" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "Скачать отделенные подписи документов" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "Вгрузить отделенные подписи документов" @@ -218,63 +212,62 @@ msgid "Verify document signatures" msgstr "Проверить подпись документа" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "Посмотреть подробности подписей документов" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "Для разблокироваки этого ключа необходима кодовая фраза" -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "Кодовая фраза неверна." -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "Версия документа успешно подписана." -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "Подписать версию документа \"%s\" отделённой подписью" -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "Подписать версию документа \"%s\" встроенной подписью" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "Удалить отделённую подпись: %s" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "Подробности для подписи: %s" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "Подписи для документа версии: %s" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "Выгрузить отделённую подпись для версии документа: %s" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." -msgstr "В больших базах данных эта операция может занять некоторое время для выполнения." +msgstr "" +"В больших базах данных эта операция может занять некоторое время для " +"выполнения." -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "Проверить подписи во всех документах?" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "Верификация сигнатуры добавлена в очередь." diff --git a/mayan/apps/document_signatures/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/sl_SI/LC_MESSAGES/django.po index 50e13a83cc..9d53cfab60 100644 --- a/mayan/apps/document_signatures/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/sl_SI/LC_MESSAGES/django.po @@ -1,22 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:23+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" #: apps.py:51 permissions.py:8 settings.py:7 msgid "Document signatures" @@ -27,16 +29,14 @@ msgid "Date" msgstr "" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "Brez" @@ -44,64 +44,59 @@ msgstr "Brez" msgid "Type" msgstr "" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "" @@ -202,12 +197,10 @@ msgid "Delete detached signatures" msgstr "" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "" @@ -216,63 +209,60 @@ msgid "Verify document signatures" msgstr "" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "" -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "" -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "" -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "" -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." msgstr "Če je baza velika lahko operacija zahteva nekaj več časa da se izvrši." -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "" diff --git a/mayan/apps/document_signatures/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/vi_VN/LC_MESSAGES/django.po index 2a771651f4..e57e050998 100644 --- a/mayan/apps/document_signatures/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Trung Phan Minh , 2013 @@ -9,14 +9,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:23+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:51 permissions.py:8 settings.py:7 @@ -28,16 +29,14 @@ msgid "Date" msgstr "Ngày" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "Key ID" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "None" @@ -45,64 +44,59 @@ msgstr "None" msgid "Type" msgstr "" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "" @@ -203,12 +197,10 @@ msgid "Delete detached signatures" msgstr "" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "" @@ -217,63 +209,60 @@ msgid "Verify document signatures" msgstr "xác nhận chữ kí tài liệu" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "" -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "" -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "" -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "" -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." msgstr "" -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "" diff --git a/mayan/apps/document_signatures/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/document_signatures/locale/zh_CN/LC_MESSAGES/django.po index 4cd853a3a0..8e2a7d980e 100644 --- a/mayan/apps/document_signatures/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/document_signatures/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -9,14 +9,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-27 18:23+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:51 permissions.py:8 settings.py:7 @@ -28,16 +29,14 @@ msgid "Date" msgstr "日期" #: apps.py:94 models.py:37 -#| msgid "Key ID: %s" msgid "Key ID" msgstr "密钥ID" -#: apps.py:98 forms.py:71 models.py:41 -#| msgid "Signature ID: %s" +#: apps.py:98 forms.py:64 models.py:41 msgid "Signature ID" msgstr "" -#: apps.py:99 forms.py:83 +#: apps.py:99 forms.py:76 msgid "None" msgstr "无" @@ -45,64 +44,59 @@ msgstr "无" msgid "Type" msgstr "" -#: forms.py:23 +#: forms.py:21 msgid "Key" msgstr "" -#: forms.py:27 +#: forms.py:25 msgid "Passphrase" msgstr "" -#: forms.py:53 -#| msgid "Signature file" +#: forms.py:46 msgid "Signature is embedded?" msgstr "" -#: forms.py:55 -#| msgid "Signature file" +#: forms.py:48 msgid "Signature date" msgstr "" -#: forms.py:58 -#| msgid "Signature ID: %s" +#: forms.py:51 msgid "Signature key ID" msgstr "" -#: forms.py:60 -#| msgid "Signature type: %s" +#: forms.py:53 msgid "Signature key present?" msgstr "" -#: forms.py:73 +#: forms.py:66 msgid "Key fingerprint" msgstr "" -#: forms.py:77 +#: forms.py:70 msgid "Key creation date" msgstr "" -#: forms.py:82 +#: forms.py:75 msgid "Key expiration date" msgstr "" -#: forms.py:87 +#: forms.py:80 msgid "Key length" msgstr "" -#: forms.py:91 +#: forms.py:84 msgid "Key algorithm" msgstr "" -#: forms.py:95 +#: forms.py:88 msgid "Key user ID" msgstr "" -#: forms.py:99 +#: forms.py:92 msgid "Key type" msgstr "" #: links.py:32 -#| msgid "Verify document signatures" msgid "Verify all documents" msgstr "" @@ -203,12 +197,10 @@ msgid "Delete detached signatures" msgstr "删除分离的签名" #: permissions.py:25 -#| msgid "Download detached signatures" msgid "Download detached document signatures" msgstr "" #: permissions.py:29 -#| msgid "Upload detached signatures" msgid "Upload detached document signatures" msgstr "" @@ -217,63 +209,60 @@ msgid "Verify document signatures" msgstr "核对文档签名" #: permissions.py:37 -#| msgid "Verify document signatures" msgid "View details of document signatures" msgstr "" -#: views.py:67 views.py:172 +#: views.py:60 views.py:155 msgid "Passphrase is needed to unlock this key." msgstr "" -#: views.py:77 views.py:182 +#: views.py:70 views.py:165 msgid "Passphrase is incorrect." msgstr "" -#: views.py:98 views.py:202 +#: views.py:91 views.py:185 msgid "Document version signed successfully." msgstr "" -#: views.py:129 +#: views.py:117 #, python-format msgid "Sign document version \"%s\" with a detached signature" msgstr "" -#: views.py:240 +#: views.py:218 #, python-format msgid "Sign document version \"%s\" with a embedded signature" msgstr "" -#: views.py:267 +#: views.py:245 #, python-format msgid "Delete detached signature: %s" msgstr "" -#: views.py:292 +#: views.py:270 #, python-format -#| msgid "Document signatures" msgid "Details for signature: %s" msgstr "" -#: views.py:339 +#: views.py:312 #, python-format msgid "Signatures for document version: %s" msgstr "" -#: views.py:375 +#: views.py:343 #, python-format msgid "Upload detached signature for document version: %s" msgstr "" -#: views.py:392 +#: views.py:360 msgid "On large databases this operation may take some time to execute." msgstr "在大数据库中,此操作将比较耗时。" -#: views.py:393 -#| msgid "Verify document signatures" +#: views.py:361 msgid "Verify all document for signatures?" msgstr "" -#: views.py:403 +#: views.py:371 msgid "Signature verification queued successfully." msgstr "" diff --git a/mayan/apps/document_states/locale/ar/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/ar/LC_MESSAGES/django.po index 5af554bcea..a79a7102e6 100644 --- a/mayan/apps/document_states/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/ar/LC_MESSAGES/django.po @@ -1,75 +1,77 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "لا شيء" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "مستخدم" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "تعليق" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "" @@ -81,7 +83,7 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "" @@ -93,7 +95,7 @@ msgstr "تحرير" msgid "Create state" msgstr "" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "" @@ -105,74 +107,106 @@ msgstr "" msgid "Transitions" msgstr "" -#: links.py:75 +#: links.py:77 +msgid "Launch all workflows" +msgstr "" + +#: links.py:81 msgid "Detail" msgstr "" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +msgid "Workflow documents" +msgstr "" + +#: links.py:99 +msgid "State documents" +msgstr "" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." msgstr "" -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." msgstr "" -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +msgid "Workflow runtime proxy" +msgstr "" + +#: models.py:256 +msgid "Workflow runtime proxies" +msgstr "" + +#: models.py:262 +msgid "Workflow state runtime proxy" +msgstr "" + +#: models.py:263 +msgid "Workflow state runtime proxies" +msgstr "" + #: permissions.py:7 msgid "Document workflows" msgstr "" @@ -193,67 +227,122 @@ msgstr "" msgid "View workflows" msgstr "" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "" -#: views.py:57 +#: permissions.py:28 +msgid "Execute workflow tools" +msgstr "" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "ارسال" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "" + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "" + +#: views.py:482 +#, python-format +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "" + +#: views.py:517 +msgid "Launch all workflows?" +msgstr "" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/bg/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/bg/LC_MESSAGES/django.po index 1bb7f2623d..776861dfb5 100644 --- a/mayan/apps/document_states/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/bg/LC_MESSAGES/django.po @@ -1,75 +1,76 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "Няма" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "Потребител" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "Коментар" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "" @@ -81,7 +82,7 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "" @@ -93,7 +94,7 @@ msgstr "Редактиране" msgid "Create state" msgstr "" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "" @@ -105,74 +106,106 @@ msgstr "" msgid "Transitions" msgstr "" -#: links.py:75 +#: links.py:77 +msgid "Launch all workflows" +msgstr "" + +#: links.py:81 msgid "Detail" msgstr "" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +msgid "Workflow documents" +msgstr "" + +#: links.py:99 +msgid "State documents" +msgstr "" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." msgstr "" -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." msgstr "" -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +msgid "Workflow runtime proxy" +msgstr "" + +#: models.py:256 +msgid "Workflow runtime proxies" +msgstr "" + +#: models.py:262 +msgid "Workflow state runtime proxy" +msgstr "" + +#: models.py:263 +msgid "Workflow state runtime proxies" +msgstr "" + #: permissions.py:7 msgid "Document workflows" msgstr "" @@ -193,67 +226,122 @@ msgstr "" msgid "View workflows" msgstr "" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "" -#: views.py:57 +#: permissions.py:28 +msgid "Execute workflow tools" +msgstr "" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "Подаване" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "" + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "" + +#: views.py:482 +#, python-format +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "" + +#: views.py:517 +msgid "Launch all workflows?" +msgstr "" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/bs_BA/LC_MESSAGES/django.po index ea9fc3d137..7b8f8354ec 100644 --- a/mayan/apps/document_states/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/bs_BA/LC_MESSAGES/django.po @@ -1,75 +1,77 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "Nijedno" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "Korisnik" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "Komentar" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "" @@ -81,7 +83,7 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "" @@ -93,7 +95,7 @@ msgstr "Urediti" msgid "Create state" msgstr "" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "" @@ -105,74 +107,106 @@ msgstr "" msgid "Transitions" msgstr "" -#: links.py:75 +#: links.py:77 +msgid "Launch all workflows" +msgstr "" + +#: links.py:81 msgid "Detail" msgstr "" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +msgid "Workflow documents" +msgstr "" + +#: links.py:99 +msgid "State documents" +msgstr "" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." msgstr "" -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." msgstr "" -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +msgid "Workflow runtime proxy" +msgstr "" + +#: models.py:256 +msgid "Workflow runtime proxies" +msgstr "" + +#: models.py:262 +msgid "Workflow state runtime proxy" +msgstr "" + +#: models.py:263 +msgid "Workflow state runtime proxies" +msgstr "" + #: permissions.py:7 msgid "Document workflows" msgstr "" @@ -193,67 +227,122 @@ msgstr "" msgid "View workflows" msgstr "" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "" -#: views.py:57 +#: permissions.py:28 +msgid "Execute workflow tools" +msgstr "" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "Podnijeti" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "" + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "" + +#: views.py:482 +#, python-format +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "" + +#: views.py:517 +msgid "Launch all workflows?" +msgstr "" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/da/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/da/LC_MESSAGES/django.po index 02bc28043d..848ec66a5d 100644 --- a/mayan/apps/document_states/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/da/LC_MESSAGES/django.po @@ -1,75 +1,76 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "Ingen" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "Bruger" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "Kommentar" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "" @@ -81,7 +82,7 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "" @@ -93,7 +94,7 @@ msgstr "" msgid "Create state" msgstr "" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "" @@ -105,74 +106,106 @@ msgstr "" msgid "Transitions" msgstr "" -#: links.py:75 +#: links.py:77 +msgid "Launch all workflows" +msgstr "" + +#: links.py:81 msgid "Detail" msgstr "" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +msgid "Workflow documents" +msgstr "" + +#: links.py:99 +msgid "State documents" +msgstr "" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." msgstr "" -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." msgstr "" -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +msgid "Workflow runtime proxy" +msgstr "" + +#: models.py:256 +msgid "Workflow runtime proxies" +msgstr "" + +#: models.py:262 +msgid "Workflow state runtime proxy" +msgstr "" + +#: models.py:263 +msgid "Workflow state runtime proxies" +msgstr "" + #: permissions.py:7 msgid "Document workflows" msgstr "" @@ -193,67 +226,122 @@ msgstr "" msgid "View workflows" msgstr "" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "" -#: views.py:57 +#: permissions.py:28 +msgid "Execute workflow tools" +msgstr "" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "" + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "" + +#: views.py:482 +#, python-format +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "" + +#: views.py:517 +msgid "Launch all workflows?" +msgstr "" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/de_DE/LC_MESSAGES/django.po index 1bae99f4e6..84ee63096e 100644 --- a/mayan/apps/document_states/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/de_DE/LC_MESSAGES/django.po @@ -1,76 +1,77 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Berny , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "Status" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "Initialstatus" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "Keiner" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "Aktueller Status" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "Benutzer" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "Letzter Übergang" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "Datum und Zeit" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "Fertigstellung" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "Übergang" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "Kommentar" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "Initialstatus" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "Herkunftsstatus" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "Zielstatus" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "Workflows" @@ -82,7 +83,7 @@ msgstr "Workflow erstellen" msgid "Delete" msgstr "Löschen" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "Dokumententypen" @@ -94,7 +95,7 @@ msgstr "Bearbeiten" msgid "Create state" msgstr "Status erstellen" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "Status" @@ -106,74 +107,124 @@ msgstr "Übergang erstellen" msgid "Transitions" msgstr "Übergänge" -#: links.py:75 +#: links.py:77 +#, fuzzy +#| msgid "Document workflows" +msgid "Launch all workflows" +msgstr "Dokumentenworkflows" + +#: links.py:81 msgid "Detail" msgstr "Detail" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +#, fuzzy +#| msgid "Workflows for document: %s" +msgid "Workflow documents" +msgstr "Workflows für Dokument: %s" + +#: links.py:99 +#, fuzzy +#| msgid "Available document types" +msgid "State documents" +msgstr "Verfügbare Dokumententypen" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "Bezeichnung" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "Workflow" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." -msgstr "Diesen Status markieren, wenn der Workflow damit starten soll. Nur ein Status kann initial sein." +msgstr "" +"Diesen Status markieren, wenn der Workflow damit starten soll. Nur ein " +"Status kann initial sein." -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "Initial" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." -msgstr "Ermöglicht den Eintrag einer Zahl (ohne Prozentzeichen), die den Stand der Fertigstellung in Bezug auf den Workflow angibt." +msgstr "" +"Ermöglicht den Eintrag einer Zahl (ohne Prozentzeichen), die den Stand der " +"Fertigstellung in Bezug auf den Workflow angibt." -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "Workflow Status" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "Workflow Status" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "Workflow Übergang" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "Workflow Übergänge" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "Dokument" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "Workflow" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "Workflows" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "Zeit" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "Workflow Logeintrag" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "Workflow Logeinträge" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +#, fuzzy +#| msgid "Workflow transition" +msgid "Workflow runtime proxy" +msgstr "Workflow Übergang" + +#: models.py:256 +#, fuzzy +#| msgid "Workflow transitions" +msgid "Workflow runtime proxies" +msgstr "Workflow Übergänge" + +#: models.py:262 +#, fuzzy +#| msgid "Workflow state" +msgid "Workflow state runtime proxy" +msgstr "Workflow Status" + +#: models.py:263 +#, fuzzy +#| msgid "Workflow instance log entries" +msgid "Workflow state runtime proxies" +msgstr "Workflow Logeinträge" + #: permissions.py:7 msgid "Document workflows" msgstr "Dokumentenworkflows" @@ -194,67 +245,127 @@ msgstr "Workflows bearbeiten" msgid "View workflows" msgstr "Workflows anzeigen" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "Workflowübergänge durchführen" -#: views.py:57 +#: permissions.py:28 +#, fuzzy +#| msgid "Create workflows" +msgid "Execute workflow tools" +msgstr "Workflows erstellen" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "Workflows für Dokument: %s" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "Dokumente mit Workflow %s" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "Detail für Workflow: %(workflow)s" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "Absenden" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "Übergang für Workflow %s durchführen" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "Verfügbare Dokumententypen" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "Dokumententypen zugeordnet zu diesem Workflow" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "Dokumententypen zugeordnet zu Workflow %s" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "Status für Workflow %s" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "Status für Workflow %s erstellen" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "Übergänge für Workflow %s" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "Übergänge für Workflow %s erstellen" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "Integritätsfehler beim Speichern des Übergangs" + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "Dokumente mit Workflow %s" + +#: views.py:482 +#, fuzzy, python-format +#| msgid "Documents with the workflow: %s" +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "Dokumente mit Workflow %s" + +#: views.py:517 +#, fuzzy +#| msgid "Document workflows" +msgid "Launch all workflows?" +msgstr "Dokumentenworkflows" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/en/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/en/LC_MESSAGES/django.po index aa92837534..de1e8be63e 100644 --- a/mayan/apps/document_states/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,59 +17,59 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "" @@ -81,7 +81,7 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "" @@ -93,7 +93,7 @@ msgstr "" msgid "Create state" msgstr "" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "" @@ -105,74 +105,106 @@ msgstr "" msgid "Transitions" msgstr "" -#: links.py:75 +#: links.py:77 +msgid "Launch all workflows" +msgstr "" + +#: links.py:81 msgid "Detail" msgstr "" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +msgid "Workflow documents" +msgstr "" + +#: links.py:99 +msgid "State documents" +msgstr "" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." msgstr "" -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." msgstr "" -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +msgid "Workflow runtime proxy" +msgstr "" + +#: models.py:256 +msgid "Workflow runtime proxies" +msgstr "" + +#: models.py:262 +msgid "Workflow state runtime proxy" +msgstr "" + +#: models.py:263 +msgid "Workflow state runtime proxies" +msgstr "" + #: permissions.py:7 msgid "Document workflows" msgstr "" @@ -193,67 +225,122 @@ msgstr "" msgid "View workflows" msgstr "" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "" -#: views.py:57 +#: permissions.py:28 +msgid "Execute workflow tools" +msgstr "" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "" + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "" + +#: views.py:482 +#, python-format +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "" + +#: views.py:517 +msgid "Launch all workflows?" +msgstr "" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/es/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/es/LC_MESSAGES/django.po index 5106c2cc87..8e2aceffbc 100644 --- a/mayan/apps/document_states/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Roberto Rosario, 2015 # Roberto Rosario, 2016 @@ -9,69 +9,70 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-05-09 01:51+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "Estados de documentos" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "Estado inicial" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "Ninguno" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "Estado actual" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "Usuario" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "Última transición" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "Fecha y hora" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "Cantidad de completación" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "Transición" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "Comentario" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "¿Es el estado inicial?" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "Estado origen" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "Estado destino" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "Flujos de trabajo" @@ -83,7 +84,7 @@ msgstr "Crear flujo de trabajo" msgid "Delete" msgstr "Borrar" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "Tipos de documentos" @@ -95,7 +96,7 @@ msgstr "Editar" msgid "Create state" msgstr "Crear estado" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "Estados" @@ -107,74 +108,124 @@ msgstr "Crear transición" msgid "Transitions" msgstr "Transiciones" -#: links.py:75 +#: links.py:77 +#, fuzzy +#| msgid "Document workflows" +msgid "Launch all workflows" +msgstr "Flujos de trabajo de document" + +#: links.py:81 msgid "Detail" msgstr "Detalle" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +#, fuzzy +#| msgid "Workflows for document: %s" +msgid "Workflow documents" +msgstr "Flujos de trabajo para el documento: %s" + +#: links.py:99 +#, fuzzy +#| msgid "Available document types" +msgid "State documents" +msgstr "Tipos de documentos disponibles" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "Etiqueta" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "Flujo de trabajo" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." -msgstr "Seleccione si este va a ser el estado con el que desea que el flujo de trabajo comience. Sólo un estado puede ser el estado inicial." +msgstr "" +"Seleccione si este va a ser el estado con el que desea que el flujo de " +"trabajo comience. Sólo un estado puede ser el estado inicial." -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "Inicial" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." -msgstr "Introduzca el porcentaje de finalización que este estado representa en relación con el flujo de trabajo. Utilice números sin el signo de porcentaje." +msgstr "" +"Introduzca el porcentaje de finalización que este estado representa en " +"relación con el flujo de trabajo. Utilice números sin el signo de porcentaje." -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "Estado de flujo de trabajo" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "Estados de flujo de trabajo" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "Transición de flujo de trabajo" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "Transiciones de flujo de trabajo" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "Documento" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "Instancia de flujo de trabajo" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "Instancias de flujo de trabajo" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "Fecha y hora" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "Entrada de registro de la instancia de flujo de trabajo" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "Entradas de registro de las instancias de flujos de trabajo" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +#, fuzzy +#| msgid "Workflow transition" +msgid "Workflow runtime proxy" +msgstr "Transición de flujo de trabajo" + +#: models.py:256 +#, fuzzy +#| msgid "Workflow transitions" +msgid "Workflow runtime proxies" +msgstr "Transiciones de flujo de trabajo" + +#: models.py:262 +#, fuzzy +#| msgid "Workflow state" +msgid "Workflow state runtime proxy" +msgstr "Estado de flujo de trabajo" + +#: models.py:263 +#, fuzzy +#| msgid "Workflow instance log entries" +msgid "Workflow state runtime proxies" +msgstr "Entradas de registro de las instancias de flujos de trabajo" + #: permissions.py:7 msgid "Document workflows" msgstr "Flujos de trabajo de document" @@ -195,67 +246,127 @@ msgstr "Editar flujos de trabajo" msgid "View workflows" msgstr "Ver flujos de trabajo" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "Realizar transiciones" -#: views.py:57 +#: permissions.py:28 +#, fuzzy +#| msgid "Create workflows" +msgid "Execute workflow tools" +msgstr "Crear flujos de trabajo" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "Flujos de trabajo para el documento: %s" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "Documentos con el flujo de trabajo: %s" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "Detalle de flujo de trabajo: %(workflow)s" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "Enviar" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "Realizar la transición de flujo de trabajo: %s" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "Tipos de documentos disponibles" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "Tipos de documentos asignados a este flujo de trabajo" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "Tipos de documentos asignados al flujo de trabajo: %s" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "Estados del flujo de trabajo: %s" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "Crear estados para el flujo de trabajo: %s" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "Transiciones de flujo de trabajo: %s" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "Crear transiciones para el flujo de trabajo: %s" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "No se puede guardar la transición; error de integridad." + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "Documentos con el flujo de trabajo: %s" + +#: views.py:482 +#, fuzzy, python-format +#| msgid "Documents with the workflow: %s" +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "Documentos con el flujo de trabajo: %s" + +#: views.py:517 +#, fuzzy +#| msgid "Document workflows" +msgid "Launch all workflows?" +msgstr "Flujos de trabajo de document" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/fa/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/fa/LC_MESSAGES/django.po index 51265ea7fc..d1a95ff745 100644 --- a/mayan/apps/document_states/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/fa/LC_MESSAGES/django.po @@ -1,76 +1,77 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Mehdi Amani , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "وضعیت اولیه" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "هیچ" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "وضعیت فعلی" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "کاربر" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "آخرین تغییر وضعیت" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "تاریخ و زمان" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "تغییر وضعیت" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "شرح" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "آیا در وضعیت اولیه است؟" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "وضعیت شروع" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "وضعیت نهایی" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "گردشکار" @@ -82,7 +83,7 @@ msgstr "" msgid "Delete" msgstr "حذف" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "انواع سند" @@ -94,7 +95,7 @@ msgstr "ویرایش" msgid "Create state" msgstr "وضغیت ایجاد" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "وضعیت ها" @@ -106,74 +107,122 @@ msgstr "تغییر وضعیت به ایجاد" msgid "Transitions" msgstr "تغییر وضعیت ها" -#: links.py:75 +#: links.py:77 +#, fuzzy +#| msgid "Create workflows" +msgid "Launch all workflows" +msgstr "ایجاد گردشکار" + +#: links.py:81 msgid "Detail" msgstr "شرح" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +#, fuzzy +#| msgid "Workflows for document: %s" +msgid "Workflow documents" +msgstr "گردشکارهای سند : %s" + +#: links.py:99 +#, fuzzy +#| msgid "Document" +msgid "State documents" +msgstr "سند" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "برچسب" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "گردشکار" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." -msgstr "در صورتیکه این وضعیت شروع گردشکار باشد این وضعیت را انتخاب کنید. وضعیت فقط میتواند وضعیت اولیه باشد." +msgstr "" +"در صورتیکه این وضعیت شروع گردشکار باشد این وضعیت را انتخاب کنید. وضعیت فقط " +"میتواند وضعیت اولیه باشد." -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "اولیه" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." msgstr "" -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "وضعیت گردشکار" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "وضعیتهای گردشکار" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "تغییر وضعیت گردشکار" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "تغییر وضعیت های گردشکار" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "سند" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "موردی از گردشکار" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "موردهای گردشکار" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "تاریخ زمان" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "ورودیه لاگ برای مورد گردشکار" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "ورودیهای مورد گردشکار" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +#, fuzzy +#| msgid "Workflow transition" +msgid "Workflow runtime proxy" +msgstr "تغییر وضعیت گردشکار" + +#: models.py:256 +#, fuzzy +#| msgid "Workflow transitions" +msgid "Workflow runtime proxies" +msgstr "تغییر وضعیت های گردشکار" + +#: models.py:262 +#, fuzzy +#| msgid "Workflow state" +msgid "Workflow state runtime proxy" +msgstr "وضعیت گردشکار" + +#: models.py:263 +#, fuzzy +#| msgid "Workflow instance log entries" +msgid "Workflow state runtime proxies" +msgstr "ورودیهای مورد گردشکار" + #: permissions.py:7 msgid "Document workflows" msgstr "" @@ -194,67 +243,125 @@ msgstr "ویرایش گردشکار" msgid "View workflows" msgstr "مشاهده گردشکار" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "" -#: views.py:57 +#: permissions.py:28 +#, fuzzy +#| msgid "Create workflows" +msgid "Execute workflow tools" +msgstr "ایجاد گردشکار" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "گردشکارهای سند : %s" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "شرح گردشکار : %(workflow)s" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "ارسال" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "انجام تغییر وضعیت گردشکار : %s" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "نوع سند مرتبط با گردش کاری: %s" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "وضعیتهای گردشکار : %s" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "وضعیت ایجاد برای گردشکار : %s" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "تغییر وضعیتهای گردشکار : %s" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "ایجاد تغییر وضعیت برای گردشکار : %s" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "قادر به ذخیره انتقال نیست:خطای تجمع" + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "" + +#: views.py:482 +#, fuzzy, python-format +#| msgid "Document types assigned the workflow: %s" +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "نوع سند مرتبط با گردش کاری: %s" + +#: views.py:517 +msgid "Launch all workflows?" +msgstr "" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/fr/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/fr/LC_MESSAGES/django.po index 6d01182f7e..29444b50c0 100644 --- a/mayan/apps/document_states/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/fr/LC_MESSAGES/django.po @@ -1,76 +1,77 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Christophe CHAUVET , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Christophe CHAUVET \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "États du document" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "État initial" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "Aucun" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "État actuel" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "Utilisateur" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "Dernière transition" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "Date et heure" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "Finalisation" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "Transition" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "Commentaire" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "Est ce l'état initial?" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "État d'origine" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "État de destination" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "Flux de travail" @@ -82,7 +83,7 @@ msgstr "Créer un flux de travail" msgid "Delete" msgstr "Supprimer" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "Types de document" @@ -94,7 +95,7 @@ msgstr "Modifier" msgid "Create state" msgstr "Créer un état" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "États" @@ -106,74 +107,124 @@ msgstr "Créer une transition" msgid "Transitions" msgstr "Transitions" -#: links.py:75 +#: links.py:77 +#, fuzzy +#| msgid "Document workflows" +msgid "Launch all workflows" +msgstr "Flux de travail du document" + +#: links.py:81 msgid "Detail" msgstr "Détail" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +#, fuzzy +#| msgid "Workflows for document: %s" +msgid "Workflow documents" +msgstr "Flux de travail du document: %s" + +#: links.py:99 +#, fuzzy +#| msgid "Available document types" +msgid "State documents" +msgstr "Types de document disponible" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "Étiquette" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "Flux de travail" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." -msgstr "Sélectionnez si ceci sera l'état avec lequel vous voulez que le flux de travail pour démarrer. Un seul état peut être à l'état initial." +msgstr "" +"Sélectionnez si ceci sera l'état avec lequel vous voulez que le flux de " +"travail pour démarrer. Un seul état peut être à l'état initial." -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "Initial" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." -msgstr "Entrer le pourcentage de finalisation que cet état représente dans la relation du flux de travail. Saisir un nombre sans le signe pourcentage." +msgstr "" +"Entrer le pourcentage de finalisation que cet état représente dans la " +"relation du flux de travail. Saisir un nombre sans le signe pourcentage." -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "État du flux de travail" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "États du flux de travail" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "Transition du flux de travail" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "Transitions du flux de travail" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "Document" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "Instance du flux de travail" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "Instances du flux de travail" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "Date et heure" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "Entrée de la journalisation de l'instance du flux de travail" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "Entrées de la journlisation du flux de travail" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +#, fuzzy +#| msgid "Workflow transition" +msgid "Workflow runtime proxy" +msgstr "Transition du flux de travail" + +#: models.py:256 +#, fuzzy +#| msgid "Workflow transitions" +msgid "Workflow runtime proxies" +msgstr "Transitions du flux de travail" + +#: models.py:262 +#, fuzzy +#| msgid "Workflow state" +msgid "Workflow state runtime proxy" +msgstr "État du flux de travail" + +#: models.py:263 +#, fuzzy +#| msgid "Workflow instance log entries" +msgid "Workflow state runtime proxies" +msgstr "Entrées de la journlisation du flux de travail" + #: permissions.py:7 msgid "Document workflows" msgstr "Flux de travail du document" @@ -194,67 +245,127 @@ msgstr "Modifier des flux de travail" msgid "View workflows" msgstr "Voir les flux de travail" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "Transition des flux de travails" -#: views.py:57 +#: permissions.py:28 +#, fuzzy +#| msgid "Create workflows" +msgid "Execute workflow tools" +msgstr "Créer des flux de travail" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "Flux de travail du document: %s" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "Documents avec le flux de travail: %s" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "Détail du flux de travail: %(workflow)s" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "Soumettre" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "Construire une transition pour le flux de travail: %s" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "Types de document disponible" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "Types de document associé à ce flux de travail" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "Types de document assignés au flux de travail: %s" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "États du flux de travail: %s" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "Créer des états pour le flux de travail: %s" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "Transitions du flux de travail: %s " -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "Créer des transitions du flux de travail: %s" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "Impossible de sauvegarder la transition; erreur d'intégrité." + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "Documents avec le flux de travail: %s" + +#: views.py:482 +#, fuzzy, python-format +#| msgid "Documents with the workflow: %s" +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "Documents avec le flux de travail: %s" + +#: views.py:517 +#, fuzzy +#| msgid "Document workflows" +msgid "Launch all workflows?" +msgstr "Flux de travail du document" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/hu/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/hu/LC_MESSAGES/django.po index c3d442d94a..3186873895 100644 --- a/mayan/apps/document_states/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/hu/LC_MESSAGES/django.po @@ -1,75 +1,76 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "Semmi" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "Felhasználó" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "Megjegyzés" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "" @@ -81,7 +82,7 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "" @@ -93,7 +94,7 @@ msgstr "" msgid "Create state" msgstr "" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "" @@ -105,74 +106,106 @@ msgstr "" msgid "Transitions" msgstr "" -#: links.py:75 +#: links.py:77 +msgid "Launch all workflows" +msgstr "" + +#: links.py:81 msgid "Detail" msgstr "" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +msgid "Workflow documents" +msgstr "" + +#: links.py:99 +msgid "State documents" +msgstr "" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." msgstr "" -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." msgstr "" -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +msgid "Workflow runtime proxy" +msgstr "" + +#: models.py:256 +msgid "Workflow runtime proxies" +msgstr "" + +#: models.py:262 +msgid "Workflow state runtime proxy" +msgstr "" + +#: models.py:263 +msgid "Workflow state runtime proxies" +msgstr "" + #: permissions.py:7 msgid "Document workflows" msgstr "" @@ -193,67 +226,122 @@ msgstr "" msgid "View workflows" msgstr "" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "" -#: views.py:57 +#: permissions.py:28 +msgid "Execute workflow tools" +msgstr "" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "" + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "" + +#: views.py:482 +#, python-format +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "" + +#: views.py:517 +msgid "Launch all workflows?" +msgstr "" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/id/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/id/LC_MESSAGES/django.po index 00d127e3b5..1238d539dc 100644 --- a/mayan/apps/document_states/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/id/LC_MESSAGES/django.po @@ -1,75 +1,76 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "Pengguna" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "Komentar" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "" @@ -81,7 +82,7 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "" @@ -93,7 +94,7 @@ msgstr "" msgid "Create state" msgstr "" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "" @@ -105,74 +106,106 @@ msgstr "" msgid "Transitions" msgstr "" -#: links.py:75 +#: links.py:77 +msgid "Launch all workflows" +msgstr "" + +#: links.py:81 msgid "Detail" msgstr "" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +msgid "Workflow documents" +msgstr "" + +#: links.py:99 +msgid "State documents" +msgstr "" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." msgstr "" -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." msgstr "" -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +msgid "Workflow runtime proxy" +msgstr "" + +#: models.py:256 +msgid "Workflow runtime proxies" +msgstr "" + +#: models.py:262 +msgid "Workflow state runtime proxy" +msgstr "" + +#: models.py:263 +msgid "Workflow state runtime proxies" +msgstr "" + #: permissions.py:7 msgid "Document workflows" msgstr "" @@ -193,67 +226,122 @@ msgstr "" msgid "View workflows" msgstr "" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "" -#: views.py:57 +#: permissions.py:28 +msgid "Execute workflow tools" +msgstr "" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "" + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "" + +#: views.py:482 +#, python-format +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "" + +#: views.py:517 +msgid "Launch all workflows?" +msgstr "" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/it/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/it/LC_MESSAGES/django.po index 15d11b1ab4..37de719306 100644 --- a/mayan/apps/document_states/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/it/LC_MESSAGES/django.po @@ -1,76 +1,77 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Marco Camplese , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-09-24 10:35+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "Stati documento" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "Stato iniziale" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "Nessuna " -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "Stato corrente" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "Utente" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "Ultima transizione" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "Data e ora" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "Completamento" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "Transizione" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "Commento" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "Stato iniziale?" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "Stato originale" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "Stato di destinazione" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "I workflow" @@ -82,7 +83,7 @@ msgstr "Crea workflow" msgid "Delete" msgstr "Cancella" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "Tipi di documento" @@ -94,7 +95,7 @@ msgstr "Modifica" msgid "Create state" msgstr "Crea stato" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "Stati" @@ -106,74 +107,124 @@ msgstr "Crea transizione" msgid "Transitions" msgstr "Transizioni" -#: links.py:75 +#: links.py:77 +#, fuzzy +#| msgid "Document workflows" +msgid "Launch all workflows" +msgstr "Workflow documento" + +#: links.py:81 msgid "Detail" msgstr "Dettagli" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +#, fuzzy +#| msgid "Workflows for document: %s" +msgid "Workflow documents" +msgstr "Workflow per il documento: %s" + +#: links.py:99 +#, fuzzy +#| msgid "Available document types" +msgid "State documents" +msgstr "Tipi di documento disponibili" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "Etichetta" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "Workflow" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." -msgstr "Seleziona se questo è lo stato da utilizzare quando il workflow inizia. Solo uno stato può essere quello iniziale." +msgstr "" +"Seleziona se questo è lo stato da utilizzare quando il workflow inizia. Solo " +"uno stato può essere quello iniziale." -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "Iniziale" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." -msgstr "Inserisci la percentuale di completamento che questo stato rappresenta in relazione al workflow. Usa i numeri senza segno di percentuale." +msgstr "" +"Inserisci la percentuale di completamento che questo stato rappresenta in " +"relazione al workflow. Usa i numeri senza segno di percentuale." -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "Stato workflow" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "Stati workflow" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "Transizione workflow" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "Transizioni workflow" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "Documento" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "Istanza workflow" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "Istanze workflow" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "Data e ora" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "Voce log istanza workflow" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "Voci log istanza workflow" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +#, fuzzy +#| msgid "Workflow transition" +msgid "Workflow runtime proxy" +msgstr "Transizione workflow" + +#: models.py:256 +#, fuzzy +#| msgid "Workflow transitions" +msgid "Workflow runtime proxies" +msgstr "Transizioni workflow" + +#: models.py:262 +#, fuzzy +#| msgid "Workflow state" +msgid "Workflow state runtime proxy" +msgstr "Stato workflow" + +#: models.py:263 +#, fuzzy +#| msgid "Workflow instance log entries" +msgid "Workflow state runtime proxies" +msgstr "Voci log istanza workflow" + #: permissions.py:7 msgid "Document workflows" msgstr "Workflow documento" @@ -194,67 +245,127 @@ msgstr "Modifica workflows" msgid "View workflows" msgstr "Vedi workflows" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "Transizioni workflow" -#: views.py:57 +#: permissions.py:28 +#, fuzzy +#| msgid "Create workflows" +msgid "Execute workflow tools" +msgstr "Crea workflows" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "Workflow per il documento: %s" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "Documento con il workflow: %s" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "Dettagli del workflow: %(workflow)s" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "Invia" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "Esegui transizione per il workflow: %s" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "Tipi di documento disponibili" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "Tipi di documento assegnati a questo workflow" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "Tipi di documento assegnati al workflow: %s" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "Stati del workflow: %s" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "Crea stati del workflow: %s" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "Trasizioni per il workflow: %s" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "Crea trasizioni per il workflow: %s" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "Impossibile salvare la transizione: errore di integrità" + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "Documento con il workflow: %s" + +#: views.py:482 +#, fuzzy, python-format +#| msgid "Documents with the workflow: %s" +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "Documento con il workflow: %s" + +#: views.py:517 +#, fuzzy +#| msgid "Document workflows" +msgid "Launch all workflows?" +msgstr "Workflow documento" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/nl_NL/LC_MESSAGES/django.po index 11d63efbac..28b5b76ecb 100644 --- a/mayan/apps/document_states/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/nl_NL/LC_MESSAGES/django.po @@ -1,76 +1,77 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Evelijn Saaltink , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 12:43+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "Documentstaten" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "Initiële staat" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "Geen" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "Huidige staat" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "Gebruiker" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "Laatste transitie" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "Datum en tijd" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "Voltooiing" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "Transitie" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "Commentaar" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "Originele staat" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "Bestemmingsstaat" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "" @@ -82,7 +83,7 @@ msgstr "" msgid "Delete" msgstr "Verwijder" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "Documentsoorten" @@ -94,7 +95,7 @@ msgstr "bewerken" msgid "Create state" msgstr "Maak staat aan" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "Staten" @@ -106,74 +107,120 @@ msgstr "Transitie aanmaken" msgid "Transitions" msgstr "Transities" -#: links.py:75 +#: links.py:77 +#, fuzzy +#| msgid "Document workflows" +msgid "Launch all workflows" +msgstr "Documentworkflows" + +#: links.py:81 msgid "Detail" msgstr "Detai" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +#, fuzzy +#| msgid "Workflows for document: %s" +msgid "Workflow documents" +msgstr "Workflows voor document: %s" + +#: links.py:99 +#, fuzzy +#| msgid "Available document types" +msgid "State documents" +msgstr "Beschikbare documentsoorten" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "Label" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "Workflow" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." msgstr "" -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "Initieel" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." msgstr "" -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "Workflowstaat" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "Workflowstaten" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "Workflowtransitie" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "Workflowtransities" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "Document" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "Workflowinstantie" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "Workflowinstanties" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "Datumtijd" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +#, fuzzy +#| msgid "Workflow transition" +msgid "Workflow runtime proxy" +msgstr "Workflowtransitie" + +#: models.py:256 +#, fuzzy +#| msgid "Workflow transitions" +msgid "Workflow runtime proxies" +msgstr "Workflowtransities" + +#: models.py:262 +#, fuzzy +#| msgid "Workflow state" +msgid "Workflow state runtime proxy" +msgstr "Workflowstaat" + +#: models.py:263 +#, fuzzy +#| msgid "Workflow states" +msgid "Workflow state runtime proxies" +msgstr "Workflowstaten" + #: permissions.py:7 msgid "Document workflows" msgstr "Documentworkflows" @@ -194,67 +241,127 @@ msgstr "Workflows verwijderen" msgid "View workflows" msgstr "Workflows bekijken" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "" -#: views.py:57 +#: permissions.py:28 +#, fuzzy +#| msgid "Create workflows" +msgid "Execute workflow tools" +msgstr "Workflows aanmaken" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "Workflows voor document: %s" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "Documenten met de workflow: %s" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "Detail van workflow: %(workflow)s" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "Verstuur" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "Beschikbare documentsoorten" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "" + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "Documenten met de workflow: %s" + +#: views.py:482 +#, fuzzy, python-format +#| msgid "Documents with the workflow: %s" +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "Documenten met de workflow: %s" + +#: views.py:517 +#, fuzzy +#| msgid "Document workflows" +msgid "Launch all workflows?" +msgstr "Documentworkflows" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/pl/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/pl/LC_MESSAGES/django.po index 3e363e2acd..42379ef087 100644 --- a/mayan/apps/document_states/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/pl/LC_MESSAGES/django.po @@ -1,76 +1,78 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Annunnaky , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "Stan początkowy" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "Brak" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "Aktualny stan" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "Użytkownik" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "Data i godzina" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "Komentarz" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "Czy jest stan początkowy?" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "" @@ -82,7 +84,7 @@ msgstr "" msgid "Delete" msgstr "Usuń" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "Typy dokumentu" @@ -94,7 +96,7 @@ msgstr "Edytuj" msgid "Create state" msgstr "Utwórz stan" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "Stany" @@ -106,74 +108,120 @@ msgstr "" msgid "Transitions" msgstr "" -#: links.py:75 +#: links.py:77 +#, fuzzy +#| msgid "Create workflows" +msgid "Launch all workflows" +msgstr "Utwórz obieg" + +#: links.py:81 msgid "Detail" msgstr "Szczegół" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +#, fuzzy +#| msgid "Workflows for document: %s" +msgid "Workflow documents" +msgstr "Obiegi dokumentu: %s" + +#: links.py:99 +#, fuzzy +#| msgid "Available document types" +msgid "State documents" +msgstr "Dostępne typy dokumentów" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "Etykieta" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "Obieg dokumentów" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." msgstr "" -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "Początkowy" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." msgstr "" -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "Stan obiegu" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "Stany obiegu" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "Dokument" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +#, fuzzy +#| msgid "Workflow state" +msgid "Workflow runtime proxy" +msgstr "Stan obiegu" + +#: models.py:256 +#, fuzzy +#| msgid "Workflow states" +msgid "Workflow runtime proxies" +msgstr "Stany obiegu" + +#: models.py:262 +#, fuzzy +#| msgid "Workflow state" +msgid "Workflow state runtime proxy" +msgstr "Stan obiegu" + +#: models.py:263 +#, fuzzy +#| msgid "Workflow states" +msgid "Workflow state runtime proxies" +msgstr "Stany obiegu" + #: permissions.py:7 msgid "Document workflows" msgstr "" @@ -194,67 +242,125 @@ msgstr "Edytuj obieg" msgid "View workflows" msgstr "Pokaż obieg" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "" -#: views.py:57 +#: permissions.py:28 +#, fuzzy +#| msgid "Create workflows" +msgid "Execute workflow tools" +msgstr "Utwórz obieg" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "Obiegi dokumentu: %s" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "Szczegóły obiegu dokumentów: %(workflow)s" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "Wyślij" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "Dokonaj zmiany w obiegu dokumentów: %s" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "Dostępne typy dokumentów" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "Typy dokumentów przypisane do obiegu dokumentów: %s" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "Stany obiegu dokumentów: %s" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "Utwórz stany obiegu dokumentów: %s" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "Zmiany obiegu dokumentów: %s" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "Utwórz zmiany w obiegu dokumentów: %s" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "Nie można zapisać zmiany; błąd integralności." + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "" + +#: views.py:482 +#, fuzzy, python-format +#| msgid "Document types assigned the workflow: %s" +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "Typy dokumentów przypisane do obiegu dokumentów: %s" + +#: views.py:517 +msgid "Launch all workflows?" +msgstr "" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/pt/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/pt/LC_MESSAGES/django.po index e1aa11eff8..7a0a2602fd 100644 --- a/mayan/apps/document_states/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/pt/LC_MESSAGES/django.po @@ -1,75 +1,76 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "Nenhum" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "Utilizador" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "Comentário" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "" @@ -81,7 +82,7 @@ msgstr "" msgid "Delete" msgstr "Eliminar" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "" @@ -93,7 +94,7 @@ msgstr "Editar" msgid "Create state" msgstr "" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "" @@ -105,74 +106,106 @@ msgstr "" msgid "Transitions" msgstr "" -#: links.py:75 +#: links.py:77 +msgid "Launch all workflows" +msgstr "" + +#: links.py:81 msgid "Detail" msgstr "" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +msgid "Workflow documents" +msgstr "" + +#: links.py:99 +msgid "State documents" +msgstr "" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "Nome" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." msgstr "" -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." msgstr "" -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +msgid "Workflow runtime proxy" +msgstr "" + +#: models.py:256 +msgid "Workflow runtime proxies" +msgstr "" + +#: models.py:262 +msgid "Workflow state runtime proxy" +msgstr "" + +#: models.py:263 +msgid "Workflow state runtime proxies" +msgstr "" + #: permissions.py:7 msgid "Document workflows" msgstr "" @@ -193,67 +226,122 @@ msgstr "" msgid "View workflows" msgstr "" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "" -#: views.py:57 +#: permissions.py:28 +msgid "Execute workflow tools" +msgstr "" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "Submeter" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "" + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "" + +#: views.py:482 +#, python-format +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "" + +#: views.py:517 +msgid "Launch all workflows?" +msgstr "" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/pt_BR/LC_MESSAGES/django.po index ab6fb8a370..5d618849d2 100644 --- a/mayan/apps/document_states/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Aline Freitas , 2016 # Rogerio Falcone , 2015 @@ -9,69 +9,70 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-17 23:07+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "Estados de documentos" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "Estado Inicial" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "Nenhum" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "Estado corrente" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "Usuário" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "Última transação" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "data e hora" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "Finalização" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "Transações" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "Comentário" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "é estado inicial?" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "Estado Original" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "Estado de destino" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "Workflows" @@ -83,7 +84,7 @@ msgstr "Criar fluxo de trabalho" msgid "Delete" msgstr "Excluir" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "Tipos de Documentos" @@ -95,7 +96,7 @@ msgstr "Editar" msgid "Create state" msgstr "Criar estado" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "estado" @@ -107,74 +108,124 @@ msgstr "Criar Transições" msgid "Transitions" msgstr "Transações" -#: links.py:75 +#: links.py:77 +#, fuzzy +#| msgid "Document workflows" +msgid "Launch all workflows" +msgstr "Fluxos de trabalho do documento" + +#: links.py:81 msgid "Detail" msgstr "Detalhes" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +#, fuzzy +#| msgid "Workflows for document: %s" +msgid "Workflow documents" +msgstr "Workflows para documento: %s" + +#: links.py:99 +#, fuzzy +#| msgid "Available document types" +msgid "State documents" +msgstr "Tipos de documentos disponíveis" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "Label" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "Workflow" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." -msgstr "Selecione se este será o estado com o qual você deseja que o fluxo de trabalho para começar em. Apenas um Estado pode ser o estado inicial." +msgstr "" +"Selecione se este será o estado com o qual você deseja que o fluxo de " +"trabalho para começar em. Apenas um Estado pode ser o estado inicial." -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "Inicial" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." -msgstr "Entre com a porcentagem de finalização que este estado representa em relação com o fluxo de trabalho. Utilize números sem o sinal de porcentagem." +msgstr "" +"Entre com a porcentagem de finalização que este estado representa em relação " +"com o fluxo de trabalho. Utilize números sem o sinal de porcentagem." -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "Estado do Workflow" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "Estados do Workflow" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "Transição do Workflow" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "Transição dos Workflows" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "Documento" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "Instância do Workflow" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "instâncias do Workflow " -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "Hora e data" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "Workflow instance log de entrada " -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "Workflow instance log de entradas" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +#, fuzzy +#| msgid "Workflow transition" +msgid "Workflow runtime proxy" +msgstr "Transição do Workflow" + +#: models.py:256 +#, fuzzy +#| msgid "Workflow transitions" +msgid "Workflow runtime proxies" +msgstr "Transição dos Workflows" + +#: models.py:262 +#, fuzzy +#| msgid "Workflow state" +msgid "Workflow state runtime proxy" +msgstr "Estado do Workflow" + +#: models.py:263 +#, fuzzy +#| msgid "Workflow instance log entries" +msgid "Workflow state runtime proxies" +msgstr "Workflow instance log de entradas" + #: permissions.py:7 msgid "Document workflows" msgstr "Fluxos de trabalho do documento" @@ -195,67 +246,127 @@ msgstr "Editar Workflows" msgid "View workflows" msgstr "Ver workflows" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "Realizar transição" -#: views.py:57 +#: permissions.py:28 +#, fuzzy +#| msgid "Create workflows" +msgid "Execute workflow tools" +msgstr "Criar workflows" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "Workflows para documento: %s" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "Documentos com o fluxo de trabalho: %s" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "Detalhe do workflow: %(workflow)s" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "Submeter" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "Fazer a transição para o workflow: %s" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "Tipos de documentos disponíveis" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "Tipos de documentos atribuídos a este fluxo de trabalho" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "Os tipos de documento atribuído ao workflow: %s" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "Estado do workflow: %s" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "Criar estados para Workflow: %s" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "Transição do Workflow: %s" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "Criar Transição para Workflow: %s" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "Não foi possível salvar transição; erro de integridade." + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "Documentos com o fluxo de trabalho: %s" + +#: views.py:482 +#, fuzzy, python-format +#| msgid "Documents with the workflow: %s" +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "Documentos com o fluxo de trabalho: %s" + +#: views.py:517 +#, fuzzy +#| msgid "Document workflows" +msgid "Launch all workflows?" +msgstr "Fluxos de trabalho do documento" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/ro_RO/LC_MESSAGES/django.po index 12d7c01369..e8ee301c70 100644 --- a/mayan/apps/document_states/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/ro_RO/LC_MESSAGES/django.po @@ -1,75 +1,77 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-04-17 09:43+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "Nici unul" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "utilizator" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "Comentariu" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "" @@ -81,7 +83,7 @@ msgstr "" msgid "Delete" msgstr "Șterge" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "" @@ -93,7 +95,7 @@ msgstr "Editează" msgid "Create state" msgstr "" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "" @@ -105,74 +107,106 @@ msgstr "" msgid "Transitions" msgstr "" -#: links.py:75 +#: links.py:77 +msgid "Launch all workflows" +msgstr "" + +#: links.py:81 msgid "Detail" msgstr "" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +msgid "Workflow documents" +msgstr "" + +#: links.py:99 +msgid "State documents" +msgstr "" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "Etichetă" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." msgstr "" -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." msgstr "" -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +msgid "Workflow runtime proxy" +msgstr "" + +#: models.py:256 +msgid "Workflow runtime proxies" +msgstr "" + +#: models.py:262 +msgid "Workflow state runtime proxy" +msgstr "" + +#: models.py:263 +msgid "Workflow state runtime proxies" +msgstr "" + #: permissions.py:7 msgid "Document workflows" msgstr "" @@ -193,67 +227,122 @@ msgstr "" msgid "View workflows" msgstr "" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "" -#: views.py:57 +#: permissions.py:28 +msgid "Execute workflow tools" +msgstr "" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "Trimiteţi" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "" + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "" + +#: views.py:482 +#, python-format +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "" + +#: views.py:517 +msgid "Launch all workflows?" +msgstr "" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/ru/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/ru/LC_MESSAGES/django.po index 4a34ca5627..96578d0496 100644 --- a/mayan/apps/document_states/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/ru/LC_MESSAGES/django.po @@ -1,76 +1,79 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # lilo.panic, 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-02 04:15+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "Статусы документа" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "Исходное состояние" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "Ничего" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "Текущее состояние" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "Пользователь" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "Дата и время" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "Завершение" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "Переход" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "Комментарий" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "" @@ -82,7 +85,7 @@ msgstr "" msgid "Delete" msgstr "Удалить" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "Типы документов" @@ -94,7 +97,7 @@ msgstr "Редактировать" msgid "Create state" msgstr "" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "" @@ -106,74 +109,108 @@ msgstr "" msgid "Transitions" msgstr "" -#: links.py:75 +#: links.py:77 +msgid "Launch all workflows" +msgstr "" + +#: links.py:81 msgid "Detail" msgstr "" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +msgid "Workflow documents" +msgstr "" + +#: links.py:99 +#, fuzzy +#| msgid "Available document types" +msgid "State documents" +msgstr "Доступные типы документов" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "Надпись" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." msgstr "" -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." msgstr "" -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "Документ" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +msgid "Workflow runtime proxy" +msgstr "" + +#: models.py:256 +msgid "Workflow runtime proxies" +msgstr "" + +#: models.py:262 +msgid "Workflow state runtime proxy" +msgstr "" + +#: models.py:263 +msgid "Workflow state runtime proxies" +msgstr "" + #: permissions.py:7 msgid "Document workflows" msgstr "" @@ -194,67 +231,122 @@ msgstr "" msgid "View workflows" msgstr "" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "" -#: views.py:57 +#: permissions.py:28 +msgid "Execute workflow tools" +msgstr "" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "Подтвердить" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "Доступные типы документов" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "" + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "" + +#: views.py:482 +#, python-format +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "" + +#: views.py:517 +msgid "Launch all workflows?" +msgstr "" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/sl_SI/LC_MESSAGES/django.po index 50b8799fb8..5e1a708ab8 100644 --- a/mayan/apps/document_states/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/sl_SI/LC_MESSAGES/django.po @@ -1,75 +1,77 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-17 08:59+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "Brez" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "Komentar" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "" @@ -81,7 +83,7 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "" @@ -93,7 +95,7 @@ msgstr "" msgid "Create state" msgstr "" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "" @@ -105,74 +107,106 @@ msgstr "" msgid "Transitions" msgstr "" -#: links.py:75 +#: links.py:77 +msgid "Launch all workflows" +msgstr "" + +#: links.py:81 msgid "Detail" msgstr "" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +msgid "Workflow documents" +msgstr "" + +#: links.py:99 +msgid "State documents" +msgstr "" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "Oznaka" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." msgstr "" -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." msgstr "" -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +msgid "Workflow runtime proxy" +msgstr "" + +#: models.py:256 +msgid "Workflow runtime proxies" +msgstr "" + +#: models.py:262 +msgid "Workflow state runtime proxy" +msgstr "" + +#: models.py:263 +msgid "Workflow state runtime proxies" +msgstr "" + #: permissions.py:7 msgid "Document workflows" msgstr "" @@ -193,67 +227,122 @@ msgstr "" msgid "View workflows" msgstr "" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "" -#: views.py:57 +#: permissions.py:28 +msgid "Execute workflow tools" +msgstr "" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "" + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "" + +#: views.py:482 +#, python-format +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "" + +#: views.py:517 +msgid "Launch all workflows?" +msgstr "" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/vi_VN/LC_MESSAGES/django.po index cbf0d01988..f952690022 100644 --- a/mayan/apps/document_states/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/vi_VN/LC_MESSAGES/django.po @@ -1,75 +1,76 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "None" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "Người dùng" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "Chú thích" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "" @@ -81,7 +82,7 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "" @@ -93,7 +94,7 @@ msgstr "Sửa" msgid "Create state" msgstr "" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "" @@ -105,74 +106,106 @@ msgstr "" msgid "Transitions" msgstr "" -#: links.py:75 +#: links.py:77 +msgid "Launch all workflows" +msgstr "" + +#: links.py:81 msgid "Detail" msgstr "" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +msgid "Workflow documents" +msgstr "" + +#: links.py:99 +msgid "State documents" +msgstr "" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." msgstr "" -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." msgstr "" -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +msgid "Workflow runtime proxy" +msgstr "" + +#: models.py:256 +msgid "Workflow runtime proxies" +msgstr "" + +#: models.py:262 +msgid "Workflow state runtime proxy" +msgstr "" + +#: models.py:263 +msgid "Workflow state runtime proxies" +msgstr "" + #: permissions.py:7 msgid "Document workflows" msgstr "" @@ -193,67 +226,122 @@ msgstr "" msgid "View workflows" msgstr "" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "" -#: views.py:57 +#: permissions.py:28 +msgid "Execute workflow tools" +msgstr "" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "" + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "" + +#: views.py:482 +#, python-format +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "" + +#: views.py:517 +msgid "Launch all workflows?" +msgstr "" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/document_states/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/zh_CN/LC_MESSAGES/django.po index 4989ac9c63..49495c9c3a 100644 --- a/mayan/apps/document_states/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/zh_CN/LC_MESSAGES/django.po @@ -1,75 +1,76 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:53-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:09+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:31 +#: apps.py:41 msgid "Document states" msgstr "" -#: apps.py:47 +#: apps.py:70 msgid "Initial state" msgstr "" -#: apps.py:48 apps.py:58 apps.py:68 apps.py:74 +#: apps.py:71 apps.py:81 apps.py:91 apps.py:97 msgid "None" msgstr "无" -#: apps.py:52 +#: apps.py:75 msgid "Current state" msgstr "" -#: apps.py:56 apps.py:83 models.py:189 +#: apps.py:79 apps.py:106 models.py:237 msgid "User" msgstr "用户" -#: apps.py:62 +#: apps.py:85 msgid "Last transition" msgstr "" -#: apps.py:66 apps.py:79 +#: apps.py:89 apps.py:102 msgid "Date and time" msgstr "" -#: apps.py:72 apps.py:99 models.py:79 +#: apps.py:95 apps.py:122 models.py:84 msgid "Completion" msgstr "" -#: apps.py:86 forms.py:39 links.py:79 models.py:187 +#: apps.py:109 forms.py:43 links.py:85 models.py:235 msgid "Transition" msgstr "" -#: apps.py:90 forms.py:41 models.py:190 +#: apps.py:113 forms.py:46 models.py:238 msgid "Comment" msgstr "评论" -#: apps.py:95 +#: apps.py:118 msgid "Is initial state?" msgstr "" -#: apps.py:103 models.py:105 +#: apps.py:126 models.py:111 msgid "Origin state" msgstr "" -#: apps.py:107 models.py:109 +#: apps.py:130 models.py:115 msgid "Destination state" msgstr "" -#: links.py:15 links.py:38 models.py:59 views.py:185 +#: links.py:15 links.py:38 links.py:95 models.py:64 views.py:130 views.py:409 msgid "Workflows" msgstr "" @@ -81,7 +82,7 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:29 models.py:25 +#: links.py:29 models.py:29 msgid "Document types" msgstr "" @@ -93,7 +94,7 @@ msgstr "" msgid "Create state" msgstr "" -#: links.py:54 +#: links.py:54 links.py:104 msgid "States" msgstr "" @@ -105,74 +106,106 @@ msgstr "" msgid "Transitions" msgstr "" -#: links.py:75 +#: links.py:77 +msgid "Launch all workflows" +msgstr "" + +#: links.py:81 msgid "Detail" msgstr "" -#: models.py:21 models.py:67 models.py:101 +#: links.py:90 +msgid "Workflow documents" +msgstr "" + +#: links.py:99 +msgid "State documents" +msgstr "" + +#: models.py:25 models.py:72 models.py:107 msgid "Label" msgstr "" -#: models.py:58 models.py:65 models.py:99 models.py:126 +#: models.py:63 models.py:70 models.py:105 models.py:133 msgid "Workflow" msgstr "" -#: models.py:71 +#: models.py:76 msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." msgstr "" -#: models.py:73 +#: models.py:78 msgid "Initial" msgstr "" -#: models.py:77 +#: models.py:82 msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." msgstr "" -#: models.py:92 +#: models.py:98 msgid "Workflow state" msgstr "" -#: models.py:93 +#: models.py:99 msgid "Workflow states" msgstr "" -#: models.py:119 +#: models.py:126 msgid "Workflow transition" msgstr "" -#: models.py:120 +#: models.py:127 msgid "Workflow transitions" msgstr "" -#: models.py:129 +#: models.py:136 msgid "Document" msgstr "" -#: models.py:173 models.py:181 +#: models.py:221 models.py:229 msgid "Workflow instance" msgstr "" -#: models.py:174 +#: models.py:222 msgid "Workflow instances" msgstr "" -#: models.py:184 +#: models.py:232 msgid "Datetime" msgstr "" -#: models.py:196 +#: models.py:244 msgid "Workflow instance log entry" msgstr "" -#: models.py:197 +#: models.py:245 msgid "Workflow instance log entries" msgstr "" +#: models.py:249 +msgid "Not a valid transition choice." +msgstr "" + +#: models.py:255 +msgid "Workflow runtime proxy" +msgstr "" + +#: models.py:256 +msgid "Workflow runtime proxies" +msgstr "" + +#: models.py:262 +msgid "Workflow state runtime proxy" +msgstr "" + +#: models.py:263 +msgid "Workflow state runtime proxies" +msgstr "" + #: permissions.py:7 msgid "Document workflows" msgstr "" @@ -193,67 +226,122 @@ msgstr "" msgid "View workflows" msgstr "" -#: permissions.py:26 +#: permissions.py:25 msgid "Transition workflows" msgstr "" -#: views.py:57 +#: permissions.py:28 +msgid "Execute workflow tools" +msgstr "" + +#: serializers.py:22 +msgid "Primary key of the document type to be added." +msgstr "" + +#: serializers.py:37 +msgid "" +"API URL pointing to a document type in relation to the workflow to which it " +"is attached. This URL is different than the canonical document type URL." +msgstr "" + +#: serializers.py:116 +msgid "Primary key of the destination state to be added." +msgstr "" + +#: serializers.py:120 +msgid "Primary key of the origin state to be added." +msgstr "" + +#: serializers.py:218 +msgid "" +"API URL pointing to a workflow in relation to the document to which it is " +"attached. This URL is different than the canonical workflow URL." +msgstr "" + +#: serializers.py:227 +msgid "A link to the entire history of this workflow." +msgstr "" + +#: serializers.py:259 +msgid "" +"Comma separated list of document type primary keys to which this workflow " +"will be attached." +msgstr "" + +#: serializers.py:319 +msgid "Primary key of the transition to be added." +msgstr "" + +#: views.py:54 #, python-format msgid "Workflows for document: %s" msgstr "" -#: views.py:91 -#, python-format -msgid "Documents with the workflow: %s" -msgstr "" - -#: views.py:116 +#: views.py:78 #, python-format msgid "Detail of workflow: %(workflow)s" msgstr "" -#: views.py:162 +#: views.py:106 msgid "Submit" msgstr "提交" -#: views.py:164 +#: views.py:108 #, python-format msgid "Do transition for workflow: %s" msgstr "" -#: views.py:215 +#: views.py:160 msgid "Available document types" msgstr "" -#: views.py:216 +#: views.py:161 msgid "Document types assigned this workflow" msgstr "" -#: views.py:226 +#: views.py:171 #, python-format msgid "Document types assigned the workflow: %s" msgstr "" -#: views.py:269 +#: views.py:210 views.py:503 #, python-format msgid "States of workflow: %s" msgstr "" -#: views.py:287 +#: views.py:228 #, python-format msgid "Create states for workflow: %s" msgstr "" -#: views.py:363 +#: views.py:304 #, python-format msgid "Transitions of workflow: %s" msgstr "" -#: views.py:376 +#: views.py:317 #, python-format msgid "Create transitions for workflow: %s" msgstr "" -#: views.py:406 +#: views.py:347 msgid "Unable to save transition; integrity error." msgstr "" + +#: views.py:435 +#, python-format +msgid "Documents with the workflow: %s" +msgstr "" + +#: views.py:482 +#, python-format +msgid "Documents in the workflow \"%s\", state \"%s\"" +msgstr "" + +#: views.py:517 +msgid "Launch all workflows?" +msgstr "" + +#: views.py:524 +msgid "Workflow launch queued successfully." +msgstr "" diff --git a/mayan/apps/documents/locale/ar/LC_MESSAGES/django.po b/mayan/apps/documents/locale/ar/LC_MESSAGES/django.po index 8bb4bc416e..9e8f5d19b4 100644 --- a/mayan/apps/documents/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/ar/LC_MESSAGES/django.po @@ -1,102 +1,126 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "الوثائق" -#: apps.py:98 +#: apps.py:110 +msgid "New pages this month" +msgstr "" + +#: apps.py:119 +#, fuzzy +#| msgid "documents of this type" +msgid "New documents this month" +msgstr "documents of this type" + +#: apps.py:128 +#, fuzzy +#| msgid "Edit documents" +msgid "Total documents" +msgstr "تحرير الوثائق" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "" + +#: apps.py:145 msgid "Create a document type" msgstr "" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." msgstr "" -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "نوع الملف" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "" -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "تعليق" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "" @@ -117,12 +141,10 @@ msgid "Document type changed" msgstr "" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -130,248 +152,260 @@ msgstr "" msgid "Document viewed" msgstr "" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "صورة الصفحة" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "إعادة تسمية الوثيقة بسرعة" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "تاريخ الاضافة" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "نوع الملف" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "لا شيء" -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "حجم الملف" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "موجود في التخزين" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "مسار الملف في التخزين" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "Checksum" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "صفحات" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "نوع الوثيقة" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "ضغط" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "اسم الملف المضغوط" -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "اسم الملف المضغوط سيحتوي الوثائق التي سيتم تحويلها، اذا تم اختيار الخيار السابق" +msgstr "" +"اسم الملف المضغوط سيحتوي الوثائق التي سيتم تحويلها، اذا تم اختيار الخيار " +"السابق" -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "نطاق الصفحات" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "" -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Page transformations" +msgid "Clone transformations" +msgstr "page transformations" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "تحميل" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "" -#: links.py:144 -msgid "Trash" +#: links.py:151 +msgid "Trash can" msgstr "" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." msgstr "مسح بيانات الرسومات المستخدمة لتسريع عرض الوثائق و نتائج التحويلات." -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "تحرير" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "" -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "" - #: literals.py:14 msgid "Default" msgstr "Default" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." +"Amount of time after which documents of this type will be moved to the trash." msgstr "" #: models.py:71 @@ -389,12 +423,10 @@ msgid "" msgstr "" #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -402,99 +434,100 @@ msgstr "" msgid "Documents types" msgstr "" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "Description" -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "" -#: models.py:169 -msgid "Language" -msgstr "" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." msgstr "" -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "ملف" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" msgstr "صفحة %(page_num)d من أصل %(total_pages)d للوثيقة %(document)s" -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "" +#: models.py:804 +#, fuzzy +#| msgid "Document edited" +msgid "Document page cached image" +msgstr "Document edited" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document page transformations" +msgid "Document page cached images" +msgstr "document page transformations" + +#: models.py:827 msgid "User" msgstr "مستخدم" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "" @@ -507,11 +540,10 @@ msgid "Delete documents" msgstr "حذف الوثائق" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "تحميل الوثائق" @@ -528,12 +560,10 @@ msgid "Edit document properties" msgstr "تحرير خصائص الوثيقة" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -569,245 +599,237 @@ msgstr "تحرير أنواع الوثائق" msgid "View document types" msgstr "عرض أنواع الوثائق" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." msgstr "أكبر عدد من الوثائق الحديثة للتذكر لكل مستخدم." -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." msgstr "النسبة المئوية لتكبير أو تصغير في صفحة الوثيقة لكل مستخدم." -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." msgstr "أكبر نسبة مئوية (%) للسماح بالتكبير داخل الوثيقة لكل مستخدم." -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." msgstr "أقل نسبة مئوية (%) للسماح بالتكبير داخل الوثيقة لكل مستخدم." -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." msgstr "الدرجة المسموح بها لتدوير الوثيقة لكل مستخدم." -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "" -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "" -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "" - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "" - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "" - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "لا توجد صفحات أخرى بهذه الوثيقة" + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "أنت بالفعل في الصفحة الأولى من هذه الوثيقة" + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "" - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "" -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" msgstr "" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "سيتم حذف جميع الإصدارات اللاحقة بعد هذا الإصدار أيضا." -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "تم ارجاع اصدار الوثيقة بنجاح" -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "خطأ بارجاع اصدار الوثيقة %s" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" +msgid "Document: %(document)s deleted." msgstr "" -#: views.py:639 -msgid "Empty trash?" +#: views/document_views.py:108 +msgid "Delete the selected documents?" msgstr "" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" msgstr "" -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "يجب أن توفر ما لا يقل عن وثيقة واحدة." +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" -#: views.py:704 +#: views/document_views.py:130 +msgid "Change" +msgstr "" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "Are you sure you wish to delete the selected document?" +#| msgid_plural "Are you sure you wish to delete the selected documents?" +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" +msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" +msgstr[2] "ee02f3189246f97d6734a407f6f9040b_pl_2" +msgstr[3] "ee02f3189246f97d6734a407f6f9040b_pl_3" +msgstr[4] "ee02f3189246f97d6734a407f6f9040b_pl_4" +msgstr[5] "ee02f3189246f97d6734a407f6f9040b_pl_5" + +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Content of document: %s" +msgid "Change the type of the document: %s" +msgstr "versions for document: %s" + +#: views/document_views.py:164 #, python-format msgid "Document type for \"%s\" changed successfully." msgstr "" -#: views.py:716 views.py:1235 -msgid "Submit" -msgstr "ارسال" - -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" -msgstr[5] "" - -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" msgstr "" -#: views.py:819 -msgid "Documents to be downloaded" +#: views/document_views.py:200 +msgid "Restore the selected document?" msgstr "" -#: views.py:828 -msgid "Date and time" +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." msgstr "" -#: views.py:931 -msgid "At least one document must be selected." +#: views/document_views.py:229 +msgid "Restore the selected documents?" msgstr "" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" msgstr "" -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" msgstr "" -#: views.py:964 +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." +msgstr "" + +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "" + +#: views/document_views.py:519 +#, python-format +msgid "%(count)d document queued for page count recalculation" +msgstr "" + +#: views/document_views.py:522 +#, python-format +msgid "%(count)d documents queued for page count recalculation" +msgstr "" + +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "" @@ -817,23 +839,26 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: views.py:1023 -#, python-format -msgid "" -"Error deleting the page transformations for document: %(document)s; " -"%(error)s." -msgstr "خطأ بمسح التحويلات الخاصة بالوثيقة: %(document)s; %(error)s." +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Are you sure you wish to reset the page count of this document?" +msgid "Recalculate the page count of the document: %s?" +msgstr "" +"Are you sure you wish to update the page count for the office documents (%d)?" -#: views.py:1032 +#: views/document_views.py:558 #, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." -msgstr "كل التحويلات الخاصة بالوثيقة: %s, تم مسحها بنجاح." +msgid "Transformation clear request processed for %(count)d document" +msgstr "" -#: views.py:1044 +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" +msgid_plural "Clear all the page transformations for the selected document?" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -841,28 +866,77 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "لا توجد صفحات أخرى بهذه الوثيقة" +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "" +#| "Are you sure you wish to clear all the page transformations for " +#| "documents: %s?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "" +"Are you sure you wish to clear all the page transformations for documents: " +"%s?" -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "أنت بالفعل في الصفحة الأولى من هذه الوثيقة" +#: views/document_views.py:595 views/document_views.py:623 +#, python-format +msgid "" +"Error deleting the page transformations for document: %(document)s; " +"%(error)s." +msgstr "خطأ بمسح التحويلات الخاصة بالوثيقة: %(document)s; %(error)s." -#: views.py:1225 views.py:1234 +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." + +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "ارسال" + +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "" +#| "Error deleting the page transformations for document: %(document)s; " +#| "%(error)s." +msgid "Clone page transformations for document: %s" +msgstr "خطأ بمسح التحويلات الخاصة بالوثيقة: %(document)s; %(error)s." + +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "" + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "صورة الصفحة" + +#: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "يجب أن توفر ما لا يقل عن وثيقة واحدة." + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "كل التحويلات الخاصة بالوثيقة: %s, تم مسحها بنجاح." + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -926,9 +1000,6 @@ msgstr "" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -939,11 +1010,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -972,9 +1043,6 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" -#~ msgid "Page transformations" -#~ msgstr "page transformations" - #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -1012,24 +1080,9 @@ msgstr "" #~ msgid "Use dictionaries to indentify arguments, example: {'degrees':90}" #~ msgstr "Use dictionaries to indentify arguments, example: %s" -#~ msgid "Document page transformations" -#~ msgstr "document page transformations" - #~ msgid "documents" #~ msgstr "documents" -#~ msgid "Content of document: %s" -#~ msgstr "versions for document: %s" - -#~ msgid "Are you sure you wish to delete the selected document?" -#~ msgid_plural "Are you sure you wish to delete the selected documents?" -#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" -#~ msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" -#~ msgstr[2] "ee02f3189246f97d6734a407f6f9040b_pl_2" -#~ msgstr[3] "ee02f3189246f97d6734a407f6f9040b_pl_3" -#~ msgstr[4] "ee02f3189246f97d6734a407f6f9040b_pl_4" -#~ msgstr[5] "ee02f3189246f97d6734a407f6f9040b_pl_5" - #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1076,10 +1129,8 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1093,11 +1144,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1114,21 +1165,6 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" -#~ msgid "Are you sure you wish to reset the page count of this document?" -#~ msgstr "" -#~ "Are you sure you wish to update the page count for the office documents " -#~ "(%d)?" - -#~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" -#~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" - -#~ msgid "Document edited" -#~ msgstr "Document edited" - #~ msgid "Version" #~ msgstr "version" @@ -1141,15 +1177,19 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1206,11 +1246,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1234,11 +1274,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1259,9 +1299,11 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1291,11 +1333,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1352,15 +1394,17 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1381,9 +1425,6 @@ msgstr "" #~ msgid "clone metadata" #~ msgstr "clone metadata" -#~ msgid "documents of this type" -#~ msgstr "documents of this type" - #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/documents/locale/bg/LC_MESSAGES/django.po b/mayan/apps/documents/locale/bg/LC_MESSAGES/django.po index f1fcd219b3..42b5160abc 100644 --- a/mayan/apps/documents/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/bg/LC_MESSAGES/django.po @@ -1,102 +1,125 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "Документи" -#: apps.py:98 +#: apps.py:110 +msgid "New pages this month" +msgstr "" + +#: apps.py:119 +#, fuzzy +#| msgid "documents of this type" +msgid "New documents this month" +msgstr "documents of this type" + +#: apps.py:128 +#, fuzzy +#| msgid "Edit documents" +msgid "Total documents" +msgstr "Редактиране на документи" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "" + +#: apps.py:145 msgid "Create a document type" msgstr "" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." msgstr "" -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "" -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "Коментар" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "" @@ -117,12 +140,10 @@ msgid "Document type changed" msgstr "" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -130,248 +151,262 @@ msgstr "" msgid "Document viewed" msgstr "" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "Изображение на страница" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "Бързо преименуване на документ" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "Дата на добавяне" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "mimetype на файла" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "Няма" -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "Размер на файла" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "Съществува в склада" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "Файлов път до склада" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "Контролна сума" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "Страници" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "Вид на документа" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "Компресиране" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "Име на компресирания архив" -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "Името на компресирания архив, съдържащ документите за сваляне, ако предишната опция е избрана." +msgstr "" +"Името на компресирания архив, съдържащ документите за сваляне, ако " +"предишната опция е избрана." -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "Поредица от страници" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "" -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Page transformations" +msgid "Clone transformations" +msgstr "page transformations" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "Сваляне" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "" -#: links.py:144 -msgid "Trash" +#: links.py:151 +msgid "Trash can" msgstr "" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "Изчистване на графичното представяне, използвано да ускори изобразяването на документите и интерактивните промени." +msgstr "" +"Изчистване на графичното представяне, използвано да ускори изобразяването на " +"документите и интерактивните промени." -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "Редактиране" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "" -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "" - #: literals.py:14 msgid "Default" msgstr "По подразбиране" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." +"Amount of time after which documents of this type will be moved to the trash." msgstr "" #: models.py:71 @@ -389,12 +424,10 @@ msgid "" msgstr "" #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -402,99 +435,102 @@ msgstr "" msgid "Documents types" msgstr "" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "Описание" -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "" -#: models.py:169 -msgid "Language" -msgstr "" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." msgstr "" -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "Файл" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" -msgstr "Страница %(page_num)d от общо %(total_pages)d страници от %(document)s документи." +msgstr "" +"Страница %(page_num)d от общо %(total_pages)d страници от %(document)s " +"документи." -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "" +#: models.py:804 +#, fuzzy +#| msgid "Document edited" +msgid "Document page cached image" +msgstr "Document edited" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document page transformations" +msgid "Document page cached images" +msgstr "document page transformations" + +#: models.py:827 msgid "User" msgstr "Потребител" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "" @@ -507,11 +543,10 @@ msgid "Delete documents" msgstr "Изтриване на документи" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "Изтегляне на документи" @@ -528,12 +563,10 @@ msgid "Edit document properties" msgstr "Редактиране на свойства на документа" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -569,288 +602,346 @@ msgstr "Редактиране на вида документи" msgid "View document types" msgstr "Преглед на типовете документи" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." -msgstr "Максимален брой от скорошни (създадени, редактирани, прегледани) документи, които да се показват на потребителя" +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." +msgstr "" +"Максимален брой от скорошни (създадени, редактирани, прегледани) документи, " +"които да се показват на потребителя" -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." -msgstr "Процент приближавани или отдалечаване на страницата на документа, приложен за потребителя" +msgstr "" +"Процент приближавани или отдалечаване на страницата на документа, приложен " +"за потребителя" -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "Максимален процент (%) допустим за интерактивно увеличаване страницата от потребителя" +msgstr "" +"Максимален процент (%) допустим за интерактивно увеличаване страницата от " +"потребителя" -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "Минимален процент (%) допустим за интерактивно смаляване страницата от потребителя" +msgstr "" +"Минимален процент (%) допустим за интерактивно смаляване страницата от " +"потребителя" -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." -msgstr "Градуси на завъртане на страница от документ, при потребителско действие" +msgstr "" +"Градуси на завъртане на страница от документ, при потребителско действие" -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "" -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "" -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "" - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "" - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "" - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "Няма повече страници в този документ" + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "Вече сте на първа страница на този документ" + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "" - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "" -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" msgstr "" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "Всички версии, следващи тази, ще бъдат изтрити." -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "Документа е върнат успешно към предна версия" -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "Грешка при връщане на версията на документа; %s" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" +msgid "Document: %(document)s deleted." msgstr "" -#: views.py:639 -msgid "Empty trash?" +#: views/document_views.py:108 +msgid "Delete the selected documents?" msgstr "" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" msgstr "" -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "Трябва да посочите поне един документ." +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" -#: views.py:704 +#: views/document_views.py:130 +msgid "Change" +msgstr "" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "Are you sure you wish to delete the selected document?" +#| msgid_plural "Are you sure you wish to delete the selected documents?" +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" +msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" + +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Content of document: %s" +msgid "Change the type of the document: %s" +msgstr "versions for document: %s" + +#: views/document_views.py:164 #, python-format msgid "Document type for \"%s\" changed successfully." msgstr "" -#: views.py:716 views.py:1235 -msgid "Submit" -msgstr "Подаване" - -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "" -msgstr[1] "" - -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" msgstr "" -#: views.py:819 -msgid "Documents to be downloaded" +#: views/document_views.py:200 +msgid "Restore the selected document?" msgstr "" -#: views.py:828 -msgid "Date and time" +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." msgstr "" -#: views.py:931 -msgid "At least one document must be selected." +#: views/document_views.py:229 +msgid "Restore the selected documents?" msgstr "" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" msgstr "" -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" msgstr "" -#: views.py:964 +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." +msgstr "" + +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "" + +#: views/document_views.py:519 +#, python-format +msgid "%(count)d document queued for page count recalculation" +msgstr "" + +#: views/document_views.py:522 +#, python-format +msgid "%(count)d documents queued for page count recalculation" +msgstr "" + +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "" msgstr[1] "" -#: views.py:1023 +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Are you sure you wish to reset the page count of this document?" +msgid "Recalculate the page count of the document: %s?" +msgstr "" +"Are you sure you wish to update the page count for the office documents (%d)?" + +#: views/document_views.py:558 +#, python-format +msgid "Transformation clear request processed for %(count)d document" +msgstr "" + +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 +msgid "Clear all the page transformations for the selected document?" +msgid_plural "Clear all the page transformations for the selected document?" +msgstr[0] "" +msgstr[1] "" + +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "" +#| "Are you sure you wish to clear all the page transformations for " +#| "documents: %s?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "" +"Are you sure you wish to clear all the page transformations for documents: " +"%s?" + +#: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "Грешка при изтриването на преобразования на страница на документ %(document)s, %(error)s." +msgstr "" +"Грешка при изтриването на преобразования на страница на документ " +"%(document)s, %(error)s." -#: views.py:1032 -#, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." -msgstr "Всички преобразования на страницата на документ %s бяха изтрити успешно." +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." -#: views.py:1044 -msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" -msgstr[0] "" -msgstr[1] "" +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "Подаване" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "Няма повече страници в този документ" +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "" +#| "Error deleting the page transformations for document: %(document)s; " +#| "%(error)s." +msgid "Clone page transformations for document: %s" +msgstr "" +"Грешка при изтриването на преобразования на страница на документ " +"%(document)s, %(error)s." -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "Вече сте на първа страница на този документ" - -#: views.py:1225 views.py:1234 +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "" + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "Изображение на страница" + +#: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Трябва да посочите поне един документ." + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "" +#~ "Всички преобразования на страницата на документ %s бяха изтрити успешно." + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -914,9 +1005,6 @@ msgstr "" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -927,11 +1015,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -960,9 +1048,6 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" -#~ msgid "Page transformations" -#~ msgstr "page transformations" - #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -1000,20 +1085,9 @@ msgstr "" #~ msgid "Use dictionaries to indentify arguments, example: {'degrees':90}" #~ msgstr "Use dictionaries to indentify arguments, example: %s" -#~ msgid "Document page transformations" -#~ msgstr "document page transformations" - #~ msgid "documents" #~ msgstr "documents" -#~ msgid "Content of document: %s" -#~ msgstr "versions for document: %s" - -#~ msgid "Are you sure you wish to delete the selected document?" -#~ msgid_plural "Are you sure you wish to delete the selected documents?" -#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" -#~ msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" - #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1060,10 +1134,8 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1077,11 +1149,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1098,21 +1170,6 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" -#~ msgid "Are you sure you wish to reset the page count of this document?" -#~ msgstr "" -#~ "Are you sure you wish to update the page count for the office documents " -#~ "(%d)?" - -#~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" -#~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" - -#~ msgid "Document edited" -#~ msgstr "Document edited" - #~ msgid "Version" #~ msgstr "version" @@ -1125,15 +1182,19 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1190,11 +1251,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1218,11 +1279,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1243,9 +1304,11 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1275,11 +1338,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1336,15 +1399,17 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1365,9 +1430,6 @@ msgstr "" #~ msgid "clone metadata" #~ msgstr "clone metadata" -#~ msgid "documents of this type" -#~ msgstr "documents of this type" - #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/documents/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/documents/locale/bs_BA/LC_MESSAGES/django.po index 6d13f3082b..aea9d7108e 100644 --- a/mayan/apps/documents/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/bs_BA/LC_MESSAGES/django.po @@ -1,102 +1,126 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "Dokumenti" -#: apps.py:98 +#: apps.py:110 +msgid "New pages this month" +msgstr "" + +#: apps.py:119 +#, fuzzy +#| msgid "documents of this type" +msgid "New documents this month" +msgstr "documents of this type" + +#: apps.py:128 +#, fuzzy +#| msgid "Edit documents" +msgid "Total documents" +msgstr "Izmijeni dokument" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "" + +#: apps.py:145 msgid "Create a document type" msgstr "" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." msgstr "" -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "MIME tip" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "" -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "Komentar" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "" @@ -117,12 +141,10 @@ msgid "Document type changed" msgstr "" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -130,248 +152,262 @@ msgstr "" msgid "Document viewed" msgstr "" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "Slika za stranicu" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "Brzo preimenuj dokument" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "Datum dodavanja" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "Mimetype datoteke" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "Nijedno" -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "Veličina datoteke" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "Postoji u pohrani" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "Putanja dokumenta u pohrani" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "Checksum" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "Stranice" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "Tip dokumenta" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "Kompresuj" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "Naziv kompresovane datoteke" -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "Naziv kompresovane datoteke koji sadrži dokumente koji su za download, ako je ova opcija odabrana." +msgstr "" +"Naziv kompresovane datoteke koji sadrži dokumente koji su za download, ako " +"je ova opcija odabrana." -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "Opseg stranice" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "" -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Page transformations" +msgid "Clone transformations" +msgstr "page transformations" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "Download" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "" -#: links.py:144 -msgid "Trash" +#: links.py:151 +msgid "Trash can" msgstr "" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "Obriši grafičku prezentaciju korištenu za ubrzanje prikaza dokumenata i interaktivnu transformaciju rezultata." +msgstr "" +"Obriši grafičku prezentaciju korištenu za ubrzanje prikaza dokumenata i " +"interaktivnu transformaciju rezultata." -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "Urediti" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "" -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "" - #: literals.py:14 msgid "Default" msgstr "default" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." +"Amount of time after which documents of this type will be moved to the trash." msgstr "" #: models.py:71 @@ -389,12 +425,10 @@ msgid "" msgstr "" #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -402,99 +436,100 @@ msgstr "" msgid "Documents types" msgstr "" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "Opis" -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "" -#: models.py:169 -msgid "Language" -msgstr "" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." msgstr "" -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "Datoteka" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" msgstr "Stranica %(page_num)d od ukupno %(total_pages)d u %(document)s" -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "" +#: models.py:804 +#, fuzzy +#| msgid "Document edited" +msgid "Document page cached image" +msgstr "Document edited" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document page transformations" +msgid "Document page cached images" +msgstr "document page transformations" + +#: models.py:827 msgid "User" msgstr "Korisnik" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "" @@ -507,11 +542,10 @@ msgid "Delete documents" msgstr "Obriši dokumente" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "Download dokumenata" @@ -528,12 +562,10 @@ msgid "Edit document properties" msgstr "Izmijeni osobine dokumenta" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -569,291 +601,341 @@ msgstr "Izmijeni tipove dokumenata" msgid "View document types" msgstr "Pregledaj tipove dokumenata" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." -msgstr "Maksimalni broj nedavnih (kreiran, izmijenjen, pregledan) dokumenata za pamćenje po korisniku." +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." +msgstr "" +"Maksimalni broj nedavnih (kreiran, izmijenjen, pregledan) dokumenata za " +"pamćenje po korisniku." -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." msgstr "Iznos u procentima zumiranja stranice dokumenta po korisničkoj sesiji." -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "Maksimalni dozvoljeni iznos u procentima (%) korisniku da zumira stranicu dokumenta." +msgstr "" +"Maksimalni dozvoljeni iznos u procentima (%) korisniku da zumira stranicu " +"dokumenta." -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "Minimalni dozvoljeni iznos u procentima (%) po korisniku da zumira stranicu dokumenta." +msgstr "" +"Minimalni dozvoljeni iznos u procentima (%) po korisniku da zumira stranicu " +"dokumenta." -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." msgstr "Iznos u stepenima za rotaciju stranice dokumenta po korisniku." -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "" -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "" -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "" - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "" - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "" - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "Ovaj dokument nema više stranica." + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "Već ste na prvoj stranici ovog dokumenta" + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "" - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "" -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" msgstr "" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "Sve naknadne verzije nakon ove će također biti obrisane." -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "Verzija dokumenta uspješno vraćena" -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "Greška pri vraćanju verzije dokumenta; %s" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" +msgid "Document: %(document)s deleted." msgstr "" -#: views.py:639 -msgid "Empty trash?" +#: views/document_views.py:108 +msgid "Delete the selected documents?" msgstr "" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" msgstr "" -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "Mora biti barem jedan dokument." +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" -#: views.py:704 +#: views/document_views.py:130 +msgid "Change" +msgstr "" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "Are you sure you wish to delete the selected document?" +#| msgid_plural "Are you sure you wish to delete the selected documents?" +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" +msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" +msgstr[2] "ee02f3189246f97d6734a407f6f9040b_pl_2" + +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Content of document: %s" +msgid "Change the type of the document: %s" +msgstr "versions for document: %s" + +#: views/document_views.py:164 #, python-format msgid "Document type for \"%s\" changed successfully." msgstr "" -#: views.py:716 views.py:1235 -msgid "Submit" -msgstr "Podnijeti" - -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" msgstr "" -#: views.py:819 -msgid "Documents to be downloaded" +#: views/document_views.py:200 +msgid "Restore the selected document?" msgstr "" -#: views.py:828 -msgid "Date and time" +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." msgstr "" -#: views.py:931 -msgid "At least one document must be selected." +#: views/document_views.py:229 +msgid "Restore the selected documents?" msgstr "" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" msgstr "" -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" msgstr "" -#: views.py:964 +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." +msgstr "" + +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "" + +#: views/document_views.py:519 +#, python-format +msgid "%(count)d document queued for page count recalculation" +msgstr "" + +#: views/document_views.py:522 +#, python-format +msgid "%(count)d documents queued for page count recalculation" +msgstr "" + +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: views.py:1023 +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Are you sure you wish to reset the page count of this document?" +msgid "Recalculate the page count of the document: %s?" +msgstr "" +"Are you sure you wish to update the page count for the office documents (%d)?" + +#: views/document_views.py:558 +#, python-format +msgid "Transformation clear request processed for %(count)d document" +msgstr "" + +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 +msgid "Clear all the page transformations for the selected document?" +msgid_plural "Clear all the page transformations for the selected document?" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "" +#| "Are you sure you wish to clear all the page transformations for " +#| "documents: %s?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "" +"Are you sure you wish to clear all the page transformations for documents: " +"%s?" + +#: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." msgstr "Greška brisanja transformacija za dokument: %(document)s; %(error)s." -#: views.py:1032 -#, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." -msgstr "Sve transformacije stranica za dokument: %s, su uspješno obrisane." +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." -#: views.py:1044 -msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "Podnijeti" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "Ovaj dokument nema više stranica." +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "" +#| "Error deleting the page transformations for document: %(document)s; " +#| "%(error)s." +msgid "Clone page transformations for document: %s" +msgstr "Greška brisanja transformacija za dokument: %(document)s; %(error)s." -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "Već ste na prvoj stranici ovog dokumenta" - -#: views.py:1225 views.py:1234 +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "" + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "Slika za stranicu" + +#: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Mora biti barem jedan dokument." + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "Sve transformacije stranica za dokument: %s, su uspješno obrisane." + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -917,9 +999,6 @@ msgstr "" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -930,11 +1009,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -963,9 +1042,6 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" -#~ msgid "Page transformations" -#~ msgstr "page transformations" - #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -1003,21 +1079,9 @@ msgstr "" #~ msgid "Use dictionaries to indentify arguments, example: {'degrees':90}" #~ msgstr "Use dictionaries to indentify arguments, example: %s" -#~ msgid "Document page transformations" -#~ msgstr "document page transformations" - #~ msgid "documents" #~ msgstr "documents" -#~ msgid "Content of document: %s" -#~ msgstr "versions for document: %s" - -#~ msgid "Are you sure you wish to delete the selected document?" -#~ msgid_plural "Are you sure you wish to delete the selected documents?" -#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" -#~ msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" -#~ msgstr[2] "ee02f3189246f97d6734a407f6f9040b_pl_2" - #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1064,10 +1128,8 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1081,11 +1143,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1102,21 +1164,6 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" -#~ msgid "Are you sure you wish to reset the page count of this document?" -#~ msgstr "" -#~ "Are you sure you wish to update the page count for the office documents " -#~ "(%d)?" - -#~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" -#~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" - -#~ msgid "Document edited" -#~ msgstr "Document edited" - #~ msgid "Version" #~ msgstr "version" @@ -1129,15 +1176,19 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1194,11 +1245,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1222,11 +1273,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1247,9 +1298,11 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1279,11 +1332,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1340,15 +1393,17 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1369,9 +1424,6 @@ msgstr "" #~ msgid "clone metadata" #~ msgstr "clone metadata" -#~ msgid "documents of this type" -#~ msgstr "documents of this type" - #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/documents/locale/da/LC_MESSAGES/django.po b/mayan/apps/documents/locale/da/LC_MESSAGES/django.po index cb82180756..b64e128958 100644 --- a/mayan/apps/documents/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/da/LC_MESSAGES/django.po @@ -1,102 +1,125 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "Dokumenter" -#: apps.py:98 +#: apps.py:110 +msgid "New pages this month" +msgstr "" + +#: apps.py:119 +#, fuzzy +#| msgid "documents of this type" +msgid "New documents this month" +msgstr "documents of this type" + +#: apps.py:128 +#, fuzzy +#| msgid "Edit documents" +msgid "Total documents" +msgstr "Redigér dokumenter" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "" + +#: apps.py:145 msgid "Create a document type" msgstr "" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." msgstr "" -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "MIME type" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "" -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "Kommentar" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "" @@ -117,12 +140,10 @@ msgid "Document type changed" msgstr "" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -130,248 +151,262 @@ msgstr "" msgid "Document viewed" msgstr "" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "Side billede" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "Hurtig dokument omdøbning" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "Dato tilføjet" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "File MIME-type" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "Ingen" -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "Fil størrelse" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "Eksisterer i opbevaring" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "Filsti i opbevaring" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "Checksum" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "Sider" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "Dokumenttype" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "Komprimér" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "Pakket filnavn" -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "Filnavnet for den pakkede fil, der vil indeholde dokumenterne til download. Dette hvis den tidligere mulighed er valg." +msgstr "" +"Filnavnet for den pakkede fil, der vil indeholde dokumenterne til download. " +"Dette hvis den tidligere mulighed er valg." -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "Sideinterval" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "" -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Page transformations" +msgid "Clone transformations" +msgstr "page transformations" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "Hent" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "" -#: links.py:144 -msgid "Trash" +#: links.py:151 +msgid "Trash can" msgstr "" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "Fjern grafiske repræsentationer brugt til at fremskynde visning af de dokumenter og interaktivt transformerede resultater." +msgstr "" +"Fjern grafiske repræsentationer brugt til at fremskynde visning af de " +"dokumenter og interaktivt transformerede resultater." -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "" -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "" - #: literals.py:14 msgid "Default" msgstr "Standard" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." +"Amount of time after which documents of this type will be moved to the trash." msgstr "" #: models.py:71 @@ -389,12 +424,10 @@ msgid "" msgstr "" #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -402,99 +435,100 @@ msgstr "" msgid "Documents types" msgstr "" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "Beskrivelse" -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "" -#: models.py:169 -msgid "Language" -msgstr "" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." msgstr "" -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "Fil" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" msgstr "Side %(page_num)d ud af %(total_pages)d i %(document)s " -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "" +#: models.py:804 +#, fuzzy +#| msgid "Document edited" +msgid "Document page cached image" +msgstr "Document edited" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document page transformations" +msgid "Document page cached images" +msgstr "document page transformations" + +#: models.py:827 msgid "User" msgstr "Bruger" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "" @@ -507,11 +541,10 @@ msgid "Delete documents" msgstr "Slet dokumenter" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "Hent dokumenter" @@ -528,12 +561,10 @@ msgid "Edit document properties" msgstr "Redigér dokumentegenskaber" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -569,288 +600,342 @@ msgstr "Redigér dokumenttyper" msgid "View document types" msgstr "Vis dokumenttyper" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." -msgstr "Maksimalt antal seneste (oprettet, redigeret, set) dokumenter der huskes per bruger." +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." +msgstr "" +"Maksimalt antal seneste (oprettet, redigeret, set) dokumenter der huskes per " +"bruger." -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." msgstr "Procent zoom ind eller ud af en dokument side pr brugerinteraktion." -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "Maksimal mængde i procent (%) en bruger kan zoome i et dokuments side interaktivt." +msgstr "" +"Maksimal mængde i procent (%) en bruger kan zoome i et dokuments side " +"interaktivt." -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "Minimum procent (%) en brugeren er tilladt at zoome ud af en dokumentside interaktivt." +msgstr "" +"Minimum procent (%) en brugeren er tilladt at zoome ud af en dokumentside " +"interaktivt." -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." msgstr "Antal grader en dokumentside roterer pr brugerinteraktion." -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "" -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "" -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "" - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "" - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "" - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "Der er ikke flere sider i dette dokument" + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "Du er allerede på den første side af dette dokument" + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "" - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "" -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" msgstr "" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "Alle senere versioner af denne vil også blive slettet." -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "Tidligere dokumentversion genskabt" -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "Fejl ved genskabelse af dokumentversion; %s" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" +msgid "Document: %(document)s deleted." msgstr "" -#: views.py:639 -msgid "Empty trash?" +#: views/document_views.py:108 +msgid "Delete the selected documents?" msgstr "" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" msgstr "" -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "Angiv mindst ét ​​dokument." +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" -#: views.py:704 +#: views/document_views.py:130 +msgid "Change" +msgstr "" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "Are you sure you wish to delete the selected document?" +#| msgid_plural "Are you sure you wish to delete the selected documents?" +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" +msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" + +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Content of document: %s" +msgid "Change the type of the document: %s" +msgstr "versions for document: %s" + +#: views/document_views.py:164 #, python-format msgid "Document type for \"%s\" changed successfully." msgstr "" -#: views.py:716 views.py:1235 -msgid "Submit" +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" msgstr "" -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "" -msgstr[1] "" - -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." +#: views/document_views.py:200 +msgid "Restore the selected document?" msgstr "" -#: views.py:819 -msgid "Documents to be downloaded" +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." msgstr "" -#: views.py:828 -msgid "Date and time" +#: views/document_views.py:229 +msgid "Restore the selected documents?" msgstr "" -#: views.py:931 -msgid "At least one document must be selected." +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" msgstr "" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" msgstr "" -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." msgstr "" -#: views.py:964 +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "" + +#: views/document_views.py:519 +#, python-format +msgid "%(count)d document queued for page count recalculation" +msgstr "" + +#: views/document_views.py:522 +#, python-format +msgid "%(count)d documents queued for page count recalculation" +msgstr "" + +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "" msgstr[1] "" -#: views.py:1023 +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Are you sure you wish to reset the page count of this document?" +msgid "Recalculate the page count of the document: %s?" +msgstr "" +"Are you sure you wish to update the page count for the office documents (%d)?" + +#: views/document_views.py:558 +#, python-format +msgid "Transformation clear request processed for %(count)d document" +msgstr "" + +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 +msgid "Clear all the page transformations for the selected document?" +msgid_plural "Clear all the page transformations for the selected document?" +msgstr[0] "" +msgstr[1] "" + +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "" +#| "Are you sure you wish to clear all the page transformations for " +#| "documents: %s?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "" +"Are you sure you wish to clear all the page transformations for documents: " +"%s?" + +#: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "Fejl ved sletning af sidens transformationer for dokument: %(document)s ; %(error)s ." +msgstr "" +"Fejl ved sletning af sidens transformationer for dokument: %(document)s ; " +"%(error)s ." -#: views.py:1032 -#, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." -msgstr "Alle side transformationer for dokument: %s, er blevet slettet." +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." -#: views.py:1044 -msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" -msgstr[0] "" -msgstr[1] "" +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "Der er ikke flere sider i dette dokument" +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "" +#| "Error deleting the page transformations for document: %(document)s; " +#| "%(error)s." +msgid "Clone page transformations for document: %s" +msgstr "" +"Fejl ved sletning af sidens transformationer for dokument: %(document)s ; " +"%(error)s ." -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "Du er allerede på den første side af dette dokument" - -#: views.py:1225 views.py:1234 +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "" + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "Side billede" + +#: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Angiv mindst ét ​​dokument." + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "Alle side transformationer for dokument: %s, er blevet slettet." + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -914,9 +999,6 @@ msgstr "" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -927,11 +1009,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -960,9 +1042,6 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" -#~ msgid "Page transformations" -#~ msgstr "page transformations" - #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -1000,20 +1079,9 @@ msgstr "" #~ msgid "Use dictionaries to indentify arguments, example: {'degrees':90}" #~ msgstr "Use dictionaries to indentify arguments, example: %s" -#~ msgid "Document page transformations" -#~ msgstr "document page transformations" - #~ msgid "documents" #~ msgstr "documents" -#~ msgid "Content of document: %s" -#~ msgstr "versions for document: %s" - -#~ msgid "Are you sure you wish to delete the selected document?" -#~ msgid_plural "Are you sure you wish to delete the selected documents?" -#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" -#~ msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" - #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1060,10 +1128,8 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1077,11 +1143,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1098,21 +1164,6 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" -#~ msgid "Are you sure you wish to reset the page count of this document?" -#~ msgstr "" -#~ "Are you sure you wish to update the page count for the office documents " -#~ "(%d)?" - -#~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" -#~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" - -#~ msgid "Document edited" -#~ msgstr "Document edited" - #~ msgid "Version" #~ msgstr "version" @@ -1125,15 +1176,19 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1190,11 +1245,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1218,11 +1273,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1243,9 +1298,11 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1275,11 +1332,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1336,15 +1393,17 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1365,9 +1424,6 @@ msgstr "" #~ msgid "clone metadata" #~ msgstr "clone metadata" -#~ msgid "documents of this type" -#~ msgstr "documents of this type" - #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/documents/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/documents/locale/de_DE/LC_MESSAGES/django.po index 1bd46e69a1..6f9a9b2153 100644 --- a/mayan/apps/documents/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Berny , 2015-2016 @@ -11,95 +11,122 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-31 19:06+0000\n" "Last-Translator: Tobias Paepke \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "Dokumente" -#: apps.py:98 +#: apps.py:110 +#, fuzzy +#| msgid "New document pages per month" +msgid "New pages this month" +msgstr "Neue Dokumentenseiten pro Monat" + +#: apps.py:119 +#, fuzzy +#| msgid "New documents per month" +msgid "New documents this month" +msgstr "Neue Dokumente pro Monat" + +#: apps.py:128 +#, fuzzy +#| msgid "Trash documents" +msgid "Total documents" +msgstr "Dokumente in den Papierkorb verschieben" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "Dokumententypen" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "Dokumente im Papierkorb" + +#: apps.py:145 msgid "Create a document type" msgstr "Dokumententyp erstellen" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." -msgstr "Jedes hochgeladene Dokument muss einen Dokumententyp zugewiesen bekommen, da Mayan EDMS Dokumente auf der Grundlage von Dokumententypen kategorisiert. " +msgstr "" +"Jedes hochgeladene Dokument muss einen Dokumententyp zugewiesen bekommen, da " +"Mayan EDMS Dokumente auf der Grundlage von Dokumententypen kategorisiert. " -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "Bezeichner" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "Der MIME-Typ der jeweiligen Dokumentenversion" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "MIME Typ" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "Miniaturbild" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "Typ" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "Aktiviert" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "Zeitpunkt der Löschung" -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "Zeit und Datum" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "Kodierung" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "Kommentar" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "Neue Dokumente pro Monat" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "Neue Dokumentenversionen pro Monat" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "Neue Dokumentenseiten pro Monat" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "Summe der Dokumente im Monat" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "Summe der Dokumentenversionen im Monat" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "Summe der Dokumentenseiten im Monat" @@ -120,12 +147,10 @@ msgid "Document type changed" msgstr "Dokumententyp geändert" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "Neue Dokumentenversion hochgeladen." #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "Dokumentenversion wurde erfolgreich wiederhergestellt" @@ -133,249 +158,270 @@ msgstr "Dokumentenversion wurde erfolgreich wiederhergestellt" msgid "Document viewed" msgstr "Dokument angezeigt" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "Seitenbild" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "Dokumentseiten (%d)" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "Dokument schnell umbenennen" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "Hinzugefügt am" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "Sprache" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "Datei MIME Type" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "Keine" -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "Dateikodierung" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "Dateigröße" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "Im Dateispeicher" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "Pfad im Dateispeicher" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "Prüfsumme" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "Seiten" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "Dokumententyp" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "Komprimieren" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." -msgstr "Datei im Originalformat oder als komprimiertes Archiv herunterladen. Diese Option ist nur wählbar, wenn ein einzelnes Dokument heruntergeladen wird. Mehrere Dateien werden immer als komprimiertes Archiv heruntergeladen." +msgstr "" +"Datei im Originalformat oder als komprimiertes Archiv herunterladen. Diese " +"Option ist nur wählbar, wenn ein einzelnes Dokument heruntergeladen wird. " +"Mehrere Dateien werden immer als komprimiertes Archiv heruntergeladen." -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "Name der komprimierten Datei" -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "Name der komprimierten Datei, die die Dokumente zum Download beeinhaltet, wenn die vorherige Option gewählt wurde." +msgstr "" +"Name der komprimierten Datei, die die Dokumente zum Download beeinhaltet, " +"wenn die vorherige Option gewählt wurde." -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "Seitenbereich" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "Vorschau" -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "Eigenschaften" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "Versionen" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "Transformationen löschen" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Clear transformations" +msgid "Clone transformations" +msgstr "Transformationen löschen" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "Löschen" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "In den Papierkorb verschieben" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "Eigenschaften bearbeiten" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "Typ ändern" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "Herunterladen" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "Drucken" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "Seitenzählung korrigieren" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "Wiederherstellen" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "Version herunterladen" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "Alle Dokumente" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "Letzte Dokumente" -#: links.py:144 -msgid "Trash" +#: links.py:151 +#, fuzzy +#| msgid "Trash" +msgid "Trash can" msgstr "Papierkorb" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "Grafiken löschen, die benutzt werden um die Dokumentendarstellung und interaktive Transformationsausgabe zu beschleunigen." +msgstr "" +"Grafiken löschen, die benutzt werden um die Dokumentendarstellung und " +"interaktive Transformationsausgabe zu beschleunigen." -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "Dokumentenbildercache löschen" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "Papierkorb leeren" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "Erste Seite" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "Letzte Seite" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "Vorherige Seite" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "Nächste Seite" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "Dokument" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "Nach links drehen" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "Nach rechts drehen" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "Ansicht zurücksetzen" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "Ansicht vergößern" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "Ansicht verkleinern" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "Wiederherstellen" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "Dokumententypen erstellen" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "Bearbeiten" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "Schnellbezeichner zu Dokumententyp hinzufügen" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "Schnellbezeichner" -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "Dokumententypen" - #: literals.py:14 msgid "Default" msgstr "Standard" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "Alle Seiten" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." -msgstr "Zeitspanne nach der Dokumente dieses Typs in den Papierkorb verschoben werden." +"Amount of time after which documents of this type will be moved to the trash." +msgstr "" +"Zeitspanne nach der Dokumente dieses Typs in den Papierkorb verschoben " +"werden." #: models.py:71 msgid "Trash time period" @@ -389,15 +435,15 @@ msgstr "Einheit (Papierkorb)" msgid "" "Amount of time after which documents of this type in the trash will be " "deleted." -msgstr "Zeitspanne nach der Dokumente dieses Typs die sich im Papierkorb befinden endgültig gelöscht werden." +msgstr "" +"Zeitspanne nach der Dokumente dieses Typs die sich im Papierkorb befinden " +"endgültig gelöscht werden." #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "Endgültig löschen nach" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "Einheit (Löschen)" @@ -405,99 +451,103 @@ msgstr "Einheit (Löschen)" msgid "Documents types" msgstr "Dokumententypen" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "Name des Dokuments" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "Beschreibung" -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "Hinzugefügt" -#: models.py:169 -msgid "Language" -msgstr "Sprache" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "Im Papierkorb?" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "Zeitpunkt der Löschung" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." -msgstr "Ein Fragment ist ein Dokument mit einem Eintrag in der Datenbank, für das keine Datei hochgeladen wurde. Die Ursache könnte ein fehlgeschlagener Uploadvorgang sein oder ein verzögerter Upload über die API-Schnittstelle." +msgstr "" +"Ein Fragment ist ein Dokument mit einem Eintrag in der Datenbank, für das " +"keine Datei hochgeladen wurde. Die Ursache könnte ein fehlgeschlagener " +"Uploadvorgang sein oder ein verzögerter Upload über die API-Schnittstelle." -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "Inkomplett" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "Fragment, ID: %d" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "Zeitstempel" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "Datei" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "Dokumentenversion" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "Schnellbezeichner" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "Seitennummer" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" msgstr "Seite %(page_num)d von %(total_pages)d des Dokuments %(document)s" -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "Dokumentenseite" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "Dokumentenseiten" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "Akutialisierungsschutz" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "Aktualisierungsschutz" +#: models.py:804 +#, fuzzy +#| msgid "Document page image" +msgid "Document page cached image" +msgstr "Dokumentenseitenbild" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document page image" +msgid "Document page cached images" +msgstr "Dokumentenseitenbild" + +#: models.py:827 msgid "User" msgstr "Benutzer" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "Letzter Zugriff" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "Letztes Dokument" @@ -510,11 +560,10 @@ msgid "Delete documents" msgstr "Dokumente löschen" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "Dokumente in den Papierkorb verschieben" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "Dokumente herunterladen" @@ -531,12 +580,10 @@ msgid "Edit document properties" msgstr "Dokumenteneigenschaften bearbeiten" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "Dukumente drucken" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "Dokument aus Papierkorb wiederherstellen" @@ -572,288 +619,376 @@ msgstr "Dokumententypen bearbeiten" msgid "View document types" msgstr "Dokumententypen anzeigen" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." -msgstr "Maximale Anzahl der letzten Dokumente (erstellt, bearbeitet, angezeigt) pro Benutzer." +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." +msgstr "" +"Maximale Anzahl der letzten Dokumente (erstellt, bearbeitet, angezeigt) pro " +"Benutzer." -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." -msgstr "Betrag in Prozent für Ansicht vergrößern/verkleinern pro Benutzer Aktion." +msgstr "" +"Betrag in Prozent für Ansicht vergrößern/verkleinern pro Benutzer Aktion." -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." msgstr "Maximaler erlaubter Zoom in %, den Benutzer interaktiv wählen können." -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." msgstr "Minimaler erlaubter Zoom in %, den Benutzer interaktiv wählen können." -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." msgstr "Gradzahl, die ein Dokument pro Benutzer Aktion gedreht wird." -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "Standarddokumentensprache (im ISO639-2 Format)" -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "Liste der unterstützen Dokumentensprachen" -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "Dokumentenbildercache löschen?" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "Löschung des Dokumentenbildcaches erfolgreich eingereiht." - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "Dokumente im Papierkorb" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "Das ausgwählte Dokument löschen?" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "Dokument %(document)s gelöscht." - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "Die ausgwählten Dokumente löschen?" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "Eigenschaften von Dokument \"%s\" bearbeiten" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "Das ausgwählte Dokument wiederherstellen?" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "Dokument %(document)s wiederhergestellt" - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "Die ausgwählten Dokumente wiederherstellen?" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "Seiten des Dokuments: %s" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "Keine weiteren Seiten in diesem Dokument" + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "Sie sind bereits auf der ersten Seite dieses Dokuments" + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "Seitenbild für %s" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "Vorschau von Dokument %s" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "\"%s\" in den Papierkorb verschieben?" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "Dokument \"%(document)s\" erfolgreich in den Papierkorb verschoben." - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "Die ausgewählten Dokumente in den Papierkorb verschieben?" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "Dokumente des Typs: %s" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "Alle Dokumente dieses Typs werden auch gelöscht." -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "Dokumententyp %s löschen?" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "Dokumententyp %s bearbeiten" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "Schnellbezeichner erstellen für Dokumentenyp %s" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" -msgstr "Schnellbezeichner \"%(filename)s\" von Dokumententyp \"%(document_type)s\" bearbeiten" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgstr "" +"Schnellbezeichner \"%(filename)s\" von Dokumententyp \"%(document_type)s\" " +"bearbeiten" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" -msgstr "Schnellbezeichner %(label)s von Dokumententyp \"%(document_type)s\" löschen?" +msgstr "" +"Schnellbezeichner %(label)s von Dokumententyp \"%(document_type)s\" löschen?" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "Schnellbezeichner für Dokumententyp %s" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "Versionen von Dokument %s" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "Alle späteren Versionen dieses Dokuments werden ebenfalls gelöscht." -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "Diese Dokumentenversion wiederherstellen?" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "Dokument wurde erfolgreich wiederhergestellt" -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "Fehler beim Wiederherstellen der Dokumentenversion %s" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "Das ausgwählte Dokument löschen?" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" -msgstr "Eigenschaften von Dokument %s" +msgid "Document: %(document)s deleted." +msgstr "Dokument %(document)s gelöscht." -#: views.py:639 -msgid "Empty trash?" -msgstr "Papierkorb leeren" +#: views/document_views.py:108 +msgid "Delete the selected documents?" +msgstr "Die ausgwählten Dokumente löschen?" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" -msgstr "Papierkorb erfolgreich gelöscht." +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" +msgstr "" -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "Es muss mindestens ein Dokument angegeben werden." +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" -#: views.py:704 +#: views/document_views.py:130 +#, fuzzy +#| msgid "Change type" +msgid "Change" +msgstr "Typ ändern" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "Change the type of the selected document." +#| msgid_plural "Change the type of the selected documents." +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "Den Typ des ausgewählten Dokuments ändern." +msgstr[1] "Den Typ der ausgewählten Dokumente ändern." + +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Change the type of the selected document." +#| msgid_plural "Change the type of the selected documents." +msgid "Change the type of the document: %s" +msgstr "Den Typ des ausgewählten Dokuments ändern." + +#: views/document_views.py:164 #, python-format msgid "Document type for \"%s\" changed successfully." msgstr "Dokumententyp für \"%s\" erfolgreich geändert" -#: views.py:716 views.py:1235 -msgid "Submit" -msgstr "Ändern" +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" +msgstr "Eigenschaften von Dokument \"%s\" bearbeiten" -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "Den Typ des ausgewählten Dokuments ändern." -msgstr[1] "Den Typ der ausgewählten Dokumente ändern." +#: views/document_views.py:200 +msgid "Restore the selected document?" +msgstr "Das ausgwählte Dokument wiederherstellen?" -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." -msgstr "Es muss mindestens eine Dokumentenversion angegeben werden." +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." +msgstr "Dokument %(document)s wiederhergestellt" -#: views.py:819 -msgid "Documents to be downloaded" -msgstr "Herunterzuladende Dokumente" +#: views/document_views.py:229 +msgid "Restore the selected documents?" +msgstr "Die ausgwählten Dokumente wiederherstellen?" -#: views.py:828 -msgid "Date and time" -msgstr "Datum und Zeit" +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" +msgstr "Vorschau von Dokument %s" -#: views.py:931 -msgid "At least one document must be selected." -msgstr "Es muss mindestens ein Dokument ausgewählt werden." +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" +msgstr "\"%s\" in den Papierkorb verschieben?" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." +msgstr "Dokument \"%(document)s\" erfolgreich in den Papierkorb verschoben." + +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "Die ausgewählten Dokumente in den Papierkorb verschieben?" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "Eigenschaften von Dokument %s" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "Papierkorb leeren" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "Papierkorb erfolgreich gelöscht." + +#: views/document_views.py:519 +#, fuzzy, python-format +#| msgid "Document queued for page count recalculation." +msgid "%(count)d document queued for page count recalculation" msgstr "Dokument eingereiht für Neuberechnung der Seitenzahl" -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:522 +#, fuzzy, python-format +#| msgid "Documents queued for page count recalculation." +msgid "%(count)d documents queued for page count recalculation" msgstr "Dokumente eingereiht für Neuberechnung der Seitenzahlen." -#: views.py:964 +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "Seitenzahl des ausgewählten Dokuments neu berechnen?" msgstr[1] "Seitenzahl der ausgewählten Dokumente neu berechnen?" -#: views.py:1023 +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Recalculate the page count of the selected document?" +#| msgid_plural "Recalculate the page count of the selected documents?" +msgid "Recalculate the page count of the document: %s?" +msgstr "Seitenzahl des ausgewählten Dokuments neu berechnen?" + +#: views/document_views.py:558 +#, python-format +msgid "Transformation clear request processed for %(count)d document" +msgstr "" + +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 +#, fuzzy +#| msgid "Clear all the page transformations for the selected document?" +#| msgid_plural "" +#| "Clear all the page transformations for the selected documents?" +msgid "Clear all the page transformations for the selected document?" +msgid_plural "Clear all the page transformations for the selected document?" +msgstr[0] "" +"Sind Sie sicher, dass Sie die Transformationen des ausgewählten Dokuments " +"zurücksetzen wollen?" +msgstr[1] "" +"Sind Sie sicher, dass Sie die Transformationen der ausgewählten Dokumente " +"zurücksetzen wollen?" + +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "Clear all the page transformations for the selected document?" +#| msgid_plural "" +#| "Clear all the page transformations for the selected documents?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "" +"Sind Sie sicher, dass Sie die Transformationen des ausgewählten Dokuments " +"zurücksetzen wollen?" + +#: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "Fehler beim Löschen der Seitentransformation von %(document)s; %(error)s" +msgstr "" +"Fehler beim Löschen der Seitentransformation von %(document)s; %(error)s" -#: views.py:1032 -#, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." -msgstr "Alle Seitentransformationen für Dokument %s wurden erfolgreich gelöscht." +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." -#: views.py:1044 -msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" -msgstr[0] "Sind Sie sicher, dass Sie die Transformationen des ausgewählten Dokuments zurücksetzen wollen?" -msgstr[1] "Sind Sie sicher, dass Sie die Transformationen der ausgewählten Dokumente zurücksetzen wollen?" +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "Ändern" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "Keine weiteren Seiten in diesem Dokument" +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "Clear all the page transformations for the selected document?" +#| msgid_plural "" +#| "Clear all the page transformations for the selected documents?" +msgid "Clone page transformations for document: %s" +msgstr "" +"Sind Sie sicher, dass Sie die Transformationen des ausgewählten Dokuments " +"zurücksetzen wollen?" -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "Sie sind bereits auf der ersten Seite dieses Dokuments" - -#: views.py:1225 views.py:1234 +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "%s drucken" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "Dokumentenbildercache löschen?" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "Löschung des Dokumentenbildcaches erfolgreich eingereiht." + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "Seite %(page_number)d von %(total_pages)d" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "Seitenbild" + +#: widgets.py:242 msgid "Document page image" msgstr "Dokumentenseitenbild" +#~| msgid "Version update" +#~ msgid "New version block" +#~ msgstr "Akutialisierungsschutz" + +#~| msgid "Version update" +#~ msgid "New version blocks" +#~ msgstr "Aktualisierungsschutz" + +#~ msgid "Must provide at least one document." +#~ msgstr "Es muss mindestens ein Dokument angegeben werden." + +#~| msgid "Must provide at least one document." +#~ msgid "Must provide at least one document or version." +#~ msgstr "Es muss mindestens eine Dokumentenversion angegeben werden." + +#~ msgid "Documents to be downloaded" +#~ msgstr "Herunterzuladende Dokumente" + +#~ msgid "Date and time" +#~ msgstr "Datum und Zeit" + +#~ msgid "At least one document must be selected." +#~ msgstr "Es muss mindestens ein Dokument ausgewählt werden." + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "" +#~ "Alle Seitentransformationen für Dokument %s wurden erfolgreich gelöscht." + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -917,9 +1052,6 @@ msgstr "Dokumentenseitenbild" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -930,11 +1062,11 @@ msgstr "Dokumentenseitenbild" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1063,10 +1195,8 @@ msgstr "Dokumentenseitenbild" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1080,11 +1210,11 @@ msgstr "Dokumentenseitenbild" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1107,11 +1237,11 @@ msgstr "Dokumentenseitenbild" #~ "(%d)?" #~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" +#~ "Are you sure you wish to clear all the page transformations for " +#~ "documents: %s?" #~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" +#~ "Are you sure you wish to clear all the page transformations for " +#~ "documents: %s?" #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1128,15 +1258,19 @@ msgstr "Dokumentenseitenbild" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1193,11 +1327,11 @@ msgstr "Dokumentenseitenbild" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1221,11 +1355,11 @@ msgstr "Dokumentenseitenbild" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1246,9 +1380,11 @@ msgstr "Dokumentenseitenbild" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1278,11 +1414,11 @@ msgstr "Dokumentenseitenbild" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1339,15 +1475,17 @@ msgstr "Dokumentenseitenbild" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" diff --git a/mayan/apps/documents/locale/en/LC_MESSAGES/django.po b/mayan/apps/documents/locale/en/LC_MESSAGES/django.po index 48cc22a2d2..eebb6ed96b 100644 --- a/mayan/apps/documents/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2013-11-20 11:36+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" @@ -18,94 +18,124 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "Documents" -#: apps.py:98 +#: apps.py:110 +#, fuzzy +#| msgid "View document types" +msgid "New pages this month" +msgstr "View document types" + +#: apps.py:119 +#, fuzzy +#| msgid "New document filename" +msgid "New documents this month" +msgstr "New document filename" + +#: apps.py:128 +#, fuzzy +#| msgid "Transform documents" +msgid "Total documents" +msgstr "Transform documents" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +#, fuzzy +msgid "Document types" +msgstr "Document type" + +#: apps.py:140 views/document_views.py:69 +#, fuzzy +#| msgid "Documents in storage: %d" +msgid "Documents in trash" +msgstr "Documents in storage: %d" + +#: apps.py:145 #, fuzzy msgid "Create a document type" msgstr "Create document types" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." msgstr "" -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "MIME type" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 #, fuzzy msgid "Thumbnail" msgstr "thumbnail" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 #, fuzzy msgid "Enabled" msgstr "enabled" -#: apps.py:188 +#: apps.py:253 #, fuzzy msgid "Date time trashed" msgstr "Date added" -#: apps.py:193 +#: apps.py:258 #, fuzzy msgid "Time and date" msgstr "time and date" -#: apps.py:201 views.py:830 +#: apps.py:266 #, fuzzy msgid "Encoding" msgstr "encoding" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "Comment" -#: apps.py:387 +#: apps.py:456 #, fuzzy #| msgid "New document filename" msgid "New documents per month" msgstr "New document filename" -#: apps.py:394 +#: apps.py:463 #, fuzzy #| msgid "Document version reverted successfully" msgid "New document versions per month" msgstr "Document version reverted successfully" -#: apps.py:401 +#: apps.py:470 #, fuzzy #| msgid "View document types" msgid "New document pages per month" msgstr "View document types" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "" @@ -146,69 +176,78 @@ msgstr "Document version reverted successfully" msgid "Document viewed" msgstr "Document edited" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "Page image" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, fuzzy, python-format msgid "Document pages (%d)" msgstr "Document pages (%s)" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "Quick document rename" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "Date added" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "File mimetype" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "None" -#: forms.py:126 +#: forms.py:134 #, fuzzy msgid "File encoding" msgstr "File mime encoding" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "File size" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "Exists in storage" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "File path in storage" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "Checksum" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "Pages" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "Document type" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "Compress" -#: forms.py:192 +#: forms.py:197 #, fuzzy #| msgid "" #| "Download the document in the original format or in a compressed manner. " @@ -224,11 +263,11 @@ msgstr "" "This option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "Compressed filename" -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." @@ -236,86 +275,99 @@ msgstr "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "Page range" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 #, fuzzy msgid "Preview" msgstr "preview" -#: links.py:48 +#: links.py:50 #, fuzzy msgid "Properties" msgstr "properties" -#: links.py:53 +#: links.py:55 #, fuzzy msgid "Versions" msgstr "versions" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 #, fuzzy msgid "Clear transformations" msgstr "clear transformations" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +msgid "Clone transformations" +msgstr "clear transformations" + +#: links.py:76 links.py:120 links.py:247 links.py:261 #, fuzzy msgid "Delete" msgstr "delete" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "" -#: links.py:79 +#: links.py:86 #, fuzzy msgid "Edit properties" msgstr "Edit document properties" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 #, fuzzy msgid "Change type" msgstr "page text" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "Download" -#: links.py:91 +#: links.py:98 #, fuzzy msgid "Print" msgstr "print" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "" -#: links.py:132 +#: links.py:139 #, fuzzy msgid "Download version" msgstr "document version" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 #, fuzzy msgid "All documents" msgstr "all documents" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 #, fuzzy msgid "Recent documents" msgstr "recent documents" -#: links.py:144 -msgid "Trash" -msgstr "" +#: links.py:151 +#, fuzzy +#| msgid "Transform documents" +msgid "Trash can" +msgstr "Transform documents" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." @@ -323,100 +375,94 @@ msgstr "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -#: links.py:155 +#: links.py:162 #, fuzzy #| msgid "Clear the document image cache" msgid "Clear document image cache" msgstr "Clear the document image cache" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "" -#: links.py:167 +#: links.py:174 #, fuzzy msgid "First page" msgstr "first page" -#: links.py:172 +#: links.py:179 #, fuzzy msgid "Last page" msgstr "last page" -#: links.py:179 +#: links.py:186 #, fuzzy msgid "Previous page" msgstr "previous page" -#: links.py:185 +#: links.py:192 #, fuzzy msgid "Next page" msgstr "next page" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 #, fuzzy msgid "Document" msgstr "Documents" -#: links.py:196 +#: links.py:203 #, fuzzy msgid "Rotate left" msgstr "rotate left" -#: links.py:201 +#: links.py:208 #, fuzzy msgid "Rotate right" msgstr "rotate right" -#: links.py:209 +#: links.py:216 #, fuzzy msgid "Reset view" msgstr "reset view" -#: links.py:214 +#: links.py:221 #, fuzzy msgid "Zoom in" msgstr "zoom in" -#: links.py:219 +#: links.py:227 #, fuzzy msgid "Zoom out" msgstr "zoom out" -#: links.py:227 +#: links.py:236 #, fuzzy msgid "Revert" msgstr "revert" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 #, fuzzy msgid "Create document type" msgstr "Create document types" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "" -#: links.py:247 +#: links.py:256 #, fuzzy msgid "Add quick label to document type" msgstr "add filename to document type" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "" -#: links.py:264 links.py:269 views.py:404 -#, fuzzy -msgid "Document types" -msgstr "Document type" - #: literals.py:14 msgid "Default" msgstr "" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "" @@ -458,111 +504,109 @@ msgstr "Delete documents" msgid "Documents types" msgstr "documents types" -#: models.py:158 +#: models.py:153 #, fuzzy msgid "The name of the document" msgstr "Create documents" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "Description" -#: models.py:164 +#: models.py:159 #, fuzzy msgid "Added" msgstr "added" -#: models.py:169 -msgid "Language" -msgstr "" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "" -#: models.py:178 +#: models.py:172 #, fuzzy msgid "Date and time trashed" msgstr "Date added" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." msgstr "" -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "" -#: models.py:193 +#: models.py:187 #, fuzzy, python-format #| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "Document types: %d" -#: models.py:354 +#: models.py:348 #, fuzzy msgid "Timestamp" msgstr "timestamp" -#: models.py:363 +#: models.py:357 #, fuzzy msgid "File" msgstr "Filename" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 #, fuzzy msgid "Document version" msgstr "document version" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "" -#: models.py:651 +#: models.py:643 #, fuzzy msgid "Page number" msgstr "page number" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" msgstr "Page %(page_num)d out of %(total_pages)d of %(document)s" -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 #, fuzzy msgid "Document page" msgstr "document page" -#: models.py:673 +#: models.py:665 models.py:817 #, fuzzy msgid "Document pages" msgstr "document pages" -#: models.py:783 -#, fuzzy -#| msgid "Version update" -msgid "New version block" -msgstr "Version update" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 +#: models.py:804 #, fuzzy -#| msgid "Version update" -msgid "New version blocks" -msgstr "Version update" +msgid "Document page cached image" +msgstr "document page image" -#: models.py:794 +#: models.py:805 +#, fuzzy +msgid "Document page cached images" +msgstr "document page image" + +#: models.py:827 msgid "User" msgstr "" -#: models.py:800 +#: models.py:833 #, fuzzy msgid "Accessed" msgstr "accessed" -#: models.py:814 +#: models.py:847 #, fuzzy msgid "Recent document" msgstr "recent document" @@ -581,7 +625,7 @@ msgstr "Delete documents" msgid "Trash documents" msgstr "Transform documents" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "Download documents" @@ -641,7 +685,7 @@ msgstr "Edit document types" msgid "View document types" msgstr "View document types" -#: settings.py:37 +#: settings.py:29 msgid "" "Maximum number of recent (created, edited, viewed) documents to remember per " "user." @@ -649,11 +693,11 @@ msgstr "" "Maximum number of recent (created, edited, viewed) documents to remember per " "user." -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." msgstr "Amount in percent zoom in or out a document page per user interaction." -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." @@ -661,7 +705,7 @@ msgstr "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." @@ -669,238 +713,226 @@ msgstr "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." msgstr "Amount in degrees to rotate a document page per user interaction." -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "" -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "" -#: views.py:68 -#, fuzzy -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "Clear the document image cache" - -#: views.py:75 -#, fuzzy -msgid "Document cache clearing queued successfully." -msgstr "Document image cache cleared successfully" - -#: views.py:100 -#, fuzzy -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "Documents in storage: %d" - -#: views.py:122 -#, fuzzy -msgid "Delete the selected document?" -msgstr "Create documents" - -#: views.py:145 -#, fuzzy, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "Document \"%(document)s\" deleted by %(fullname)s." - -#: views.py:153 -#, fuzzy -msgid "Delete the selected documents?" -msgstr "Create documents" - -#: views.py:175 -#, fuzzy, python-format -msgid "Edit properties of document: %s" -msgstr "document properties for: %s" - -#: views.py:191 -#, fuzzy -msgid "Restore the selected document?" -msgstr "Create documents" - -#: views.py:216 -#, fuzzy, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "Document: %(document)s delete error: %(error)s" - -#: views.py:224 -#, fuzzy -msgid "Restore the selected documents?" -msgstr "Create documents" - -#: views.py:256 +#: views/document_page_views.py:49 #, fuzzy, python-format msgid "Pages for document: %s" msgstr "versions for document: %s" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "There are no more pages in this document" + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "You are already at the first page of this document" + +#: views/document_page_views.py:178 #, fuzzy, python-format msgid "Image of: %s" msgstr "duplicates of: %s" -#: views.py:330 -#, fuzzy, python-format -msgid "Preview of document: %s" -msgstr "versions for document: %s" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "" - -#: views.py:365 -#, fuzzy, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "Document deleted successfully." - -#: views.py:378 -#, fuzzy -msgid "Move the selected documents to the trash?" -msgstr "Create documents" - -#: views.py:393 +#: views/document_type_views.py:38 #, fuzzy, python-format #| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "documents of type \"%s\"" -#: views.py:430 +#: views/document_type_views.py:75 #, fuzzy msgid "All documents of this type will be deleted too." msgstr "All later version after this one will be deleted too." -#: views.py:432 +#: views/document_type_views.py:77 #, fuzzy, python-format #| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "Delete document types" -#: views.py:448 +#: views/document_type_views.py:93 #, fuzzy, python-format msgid "Edit document type: %s" msgstr "edit document type: %s" -#: views.py:478 +#: views/document_type_views.py:118 #, fuzzy, python-format msgid "Create quick label for document type: %s" msgstr "create filename for document type: %s" -#: views.py:499 +#: views/document_type_views.py:139 #, fuzzy, python-format msgid "" "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" "edit filename \"%(filename)s\" from document type \"%(document_type)s\"" -#: views.py:524 +#: views/document_type_views.py:164 #, fuzzy, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" msgstr "" "edit filename \"%(filename)s\" from document type \"%(document_type)s\"" -#: views.py:552 +#: views/document_type_views.py:192 #, fuzzy, python-format msgid "Quick labels for document type: %s" msgstr "filenames for document type: %s" -#: views.py:583 +#: views/document_version_views.py:42 #, fuzzy, python-format msgid "Versions of document: %s" msgstr "versions for document: %s" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "All later version after this one will be deleted too." -#: views.py:600 +#: views/document_version_views.py:59 #, fuzzy #| msgid "Revert documents to a previous version" msgid "Revert to this version?" msgstr "Revert documents to a previous version" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "Document version reverted successfully" -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "Error reverting document version; %s" -#: views.py:633 +#: views/document_views.py:81 +#, fuzzy +msgid "Delete the selected document?" +msgstr "Create documents" + +#: views/document_views.py:100 +#, fuzzy, python-format +#| msgid "Document \"%(document)s\" deleted by %(fullname)s." +msgid "Document: %(document)s deleted." +msgstr "Document \"%(document)s\" deleted by %(fullname)s." + +#: views/document_views.py:108 +#, fuzzy +msgid "Delete the selected documents?" +msgstr "Create documents" + +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" +msgstr "" + +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" + +#: views/document_views.py:130 +#, fuzzy +msgid "Change" +msgstr "page text" + +#: views/document_views.py:132 +#, fuzzy +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "Create documents" +msgstr[1] "Create documents" + +#: views/document_views.py:143 +#, fuzzy, python-format +msgid "Change the type of the document: %s" +msgstr "Create documents" + +#: views/document_views.py:164 +#, fuzzy, python-format +msgid "Document type for \"%s\" changed successfully." +msgstr "Document type: %s deleted successfully." + +#: views/document_views.py:184 +#, fuzzy, python-format +msgid "Edit properties of document: %s" +msgstr "document properties for: %s" + +#: views/document_views.py:200 +#, fuzzy +msgid "Restore the selected document?" +msgstr "Create documents" + +#: views/document_views.py:221 +#, fuzzy, python-format +#| msgid "Document: %(document)s delete error: %(error)s" +msgid "Document: %(document)s restored." +msgstr "Document: %(document)s delete error: %(error)s" + +#: views/document_views.py:229 +#, fuzzy +msgid "Restore the selected documents?" +msgstr "Create documents" + +#: views/document_views.py:256 +#, fuzzy, python-format +msgid "Preview of document: %s" +msgstr "versions for document: %s" + +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" +msgstr "" + +#: views/document_views.py:287 +#, fuzzy, python-format +#| msgid "Document deleted successfully." +msgid "Document: %(document)s moved to trash successfully." +msgstr "Document deleted successfully." + +#: views/document_views.py:300 +#, fuzzy +msgid "Move the selected documents to the trash?" +msgstr "Create documents" + +#: views/document_views.py:318 #, fuzzy, python-format msgid "Properties for document: %s" msgstr "versions for document: %s" -#: views.py:639 +#: views/document_views.py:324 msgid "Empty trash?" msgstr "" -#: views.py:650 +#: views/document_views.py:335 #, fuzzy #| msgid "Document deleted successfully." msgid "Trash emptied successfully" msgstr "Document deleted successfully." -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "Must provide at least one document." - -#: views.py:704 +#: views/document_views.py:519 #, fuzzy, python-format -msgid "Document type for \"%s\" changed successfully." -msgstr "Document type: %s deleted successfully." - -#: views.py:716 views.py:1235 -msgid "Submit" -msgstr "" - -#: views.py:720 -#, fuzzy -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "Create documents" -msgstr[1] "Create documents" - -#: views.py:799 -#, fuzzy -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." -msgstr "Must provide at least one document." - -#: views.py:819 -#, fuzzy -msgid "Documents to be downloaded" -msgstr "documents to be downloaded" - -#: views.py:828 -#, fuzzy -msgid "Date and time" -msgstr "Date added" - -#: views.py:931 -msgid "At least one document must be selected." -msgstr "" - -#: views.py:954 -#, fuzzy -msgid "Document queued for page count recalculation." +msgid "%(count)d document queued for page count recalculation" msgstr "document page transformation" -#: views.py:955 -msgid "Documents queued for page count recalculation." -msgstr "" +#: views/document_views.py:522 +#, fuzzy, python-format +msgid "%(count)d documents queued for page count recalculation" +msgstr "document page transformation" -#: views.py:964 +#: views/document_views.py:530 #, fuzzy msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" @@ -909,56 +941,127 @@ msgstr[0] "" msgstr[1] "" "Are you sure you wish to update the page count for the office documents (%d)?" -#: views.py:1023 -#, python-format -msgid "" -"Error deleting the page transformations for document: %(document)s; " -"%(error)s." +#: views/document_views.py:541 +#, fuzzy, python-format +msgid "Recalculate the page count of the document: %s?" msgstr "" -"Error deleting the page transformations for document: %(document)s; " -"%(error)s." +"Are you sure you wish to update the page count for the office documents (%d)?" -#: views.py:1032 +#: views/document_views.py:558 #, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." +msgid "Transformation clear request processed for %(count)d document" msgstr "" -"All the page transformations for document: %s, have been deleted " -"successfully." -#: views.py:1044 +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 #, fuzzy msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" +msgid_plural "Clear all the page transformations for the selected document?" msgstr[0] "" "Are you sure you wish to clear all the page transformations for document: %s?" msgstr[1] "" "Are you sure you wish to clear all the page transformations for document: %s?" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "There are no more pages in this document" +#: views/document_views.py:580 +#, fuzzy, python-format +msgid "Clear all the page transformations for the document: %s?" +msgstr "" +"Are you sure you wish to clear all the page transformations for document: %s?" -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "You are already at the first page of this document" +#: views/document_views.py:595 views/document_views.py:623 +#, python-format +msgid "" +"Error deleting the page transformations for document: %(document)s; " +"%(error)s." +msgstr "" +"Error deleting the page transformations for document: %(document)s; " +"%(error)s." -#: views.py:1225 views.py:1234 +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." + +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "" + +#: views/document_views.py:648 +#, fuzzy, python-format +msgid "Clone page transformations for document: %s" +msgstr "" +"Are you sure you wish to clear all the page transformations for document: %s?" + +#: views/document_views.py:702 #, fuzzy, python-format msgid "Print: %s" msgstr "print: %s" -#: widgets.py:71 +#: views/misc_views.py:18 +#, fuzzy +#| msgid "Clear the document image cache" +msgid "Clear the document image cache?" +msgstr "Clear the document image cache" + +#: views/misc_views.py:25 +#, fuzzy +msgid "Document cache clearing queued successfully." +msgstr "Document image cache cleared successfully" + +#: widgets.py:64 #, fuzzy, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "Page %(page_num)d out of %(total_pages)d of %(document)s" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "Page image" + +#: widgets.py:242 #, fuzzy msgid "Document page image" msgstr "document page image" +#, fuzzy +#~| msgid "Version update" +#~ msgid "New version block" +#~ msgstr "Version update" + +#, fuzzy +#~| msgid "Version update" +#~ msgid "New version blocks" +#~ msgstr "Version update" + +#~ msgid "Must provide at least one document." +#~ msgstr "Must provide at least one document." + +#, fuzzy +#~| msgid "Must provide at least one document." +#~ msgid "Must provide at least one document or version." +#~ msgstr "Must provide at least one document." + +#, fuzzy +#~ msgid "Documents to be downloaded" +#~ msgstr "documents to be downloaded" + +#, fuzzy +#~ msgid "Date and time" +#~ msgstr "Date added" + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." + #, fuzzy #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -1041,9 +1144,6 @@ msgstr "document page image" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #, fuzzy #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -1208,9 +1308,6 @@ msgstr "document page image" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - #~ msgid "" #~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" diff --git a/mayan/apps/documents/locale/es/LC_MESSAGES/django.po b/mayan/apps/documents/locale/es/LC_MESSAGES/django.po index 3706bc5f8f..a40abca586 100644 --- a/mayan/apps/documents/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Roberto Rosario, 2015-2016 @@ -9,95 +9,120 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-23 06:45+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "Documentos" -#: apps.py:98 +#: apps.py:110 +#, fuzzy +#| msgid "New document pages per month" +msgid "New pages this month" +msgstr "Nuevas páginas de documentos por mes" + +#: apps.py:119 +#, fuzzy +#| msgid "New documents per month" +msgid "New documents this month" +msgstr "Nuevos documentos por mes" + +#: apps.py:128 +#, fuzzy +#| msgid "Trash documents" +msgid "Total documents" +msgstr "Enivar documentos a la papelera" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "Tipos de documentos" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "Documentos en la papelera" + +#: apps.py:145 msgid "Create a document type" msgstr "Crear tipo un tipo de documento" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." msgstr "" -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "Etiqueta" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "Tipo MIME" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "Foto miniatura" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "Tipo" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "Activado" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "Fecha y hora de envío a papelera " -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "Hora y fecha" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "Codificación" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "Comentario" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "Nuevos documentos por mes" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "Nuevas versiones de documentos por mes" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "Nuevas páginas de documentos por mes" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "Total de documentos cada mes" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "Total de versiones de documentos cada mes" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "Total de páginas de documentos cada mes" @@ -118,12 +143,10 @@ msgid "Document type changed" msgstr "Tipo de documento ha sido cambiado" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "Nueva versión subida" #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "Versión de documento revertida" @@ -131,249 +154,272 @@ msgstr "Versión de documento revertida" msgid "Document viewed" msgstr "Documento visualizado" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "Imagen de la página" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "Páginas del documento (%d)" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "Cambio rápido de nombre" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "Fecha en que se agregó" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "Lenguaje" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "Tipo MIME del archivo" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "Ninguno" -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "Codificación de archivo" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "Tamaño del archivo" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "Existe en el almacenamiento" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "Ruta de archivo en el almacenamiento" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "Suma de comprobación" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "Páginas" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "Tipo de documento" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "Comprimir" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." -msgstr "Descargue el documento en el formato original o en una forma comprimida. Esta opción se puede seleccionar sólo cuando se descarga un documento. Para múltiples documentos, el paquete será siempre descargado en un archivo comprimido." +msgstr "" +"Descargue el documento en el formato original o en una forma comprimida. " +"Esta opción se puede seleccionar sólo cuando se descarga un documento. Para " +"múltiples documentos, el paquete será siempre descargado en un archivo " +"comprimido." -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "Nombre de archivo comprimido" -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "El nombre del archivo comprimido que va a contener los documentos a descargar, si la opción anterior está activada." +msgstr "" +"El nombre del archivo comprimido que va a contener los documentos a " +"descargar, si la opción anterior está activada." -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "Rango de páginas" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "Muestra" -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "Propiedades" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "Versiones" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "Borrar transformaciones" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Clear transformations" +msgid "Clone transformations" +msgstr "Borrar transformaciones" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "Borrar" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "Mover a la papelera" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "Editar propiedades" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "Cambiar tipo" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "Descargar" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "Imprimir" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "Recalcular el conteo de páginas" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "Resturar" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "Descarga de versión" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "Todos los documentos" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "Documentos recientes" -#: links.py:144 -msgid "Trash" +#: links.py:151 +#, fuzzy +#| msgid "Trash" +msgid "Trash can" msgstr "Papelera" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "Borrar las representaciones gráficas utilizadas para acelerar la presentación de los documentos y resultados de las transformaciones interactivas." +msgstr "" +"Borrar las representaciones gráficas utilizadas para acelerar la " +"presentación de los documentos y resultados de las transformaciones " +"interactivas." -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "Borrar la caché de imágenes de documentos" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "Vaciar papelera" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "Primera página" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "Última página" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "Página previa" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "Próxima página" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "Documento" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "Rotar a la izquierda" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "Rotar a la derecha" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "Reestablecer vista" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "Acercar imagen" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "Alejar imagen" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "Revertir" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "Crear tipo de documento" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "Editar" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "Añadir nombre típico al tipo de documento" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "Nombres típicos " -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "Tipos de documentos" - #: literals.py:14 msgid "Default" msgstr "Por defecto" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "Todas las páginas" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." -msgstr "Cantidad de tiempo tras el cual se enviaran los documentos de este tipo a la papelera." +"Amount of time after which documents of this type will be moved to the trash." +msgstr "" +"Cantidad de tiempo tras el cual se enviaran los documentos de este tipo a la " +"papelera." #: models.py:71 msgid "Trash time period" @@ -387,15 +433,15 @@ msgstr "Unidad de tiempo de envío a papelera" msgid "" "Amount of time after which documents of this type in the trash will be " "deleted." -msgstr "Cantidad de tiempo tras el cual se eliminarán los documentos de este tipo de la papelera." +msgstr "" +"Cantidad de tiempo tras el cual se eliminarán los documentos de este tipo de " +"la papelera." #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "Período de tiempo de eliminación" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "Unidad de tiempo de eliminación" @@ -403,99 +449,100 @@ msgstr "Unidad de tiempo de eliminación" msgid "Documents types" msgstr "Tipos de documentos" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "El nombre del documento" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "Descripción" -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "Añadido" -#: models.py:169 -msgid "Language" -msgstr "Lenguaje" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "¿En la papelera?" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "Fecha y hora de envío a papelera" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." msgstr "" -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "¿Es un recibo?" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "Recibo de documento, id: %d" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "Marca de tiempo" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "Archivo" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "Versión de documento" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "Etiqueta rapida" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "Número de página" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" msgstr "Página %(page_num)d de %(total_pages)d de %(document)s " -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "Página de documento" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "Páginas de documento" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "Bloquear nueva version" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "Bloquear nuevas versiones" +#: models.py:804 +#, fuzzy +#| msgid "Document page image" +msgid "Document page cached image" +msgstr "Imagen de página de documento" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document page image" +msgid "Document page cached images" +msgstr "Imagen de página de documento" + +#: models.py:827 msgid "User" msgstr "Usuario" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "Accedido" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "Documento reciente" @@ -508,11 +555,10 @@ msgid "Delete documents" msgstr "Eliminar documentos" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "Enivar documentos a la papelera" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "Descargar documentos" @@ -529,12 +575,10 @@ msgid "Edit document properties" msgstr "Editar propiedades del documento" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "Imprimir documentos" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "Restaurar documento de la papelera" @@ -570,288 +614,372 @@ msgstr "Editar tipos de documentos" msgid "View document types" msgstr "Ver los tipos de documentos" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." -msgstr "El número máximo de documentos recientes (creados, editados, vistos) a recordar por usuario." +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." +msgstr "" +"El número máximo de documentos recientes (creados, editados, vistos) a " +"recordar por usuario." -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." -msgstr "Cantidad en porcentaje a acercar o alejar una página de documento por cada interacción del usuario." +msgstr "" +"Cantidad en porcentaje a acercar o alejar una página de documento por cada " +"interacción del usuario." -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "Cantidad máxima en porcentaje (%) a permitir al usuario aumentar la página del documento de forma interactiva." +msgstr "" +"Cantidad máxima en porcentaje (%) a permitir al usuario aumentar la página " +"del documento de forma interactiva." -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "Cantidad mínima en porcentaje (%) a permitir al usuario disminuir la página del documento de forma interactiva." +msgstr "" +"Cantidad mínima en porcentaje (%) a permitir al usuario disminuir la página " +"del documento de forma interactiva." -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." -msgstr "Cantidad de grados que se va a girar una página de documento por cada acción del usuario." +msgstr "" +"Cantidad de grados que se va a girar una página de documento por cada acción " +"del usuario." -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "Idioma por defecto para documentos (en formato ISO639-2)." -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "Lista de idiomas de documento apoyados." -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "¿Borrar la caché de imágenes de documentos?" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "Caché de documentos borrara con éxito." - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "Documentos en la papelera" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "¿Eliminar el documento seleccionado?" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "Documento: %(document)s eliminado." - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "¿Eliminar los documentos seleccionados?" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "Editar propiedades del documento: %s" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "¿Restaurar el documento seleccionado?" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "Documento: %(document)s restaurado." - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "¿Restaurar los documentos seleccionados?" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "Pagínas para documento: %s" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "No hay más páginas en este documento" + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "Usted ya está en la primera página de este documento" + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "Imágen de: %s" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "Visualización del documento: %s" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "¿Mover \"%s\" a la papelera?" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "Documento: %(document)s movido a la papelera." - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "¿Mover los documentos seleccionados a la papelera?" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "Documentos de tipo: %s" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "Todos los documentos de este tipo serán borrados también" -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "¿Eliminar el tipo de documento: %s?" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "Editar tipo de documento: %s" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" msgstr "" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "Nombre típicos para el tipo de documento: %s" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "Versiones del documento: %s" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "También se borrarán todas las versiones más recientes a esta." -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "¿Revertir a esta versión?" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "Versión de documento revertida con éxito." -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "Error revirtiendo la versión del documento; %s" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "¿Eliminar el documento seleccionado?" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" -msgstr "Propiedades para el documento: %s" +msgid "Document: %(document)s deleted." +msgstr "Documento: %(document)s eliminado." -#: views.py:639 -msgid "Empty trash?" -msgstr "¿Vaciar papelera?" +#: views/document_views.py:108 +msgid "Delete the selected documents?" +msgstr "¿Eliminar los documentos seleccionados?" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" -msgstr "Papelera vaciada con éxito" +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" +msgstr "" -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "Debe proveer al menos un documento" +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" -#: views.py:704 +#: views/document_views.py:130 +#, fuzzy +#| msgid "Change type" +msgid "Change" +msgstr "Cambiar tipo" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "Change the type of the selected document." +#| msgid_plural "Change the type of the selected documents." +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "Cambiar el tipo del documento seleccionado." +msgstr[1] "Cambiar el tipo de los documentos seleccionados." + +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Change the type of the selected document." +#| msgid_plural "Change the type of the selected documents." +msgid "Change the type of the document: %s" +msgstr "Cambiar el tipo del documento seleccionado." + +#: views/document_views.py:164 #, python-format msgid "Document type for \"%s\" changed successfully." msgstr "Tipo de documento para \"%s\" cambiado con éxito." -#: views.py:716 views.py:1235 -msgid "Submit" -msgstr "Enviar" +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" +msgstr "Editar propiedades del documento: %s" -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "Cambiar el tipo del documento seleccionado." -msgstr[1] "Cambiar el tipo de los documentos seleccionados." +#: views/document_views.py:200 +msgid "Restore the selected document?" +msgstr "¿Restaurar el documento seleccionado?" -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." -msgstr "Debe proveer al menos una versión de documento." +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." +msgstr "Documento: %(document)s restaurado." -#: views.py:819 -msgid "Documents to be downloaded" -msgstr "Documentos a descargar" +#: views/document_views.py:229 +msgid "Restore the selected documents?" +msgstr "¿Restaurar los documentos seleccionados?" -#: views.py:828 -msgid "Date and time" -msgstr "Fecha y hora" +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" +msgstr "Visualización del documento: %s" -#: views.py:931 -msgid "At least one document must be selected." -msgstr "Al menos un documento debe ser seleccionado." +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" +msgstr "¿Mover \"%s\" a la papelera?" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." +msgstr "Documento: %(document)s movido a la papelera." + +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "¿Mover los documentos seleccionados a la papelera?" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "Propiedades para el documento: %s" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "¿Vaciar papelera?" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "Papelera vaciada con éxito" + +#: views/document_views.py:519 +#, python-format +msgid "%(count)d document queued for page count recalculation" msgstr "" -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:522 +#, python-format +msgid "%(count)d documents queued for page count recalculation" msgstr "" -#: views.py:964 +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "" msgstr[1] "" -#: views.py:1023 +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Recalculate page count" +msgid "Recalculate the page count of the document: %s?" +msgstr "Recalcular el conteo de páginas" + +#: views/document_views.py:558 +#, python-format +msgid "Transformation clear request processed for %(count)d document" +msgstr "" + +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 +#, fuzzy +#| msgid "Clear all the page transformations for the selected document?" +#| msgid_plural "" +#| "Clear all the page transformations for the selected documents?" +msgid "Clear all the page transformations for the selected document?" +msgid_plural "Clear all the page transformations for the selected document?" +msgstr[0] "¿Borrar todas las transformaciones para el documento seleccionado?" +msgstr[1] "" +"¿Borrar todas las transformaciones para los documentos seleccionados?" + +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "Clear all the page transformations for the selected document?" +#| msgid_plural "" +#| "Clear all the page transformations for the selected documents?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "¿Borrar todas las transformaciones para el documento seleccionado?" + +#: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "Error al eliminar las transformaciones de página para el documento: %(document)s; %(error)s." +msgstr "" +"Error al eliminar las transformaciones de página para el documento: " +"%(document)s; %(error)s." -#: views.py:1032 -#, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." -msgstr "Todas las transformaciones de la página del documento: %s, se han eliminado con éxito." +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." -#: views.py:1044 -msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" -msgstr[0] "¿Borrar todas las transformaciones para el documento seleccionado?" -msgstr[1] "¿Borrar todas las transformaciones para los documentos seleccionados?" +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "Enviar" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "No hay más páginas en este documento" +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "Clear all the page transformations for the selected document?" +#| msgid_plural "" +#| "Clear all the page transformations for the selected documents?" +msgid "Clone page transformations for document: %s" +msgstr "¿Borrar todas las transformaciones para el documento seleccionado?" -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "Usted ya está en la primera página de este documento" - -#: views.py:1225 views.py:1234 +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "Imprimir: %s" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "¿Borrar la caché de imágenes de documentos?" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "Caché de documentos borrara con éxito." + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "Página %(page_number)d de %(total_pages)d" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "Imagen de la página" + +#: widgets.py:242 msgid "Document page image" msgstr "Imagen de página de documento" +#~| msgid "Version update" +#~ msgid "New version block" +#~ msgstr "Bloquear nueva version" + +#~| msgid "Version update" +#~ msgid "New version blocks" +#~ msgstr "Bloquear nuevas versiones" + +#~ msgid "Must provide at least one document." +#~ msgstr "Debe proveer al menos un documento" + +#~| msgid "Must provide at least one document." +#~ msgid "Must provide at least one document or version." +#~ msgstr "Debe proveer al menos una versión de documento." + +#~ msgid "Documents to be downloaded" +#~ msgstr "Documentos a descargar" + +#~ msgid "Date and time" +#~ msgstr "Fecha y hora" + +#~ msgid "At least one document must be selected." +#~ msgstr "Al menos un documento debe ser seleccionado." + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "" +#~ "Todas las transformaciones de la página del documento: %s, se han " +#~ "eliminado con éxito." + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -915,9 +1043,6 @@ msgstr "Imagen de página de documento" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -928,11 +1053,11 @@ msgstr "Imagen de página de documento" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1061,10 +1186,8 @@ msgstr "Imagen de página de documento" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1078,11 +1201,11 @@ msgstr "Imagen de página de documento" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1105,11 +1228,11 @@ msgstr "Imagen de página de documento" #~ "(%d)?" #~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" +#~ "Are you sure you wish to clear all the page transformations for " +#~ "documents: %s?" #~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" +#~ "Are you sure you wish to clear all the page transformations for " +#~ "documents: %s?" #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1126,15 +1249,19 @@ msgstr "Imagen de página de documento" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1191,11 +1318,11 @@ msgstr "Imagen de página de documento" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1219,11 +1346,11 @@ msgstr "Imagen de página de documento" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1244,9 +1371,11 @@ msgstr "Imagen de página de documento" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1276,11 +1405,11 @@ msgstr "Imagen de página de documento" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1337,15 +1466,17 @@ msgstr "Imagen de página de documento" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" diff --git a/mayan/apps/documents/locale/fa/LC_MESSAGES/django.po b/mayan/apps/documents/locale/fa/LC_MESSAGES/django.po index 5b583d8e16..92075d5a9c 100644 --- a/mayan/apps/documents/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/fa/LC_MESSAGES/django.po @@ -1,102 +1,125 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "اسناد" -#: apps.py:98 +#: apps.py:110 +msgid "New pages this month" +msgstr "" + +#: apps.py:119 +#, fuzzy +#| msgid "documents of this type" +msgid "New documents this month" +msgstr "documents of this type" + +#: apps.py:128 +#, fuzzy +#| msgid "All documents" +msgid "Total documents" +msgstr "کلیه اسناد" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "انواع سند" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "" + +#: apps.py:145 msgid "Create a document type" msgstr "" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." msgstr "" -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "برچسب" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "نوع MIME" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "اندازه کوچک" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "نوع" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "فعال شده" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "" -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "تاریخ و زمان" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "Encoding" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "شرح" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "" @@ -117,12 +140,10 @@ msgid "Document type changed" msgstr "نوع سند تغییر کرد" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -130,248 +151,262 @@ msgstr "" msgid "Document viewed" msgstr "" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "تصویر صفحه" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "تعداد صفحات سند (%d)" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "نامگذاری سریع سند " -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "تاریخ اضافه شدن" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "زبان" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "File mimetype" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "هیچکدام." -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "فایل Encoding" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "اندازه فایل" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "موجود در مخزن" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "آدرس فایل در مخزن" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "چک سام" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "صفحات" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "نوع سند" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "فشرده سازی" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "نام فایل فشرده شده" -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "اگر انتخاب قبلی انجام شده، نام فایل فشرده شده که شامل کلیه فایلهای که قراراست که دانلود شوند." +msgstr "" +"اگر انتخاب قبلی انجام شده، نام فایل فشرده شده که شامل کلیه فایلهای که " +"قراراست که دانلود شوند." -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "محدوده صفحات" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "پیش دید ویا دیدن" -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "خصوصیات" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "نسخه ها" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "پاک کردن تبدیلات" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Clear transformations" +msgid "Clone transformations" +msgstr "پاک کردن تبدیلات" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "حذف" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "ویرایش خصوصیات" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "تغییر نوع" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "دانلود" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "چاپ" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "کلیه اسناد" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "اسناد تازه" -#: links.py:144 -msgid "Trash" +#: links.py:151 +msgid "Trash can" msgstr "" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "پاک کردن نحوه نمایش اسناد که در زمان سرعت بخشی به نمایش اسناد مورد استفاده قرار میگیرد." +msgstr "" +"پاک کردن نحوه نمایش اسناد که در زمان سرعت بخشی به نمایش اسناد مورد استفاده " +"قرار میگیرد." -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "اولین صفحه" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "آخرین صفحه" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "صفحه قبلی" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "صفحه بعدی" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "سند" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "چرخش به چپ" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "چرجش به راست" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "ریست ویو Reset View" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "بزرگنمایی" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "کوچک نمایی" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "بازگرداندن" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "ایجاد نوع سند" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "ویرایش" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "" -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "انواع سند" - #: literals.py:14 msgid "Default" msgstr "پیش فرض" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." +"Amount of time after which documents of this type will be moved to the trash." msgstr "" #: models.py:71 @@ -389,12 +424,10 @@ msgid "" msgstr "" #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -402,99 +435,100 @@ msgstr "" msgid "Documents types" msgstr "انواع اسناد" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "نام سند" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "توضیحات" -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "اضافه شده" -#: models.py:169 -msgid "Language" -msgstr "زبان" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." msgstr "" -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "علامت زمان" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "فایل" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "نسخه سند" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "شماره صفحه" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" msgstr "صفحه شماره%(page_num)d از%(total_pages)d از سند %(document)s" -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "صفحه سند" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "صفحات سند" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "" +#: models.py:804 +#, fuzzy +#| msgid "Document page image" +msgid "Document page cached image" +msgstr "عکس صفحه سند" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document page image" +msgid "Document page cached images" +msgstr "عکس صفحه سند" + +#: models.py:827 msgid "User" msgstr "کاربر" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "دسترسی یافته" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "سند تازه" @@ -507,11 +541,10 @@ msgid "Delete documents" msgstr "حذف سند" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "دانلود اسناد" @@ -528,12 +561,10 @@ msgid "Edit document properties" msgstr "ویرایش خصوصیات سند" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -569,285 +600,340 @@ msgstr "ویرایش انواع سند" msgid "View document types" msgstr "بازدید انواع سند" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." -msgstr "حداکثر تعداد اسناد تازه (ایجاد، ویرایش و بازبینی) که جهت هرکاربر بوسیله سیستم نگهداری شود." +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." +msgstr "" +"حداکثر تعداد اسناد تازه (ایجاد، ویرایش و بازبینی) که جهت هرکاربر بوسیله " +"سیستم نگهداری شود." -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." msgstr "اندازه بزرگنمایی/کوچک نمایی یک صفحه از سند جهت تعامل با هرکاربر" -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "حداکثر درصد(%) اندازه بزرگنمایی بوسیله کاربر برروی یک صفحه از سند بصورت تعاملی" +msgstr "" +"حداکثر درصد(%) اندازه بزرگنمایی بوسیله کاربر برروی یک صفحه از سند بصورت " +"تعاملی" -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "حداکثر درصد(%) اندازه کوچک نمایی بوسیله کاربر برروی یک صفحه از سند بصورت تعاملی" +msgstr "" +"حداکثر درصد(%) اندازه کوچک نمایی بوسیله کاربر برروی یک صفحه از سند بصورت " +"تعاملی" -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." msgstr "مقدار درچه چرخش یک صفحه از سند به ازای هر کاربر" -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "زبان پیش فرض اسناد (in ISO639-2) میباشد." -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "لیست زبانهای پشتیبانی سند" -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "" - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "" - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "ویرایش خصوصیات سند : %s" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "" - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "پایان صفحات سند" + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "شما در حال حاضر برروی اولین صفحه این سند میباشید." + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "پیش نمایش سند : %s" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "" - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "کلیه اسناد از این نوع حذف خواهند شد." -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "ویرایش نوع سند : %s" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" msgstr "" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "نسخ سند : %s" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "همجنین کلیه نسخه های بعد از این نسخه حذف خواهند گردید." -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "بازگشت موفق نسخه سند." -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "خطا در بازگشت نسخه سند: %s" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" -msgstr "خصوصیات سند : %s" - -#: views.py:639 -msgid "Empty trash?" +msgid "Document: %(document)s deleted." msgstr "" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" +#: views/document_views.py:108 +msgid "Delete the selected documents?" msgstr "" -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "حداقل یک سند باید ارایه شود." +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" +msgstr "" -#: views.py:704 +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" + +#: views/document_views.py:130 +#, fuzzy +#| msgid "Change type" +msgid "Change" +msgstr "تغییر نوع" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "The name of the document" +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "نام سند" + +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Content of document: %s" +msgid "Change the type of the document: %s" +msgstr "versions for document: %s" + +#: views/document_views.py:164 #, python-format msgid "Document type for \"%s\" changed successfully." msgstr "" -#: views.py:716 views.py:1235 -msgid "Submit" -msgstr "ارسال" +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" +msgstr "ویرایش خصوصیات سند : %s" -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "" - -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." +#: views/document_views.py:200 +msgid "Restore the selected document?" msgstr "" -#: views.py:819 -msgid "Documents to be downloaded" -msgstr "اسنادی که قرار است دانلود شوند." - -#: views.py:828 -msgid "Date and time" -msgstr "تاریخ و زمان" - -#: views.py:931 -msgid "At least one document must be selected." +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." msgstr "" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:229 +msgid "Restore the selected documents?" msgstr "" -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" +msgstr "پیش نمایش سند : %s" + +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" msgstr "" -#: views.py:964 +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." +msgstr "" + +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "خصوصیات سند : %s" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "" + +#: views/document_views.py:519 +#, python-format +msgid "%(count)d document queued for page count recalculation" +msgstr "" + +#: views/document_views.py:522 +#, python-format +msgid "%(count)d documents queued for page count recalculation" +msgstr "" + +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "" -#: views.py:1023 +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Are you sure you wish to reset the page count of this document?" +msgid "Recalculate the page count of the document: %s?" +msgstr "" +"Are you sure you wish to update the page count for the office documents (%d)?" + +#: views/document_views.py:558 +#, python-format +msgid "Transformation clear request processed for %(count)d document" +msgstr "" + +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 +msgid "Clear all the page transformations for the selected document?" +msgid_plural "Clear all the page transformations for the selected document?" +msgstr[0] "" + +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "" +#| "Are you sure you wish to clear all the page transformations for " +#| "documents: %s?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "" +"Are you sure you wish to clear all the page transformations for documents: " +"%s?" + +#: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." msgstr "خطا %(error)s در زمان حذف تبدیلات سند %(document)s" -#: views.py:1032 -#, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." -msgstr "حذف کامل کلیه تبدیلات سند %s" +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." -#: views.py:1044 -msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" -msgstr[0] "" +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "ارسال" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "پایان صفحات سند" +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "Properties for document: %s" +msgid "Clone page transformations for document: %s" +msgstr "خصوصیات سند : %s" -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "شما در حال حاضر برروی اولین صفحه این سند میباشید." - -#: views.py:1225 views.py:1234 +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "چاپ : %s" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "" + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "صفحه%(page_number)d از %(total_pages)d" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "تصویر صفحه" + +#: widgets.py:242 msgid "Document page image" msgstr "عکس صفحه سند" +#~ msgid "Must provide at least one document." +#~ msgstr "حداقل یک سند باید ارایه شود." + +#~ msgid "Documents to be downloaded" +#~ msgstr "اسنادی که قرار است دانلود شوند." + +#~ msgid "Date and time" +#~ msgstr "تاریخ و زمان" + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "حذف کامل کلیه تبدیلات سند %s" + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -911,9 +997,6 @@ msgstr "عکس صفحه سند" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -924,11 +1007,11 @@ msgstr "عکس صفحه سند" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1003,9 +1086,6 @@ msgstr "عکس صفحه سند" #~ msgid "documents" #~ msgstr "documents" -#~ msgid "Content of document: %s" -#~ msgstr "versions for document: %s" - #~ msgid "Are you sure you wish to delete the selected document?" #~ msgid_plural "Are you sure you wish to delete the selected documents?" #~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" @@ -1056,10 +1136,8 @@ msgstr "عکس صفحه سند" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1073,11 +1151,11 @@ msgstr "عکس صفحه سند" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1094,18 +1172,6 @@ msgstr "عکس صفحه سند" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" -#~ msgid "Are you sure you wish to reset the page count of this document?" -#~ msgstr "" -#~ "Are you sure you wish to update the page count for the office documents " -#~ "(%d)?" - -#~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" -#~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" - #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1121,15 +1187,19 @@ msgstr "عکس صفحه سند" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1186,11 +1256,11 @@ msgstr "عکس صفحه سند" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1214,11 +1284,11 @@ msgstr "عکس صفحه سند" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1239,9 +1309,11 @@ msgstr "عکس صفحه سند" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1271,11 +1343,11 @@ msgstr "عکس صفحه سند" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1332,15 +1404,17 @@ msgstr "عکس صفحه سند" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1361,9 +1435,6 @@ msgstr "عکس صفحه سند" #~ msgid "clone metadata" #~ msgstr "clone metadata" -#~ msgid "documents of this type" -#~ msgstr "documents of this type" - #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/documents/locale/fr/LC_MESSAGES/django.po b/mayan/apps/documents/locale/fr/LC_MESSAGES/django.po index d688a7ab21..ed913f32df 100644 --- a/mayan/apps/documents/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Bruno CAPELETO , 2016 @@ -10,95 +10,122 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "Documents" -#: apps.py:98 +#: apps.py:110 +#, fuzzy +#| msgid "New document pages per month" +msgid "New pages this month" +msgstr "Nouvelles pages de document par mois" + +#: apps.py:119 +#, fuzzy +#| msgid "New documents per month" +msgid "New documents this month" +msgstr "Nouveaux documents par mois" + +#: apps.py:128 +#, fuzzy +#| msgid "Trash documents" +msgid "Total documents" +msgstr "Envoyer les documents à la corbeille" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "Types de documents" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "Documents dans la corbeille" + +#: apps.py:145 msgid "Create a document type" msgstr "Créer un type de document" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." -msgstr "Chaque document téléchargé doit être associé à un type de document, cela permet à Mayan EDMS de catégoriser les documents." +msgstr "" +"Chaque document téléchargé doit être associé à un type de document, cela " +"permet à Mayan EDMS de catégoriser les documents." -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "Libellé" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "Type MIME d'une version quelconque d'un document" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "Type MIME" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "Vignette" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "Type" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "Activé" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "Date et heure d'envoi à la corbeille" -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "Heure et date" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "Encodage" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "Commentaire" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "Nouveaux documents par mois" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "Nouvelles versions de document par mois" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "Nouvelles pages de document par mois" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "Nombre total de documents chaque mois" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "Nombre total de versions de documents chaque mois" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "Nombre total de pages de documents chaque mois" @@ -119,12 +146,10 @@ msgid "Document type changed" msgstr "Type de document modifié" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "Nouvelle version téléchargée" #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "Retour à la version précédente du document" @@ -132,249 +157,271 @@ msgstr "Retour à la version précédente du document" msgid "Document viewed" msgstr "Document consulté" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "Image de la page" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "Pages (%d) du document" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "Renommage rapide du document" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "Date d'ajout" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "Langue" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "Type MIME du fichier" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "Aucun" -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "Encodage du fichier" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "Taille du fichier" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "Présent dans le stockage local" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "Chemin du fichier dans le stockage local" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "Somme de contrôle" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "Pages" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "Type de document" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "Compresser" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." -msgstr "Télécharger le document dans son format original ou sous forme d'archive compressée. Cette option est uniquement disponible lors du téléchargement d'un document, lors du téléchargement d'un groupe de documents, ce dernier sera toujours téléchargé en tant qu'archive compressée." +msgstr "" +"Télécharger le document dans son format original ou sous forme d'archive " +"compressée. Cette option est uniquement disponible lors du téléchargement " +"d'un document, lors du téléchargement d'un groupe de documents, ce dernier " +"sera toujours téléchargé en tant qu'archive compressée." -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "Nom du fichier compressé" -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "Le nom de fichier du fichier compressé qui contiendra les documents à importer, si l'option précédente est sélectionnée." +msgstr "" +"Le nom de fichier du fichier compressé qui contiendra les documents à " +"importer, si l'option précédente est sélectionnée." -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "Ensemble de pages" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "Prévisualiser" -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "Propriétés" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "Versions" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "Effacer les transformations" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Clear transformations" +msgid "Clone transformations" +msgstr "Effacer les transformations" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "Supprimer" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "Envoyer à la corbeille" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "Modifier les propriétés" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "Changer le type" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "Télécharger" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "Imprimer" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "Réinitialiser le comptage de page" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "Restaurer" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "Télécharger cette version" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "Tous les documents" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "Documents récents" -#: links.py:144 -msgid "Trash" +#: links.py:151 +#, fuzzy +#| msgid "Trash" +msgid "Trash can" msgstr "Corbeille" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "Effacer les représentations graphiques utilisées pour accélérer l'affichage du document et le résultat des transformations interactives." +msgstr "" +"Effacer les représentations graphiques utilisées pour accélérer l'affichage " +"du document et le résultat des transformations interactives." -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "Effacer les documents du cache" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "Vider la corbeille" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "Première page" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "Dernière page" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "Page précédente" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "Page suivante" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "Document" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "Rotation à gauche" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "Rotation à droite" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "Réinitialiser la vue" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "Zoom avant" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "Zoom arrière" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "Rétablir" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "Créer un type de document" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "Modifier" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "Ajouter une étiquette rapide au document" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "Etiquettes rapides" -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "Types de documents" - #: literals.py:14 msgid "Default" msgstr "Défaut" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "Toutes les pages" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." -msgstr "Temps après lequel les documents de ce type seront déplacés vers la corbeille." +"Amount of time after which documents of this type will be moved to the trash." +msgstr "" +"Temps après lequel les documents de ce type seront déplacés vers la " +"corbeille." #: models.py:71 msgid "Trash time period" @@ -388,15 +435,15 @@ msgstr "Unité de temps du déplacement vers la corbeille" msgid "" "Amount of time after which documents of this type in the trash will be " "deleted." -msgstr "Temps après lequel les documents de ce type présents dans la corbeille seront supprimés." +msgstr "" +"Temps après lequel les documents de ce type présents dans la corbeille " +"seront supprimés." #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "Temps avant suppression" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "Unité de temps avant suppression" @@ -404,99 +451,103 @@ msgstr "Unité de temps avant suppression" msgid "Documents types" msgstr "Types de documents" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "Le nom du document" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "Description" -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "Ajouté" -#: models.py:169 -msgid "Language" -msgstr "Langue" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "Présent dans la corbeille ?" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "Date et heure d'envoi à la corbeille" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." -msgstr "Un document parcellaire est un document avec une entrée en base de données mais aucun fichier téléchargé. Cela peut correspondre à un téléchargement interrompu ou à un téléchargement retardé par l'API." +msgstr "" +"Un document parcellaire est un document avec une entrée en base de données " +"mais aucun fichier téléchargé. Cela peut correspondre à un téléchargement " +"interrompu ou à un téléchargement retardé par l'API." -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "Parcellaire ?" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "Parcelle de document, id : %d" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "Horodatage" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "Fichier" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "Version du document" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "Renommage rapide" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "Numéro de page" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" msgstr "Page %(page_num)d sur %(total_pages)d de %(document)s" -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "Page du document" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "Pages du document" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "Bloc de la nouvelle version" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "Blocs de la nouvelle version" +#: models.py:804 +#, fuzzy +#| msgid "Document page image" +msgid "Document page cached image" +msgstr "Image de la page du document" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document page image" +msgid "Document page cached images" +msgstr "Image de la page du document" + +#: models.py:827 msgid "User" msgstr "Utilisateur" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "Consulté" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "Document récent" @@ -509,11 +560,10 @@ msgid "Delete documents" msgstr "Supprimer les documents" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "Envoyer les documents à la corbeille" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "Télécharger les documents" @@ -530,12 +580,10 @@ msgid "Edit document properties" msgstr "Modifier les propriétés du document" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "Imprimer les documents" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -571,288 +619,395 @@ msgstr "Modifier les types de documents" msgid "View document types" msgstr "Afficher les types de documents" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." -msgstr "Nombre maximum de documents récents (créés, modifiés, visualisés) à mémoriser par utilisateur." +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." +msgstr "" +"Nombre maximum de documents récents (créés, modifiés, visualisés) à " +"mémoriser par utilisateur." -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." -msgstr "Valeur en pourcentage du zoom avant ou arrière pour une page de document pour les utilisateurs." +msgstr "" +"Valeur en pourcentage du zoom avant ou arrière pour une page de document " +"pour les utilisateurs." -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "Maximum en pourcents (%) de la valeur du zoom avant interactif autorisé pour l'utilisateur." +msgstr "" +"Maximum en pourcents (%) de la valeur du zoom avant interactif autorisé pour " +"l'utilisateur." -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "Minimum en pourcents (%) de la valeur du zoom arrière interactif autorisé pour l'utilisateur." +msgstr "" +"Minimum en pourcents (%) de la valeur du zoom arrière interactif autorisé " +"pour l'utilisateur." -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." -msgstr "Valeur en degrés pour la rotation d'une page de document par l'utilisateur." +msgstr "" +"Valeur en degrés pour la rotation d'une page de document par l'utilisateur." -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "Langue des documents par défaut (au format ISO639-2)." -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "Liste des langues supportées du document." -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "Vider l'image en cache du document" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "Demande de nettoyage du cache de documents mise en file d'attente avec succès." - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "Documents dans la corbeille" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "Êtes vous sûr de vouloir supprimer le document sélectionné ?" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "Document %(document)s supprimé." - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "Êtes vous sûr de vouloir supprimer les documents sélectionnés ?" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "Modifier les propriétés du document : %s" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "Êtes vous sûr de vouloir rétablir le document sélectionné ?" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "Document %(document)s rétabli." - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "Êtes vous sûr de vouloir rétablir les documents sélectionnés ?" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "Pages du document : %s" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "Il n'y a pas d'autres pages dans ce document" + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "Vous êtes déjà sur la première page du document" + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "Image de : %s" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "Aperçu du document : %s" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "Etes-vous sûr de vouloir envoyer \"%s\" à la corbeille ?" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "Document : %(document)s envoyé à la corbeille avec succès." - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "Êtes vous sûr de vouloir envoyer les documents sélectionnés à la corbeille ?" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "Documents du type : %s" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "Tous les documents de ce type seront également effacés." -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "Êtes-vous sûr de vouloir supprimer le type de document : %s ?" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "Modifier le type de document : %s" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "Créer une étiquette rapide pour le type de document : %s" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" -msgstr "Modifier l'étiquette rapide \"%(filename)s\" du type de document \"%(document_type)s\"" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgstr "" +"Modifier l'étiquette rapide \"%(filename)s\" du type de document " +"\"%(document_type)s\"" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" -msgstr "Etes-vous sûr de vouloir supprimer l'étiquette rapide %(label)s du type de document \"%(document_type)s\" ?" +msgstr "" +"Etes-vous sûr de vouloir supprimer l'étiquette rapide %(label)s du type de " +"document \"%(document_type)s\" ?" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "Etiquettes rapides pour le type de document : %s" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "Versions du document : %s" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." -msgstr "Toutes les versions postérieures à celle-ci seront également supprimées." +msgstr "" +"Toutes les versions postérieures à celle-ci seront également supprimées." -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "Êtes vous certain de vouloir revenir à cette version ?" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "Retour à la version précédente du document effectuée avec succès" -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "Erreur lors du retour à une version précédente du document : %s" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "Êtes vous sûr de vouloir supprimer le document sélectionné ?" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" -msgstr "Propriétés du document : %s" +msgid "Document: %(document)s deleted." +msgstr "Document %(document)s supprimé." -#: views.py:639 -msgid "Empty trash?" -msgstr "Vider la corbeille ?" +#: views/document_views.py:108 +msgid "Delete the selected documents?" +msgstr "Êtes vous sûr de vouloir supprimer les documents sélectionnés ?" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" -msgstr "Corbeille vidée avec succès" +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" +msgstr "" -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "Au moins un document est requis." +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" -#: views.py:704 +#: views/document_views.py:130 +#, fuzzy +#| msgid "Change type" +msgid "Change" +msgstr "Changer le type" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "Change the type of the selected document." +#| msgid_plural "Change the type of the selected documents." +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "Modifier le type du document sélectionné." +msgstr[1] "Modifier le type des documents sélectionnés." + +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Change the type of the selected document." +#| msgid_plural "Change the type of the selected documents." +msgid "Change the type of the document: %s" +msgstr "Modifier le type du document sélectionné." + +#: views/document_views.py:164 #, python-format msgid "Document type for \"%s\" changed successfully." msgstr "Type de document pour \"%s\" changé." -#: views.py:716 views.py:1235 -msgid "Submit" -msgstr "Soumettre" +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" +msgstr "Modifier les propriétés du document : %s" -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "Modifier le type du document sélectionné." -msgstr[1] "Modifier le type des documents sélectionnés." +#: views/document_views.py:200 +msgid "Restore the selected document?" +msgstr "Êtes vous sûr de vouloir rétablir le document sélectionné ?" -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." -msgstr "Vous devez fournir au moins un document ou une version" +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." +msgstr "Document %(document)s rétabli." -#: views.py:819 -msgid "Documents to be downloaded" -msgstr "Documents à télécharger" +#: views/document_views.py:229 +msgid "Restore the selected documents?" +msgstr "Êtes vous sûr de vouloir rétablir les documents sélectionnés ?" -#: views.py:828 -msgid "Date and time" -msgstr "Date et heure" +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" +msgstr "Aperçu du document : %s" -#: views.py:931 -msgid "At least one document must be selected." -msgstr "Au moins un document doit être sélectionné" +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" +msgstr "Etes-vous sûr de vouloir envoyer \"%s\" à la corbeille ?" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." +msgstr "Document : %(document)s envoyé à la corbeille avec succès." + +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "" +"Êtes vous sûr de vouloir envoyer les documents sélectionnés à la corbeille ?" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "Propriétés du document : %s" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "Vider la corbeille ?" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "Corbeille vidée avec succès" + +#: views/document_views.py:519 +#, fuzzy, python-format +#| msgid "Document queued for page count recalculation." +msgid "%(count)d document queued for page count recalculation" msgstr "Document en file d'attente pour recomptage du nombre de pages." -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:522 +#, fuzzy, python-format +#| msgid "Documents queued for page count recalculation." +msgid "%(count)d documents queued for page count recalculation" msgstr "Documents en file d'attente pour recalcul du nombre de pages." -#: views.py:964 +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" -msgstr[0] "Êtes vous sûr de vouloir recalculer le nombre de pages du document sélectionné ?" -msgstr[1] "Êtes vous sûr de vouloir recalculer le nombre de pages des documents sélectionnés ?" +msgstr[0] "" +"Êtes vous sûr de vouloir recalculer le nombre de pages du document " +"sélectionné ?" +msgstr[1] "" +"Êtes vous sûr de vouloir recalculer le nombre de pages des documents " +"sélectionnés ?" -#: views.py:1023 +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Recalculate the page count of the selected document?" +#| msgid_plural "Recalculate the page count of the selected documents?" +msgid "Recalculate the page count of the document: %s?" +msgstr "" +"Êtes vous sûr de vouloir recalculer le nombre de pages du document " +"sélectionné ?" + +#: views/document_views.py:558 +#, python-format +msgid "Transformation clear request processed for %(count)d document" +msgstr "" + +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 +#, fuzzy +#| msgid "Clear all the page transformations for the selected document?" +#| msgid_plural "" +#| "Clear all the page transformations for the selected documents?" +msgid "Clear all the page transformations for the selected document?" +msgid_plural "Clear all the page transformations for the selected document?" +msgstr[0] "" +"Êtes-vous sûr de vouloir supprimer toutes les transformations de page pour " +"le document sélectionné ?" +msgstr[1] "" +"Êtes-vous sûr de vouloir supprimer toutes les transformations de page pour " +"les documents sélectionnés ?" + +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "Clear all the page transformations for the selected document?" +#| msgid_plural "" +#| "Clear all the page transformations for the selected documents?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "" +"Êtes-vous sûr de vouloir supprimer toutes les transformations de page pour " +"le document sélectionné ?" + +#: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "Erreur lors de la suppression des transformations de page pour le document : %(document)s; %(error)s." +msgstr "" +"Erreur lors de la suppression des transformations de page pour le document : " +"%(document)s; %(error)s." -#: views.py:1032 -#, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." -msgstr "Toutes les transformations de page pour le document : %s ont été supprimées avec succès." +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." -#: views.py:1044 -msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" -msgstr[0] "Êtes-vous sûr de vouloir supprimer toutes les transformations de page pour le document sélectionné ?" -msgstr[1] "Êtes-vous sûr de vouloir supprimer toutes les transformations de page pour les documents sélectionnés ?" +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "Soumettre" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "Il n'y a pas d'autres pages dans ce document" +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "Clear all the page transformations for the selected document?" +#| msgid_plural "" +#| "Clear all the page transformations for the selected documents?" +msgid "Clone page transformations for document: %s" +msgstr "" +"Êtes-vous sûr de vouloir supprimer toutes les transformations de page pour " +"le document sélectionné ?" -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "Vous êtes déjà sur la première page du document" - -#: views.py:1225 views.py:1234 +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "Imprimer : %s" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "Vider l'image en cache du document" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "" +"Demande de nettoyage du cache de documents mise en file d'attente avec " +"succès." + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "Page %(page_number)d sur %(total_pages)d" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "Image de la page" + +#: widgets.py:242 msgid "Document page image" msgstr "Image de la page du document" +#~| msgid "Version update" +#~ msgid "New version block" +#~ msgstr "Bloc de la nouvelle version" + +#~| msgid "Version update" +#~ msgid "New version blocks" +#~ msgstr "Blocs de la nouvelle version" + +#~ msgid "Must provide at least one document." +#~ msgstr "Au moins un document est requis." + +#~| msgid "Must provide at least one document." +#~ msgid "Must provide at least one document or version." +#~ msgstr "Vous devez fournir au moins un document ou une version" + +#~ msgid "Documents to be downloaded" +#~ msgstr "Documents à télécharger" + +#~ msgid "Date and time" +#~ msgstr "Date et heure" + +#~ msgid "At least one document must be selected." +#~ msgstr "Au moins un document doit être sélectionné" + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "" +#~ "Toutes les transformations de page pour le document : %s ont été " +#~ "supprimées avec succès." + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -916,9 +1071,6 @@ msgstr "Image de la page du document" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -929,11 +1081,11 @@ msgstr "Image de la page du document" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1062,10 +1214,8 @@ msgstr "Image de la page du document" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1079,11 +1229,11 @@ msgstr "Image de la page du document" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1106,11 +1256,11 @@ msgstr "Image de la page du document" #~ "(%d)?" #~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" +#~ "Are you sure you wish to clear all the page transformations for " +#~ "documents: %s?" #~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" +#~ "Are you sure you wish to clear all the page transformations for " +#~ "documents: %s?" #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1127,15 +1277,19 @@ msgstr "Image de la page du document" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1192,11 +1346,11 @@ msgstr "Image de la page du document" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1220,11 +1374,11 @@ msgstr "Image de la page du document" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1245,9 +1399,11 @@ msgstr "Image de la page du document" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1277,11 +1433,11 @@ msgstr "Image de la page du document" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1338,15 +1494,17 @@ msgstr "Image de la page du document" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" diff --git a/mayan/apps/documents/locale/hu/LC_MESSAGES/django.po b/mayan/apps/documents/locale/hu/LC_MESSAGES/django.po index 30c0efa323..8c8037b5bd 100644 --- a/mayan/apps/documents/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/hu/LC_MESSAGES/django.po @@ -1,102 +1,125 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "dokumentumok" -#: apps.py:98 +#: apps.py:110 +msgid "New pages this month" +msgstr "" + +#: apps.py:119 +#, fuzzy +#| msgid "documents of this type" +msgid "New documents this month" +msgstr "documents of this type" + +#: apps.py:128 +#, fuzzy +#| msgid "Edit documents" +msgid "Total documents" +msgstr "Dokumentum szerkesztése" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "" + +#: apps.py:145 msgid "Create a document type" msgstr "" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." msgstr "" -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "MIME típus" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "" -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "Megjegyzés" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "" @@ -117,12 +140,10 @@ msgid "Document type changed" msgstr "" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -130,248 +151,262 @@ msgstr "" msgid "Document viewed" msgstr "" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "Oldal kép" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "Dokumentum gyors átnevezése" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "Dátum megadása" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "Fájl MIME-típusa" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "Semmi" -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "Fájl mérete" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "Létezik a tárolóban" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "A fájl elérési útja a tárolóban" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "Ellenőrző összeg" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "Lapok" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "Dokumentum típus" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "Tömörítés" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "Tömörített fájlnév" -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "A tömörített fájl neve, amely a letöltött dokumentumokat tartalmazni fogja, ha az előző opció van kiválasztva." +msgstr "" +"A tömörített fájl neve, amely a letöltött dokumentumokat tartalmazni fogja, " +"ha az előző opció van kiválasztva." -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "Oldal tartomány" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "" -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Page transformations" +msgid "Clone transformations" +msgstr "page transformations" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "Letöltés" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "" -#: links.py:144 -msgid "Trash" +#: links.py:151 +msgid "Trash can" msgstr "" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "Törölje a grafikus ábrázolásokat, hogy felgyorsítsa a dokumentum megjelenítését és az interaktív átalakításokat." +msgstr "" +"Törölje a grafikus ábrázolásokat, hogy felgyorsítsa a dokumentum " +"megjelenítését és az interaktív átalakításokat." -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "" -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "" - #: literals.py:14 msgid "Default" msgstr "" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." +"Amount of time after which documents of this type will be moved to the trash." msgstr "" #: models.py:71 @@ -389,12 +424,10 @@ msgid "" msgstr "" #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -402,99 +435,102 @@ msgstr "" msgid "Documents types" msgstr "" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "Leírás" -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "" -#: models.py:169 -msgid "Language" -msgstr "" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." msgstr "" -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" -msgstr "Az oldalak száma %(page_num)d nagyobb mint a %(document)s oldalainak száma: %(total_pages)d " +msgstr "" +"Az oldalak száma %(page_num)d nagyobb mint a %(document)s oldalainak " +"száma: %(total_pages)d " -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "" +#: models.py:804 +#, fuzzy +#| msgid "Document edited" +msgid "Document page cached image" +msgstr "Document edited" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document page transformations" +msgid "Document page cached images" +msgstr "document page transformations" + +#: models.py:827 msgid "User" msgstr "Felhasználó" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "" @@ -507,11 +543,10 @@ msgid "Delete documents" msgstr "Dokumentum törlése" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "Dokumentum letöltése" @@ -528,12 +563,10 @@ msgid "Edit document properties" msgstr "Dokumentum tulajdonságok szerkesztése" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -569,288 +602,341 @@ msgstr "Dokumentum típus szerkesztése" msgid "View document types" msgstr "Dokumentum típus megtekintése" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." -msgstr "A felhasználónként megjegyzendő dokumentumok maximális száma amit az utóbbi időben (létrehozott, szerkesztett, a megtekintett)." +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." +msgstr "" +"A felhasználónként megjegyzendő dokumentumok maximális száma amit az utóbbi " +"időben (létrehozott, szerkesztett, a megtekintett)." -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." -msgstr "Egy dokumentum oldal százalékos nagyításának vagy kicsinyítésének aránya egy lépésben." +msgstr "" +"Egy dokumentum oldal százalékos nagyításának vagy kicsinyítésének aránya egy " +"lépésben." -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." msgstr "Egy dokumentum oldal százalékos (%) nagyításának aránya egy lépésben." -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "Egy dokumentum oldal százalékos (%) kicsinyítésének aránya egy lépésben." +msgstr "" +"Egy dokumentum oldal százalékos (%) kicsinyítésének aránya egy lépésben." -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." -msgstr "A felhasználó ennyi fokkal lesz képes elforgatni a dokumentumot oldalt egy lépésben." +msgstr "" +"A felhasználó ennyi fokkal lesz képes elforgatni a dokumentumot oldalt egy " +"lépésben." -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "" -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "" -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "" - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "" - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "" - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "a dokumentumnak nincs több oldala" + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "Ez már a dokumentum első oldala" + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "" - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "" -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" msgstr "" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "Minden ezután következő verzió is törölve lesz." -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "Dokumentum verzió sikeresen visszaállt" -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "Hiba a dokumentum verzió visszaállítása közben; %s" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" +msgid "Document: %(document)s deleted." msgstr "" -#: views.py:639 -msgid "Empty trash?" +#: views/document_views.py:108 +msgid "Delete the selected documents?" msgstr "" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" msgstr "" -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "Adjon meg legalább egy dokumentumot." +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" -#: views.py:704 +#: views/document_views.py:130 +msgid "Change" +msgstr "" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "Are you sure you wish to delete the selected document?" +#| msgid_plural "Are you sure you wish to delete the selected documents?" +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" +msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" + +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Content of document: %s" +msgid "Change the type of the document: %s" +msgstr "versions for document: %s" + +#: views/document_views.py:164 #, python-format msgid "Document type for \"%s\" changed successfully." msgstr "" -#: views.py:716 views.py:1235 -msgid "Submit" +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" msgstr "" -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "" -msgstr[1] "" - -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." +#: views/document_views.py:200 +msgid "Restore the selected document?" msgstr "" -#: views.py:819 -msgid "Documents to be downloaded" +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." msgstr "" -#: views.py:828 -msgid "Date and time" +#: views/document_views.py:229 +msgid "Restore the selected documents?" msgstr "" -#: views.py:931 -msgid "At least one document must be selected." +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" msgstr "" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" msgstr "" -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." msgstr "" -#: views.py:964 +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "" + +#: views/document_views.py:519 +#, python-format +msgid "%(count)d document queued for page count recalculation" +msgstr "" + +#: views/document_views.py:522 +#, python-format +msgid "%(count)d documents queued for page count recalculation" +msgstr "" + +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "" msgstr[1] "" -#: views.py:1023 +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Are you sure you wish to reset the page count of this document?" +msgid "Recalculate the page count of the document: %s?" +msgstr "" +"Are you sure you wish to update the page count for the office documents (%d)?" + +#: views/document_views.py:558 +#, python-format +msgid "Transformation clear request processed for %(count)d document" +msgstr "" + +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 +msgid "Clear all the page transformations for the selected document?" +msgid_plural "Clear all the page transformations for the selected document?" +msgstr[0] "" +msgstr[1] "" + +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "" +#| "Are you sure you wish to clear all the page transformations for " +#| "documents: %s?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "" +"Are you sure you wish to clear all the page transformations for documents: " +"%s?" + +#: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "Hiba %(error)s a dokumentum %(document)s oldal átalakítójának törlése közben." +msgstr "" +"Hiba %(error)s a dokumentum %(document)s oldal átalakítójának törlése közben." -#: views.py:1032 -#, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." -msgstr "A dokumentum:% s minden oldal átalakítójának törlése sikeres." +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." -#: views.py:1044 -msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" -msgstr[0] "" -msgstr[1] "" +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "a dokumentumnak nincs több oldala" +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "" +#| "Error deleting the page transformations for document: %(document)s; " +#| "%(error)s." +msgid "Clone page transformations for document: %s" +msgstr "" +"Hiba %(error)s a dokumentum %(document)s oldal átalakítójának törlése közben." -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "Ez már a dokumentum első oldala" - -#: views.py:1225 views.py:1234 +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "" + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "Oldal kép" + +#: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Adjon meg legalább egy dokumentumot." + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "A dokumentum:% s minden oldal átalakítójának törlése sikeres." + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -914,9 +1000,6 @@ msgstr "" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -927,11 +1010,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -960,9 +1043,6 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" -#~ msgid "Page transformations" -#~ msgstr "page transformations" - #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -1000,20 +1080,9 @@ msgstr "" #~ msgid "Use dictionaries to indentify arguments, example: {'degrees':90}" #~ msgstr "Use dictionaries to indentify arguments, example: %s" -#~ msgid "Document page transformations" -#~ msgstr "document page transformations" - #~ msgid "documents" #~ msgstr "documents" -#~ msgid "Content of document: %s" -#~ msgstr "versions for document: %s" - -#~ msgid "Are you sure you wish to delete the selected document?" -#~ msgid_plural "Are you sure you wish to delete the selected documents?" -#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" -#~ msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" - #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1060,10 +1129,8 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1077,11 +1144,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1098,21 +1165,6 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" -#~ msgid "Are you sure you wish to reset the page count of this document?" -#~ msgstr "" -#~ "Are you sure you wish to update the page count for the office documents " -#~ "(%d)?" - -#~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" -#~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" - -#~ msgid "Document edited" -#~ msgstr "Document edited" - #~ msgid "Version" #~ msgstr "version" @@ -1125,15 +1177,19 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1190,11 +1246,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1218,11 +1274,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1243,9 +1299,11 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1275,11 +1333,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1336,15 +1394,17 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1365,9 +1425,6 @@ msgstr "" #~ msgid "clone metadata" #~ msgstr "clone metadata" -#~ msgid "documents of this type" -#~ msgstr "documents of this type" - #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/documents/locale/id/LC_MESSAGES/django.po b/mayan/apps/documents/locale/id/LC_MESSAGES/django.po index 5596ae00b7..2f06213ab5 100644 --- a/mayan/apps/documents/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/id/LC_MESSAGES/django.po @@ -1,102 +1,125 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "Dokumen" -#: apps.py:98 +#: apps.py:110 +msgid "New pages this month" +msgstr "" + +#: apps.py:119 +#, fuzzy +#| msgid "documents of this type" +msgid "New documents this month" +msgstr "documents of this type" + +#: apps.py:128 +#, fuzzy +#| msgid "Edit documents" +msgid "Total documents" +msgstr "Sunting dokumen" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "" + +#: apps.py:145 msgid "Create a document type" msgstr "" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." msgstr "" -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "" -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "Komentar" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "" @@ -117,12 +140,10 @@ msgid "Document type changed" msgstr "" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -130,248 +151,262 @@ msgstr "" msgid "Document viewed" msgstr "" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "Gambar halaman" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "Cara cepat mengganti nama dokumen" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "Tanggal ditambahkan" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "Bahasa" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "Jenis mime berkas" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "" -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "Ukuran berkas" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "Ada di penyimpanan" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "Halaman-halaman" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "Jenis dokumen" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "Kompresi" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "Nama berkas terkompresi" -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "Nama berkas dari berkas terkompresi yang mengandung dokumen-dokumen yang akan diunduh, bila pilihan sebelumnya terpilih." +msgstr "" +"Nama berkas dari berkas terkompresi yang mengandung dokumen-dokumen yang " +"akan diunduh, bila pilihan sebelumnya terpilih." -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "Jangkauan halaman" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "" -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Page transformations" +msgid "Clone transformations" +msgstr "page transformations" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "Unduh" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "" -#: links.py:144 -msgid "Trash" +#: links.py:151 +msgid "Trash can" msgstr "" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "Bersihkan representasi gambar-gambar yang dipergunakan untuk mempercepat menampilkan dokumen dan hasil transformasi interaktif." +msgstr "" +"Bersihkan representasi gambar-gambar yang dipergunakan untuk mempercepat " +"menampilkan dokumen dan hasil transformasi interaktif." -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "" -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "" - #: literals.py:14 msgid "Default" msgstr "" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." +"Amount of time after which documents of this type will be moved to the trash." msgstr "" #: models.py:71 @@ -389,12 +424,10 @@ msgid "" msgstr "" #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -402,99 +435,100 @@ msgstr "" msgid "Documents types" msgstr "" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "Deskripsi" -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "" -#: models.py:169 -msgid "Language" -msgstr "Bahasa" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." msgstr "" -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "File" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" msgstr "Halaman %(page_num)d dari %(total_pages)d untuk %(document)s" -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "" +#: models.py:804 +#, fuzzy +#| msgid "Document edited" +msgid "Document page cached image" +msgstr "Document edited" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document page transformations" +msgid "Document page cached images" +msgstr "document page transformations" + +#: models.py:827 msgid "User" msgstr "Pengguna" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "" @@ -507,11 +541,10 @@ msgid "Delete documents" msgstr "Hapus dokumen" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "Unduh dokumen" @@ -528,12 +561,10 @@ msgid "Edit document properties" msgstr "" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -569,285 +600,344 @@ msgstr "Sunting jenis dokumen" msgid "View document types" msgstr "Lihat jenis-jenis dokumen" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." -msgstr "Jumlah maksimal dokumen-dokumen (dibuat, disunting, dilihat) baru-baru ini per pengguna." +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." +msgstr "" +"Jumlah maksimal dokumen-dokumen (dibuat, disunting, dilihat) baru-baru ini " +"per pengguna." -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." -msgstr "Satuan dalam persen untuk memperbesar atau memperkecil tampilan halaman dokumen per interaksi pengguna." +msgstr "" +"Satuan dalam persen untuk memperbesar atau memperkecil tampilan halaman " +"dokumen per interaksi pengguna." -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "Jumlah maksimal dalam persen (%) yang diperbolehkan bagi pengguna untuk memperbesar tampilan halaman dokumen secara interaktif" +msgstr "" +"Jumlah maksimal dalam persen (%) yang diperbolehkan bagi pengguna untuk " +"memperbesar tampilan halaman dokumen secara interaktif" -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "Jumlah minimal dalam persen (%) yang diperbolehkan bagi pengguna untuk memperkecil tampilan halaman dokumen secara interaktif." +msgstr "" +"Jumlah minimal dalam persen (%) yang diperbolehkan bagi pengguna untuk " +"memperkecil tampilan halaman dokumen secara interaktif." -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." -msgstr "Jumlah dalam derajat untuk memutar halaman dokumen per interaksi pengguna." +msgstr "" +"Jumlah dalam derajat untuk memutar halaman dokumen per interaksi pengguna." -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "" -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "" -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "" - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "" - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "" - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "Tidak ada halaman lagi dalam dokumen ini" + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "Anda telah berada pada halaman pertama dari dokumen ini" + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "" - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "" -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" msgstr "" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "Semua versi sebelum versi yang ini akan ikut dihapus juga." -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "Versi dokumen berhasil dikembalikan." -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "Masalah dalam mengembalikan versi dokumen; %s" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" +msgid "Document: %(document)s deleted." msgstr "" -#: views.py:639 -msgid "Empty trash?" +#: views/document_views.py:108 +msgid "Delete the selected documents?" msgstr "" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" msgstr "" -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "Harus memberikan setidaknya satu dokumen." +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" -#: views.py:704 +#: views/document_views.py:130 +msgid "Change" +msgstr "" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "Are you sure you wish to delete the selected document?" +#| msgid_plural "Are you sure you wish to delete the selected documents?" +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" + +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Content of document: %s" +msgid "Change the type of the document: %s" +msgstr "versions for document: %s" + +#: views/document_views.py:164 #, python-format msgid "Document type for \"%s\" changed successfully." msgstr "" -#: views.py:716 views.py:1235 -msgid "Submit" +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" msgstr "" -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "" - -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." +#: views/document_views.py:200 +msgid "Restore the selected document?" msgstr "" -#: views.py:819 -msgid "Documents to be downloaded" +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." msgstr "" -#: views.py:828 -msgid "Date and time" +#: views/document_views.py:229 +msgid "Restore the selected documents?" msgstr "" -#: views.py:931 -msgid "At least one document must be selected." +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" msgstr "" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" msgstr "" -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." msgstr "" -#: views.py:964 +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "" + +#: views/document_views.py:519 +#, python-format +msgid "%(count)d document queued for page count recalculation" +msgstr "" + +#: views/document_views.py:522 +#, python-format +msgid "%(count)d documents queued for page count recalculation" +msgstr "" + +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "" -#: views.py:1023 +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Are you sure you wish to reset the page count of this document?" +msgid "Recalculate the page count of the document: %s?" +msgstr "" +"Are you sure you wish to update the page count for the office documents (%d)?" + +#: views/document_views.py:558 +#, python-format +msgid "Transformation clear request processed for %(count)d document" +msgstr "" + +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 +msgid "Clear all the page transformations for the selected document?" +msgid_plural "Clear all the page transformations for the selected document?" +msgstr[0] "" + +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "" +#| "Are you sure you wish to clear all the page transformations for " +#| "documents: %s?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "" +"Are you sure you wish to clear all the page transformations for documents: " +"%s?" + +#: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "Masalah dalam menghapus transformasi-transformasi untuk halaman: %(document)s; %(error)s." +msgstr "" +"Masalah dalam menghapus transformasi-transformasi untuk halaman: " +"%(document)s; %(error)s." -#: views.py:1032 -#, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." -msgstr "Semua transformasi-transformasi halaman untuk dokumen: %s, telah berhasil dihapus." +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." -#: views.py:1044 -msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" -msgstr[0] "" +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "Tidak ada halaman lagi dalam dokumen ini" +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "" +#| "Error deleting the page transformations for document: %(document)s; " +#| "%(error)s." +msgid "Clone page transformations for document: %s" +msgstr "" +"Masalah dalam menghapus transformasi-transformasi untuk halaman: " +"%(document)s; %(error)s." -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "Anda telah berada pada halaman pertama dari dokumen ini" - -#: views.py:1225 views.py:1234 +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "" + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "Gambar halaman" + +#: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Harus memberikan setidaknya satu dokumen." + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "" +#~ "Semua transformasi-transformasi halaman untuk dokumen: %s, telah berhasil " +#~ "dihapus." + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -911,9 +1001,6 @@ msgstr "" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -924,11 +1011,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -957,9 +1044,6 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" -#~ msgid "Page transformations" -#~ msgstr "page transformations" - #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -997,19 +1081,9 @@ msgstr "" #~ msgid "Use dictionaries to indentify arguments, example: {'degrees':90}" #~ msgstr "Use dictionaries to indentify arguments, example: %s" -#~ msgid "Document page transformations" -#~ msgstr "document page transformations" - #~ msgid "documents" #~ msgstr "documents" -#~ msgid "Content of document: %s" -#~ msgstr "versions for document: %s" - -#~ msgid "Are you sure you wish to delete the selected document?" -#~ msgid_plural "Are you sure you wish to delete the selected documents?" -#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" - #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1056,10 +1130,8 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1073,11 +1145,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1094,21 +1166,6 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" -#~ msgid "Are you sure you wish to reset the page count of this document?" -#~ msgstr "" -#~ "Are you sure you wish to update the page count for the office documents " -#~ "(%d)?" - -#~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" -#~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" - -#~ msgid "Document edited" -#~ msgstr "Document edited" - #~ msgid "Version" #~ msgstr "version" @@ -1121,15 +1178,19 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1186,11 +1247,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1214,11 +1275,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1239,9 +1300,11 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1271,11 +1334,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1332,15 +1395,17 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1361,9 +1426,6 @@ msgstr "" #~ msgid "clone metadata" #~ msgstr "clone metadata" -#~ msgid "documents of this type" -#~ msgstr "documents of this type" - #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/documents/locale/it/LC_MESSAGES/django.po b/mayan/apps/documents/locale/it/LC_MESSAGES/django.po index c3aaaa3e6e..adb1011734 100644 --- a/mayan/apps/documents/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Marco Camplese , 2016 @@ -10,95 +10,122 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-30 21:18+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "Documenti" -#: apps.py:98 +#: apps.py:110 +#, fuzzy +#| msgid "New document pages per month" +msgid "New pages this month" +msgstr "Nuove pagine di documento per mese" + +#: apps.py:119 +#, fuzzy +#| msgid "New documents per month" +msgid "New documents this month" +msgstr "Nuovi documenti per mese" + +#: apps.py:128 +#, fuzzy +#| msgid "Trash documents" +msgid "Total documents" +msgstr "Cestina documenti" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "Tipi di documento" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "Documenti nel cestino" + +#: apps.py:145 msgid "Create a document type" msgstr "Creare un tipo di documento" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." -msgstr "Ad ogni documento caricato deve essere assegnato un tipo documento, questa è la via più semplice per categorizzare i documenti in Mayan EDMS." +msgstr "" +"Ad ogni documento caricato deve essere assegnato un tipo documento, questa " +"è la via più semplice per categorizzare i documenti in Mayan EDMS." -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "Etichetta" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "Il MIME Type di qualsiasi delle versioni del documento" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "Tipo MIME" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "Miniatura" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "Tipo" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "Abilitato" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "Data e ora di spostamento nel cestino" -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "Ora e data" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "Codifica" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "Commento" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "Nuovi documenti per mese" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "Nuove versioni dei documenti per mese" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "Nuove pagine di documento per mese" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "Totale documenti per ogni mese" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "Totale versioni di documento documento per ogni mese" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "Totale pagine documento per ogni mese" @@ -119,12 +146,10 @@ msgid "Document type changed" msgstr "Cambiamenti al tipo di documento" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "Nuove versioni caricate" #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "Versioni di documento recuperate" @@ -132,249 +157,270 @@ msgstr "Versioni di documento recuperate" msgid "Document viewed" msgstr "Documenti visualizzati" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "Immagine della pagina" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "Pagine del documento (%d)" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "Rinomina del documento veloce" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "Data inserimento" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "Lingua" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "File mimetype" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "Nessuna " -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "File encoding" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "Dimensioni del file" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "Esiste nello storage" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "File path in storage" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "Checksum" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "Pagine" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "Tipo documento " -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "Comprimere" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." -msgstr "Scarica il documento nel formato originale oppure compresso. Questa opzione è selezionabile quando scarichi un singolo documento, per documenti multipli, il pacchetto sarà sempre scaricato in formato compresso." +msgstr "" +"Scarica il documento nel formato originale oppure compresso. Questa opzione " +"è selezionabile quando scarichi un singolo documento, per documenti " +"multipli, il pacchetto sarà sempre scaricato in formato compresso." -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "Nome file compresso " -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "Il nome file del file compresso che conterrà il documento da scaricare, se l'opzione precedente è selezionata." +msgstr "" +"Il nome file del file compresso che conterrà il documento da scaricare, se " +"l'opzione precedente è selezionata." -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "Intervallo pagina" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "Anteprima " -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "Proprietà" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "Versioni" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "Cancella trasformazioni" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Clear transformations" +msgid "Clone transformations" +msgstr "Cancella trasformazioni" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "Cancella" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "Sposta nel cestino" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "Modifica proprietà" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "Cambia tipo" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "Scarica" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "Stampa" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "Ricalcola numero pagine" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "Ripristina" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "Scarica versione" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "Tutti i documenti" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "Documenti recenti" -#: links.py:144 -msgid "Trash" +#: links.py:151 +#, fuzzy +#| msgid "Trash" +msgid "Trash can" msgstr "Cestino" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "Cancella le rappresentazioni grafiche utilizzate per accellerare la visualizzazione dei documenti e dei risultati interattivi trasformazioni." +msgstr "" +"Cancella le rappresentazioni grafiche utilizzate per accellerare la " +"visualizzazione dei documenti e dei risultati interattivi trasformazioni." -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "Pulisci la cache delle immagini dei documenti" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "Svuota cestino" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "Prima pagina" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "Ultima pagina" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "Pagina precedente" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "Pagina successiva" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "Documento" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "Ruota a sinistra" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "Ruota a destra" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "Reset visualizzazione" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "Zoom in" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "Zoom out" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "Ritornare" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "Crea tipo di documento" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "Modifica" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "Aggiungi un'etichetta rapida al tipo documento" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "Etichette rapide" -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "Tipi di documento" - #: literals.py:14 msgid "Default" msgstr "Default" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "Tutte le pagine" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." -msgstr "Quantità di tempo dopo il quale i documenti di questo tipo saranno spostati nel cestino." +"Amount of time after which documents of this type will be moved to the trash." +msgstr "" +"Quantità di tempo dopo il quale i documenti di questo tipo saranno spostati " +"nel cestino." #: models.py:71 msgid "Trash time period" @@ -388,15 +434,15 @@ msgstr "Unità di tempo per cestinare" msgid "" "Amount of time after which documents of this type in the trash will be " "deleted." -msgstr "Quantità di tempo dopo il quale i documenti di questo tipo nel cestino saranno cancellati." +msgstr "" +"Quantità di tempo dopo il quale i documenti di questo tipo nel cestino " +"saranno cancellati." #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "Tempo per cancellare" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "Unità di tempo per cancellare" @@ -404,99 +450,103 @@ msgstr "Unità di tempo per cancellare" msgid "Documents types" msgstr "Tipi di documenti" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "Il nome del documento" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "Descrizione " -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "Aggiunto" -#: models.py:169 -msgid "Language" -msgstr "Lingua" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "Nel cestino?" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "Data e ora di spostamento nel cestino" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." -msgstr "Un documento troncato è un documento presente sul database che non ha un file scaricato. Potrebbe essere dovuto ad un upload interrotto oppure rimandato per caricarlo via API." +msgstr "" +"Un documento troncato è un documento presente sul database che non ha un " +"file scaricato. Potrebbe essere dovuto ad un upload interrotto oppure " +"rimandato per caricarlo via API." -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "Documento troncato?" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "Documento troncato, ID: %d" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "Timestamp" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "File" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "Versione documento" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "Etichetta rapida" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "Numero di pagina" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" msgstr "Pagina %(page_num)d di %(total_pages)d del %(document)s" -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "Pagina del documento" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "Le pagine del documento" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "Nuovo blocco versione" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "Nuovi blocchi versione" +#: models.py:804 +#, fuzzy +#| msgid "Document page image" +msgid "Document page cached image" +msgstr "Immagine pagina documento" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document page image" +msgid "Document page cached images" +msgstr "Immagine pagina documento" + +#: models.py:827 msgid "User" msgstr "Utente" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "Acceduto" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "Documento recente " @@ -509,11 +559,10 @@ msgid "Delete documents" msgstr "Cancella documenti" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "Cestina documenti" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "Scarica documenti" @@ -530,12 +579,10 @@ msgid "Edit document properties" msgstr "Modifica proprietà documento" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "Stampa documenti" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "Ripristina il documento cancellato" @@ -571,288 +618,375 @@ msgstr "Modifica il tipo di documento" msgid "View document types" msgstr "Visualizza i tipi di documento" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." -msgstr "Numero massimo di documenti recenti da ricordare per utente (creazione, modifica, visualizzazione)." +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." +msgstr "" +"Numero massimo di documenti recenti da ricordare per utente (creazione, " +"modifica, visualizzazione)." -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." -msgstr "Percentuale dello zoom di una pagina del documento per l'interazione dell'utente." +msgstr "" +"Percentuale dello zoom di una pagina del documento per l'interazione " +"dell'utente." -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "Ingrandimento massimo in percentuale (%) da consentire all'utente per una pagina del documento in modo interattivo." +msgstr "" +"Ingrandimento massimo in percentuale (%) da consentire all'utente per una " +"pagina del documento in modo interattivo." -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "Quantità minima in percentuale (%) per consentire all'utente di ingrandire una pagina di documento in modo interattivo." +msgstr "" +"Quantità minima in percentuale (%) per consentire all'utente di ingrandire " +"una pagina di documento in modo interattivo." -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." msgstr "Quantità di gradi per la rotazione della pagina del documento" -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "Lingua predefinita per idocumenti (in formato ISO639-2)." -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "Elenco delle lingue supportate nei documenti." -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "Cancellare la cache delle immagini documento?" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "Pulizia della cache documenti in coda completata con successo." - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "Documenti nel cestino" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "Cancellare il documento selezionato?" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "Documento: %(document)s cancellato." - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "Cancellare i documenti selezionati?" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "Modifica le proprietà del documento: %s" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "Ripristinare i documenti selezionati?" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "Documento: %(document)s rispristinato." - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "Ripristinare i documenti selezionati?" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "Pagine del documento: %s" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "Non ci sono più pagine in questo documento" + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "Sei già alla prima pagina del documento" + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "Immagine di: %s" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "Anteprima del documento: %s" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "Spostare \"%s\" nel cestino?" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "Documento: %(document)s spostato nel cestino con successo.." - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "Spostare i documenti selezionati nel cestino?" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "Documento di tipo: %s" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "Tutti i documenti di questo tipo saranno cancellati ." -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "Cancellare il tipo documento: %s?" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "Modifica il tipo di documento: %s" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "Crea etichetta rapida per il tipo documento: %s" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" -msgstr "Modifica etichetta rapida \"%(filename)s\" dal tipo documento \"%(document_type)s\"" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgstr "" +"Modifica etichetta rapida \"%(filename)s\" dal tipo documento " +"\"%(document_type)s\"" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" -msgstr "Cancellare l'etichetta: %(label)s, dal tipo documento \"%(document_type)s\"?" +msgstr "" +"Cancellare l'etichetta: %(label)s, dal tipo documento \"%(document_type)s\"?" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "Etichette rapide per il tipo documento: %s" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "Versione del documento: %s" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "Tutte le versioni precedenti a questa verranno cancellate." -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "Ripristinare questa versione?" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "Versione del documento ripristinato con successo" -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "Errore restituito, al ripristino del documento; %s" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "Cancellare il documento selezionato?" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" -msgstr "Proprietà del documento: %s" +msgid "Document: %(document)s deleted." +msgstr "Documento: %(document)s cancellato." -#: views.py:639 -msgid "Empty trash?" -msgstr "Cancellare il cestino?" +#: views/document_views.py:108 +msgid "Delete the selected documents?" +msgstr "Cancellare i documenti selezionati?" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" -msgstr "Svuotamento cestino completato" +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" +msgstr "" -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "Fornire almeno un documento " +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" -#: views.py:704 +#: views/document_views.py:130 +#, fuzzy +#| msgid "Change type" +msgid "Change" +msgstr "Cambia tipo" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "Change the type of the selected document." +#| msgid_plural "Change the type of the selected documents." +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "Cambia il tipo del documento selezionato." +msgstr[1] "Cambia il tipo dei documenti selezionati." + +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Change the type of the selected document." +#| msgid_plural "Change the type of the selected documents." +msgid "Change the type of the document: %s" +msgstr "Cambia il tipo del documento selezionato." + +#: views/document_views.py:164 #, python-format msgid "Document type for \"%s\" changed successfully." msgstr "Tipo documento per \"%s\" cambiato con successo." -#: views.py:716 views.py:1235 -msgid "Submit" -msgstr "Invia" +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" +msgstr "Modifica le proprietà del documento: %s" -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "Cambia il tipo del documento selezionato." -msgstr[1] "Cambia il tipo dei documenti selezionati." +#: views/document_views.py:200 +msgid "Restore the selected document?" +msgstr "Ripristinare i documenti selezionati?" -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." -msgstr "Deve fornire almeno un documento o una versione." +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." +msgstr "Documento: %(document)s rispristinato." -#: views.py:819 -msgid "Documents to be downloaded" -msgstr "Documenti da scaricare" +#: views/document_views.py:229 +msgid "Restore the selected documents?" +msgstr "Ripristinare i documenti selezionati?" -#: views.py:828 -msgid "Date and time" -msgstr "Data e ora" +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" +msgstr "Anteprima del documento: %s" -#: views.py:931 -msgid "At least one document must be selected." -msgstr "Almeno un documento deve essere selezionato." +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" +msgstr "Spostare \"%s\" nel cestino?" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." +msgstr "Documento: %(document)s spostato nel cestino con successo.." + +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "Spostare i documenti selezionati nel cestino?" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "Proprietà del documento: %s" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "Cancellare il cestino?" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "Svuotamento cestino completato" + +#: views/document_views.py:519 +#, fuzzy, python-format +#| msgid "Document queued for page count recalculation." +msgid "%(count)d document queued for page count recalculation" msgstr "Documento messo in coda per ricalcolo delle pagine." -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:522 +#, fuzzy, python-format +#| msgid "Documents queued for page count recalculation." +msgid "%(count)d documents queued for page count recalculation" msgstr "Documenti messi in coda per ricalcolo delle pagine." -#: views.py:964 +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "Ricalcolare il conteggio delle pagine del documento selezionato?" msgstr[1] "Ricalcolare il conteggio delle pagine dei documenti selezionati?" -#: views.py:1023 +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Recalculate the page count of the selected document?" +#| msgid_plural "Recalculate the page count of the selected documents?" +msgid "Recalculate the page count of the document: %s?" +msgstr "Ricalcolare il conteggio delle pagine del documento selezionato?" + +#: views/document_views.py:558 +#, python-format +msgid "Transformation clear request processed for %(count)d document" +msgstr "" + +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 +#, fuzzy +#| msgid "Clear all the page transformations for the selected document?" +#| msgid_plural "" +#| "Clear all the page transformations for the selected documents?" +msgid "Clear all the page transformations for the selected document?" +msgid_plural "Clear all the page transformations for the selected document?" +msgstr[0] "Cancellare le trasformazioni per il documento selezionato?" +msgstr[1] "Cancellare le trasformazioni per i documenti selezionati?" + +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "Clear all the page transformations for the selected document?" +#| msgid_plural "" +#| "Clear all the page transformations for the selected documents?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "Cancellare le trasformazioni per il documento selezionato?" + +#: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "Errore nella cancellazione della trasformazione della pagina per il documento:%(document)s; %(error)s." +msgstr "" +"Errore nella cancellazione della trasformazione della pagina per il " +"documento:%(document)s; %(error)s." -#: views.py:1032 -#, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." -msgstr "Tutte le trasformazioni alle pagine del documento:%s, sono state cancellate con successo." +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." -#: views.py:1044 -msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" -msgstr[0] "Cancellare le trasformazioni per il documento selezionato?" -msgstr[1] "Cancellare le trasformazioni per i documenti selezionati?" +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "Invia" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "Non ci sono più pagine in questo documento" +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "Clear all the page transformations for the selected document?" +#| msgid_plural "" +#| "Clear all the page transformations for the selected documents?" +msgid "Clone page transformations for document: %s" +msgstr "Cancellare le trasformazioni per il documento selezionato?" -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "Sei già alla prima pagina del documento" - -#: views.py:1225 views.py:1234 +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "Stampa: %s" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "Cancellare la cache delle immagini documento?" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "Pulizia della cache documenti in coda completata con successo." + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "Pagina %(page_number)d di %(total_pages)d" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "Immagine della pagina" + +#: widgets.py:242 msgid "Document page image" msgstr "Immagine pagina documento" +#~| msgid "Version update" +#~ msgid "New version block" +#~ msgstr "Nuovo blocco versione" + +#~| msgid "Version update" +#~ msgid "New version blocks" +#~ msgstr "Nuovi blocchi versione" + +#~ msgid "Must provide at least one document." +#~ msgstr "Fornire almeno un documento " + +#~| msgid "Must provide at least one document." +#~ msgid "Must provide at least one document or version." +#~ msgstr "Deve fornire almeno un documento o una versione." + +#~ msgid "Documents to be downloaded" +#~ msgstr "Documenti da scaricare" + +#~ msgid "Date and time" +#~ msgstr "Data e ora" + +#~ msgid "At least one document must be selected." +#~ msgstr "Almeno un documento deve essere selezionato." + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "" +#~ "Tutte le trasformazioni alle pagine del documento:%s, sono state " +#~ "cancellate con successo." + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -916,9 +1050,6 @@ msgstr "Immagine pagina documento" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -929,11 +1060,11 @@ msgstr "Immagine pagina documento" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1062,10 +1193,8 @@ msgstr "Immagine pagina documento" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1079,11 +1208,11 @@ msgstr "Immagine pagina documento" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1106,11 +1235,11 @@ msgstr "Immagine pagina documento" #~ "(%d)?" #~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" +#~ "Are you sure you wish to clear all the page transformations for " +#~ "documents: %s?" #~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" +#~ "Are you sure you wish to clear all the page transformations for " +#~ "documents: %s?" #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1127,15 +1256,19 @@ msgstr "Immagine pagina documento" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1192,11 +1325,11 @@ msgstr "Immagine pagina documento" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1220,11 +1353,11 @@ msgstr "Immagine pagina documento" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1245,9 +1378,11 @@ msgstr "Immagine pagina documento" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1277,11 +1412,11 @@ msgstr "Immagine pagina documento" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1338,15 +1473,17 @@ msgstr "Immagine pagina documento" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" diff --git a/mayan/apps/documents/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/documents/locale/nl_NL/LC_MESSAGES/django.po index 1745966c75..2883e3d942 100644 --- a/mayan/apps/documents/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -9,95 +9,120 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-09 15:56+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "Documenten" -#: apps.py:98 +#: apps.py:110 +#, fuzzy +#| msgid "New document pages per month" +msgid "New pages this month" +msgstr "Nieuwe documentpagina's per maand" + +#: apps.py:119 +#, fuzzy +#| msgid "New documents per month" +msgid "New documents this month" +msgstr "Nieuwe documenten per maand" + +#: apps.py:128 +#, fuzzy +#| msgid "All documents" +msgid "Total documents" +msgstr "Alle documenten" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "Documentsoorten" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "" + +#: apps.py:145 msgid "Create a document type" msgstr "Een documentsoort aanmaken" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." msgstr "" -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "Label" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "MIME type" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "Thumbnail" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "Type" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "Ingeschakeld" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "" -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "Tijd en datum" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "Commentaar" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "Nieuwe documenten per maand" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "Nieuwe documentversies per maand" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "Nieuwe documentpagina's per maand" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "" @@ -118,12 +143,10 @@ msgid "Document type changed" msgstr "Documentsoort veranderd" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "Nieuwe versie geüpload" #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "Documentversie teruggedraaid" @@ -131,248 +154,263 @@ msgstr "Documentversie teruggedraaid" msgid "Document viewed" msgstr "" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "Pagina afbeelding" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "Documentpagina's (%d)" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "Snel document hernoemen" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "Datum toegevoegd" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "Taal" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "MIME-type bestand" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "Geen" -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "Bestand encoderen" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "Bestandgrootte" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "Aanwezig in opslag" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "Bestandspad in opslag" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "Checksum" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "Pagina's" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "Documentsoort" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "Comprimeren" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "Bestandsnaam gecomprimeerde archiefbestand" -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "De bestandsnaam van het gecomprimeerde archiefbestand dat alle documenten bevat die dienen te worden gedownload, als de voorgaande optie is geselecteerd." +msgstr "" +"De bestandsnaam van het gecomprimeerde archiefbestand dat alle documenten " +"bevat die dienen te worden gedownload, als de voorgaande optie is " +"geselecteerd." -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "Pagina bereik" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "Preview" -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "Eigenschappe" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Page transformations" +msgid "Clone transformations" +msgstr "page transformations" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "Verwijder" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "Bewerk eigenschappen" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "Verander soort" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "Download" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "Printe" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "Alle documenten" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "Recente documenten" -#: links.py:144 -msgid "Trash" +#: links.py:151 +msgid "Trash can" msgstr "" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "Opschonen van de grafische afbeeldingen, die gebuikt worden bij het versnellen van de documentweergave en interactive transformatie resultaten." +msgstr "" +"Opschonen van de grafische afbeeldingen, die gebuikt worden bij het " +"versnellen van de documentweergave en interactive transformatie resultaten." -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "Document" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "bewerken" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "" -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "Documentsoorten" - #: literals.py:14 msgid "Default" msgstr "Verstekwaarde" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." +"Amount of time after which documents of this type will be moved to the trash." msgstr "" #: models.py:71 @@ -390,12 +428,10 @@ msgid "" msgstr "" #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -403,99 +439,100 @@ msgstr "" msgid "Documents types" msgstr "" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "Omschrijving" -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "Toegevoegd" -#: models.py:169 -msgid "Language" -msgstr "Taal" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." msgstr "" -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "Timestamp" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "Bestand" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "Documentversie" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" msgstr "Pagina %(page_num)d van %(total_pages)d in %(document)s " -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "Documentpagina" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "" +#: models.py:804 +#, fuzzy +#| msgid "Document type changed" +msgid "Document page cached image" +msgstr "Documentsoort veranderd" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document type changed" +msgid "Document page cached images" +msgstr "Documentsoort veranderd" + +#: models.py:827 msgid "User" msgstr "Gebruiker" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "" @@ -508,11 +545,10 @@ msgid "Delete documents" msgstr "Documenten verwijderen" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "Documenten downloaden" @@ -529,12 +565,10 @@ msgid "Edit document properties" msgstr "Documenteigenschappen bewerken" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -570,288 +604,346 @@ msgstr "Documentsoorten bewerken" msgid "View document types" msgstr "Bekijk de documentsoorten" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." -msgstr "Maximum aantal recente docmenten (aangemaakt, bewerkt, bekeken), te onthouden per gebruiker." +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." +msgstr "" +"Maximum aantal recente docmenten (aangemaakt, bewerkt, bekeken), te " +"onthouden per gebruiker." -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." msgstr "Percentage in- of uitzoomen voor documentpagina per gebruikeractie." -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "Maximaal toegestane documentpagina zoom percentage (%) per gebruikeractie." +msgstr "" +"Maximaal toegestane documentpagina zoom percentage (%) per gebruikeractie." -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "Minimaal toegestane documentpagina zoom percentage (%) per gebruikeractie. " +msgstr "" +"Minimaal toegestane documentpagina zoom percentage (%) per gebruikeractie. " -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." msgstr "Aantal graden documentpagina rotatie per gebruikeractie." -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "" -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "" -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "" - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "" - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "" - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "Er zijn verder geen pagina's meer in dit document" + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "U bent al op de eerste pagina in dit document" + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "" - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "Alle documenten van dit type zullen ook worden verwijderd." -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "Bewerk documenttype: %s" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" msgstr "" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "Versies van document: %s" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "Alle recentere versies na deze zullen ook worden verwijderd." -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "Documentversie succesvol teruggevoerd" -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "Fout bij het terugvoeren van de documentversie. Foutmelding: %s" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" -msgstr "Eigenschappen voor document: %s" +msgid "Document: %(document)s deleted." +msgstr "" -#: views.py:639 -msgid "Empty trash?" -msgstr "Prullenbak legen?" +#: views/document_views.py:108 +msgid "Delete the selected documents?" +msgstr "" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" -msgstr "Prullenbak succesvol geleegd" +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" +msgstr "" -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "U dient minstens 1 document aan te geven." +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" -#: views.py:704 +#: views/document_views.py:130 +#, fuzzy +#| msgid "Change type" +msgid "Change" +msgstr "Verander soort" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "Change the type of the selected document." +#| msgid_plural "Change the type of the selected documents." +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "Verander het type van het geselecteerde document." +msgstr[1] "Verander het type van de geselecteerde documenten." + +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Change the type of the selected document." +#| msgid_plural "Change the type of the selected documents." +msgid "Change the type of the document: %s" +msgstr "Verander het type van het geselecteerde document." + +#: views/document_views.py:164 #, python-format msgid "Document type for \"%s\" changed successfully." msgstr "Documenttype voor \"%s\" succesvol veranderd." -#: views.py:716 views.py:1235 -msgid "Submit" -msgstr "Verstuur" - -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "Verander het type van het geselecteerde document." -msgstr[1] "Verander het type van de geselecteerde documenten." - -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" msgstr "" -#: views.py:819 -msgid "Documents to be downloaded" -msgstr "Documenten om te downloaden" - -#: views.py:828 -msgid "Date and time" -msgstr "Datum en tijd" - -#: views.py:931 -msgid "At least one document must be selected." +#: views/document_views.py:200 +msgid "Restore the selected document?" msgstr "" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." msgstr "" -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:229 +msgid "Restore the selected documents?" msgstr "" -#: views.py:964 +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" +msgstr "" + +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" +msgstr "" + +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." +msgstr "" + +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "Eigenschappen voor document: %s" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "Prullenbak legen?" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "Prullenbak succesvol geleegd" + +#: views/document_views.py:519 +#, python-format +msgid "%(count)d document queued for page count recalculation" +msgstr "" + +#: views/document_views.py:522 +#, python-format +msgid "%(count)d documents queued for page count recalculation" +msgstr "" + +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "" msgstr[1] "" -#: views.py:1023 +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Are you sure you wish to reset the page count of this document?" +msgid "Recalculate the page count of the document: %s?" +msgstr "" +"Are you sure you wish to update the page count for the office documents (%d)?" + +#: views/document_views.py:558 +#, python-format +msgid "Transformation clear request processed for %(count)d document" +msgstr "" + +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 +msgid "Clear all the page transformations for the selected document?" +msgid_plural "Clear all the page transformations for the selected document?" +msgstr[0] "" +msgstr[1] "" + +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "" +#| "Are you sure you wish to clear all the page transformations for " +#| "documents: %s?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "" +"Are you sure you wish to clear all the page transformations for documents: " +"%s?" + +#: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "Fout bij verwijderen van de pagina transformaties voor document: %(document)s ; %(error)s ." +msgstr "" +"Fout bij verwijderen van de pagina transformaties voor document: " +"%(document)s ; %(error)s ." -#: views.py:1032 -#, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." -msgstr "Alle paginatransformaties voor document: %s, zijn succesvol verwijderd." +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." -#: views.py:1044 -msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" -msgstr[0] "" -msgstr[1] "" +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "Verstuur" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "Er zijn verder geen pagina's meer in dit document" +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "Properties for document: %s" +msgid "Clone page transformations for document: %s" +msgstr "Eigenschappen voor document: %s" -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "U bent al op de eerste pagina in dit document" - -#: views.py:1225 views.py:1234 +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "Afdrukken: %s" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "" + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "Pagina %(page_number)d van %(total_pages)d" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "Pagina afbeelding" + +#: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "U dient minstens 1 document aan te geven." + +#~ msgid "Documents to be downloaded" +#~ msgstr "Documenten om te downloaden" + +#~ msgid "Date and time" +#~ msgstr "Datum en tijd" + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "" +#~ "Alle paginatransformaties voor document: %s, zijn succesvol verwijderd." + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -915,9 +1007,6 @@ msgstr "" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -928,11 +1017,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -961,9 +1050,6 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" -#~ msgid "Page transformations" -#~ msgstr "page transformations" - #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -1061,10 +1147,8 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1078,11 +1162,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1099,18 +1183,6 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" -#~ msgid "Are you sure you wish to reset the page count of this document?" -#~ msgstr "" -#~ "Are you sure you wish to update the page count for the office documents " -#~ "(%d)?" - -#~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" -#~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" - #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1126,15 +1198,19 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1191,11 +1267,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1219,11 +1295,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1244,9 +1320,11 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1276,11 +1354,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1337,15 +1415,17 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" diff --git a/mayan/apps/documents/locale/pl/LC_MESSAGES/django.po b/mayan/apps/documents/locale/pl/LC_MESSAGES/django.po index 049202eff3..c32fcde2eb 100644 --- a/mayan/apps/documents/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Wojtek Warczakowski , 2016 @@ -10,95 +10,123 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "Dokumenty" -#: apps.py:98 +#: apps.py:110 +#, fuzzy +#| msgid "New document pages per month" +msgid "New pages this month" +msgstr "Nowe strony dokumentów miesięcznie" + +#: apps.py:119 +#, fuzzy +#| msgid "New documents per month" +msgid "New documents this month" +msgstr "Nowe dokumenty miesięcznie" + +#: apps.py:128 +#, fuzzy +#| msgid "All documents" +msgid "Total documents" +msgstr "Wszystkie dokumenty" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "Typy dokumentów" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "" + +#: apps.py:145 msgid "Create a document type" msgstr "Utwórz typ dokumentu" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." -msgstr "Każdy przesłany dokument musi mieć przypisany typ dokumentu, ponieważ jest to podstawowy sposób kategoryzacji dokumentów w Mayan EDMS." +msgstr "" +"Każdy przesłany dokument musi mieć przypisany typ dokumentu, ponieważ jest " +"to podstawowy sposób kategoryzacji dokumentów w Mayan EDMS." -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "Etykieta" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "Typ MIME każdej wersji dokumentu" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "Typ MIME" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "Miniaturka" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "Typ" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "Włączone" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "Data i czas umieszczenia w koszu" -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "Czas i data" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "Kodowanie" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "Komentarz" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "Nowe dokumenty miesięcznie" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "Nowe wersje dokumentów miesięcznie" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "Nowe strony dokumentów miesięcznie" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "Liczba dokumentów w każdym miesiącu" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "Liczba wersji dokumentów w każdym miesiącu" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "Liczba stron dokumentów w każdym miesiącu" @@ -119,12 +147,10 @@ msgid "Document type changed" msgstr "Właściwości dokumentu zostały zmodyfikowane" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "Nowa wersja została przesłana" #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "Wersja dokumentu została przywrócona" @@ -132,248 +158,266 @@ msgstr "Wersja dokumentu została przywrócona" msgid "Document viewed" msgstr "" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "Obraz strony" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "Strony dokumentu (%d)" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "Szybka zmiana nazwy dokumentu" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "Data dodania" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "Język" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "Typ MIME pliku" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "Brak" -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "Kodowanie pliku" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "Rozmiar pliku" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "Istnieje w systemie" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "Ścieżka pliku w systemie" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "Suma kontrolna" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "Strony" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "Typ dokumentów" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "Kompresuj" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." -msgstr "Pobierz dokument w formacie oryginalnym lub w formie skompresowanej. Powyższa opcja ma zastosowanie jedynie w przypadku pobierania pojedynczego pliku. W przypadku wielu dokumentów zostaną one pobrane w formie skompresowanego archiwum." +msgstr "" +"Pobierz dokument w formacie oryginalnym lub w formie skompresowanej. " +"Powyższa opcja ma zastosowanie jedynie w przypadku pobierania pojedynczego " +"pliku. W przypadku wielu dokumentów zostaną one pobrane w formie " +"skompresowanego archiwum." -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "Nazwa pliku skompresowanego" -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "Nazwa pliku zawierającego gotowe do pobrania dokumenty w formie skompresowanej, jeśli poprzednio wybrano opcję kompresji." +msgstr "" +"Nazwa pliku zawierającego gotowe do pobrania dokumenty w formie " +"skompresowanej, jeśli poprzednio wybrano opcję kompresji." -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "Zakres stron" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "Podgląd" -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "Właściwości" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "Wersje" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "Wyczyść transformacje" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Clear transformations" +msgid "Clone transformations" +msgstr "Wyczyść transformacje" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "Usuń" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "Przenieś do kosza" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "Edytuj właściwości" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "Zmień typ" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "Pobierz" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "Drukuj" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "Przelicz liczbę stron" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "Wszystkie dokumenty" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "Ostatnio przeglądane" -#: links.py:144 -msgid "Trash" +#: links.py:151 +#, fuzzy +#| msgid "Trash" +msgid "Trash can" msgstr "Kosz" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." msgstr "" -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "Pierwsza strona" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "Ostatnia strona" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "Poprzednia strona" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "Następna strona" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "Dokument" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "Obrót w lewo" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "Obrót w prawo" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "Resetuj widok" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "Powiększ" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "Pomniejszyć" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "Przywróć" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "Tworzenie typów dokumentów" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "Edytuj" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "" -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "Typy dokumentów" - #: literals.py:14 msgid "Default" msgstr "Domyślne" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "Wszystkie strony" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." +"Amount of time after which documents of this type will be moved to the trash." msgstr "" #: models.py:71 @@ -391,12 +435,10 @@ msgid "" msgstr "" #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -404,99 +446,100 @@ msgstr "" msgid "Documents types" msgstr "Typy dokumentów" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "Opis" -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "Dodano" -#: models.py:169 -msgid "Language" -msgstr "Język" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." msgstr "" -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "Pieczęć czasu" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "Plik" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "Wersja dokumentu" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "Numer strony" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" msgstr "Strona %(page_num)d z %(total_pages)d stron dokumentu %(document)s" -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "Strona dokumentu" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "Strony dokumentu" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "" +#: models.py:804 +#, fuzzy +#| msgid "Document type changed" +msgid "Document page cached image" +msgstr "Właściwości dokumentu zostały zmodyfikowane" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document type changed" +msgid "Document page cached images" +msgstr "Właściwości dokumentu zostały zmodyfikowane" + +#: models.py:827 msgid "User" msgstr "Użytkownik" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "Dostępne" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "Ostatni dokument" @@ -509,11 +552,10 @@ msgid "Delete documents" msgstr "Usuwanie dokumentów" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "Pobieranie dokumentów" @@ -530,12 +572,10 @@ msgid "Edit document properties" msgstr "Edytuj właściwości dokumentu" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -571,291 +611,332 @@ msgstr "Edytuj typy dokumentów" msgid "View document types" msgstr "Zobacz typy dokumentów" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." msgstr "" -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." msgstr "" -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." msgstr "" -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." msgstr "" -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." msgstr "" -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "" -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "" -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "" - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "" - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "" - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "Strony dokumentu: %s" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "" + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "Jesteś już na pierwszej stronie tego dokumentu" + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "Podgląd dokumentu: %s" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "" - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "" -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" msgstr "" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "Wersje dokumentu: %s" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "" -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "" -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" -msgstr "Właściwości dokumentu: %s" - -#: views.py:639 -msgid "Empty trash?" +msgid "Document: %(document)s deleted." msgstr "" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" +#: views/document_views.py:108 +msgid "Delete the selected documents?" msgstr "" -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "Musisz dodać co najmniej jeden dokument." +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" +msgstr "" -#: views.py:704 +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" + +#: views/document_views.py:130 +#, fuzzy +#| msgid "Change type" +msgid "Change" +msgstr "Zmień typ" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "Are you sure you wish to delete the selected document?" +#| msgid_plural "Are you sure you wish to delete the selected documents?" +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" +msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" +msgstr[2] "ee02f3189246f97d6734a407f6f9040b_pl_2" + +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Content of document: %s" +msgid "Change the type of the document: %s" +msgstr "versions for document: %s" + +#: views/document_views.py:164 #, python-format msgid "Document type for \"%s\" changed successfully." msgstr "" -#: views.py:716 views.py:1235 -msgid "Submit" -msgstr "Wykonaj" - -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" msgstr "" -#: views.py:819 -msgid "Documents to be downloaded" +#: views/document_views.py:200 +msgid "Restore the selected document?" msgstr "" -#: views.py:828 -msgid "Date and time" -msgstr "Data i godzina" - -#: views.py:931 -msgid "At least one document must be selected." +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." msgstr "" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:229 +msgid "Restore the selected documents?" msgstr "" -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" +msgstr "Podgląd dokumentu: %s" + +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" msgstr "" -#: views.py:964 +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." +msgstr "" + +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "Właściwości dokumentu: %s" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "" + +#: views/document_views.py:519 +#, python-format +msgid "%(count)d document queued for page count recalculation" +msgstr "" + +#: views/document_views.py:522 +#, python-format +msgid "%(count)d documents queued for page count recalculation" +msgstr "" + +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: views.py:1023 +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Recalculate page count" +msgid "Recalculate the page count of the document: %s?" +msgstr "Przelicz liczbę stron" + +#: views/document_views.py:558 +#, python-format +msgid "Transformation clear request processed for %(count)d document" +msgstr "" + +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 +msgid "Clear all the page transformations for the selected document?" +msgid_plural "Clear all the page transformations for the selected document?" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "" +#| "Are you sure you wish to clear all the page transformations for " +#| "documents: %s?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "" +"Are you sure you wish to clear all the page transformations for documents: " +"%s?" + +#: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." msgstr "" -#: views.py:1032 -#, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." -msgstr "" +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." -#: views.py:1044 -msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "Wykonaj" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "" +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "Properties for document: %s" +msgid "Clone page transformations for document: %s" +msgstr "Właściwości dokumentu: %s" -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "Jesteś już na pierwszej stronie tego dokumentu" - -#: views.py:1225 views.py:1234 +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "Wydruk: %s" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "" + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "Strona %(page_number)d of %(total_pages)d" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "Obraz strony" + +#: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Musisz dodać co najmniej jeden dokument." + +#~ msgid "Date and time" +#~ msgstr "Data i godzina" + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -919,9 +1000,6 @@ msgstr "" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -932,11 +1010,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1011,15 +1089,6 @@ msgstr "" #~ msgid "documents" #~ msgstr "documents" -#~ msgid "Content of document: %s" -#~ msgstr "versions for document: %s" - -#~ msgid "Are you sure you wish to delete the selected document?" -#~ msgid_plural "Are you sure you wish to delete the selected documents?" -#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" -#~ msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" -#~ msgstr[2] "ee02f3189246f97d6734a407f6f9040b_pl_2" - #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1066,10 +1135,8 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1083,11 +1150,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1109,13 +1176,6 @@ msgstr "" #~ "Are you sure you wish to update the page count for the office documents " #~ "(%d)?" -#~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" -#~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" - #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1131,15 +1191,19 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1196,11 +1260,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1224,11 +1288,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1249,9 +1313,11 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1281,11 +1347,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1342,15 +1408,17 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" diff --git a/mayan/apps/documents/locale/pt/LC_MESSAGES/django.po b/mayan/apps/documents/locale/pt/LC_MESSAGES/django.po index 669b1ffc55..e4c8de68ad 100644 --- a/mayan/apps/documents/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/pt/LC_MESSAGES/django.po @@ -1,102 +1,125 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "Documentos" -#: apps.py:98 +#: apps.py:110 +msgid "New pages this month" +msgstr "" + +#: apps.py:119 +#, fuzzy +#| msgid "documents of this type" +msgid "New documents this month" +msgstr "documents of this type" + +#: apps.py:128 +#, fuzzy +#| msgid "Edit documents" +msgid "Total documents" +msgstr "Editar documentos" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "" + +#: apps.py:145 msgid "Create a document type" msgstr "" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." msgstr "" -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "Nome" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "Tipo MIME" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "" -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "Comentário" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "" @@ -117,12 +140,10 @@ msgid "Document type changed" msgstr "" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -130,248 +151,260 @@ msgstr "" msgid "Document viewed" msgstr "" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "Imagem da página" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "Renomeação rápida de documento" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "Data de adição" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "Tipo MIME do ficheiro" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "Nenhum" -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "Tamanho do ficheiro" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "Existe no armazenamento" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "Caminho do ficheiro no armazenamento" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "Soma de verificação" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "Páginas" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "Tipo de documento" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "Comprimir" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "" -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." msgstr "" -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "Intervalo de páginas" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "" -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Page transformations" +msgid "Clone transformations" +msgstr "page transformations" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "Eliminar" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "Descarregar" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "" -#: links.py:144 -msgid "Trash" +#: links.py:151 +msgid "Trash can" msgstr "" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "Limpar as representações gráficas usadas para acelerar a exibição e transformações interativas de documentos." +msgstr "" +"Limpar as representações gráficas usadas para acelerar a exibição e " +"transformações interativas de documentos." -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "Editar" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "" -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "" - #: literals.py:14 msgid "Default" msgstr "Padrão" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." +"Amount of time after which documents of this type will be moved to the trash." msgstr "" #: models.py:71 @@ -389,12 +422,10 @@ msgid "" msgstr "" #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -402,99 +433,100 @@ msgstr "" msgid "Documents types" msgstr "" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "Descrição" -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "" -#: models.py:169 -msgid "Language" -msgstr "" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." msgstr "" -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "Ficheiro" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" msgstr "Página %(page_num)d de %(total_pages)d de %(document)s" -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "" +#: models.py:804 +#, fuzzy +#| msgid "Document edited" +msgid "Document page cached image" +msgstr "Document edited" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document page transformations" +msgid "Document page cached images" +msgstr "document page transformations" + +#: models.py:827 msgid "User" msgstr "Utilizador" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "" @@ -507,11 +539,10 @@ msgid "Delete documents" msgstr "Excluir documentos" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "Descarregar documentos" @@ -528,12 +559,10 @@ msgid "Edit document properties" msgstr "Editar propriedades de documento" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -569,288 +598,346 @@ msgstr "Editar tipos de documentos" msgid "View document types" msgstr "Ver tipos de documento" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." -msgstr "Número máximo de documentos recentes (criados, editados, visualizados) a recordar, por utilizador." +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." +msgstr "" +"Número máximo de documentos recentes (criados, editados, visualizados) a " +"recordar, por utilizador." -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." msgstr "Percentagem de zoom in/out por interação do utilizador." -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "Percentagem (%) máxima para o utilizador aumentar o zoom de uma página de documento de forma interativa." +msgstr "" +"Percentagem (%) máxima para o utilizador aumentar o zoom de uma página de " +"documento de forma interativa." -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "Percentagem (%) mínima para o utilizador diminuir o zoom de uma página de documento de forma interativa." +msgstr "" +"Percentagem (%) mínima para o utilizador diminuir o zoom de uma página de " +"documento de forma interativa." -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." -msgstr "Valor em graus para rodar uma página de documento por interação do utilizador." +msgstr "" +"Valor em graus para rodar uma página de documento por interação do " +"utilizador." -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "" -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "" -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "" - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "" - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "" - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "Não há mais páginas neste documento" + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "Já está na primeira página deste documento" + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "" - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "" -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" msgstr "" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "Todas as versões posteriores a esta também serão eliminadas." -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "Versão do documento revertida com sucesso" -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "Erro ao reverter versão do documento; %s" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" +msgid "Document: %(document)s deleted." msgstr "" -#: views.py:639 -msgid "Empty trash?" +#: views/document_views.py:108 +msgid "Delete the selected documents?" msgstr "" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" msgstr "" -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "Deve fornecer pelo menos um documento." +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" -#: views.py:704 +#: views/document_views.py:130 +msgid "Change" +msgstr "" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "Are you sure you wish to delete the selected document?" +#| msgid_plural "Are you sure you wish to delete the selected documents?" +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" +msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" + +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Content of document: %s" +msgid "Change the type of the document: %s" +msgstr "versions for document: %s" + +#: views/document_views.py:164 #, python-format msgid "Document type for \"%s\" changed successfully." msgstr "" -#: views.py:716 views.py:1235 -msgid "Submit" -msgstr "Submeter" - -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "" -msgstr[1] "" - -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" msgstr "" -#: views.py:819 -msgid "Documents to be downloaded" +#: views/document_views.py:200 +msgid "Restore the selected document?" msgstr "" -#: views.py:828 -msgid "Date and time" +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." msgstr "" -#: views.py:931 -msgid "At least one document must be selected." +#: views/document_views.py:229 +msgid "Restore the selected documents?" msgstr "" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" msgstr "" -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" msgstr "" -#: views.py:964 +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." +msgstr "" + +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "" + +#: views/document_views.py:519 +#, python-format +msgid "%(count)d document queued for page count recalculation" +msgstr "" + +#: views/document_views.py:522 +#, python-format +msgid "%(count)d documents queued for page count recalculation" +msgstr "" + +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "" msgstr[1] "" -#: views.py:1023 +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Are you sure you wish to reset the page count of this document?" +msgid "Recalculate the page count of the document: %s?" +msgstr "" +"Are you sure you wish to update the page count for the office documents (%d)?" + +#: views/document_views.py:558 +#, python-format +msgid "Transformation clear request processed for %(count)d document" +msgstr "" + +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 +msgid "Clear all the page transformations for the selected document?" +msgid_plural "Clear all the page transformations for the selected document?" +msgstr[0] "" +msgstr[1] "" + +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "" +#| "Are you sure you wish to clear all the page transformations for " +#| "documents: %s?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "" +"Are you sure you wish to clear all the page transformations for documents: " +"%s?" + +#: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "Erro ao excluir as transformações de página para o documento: %(document)s; %(error)s ." +msgstr "" +"Erro ao excluir as transformações de página para o documento: %(document)s; " +"%(error)s ." -#: views.py:1032 -#, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." -msgstr "Todas as transformações de página para o documento: %s, foram excluídas com sucesso." +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." -#: views.py:1044 -msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" -msgstr[0] "" -msgstr[1] "" +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "Submeter" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "Não há mais páginas neste documento" +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "" +#| "Error deleting the page transformations for document: %(document)s; " +#| "%(error)s." +msgid "Clone page transformations for document: %s" +msgstr "" +"Erro ao excluir as transformações de página para o documento: %(document)s; " +"%(error)s ." -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "Já está na primeira página deste documento" - -#: views.py:1225 views.py:1234 +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "" + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "Imagem da página" + +#: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Deve fornecer pelo menos um documento." + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "" +#~ "Todas as transformações de página para o documento: %s, foram excluídas " +#~ "com sucesso." + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -914,9 +1001,6 @@ msgstr "" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -927,11 +1011,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -960,9 +1044,6 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" -#~ msgid "Page transformations" -#~ msgstr "page transformations" - #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -1000,20 +1081,9 @@ msgstr "" #~ msgid "Use dictionaries to indentify arguments, example: {'degrees':90}" #~ msgstr "Use dictionaries to indentify arguments, example: %s" -#~ msgid "Document page transformations" -#~ msgstr "document page transformations" - #~ msgid "documents" #~ msgstr "documents" -#~ msgid "Content of document: %s" -#~ msgstr "versions for document: %s" - -#~ msgid "Are you sure you wish to delete the selected document?" -#~ msgid_plural "Are you sure you wish to delete the selected documents?" -#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" -#~ msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" - #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1060,10 +1130,8 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1077,11 +1145,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1098,21 +1166,6 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" -#~ msgid "Are you sure you wish to reset the page count of this document?" -#~ msgstr "" -#~ "Are you sure you wish to update the page count for the office documents " -#~ "(%d)?" - -#~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" -#~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" - -#~ msgid "Document edited" -#~ msgstr "Document edited" - #~ msgid "Version" #~ msgstr "version" @@ -1125,15 +1178,19 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1190,11 +1247,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1218,11 +1275,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1243,9 +1300,11 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1275,11 +1334,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1336,15 +1395,17 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1365,9 +1426,6 @@ msgstr "" #~ msgid "clone metadata" #~ msgstr "clone metadata" -#~ msgid "documents of this type" -#~ msgstr "documents of this type" - #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/documents/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/documents/locale/pt_BR/LC_MESSAGES/django.po index 6ff0313c62..211dec9696 100644 --- a/mayan/apps/documents/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -9,95 +9,122 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-17 23:07+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "Documento" -#: apps.py:98 +#: apps.py:110 +#, fuzzy +#| msgid "New document pages per month" +msgid "New pages this month" +msgstr "Novas páginas de documentos por mês" + +#: apps.py:119 +#, fuzzy +#| msgid "New documents per month" +msgid "New documents this month" +msgstr "Novos documentos por mês" + +#: apps.py:128 +#, fuzzy +#| msgid "Trash documents" +msgid "Total documents" +msgstr "Mover documentos para a lixeira" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "Tipos de Documentos" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "Documentos na lixeira" + +#: apps.py:145 msgid "Create a document type" msgstr "Criar tipo de documento" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." -msgstr "Cada documento carregado deve ser atribuído um tipo de documento, é a forma básica que o Mayan EDMS categoriza os documentos." +msgstr "" +"Cada documento carregado deve ser atribuído um tipo de documento, é a forma " +"básica que o Mayan EDMS categoriza os documentos." -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "Label" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "O tipo MIME de qualquer uma das versões de um documento" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "Tipo MIME" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "miniatura" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "Tipo" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "habilitado" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "Data e hora do envio para a lixeira" -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "Hora e Data" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "Codificação" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "Comentário" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "Novos documentos por mês" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "Novas versões de documentos por mês" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "Novas páginas de documentos por mês" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "Total de documentos por mês" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "Total de versões de documentos por mês" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "Total de páginas de documentos por mês" @@ -118,12 +145,10 @@ msgid "Document type changed" msgstr "Tipo de Documento mudado" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "Nova versão carregada" #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "Versão de documento revertida" @@ -131,249 +156,270 @@ msgstr "Versão de documento revertida" msgid "Document viewed" msgstr "Documento visualizado" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "Imagem da página" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "As páginas do documento (%d)" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "Renomear documento rápido" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "Data de adição" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "Lingua" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "Mimetype do arquivo" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "Nenhum" -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "codificação de arquivo" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "Tamanho do arquivo" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "Existe no armazenamento" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "Caminho do arquivo no armazenamento" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "Verificação" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "Páginas" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "Tipo de Documento" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "comprimir" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." -msgstr "Faça o download do documento no formato original ou de forma comprimida. Esta opção só pode ser selecionada quando o download de um documento, para vários documentos. O pacote sempre será baixado como um arquivo compactado." +msgstr "" +"Faça o download do documento no formato original ou de forma comprimida. " +"Esta opção só pode ser selecionada quando o download de um documento, para " +"vários documentos. O pacote sempre será baixado como um arquivo compactado." -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "Comprimido o filename " -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "O nome do arquivo do arquivo compactado que vai conter os documentos a serem baixados, se a opção anterior é selecionado." +msgstr "" +"O nome do arquivo do arquivo compactado que vai conter os documentos a serem " +"baixados, se a opção anterior é selecionado." -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "Intervalo de páginas" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "Visualizar" -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "propriedades" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "Versão" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "remover transformações" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Clear transformations" +msgid "Clone transformations" +msgstr "remover transformações" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "Excluir" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "Mover para a lixeira" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "Editar propriedades" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "Mudar o tipo" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "Baixar" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "Imprimir" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "Recalcular a contagem de páginas" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "Restaurar" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "Baixar a versão" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "Todos os Documentos" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "Documentos recentes" -#: links.py:144 -msgid "Trash" +#: links.py:151 +#, fuzzy +#| msgid "Trash" +msgid "Trash can" msgstr "Lixeira" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "Desmarque as representações gráficas utilizadas para acelerar a exibição e transformações interativas resultados dos documentos." +msgstr "" +"Desmarque as representações gráficas utilizadas para acelerar a exibição e " +"transformações interativas resultados dos documentos." -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "Apagar o cache de imagens de documentos" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "Esvaziar a lixeira" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "Primeira página" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "Última pagina" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "Página anterior" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "próxima pagina" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "Documento" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "girar para a esquerda" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "girar para a direita" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "redefinir visão" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "mais zoom" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "menos zoom" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "reverter" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "Criar Tipo de documento" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "Editar" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "Adicionar etiqueta rápida ao tipo de documento" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "Etiquetas rápidas" -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "Tipos de Documentos" - #: literals.py:14 msgid "Default" msgstr "Padrão" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "Todas as páginas" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." -msgstr "Quantidade de tempo após a qual se enviará documentos deste tipo para a lixeira." +"Amount of time after which documents of this type will be moved to the trash." +msgstr "" +"Quantidade de tempo após a qual se enviará documentos deste tipo para a " +"lixeira." #: models.py:71 msgid "Trash time period" @@ -387,15 +433,14 @@ msgstr "Unidade de tempo de envio para a lixeira" msgid "" "Amount of time after which documents of this type in the trash will be " "deleted." -msgstr "Quantidade de tempo após a qual documentos deste tipo serão eliminados." +msgstr "" +"Quantidade de tempo após a qual documentos deste tipo serão eliminados." #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "Período de tempo de eliminação" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "Unidade de tempo de eliminação" @@ -403,99 +448,103 @@ msgstr "Unidade de tempo de eliminação" msgid "Documents types" msgstr "Tipos de Documentos" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "O nome do documento" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "Descrição" -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "adicionado" -#: models.py:169 -msgid "Language" -msgstr "Lingua" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "Na lixeira?" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "Data e hora de envio à lixeira" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." -msgstr "Um rascunho de documento é um documento com uma entrada no banco de dados, mas nenhum arquivo carregado. Isso pode ser um envio interrompido ou um envio diferido por meio da API." +msgstr "" +"Um rascunho de documento é um documento com uma entrada no banco de dados, " +"mas nenhum arquivo carregado. Isso pode ser um envio interrompido ou um " +"envio diferido por meio da API." -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "É um rascunho?" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "Documento rascunho, id: %d" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "Timestamp" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "Arquivo" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "Versão do Documento" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "Etiqueta rápida" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "página número" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" msgstr "Pagina %(page_num)d de %(total_pages)d em %(document)s" -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "página do documento" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "páginas do documento" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "Bloqueio de nova versão" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "Bloqueios de nova versão" +#: models.py:804 +#, fuzzy +#| msgid "Document page image" +msgid "Document page cached image" +msgstr "Imagem da página do documento" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document page image" +msgid "Document page cached images" +msgstr "Imagem da página do documento" + +#: models.py:827 msgid "User" msgstr "Usuário" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "acessado" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "Documentos recentes" @@ -508,11 +557,10 @@ msgid "Delete documents" msgstr "Excluir documentos" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "Mover documentos para a lixeira" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "Baixar documentos" @@ -529,12 +577,10 @@ msgid "Edit document properties" msgstr "Editar propriedades de documento" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "Imprimir documentos" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "Restaurar documento da lixeira" @@ -570,288 +616,380 @@ msgstr "Editar tipos de documentos" msgid "View document types" msgstr "Ver tipos de documentos" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." -msgstr "Número máximo de documentos recentes (criado, editado, visualizado) à ser lembrado, por usuário." +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." +msgstr "" +"Número máximo de documentos recentes (criado, editado, visualizado) à ser " +"lembrado, por usuário." -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." -msgstr "Quantidade em porcentagem de zoom em uma página ou documento por interação do usuário." +msgstr "" +"Quantidade em porcentagem de zoom em uma página ou documento por interação " +"do usuário." -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "Valor máximo em porcentagem (%) para permitir ao usuário aumentar o zoom em uma página do documento de forma interativa." +msgstr "" +"Valor máximo em porcentagem (%) para permitir ao usuário aumentar o zoom em " +"uma página do documento de forma interativa." -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "Valor mínimo em porcentagem (%) para permitir ao usuário diminuir o zoom em uma página do documento de forma interativa." +msgstr "" +"Valor mínimo em porcentagem (%) para permitir ao usuário diminuir o zoom em " +"uma página do documento de forma interativa." -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." -msgstr "Valor em graus para girar uma página do documento por interação do usuário." +msgstr "" +"Valor em graus para girar uma página do documento por interação do usuário." -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "Os documentos padrão linguagem (em formato ISO639-2)." -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "Lista de idiomas de documentos suportados." -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "Apagar do cache a imagem do documento?" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "Cache do documento apagado com sucesso." - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "Documentos na lixeira" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "Remover o documento selecionado?" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "Documento: %(document)s removido." - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "Remover os documentos selecionados?" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "Editar propriedades de documento: %s" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "Restaurar os documentos selecionados?" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "Documentq: %(document)s restaurado." - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "Restaurar os documentos selecionados?" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "Páginas por documento: %s" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "Não há mais páginas neste documento" + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "Você já está na primeira página deste documento" + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "Imagem de: %s" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "Pré-visualização do documento:%s " - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "Mover \"%s\" para a lixeira?" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "Documento: %(document)s movido para a lixeira com sucesso." - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "Mover os documentos selecionados para a lixeira?" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "Documentos do tipo: %s" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "Todos os documentos deste tipo serão excluídos também." -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "Remove o documento do tipo: %s?" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "Editar o tipo de documento: %s" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "Criar uma etiqueta rápida para o documento tipo: %s" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" -msgstr "Editar etiqueta rápida \"%(filename)s\" para documento do tipo \"%(document_type)s\"" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgstr "" +"Editar etiqueta rápida \"%(filename)s\" para documento do tipo " +"\"%(document_type)s\"" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" -msgstr "Apagar a etiqueta rápida: %(label)s, do documento tipo \"%(document_type)s\"?" +msgstr "" +"Apagar a etiqueta rápida: %(label)s, do documento tipo \"%(document_type)s\"?" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "Etiquetas rápidas para documento do tipo: %s" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "Versões do documento: %s" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "Tudo versão posterior após este será excluído também." -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "Reverter para esta versão?" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "Versão do documento revertidos com sucesso" -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "Erro ao reverter versão do documento; %s" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "Remover o documento selecionado?" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" -msgstr "Pré-visualização do documento:%s" +msgid "Document: %(document)s deleted." +msgstr "Documento: %(document)s removido." -#: views.py:639 -msgid "Empty trash?" -msgstr "Esvaziar a lixeira?" +#: views/document_views.py:108 +msgid "Delete the selected documents?" +msgstr "Remover os documentos selecionados?" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" -msgstr "Lixeira esvaziada com sucesso" +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" +msgstr "" -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "Deve fornecer, pelo menos, um documento." +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" -#: views.py:704 +#: views/document_views.py:130 +#, fuzzy +#| msgid "Change type" +msgid "Change" +msgstr "Mudar o tipo" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "Change the type of the selected document." +#| msgid_plural "Change the type of the selected documents." +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "Alterar o tipo do documento selecionado." +msgstr[1] "Alterar o tipo dos documentos selecionados." + +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Change the type of the selected document." +#| msgid_plural "Change the type of the selected documents." +msgid "Change the type of the document: %s" +msgstr "Alterar o tipo do documento selecionado." + +#: views/document_views.py:164 #, python-format msgid "Document type for \"%s\" changed successfully." msgstr "Tipo de documento para \"%s\" alterado com sucesso." -#: views.py:716 views.py:1235 -msgid "Submit" -msgstr "Submeter" +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" +msgstr "Editar propriedades de documento: %s" -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "Alterar o tipo do documento selecionado." -msgstr[1] "Alterar o tipo dos documentos selecionados." +#: views/document_views.py:200 +msgid "Restore the selected document?" +msgstr "Restaurar os documentos selecionados?" -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." -msgstr "Deve fornecer ao menos um documento ou versão." +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." +msgstr "Documentq: %(document)s restaurado." -#: views.py:819 -msgid "Documents to be downloaded" -msgstr "Documentos a serem baixados" +#: views/document_views.py:229 +msgid "Restore the selected documents?" +msgstr "Restaurar os documentos selecionados?" -#: views.py:828 -msgid "Date and time" -msgstr "data e hora" +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" +msgstr "Pré-visualização do documento:%s " -#: views.py:931 -msgid "At least one document must be selected." -msgstr "Ao menos um documento precisa ser selecionado." +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" +msgstr "Mover \"%s\" para a lixeira?" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." +msgstr "Documento: %(document)s movido para a lixeira com sucesso." + +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "Mover os documentos selecionados para a lixeira?" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "Pré-visualização do documento:%s" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "Esvaziar a lixeira?" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "Lixeira esvaziada com sucesso" + +#: views/document_views.py:519 +#, fuzzy, python-format +#| msgid "Document queued for page count recalculation." +msgid "%(count)d document queued for page count recalculation" msgstr "Documento em fila para recalcular quantidade de páginas." -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:522 +#, fuzzy, python-format +#| msgid "Documents queued for page count recalculation." +msgid "%(count)d documents queued for page count recalculation" msgstr "Documentos em fila para recalcular contagem de páginas." -#: views.py:964 +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "Recalcular a contagem de páginas do documento selecionado?" msgstr[1] "Recalcular a contagem de páginas dos documentos selecionados?" -#: views.py:1023 +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Recalculate the page count of the selected document?" +#| msgid_plural "Recalculate the page count of the selected documents?" +msgid "Recalculate the page count of the document: %s?" +msgstr "Recalcular a contagem de páginas do documento selecionado?" + +#: views/document_views.py:558 +#, python-format +msgid "Transformation clear request processed for %(count)d document" +msgstr "" + +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 +#, fuzzy +#| msgid "Clear all the page transformations for the selected document?" +#| msgid_plural "" +#| "Clear all the page transformations for the selected documents?" +msgid "Clear all the page transformations for the selected document?" +msgid_plural "Clear all the page transformations for the selected document?" +msgstr[0] "" +"Limpar todas as transformações de páginas para o documento selecionado?" +msgstr[1] "" +"Limpar todas as transformações de páginas para os documentos selecionados?" + +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "Clear all the page transformations for the selected document?" +#| msgid_plural "" +#| "Clear all the page transformations for the selected documents?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "" +"Limpar todas as transformações de páginas para o documento selecionado?" + +#: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "Erro ao excluir as transformações de página para o documento: %(document)s; %(error)s ." +msgstr "" +"Erro ao excluir as transformações de página para o documento: %(document)s; " +"%(error)s ." -#: views.py:1032 -#, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." -msgstr "Todas as transformações de página para o documento: %s, foram excluídas com sucesso." +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." -#: views.py:1044 -msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" -msgstr[0] "Limpar todas as transformações de páginas para o documento selecionado?" -msgstr[1] "Limpar todas as transformações de páginas para os documentos selecionados?" +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "Submeter" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "Não há mais páginas neste documento" +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "Clear all the page transformations for the selected document?" +#| msgid_plural "" +#| "Clear all the page transformations for the selected documents?" +msgid "Clone page transformations for document: %s" +msgstr "" +"Limpar todas as transformações de páginas para o documento selecionado?" -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "Você já está na primeira página deste documento" - -#: views.py:1225 views.py:1234 +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "Imprimir: %s" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "Apagar do cache a imagem do documento?" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "Cache do documento apagado com sucesso." + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "Página %(page_number)d de %(total_pages)d" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "Imagem da página" + +#: widgets.py:242 msgid "Document page image" msgstr "Imagem da página do documento" +#~| msgid "Version update" +#~ msgid "New version block" +#~ msgstr "Bloqueio de nova versão" + +#~| msgid "Version update" +#~ msgid "New version blocks" +#~ msgstr "Bloqueios de nova versão" + +#~ msgid "Must provide at least one document." +#~ msgstr "Deve fornecer, pelo menos, um documento." + +#~| msgid "Must provide at least one document." +#~ msgid "Must provide at least one document or version." +#~ msgstr "Deve fornecer ao menos um documento ou versão." + +#~ msgid "Documents to be downloaded" +#~ msgstr "Documentos a serem baixados" + +#~ msgid "Date and time" +#~ msgstr "data e hora" + +#~ msgid "At least one document must be selected." +#~ msgstr "Ao menos um documento precisa ser selecionado." + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "" +#~ "Todas as transformações de página para o documento: %s, foram excluídas " +#~ "com sucesso." + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -915,9 +1053,6 @@ msgstr "Imagem da página do documento" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -928,11 +1063,11 @@ msgstr "Imagem da página do documento" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1061,10 +1196,8 @@ msgstr "Imagem da página do documento" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1078,11 +1211,11 @@ msgstr "Imagem da página do documento" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1105,11 +1238,11 @@ msgstr "Imagem da página do documento" #~ "(%d)?" #~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" +#~ "Are you sure you wish to clear all the page transformations for " +#~ "documents: %s?" #~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" +#~ "Are you sure you wish to clear all the page transformations for " +#~ "documents: %s?" #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1126,15 +1259,19 @@ msgstr "Imagem da página do documento" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1191,11 +1328,11 @@ msgstr "Imagem da página do documento" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1219,11 +1356,11 @@ msgstr "Imagem da página do documento" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1244,9 +1381,11 @@ msgstr "Imagem da página do documento" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1276,11 +1415,11 @@ msgstr "Imagem da página do documento" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1337,15 +1476,17 @@ msgstr "Imagem da página do documento" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" diff --git a/mayan/apps/documents/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/documents/locale/ro_RO/LC_MESSAGES/django.po index 875a5d31c3..223818feac 100644 --- a/mayan/apps/documents/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Stefaniu Criste , 2016 @@ -9,95 +9,119 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "Documente" -#: apps.py:98 +#: apps.py:110 +msgid "New pages this month" +msgstr "" + +#: apps.py:119 +#, fuzzy +#| msgid "documents of this type" +msgid "New documents this month" +msgstr "documents of this type" + +#: apps.py:128 +#, fuzzy +#| msgid "Edit documents" +msgid "Total documents" +msgstr "Editează" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "" + +#: apps.py:145 msgid "Create a document type" msgstr "" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." msgstr "" -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "Etichetă" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "Tip MIME" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "Iconiță" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "Tip" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "" -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "Encodare" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "Comentariu" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "" @@ -118,12 +142,10 @@ msgid "Document type changed" msgstr "" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -131,248 +153,262 @@ msgstr "" msgid "Document viewed" msgstr "" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "Imaginea paginii" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "Redenumire rapidă" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "Dată adaugată" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "Tip fişier " -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "Nici unul" -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "Marime fişier" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "Există în arhivă" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "Cale fisier in arhiva" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "Suma de control" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "Pagini" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "Tip document" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "Comprimă" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "Nume fişier comprimat" -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "Nume fișier comprimat, care va conține documentele ce urmează să fie descărcate, în cazul în care această opțiunea a fost selectată anterior." +msgstr "" +"Nume fișier comprimat, care va conține documentele ce urmează să fie " +"descărcate, în cazul în care această opțiunea a fost selectată anterior." -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "Pagini" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "" -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Page transformations" +msgid "Clone transformations" +msgstr "page transformations" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "Șterge" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "Descarcă" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "" -#: links.py:144 -msgid "Trash" +#: links.py:151 +msgid "Trash can" msgstr "" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "Goliți reprezentările grafice folosite pentru a accelera afișarea documentelor și rezultatele interactive de transformari." +msgstr "" +"Goliți reprezentările grafice folosite pentru a accelera afișarea " +"documentelor și rezultatele interactive de transformari." -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "Editează" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "" -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "" - #: literals.py:14 msgid "Default" msgstr "Iniţial" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." +"Amount of time after which documents of this type will be moved to the trash." msgstr "" #: models.py:71 @@ -390,12 +426,10 @@ msgid "" msgstr "" #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -403,99 +437,100 @@ msgstr "" msgid "Documents types" msgstr "" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "Descriere" -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "" -#: models.py:169 -msgid "Language" -msgstr "" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." msgstr "" -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "Fișier" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "Versiune document" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "Numarul paginii" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" msgstr "Pag %(page_num)d din %(total_pages)d din %(document)s" -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "Pagini document" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "" +#: models.py:804 +#, fuzzy +#| msgid "Document pages" +msgid "Document page cached image" +msgstr "Pagini document" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document pages" +msgid "Document page cached images" +msgstr "Pagini document" + +#: models.py:827 msgid "User" msgstr "utilizator" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "Accesat" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "" @@ -508,11 +543,10 @@ msgid "Delete documents" msgstr "Şterge" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "Descarcă" @@ -529,12 +563,10 @@ msgid "Edit document properties" msgstr "Editează proprietăţile" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "Tipărește documente" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -570,291 +602,347 @@ msgstr "Editează tipuri" msgid "View document types" msgstr "Vezi tipuri de documente" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." -msgstr "Numărul maxim de documente (create, editate, vizualizate) reţinute per utilizator." +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." +msgstr "" +"Numărul maxim de documente (create, editate, vizualizate) reţinute per " +"utilizator." -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." -msgstr "Suma în procente folosită pentru a mării sau micşora un document interactiv cu utilizatorul." +msgstr "" +"Suma în procente folosită pentru a mării sau micşora un document interactiv " +"cu utilizatorul." -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "Suma maximă în procente (%), permisă utilizatorilor pentru mărirea interactiv a unei pagini ." +msgstr "" +"Suma maximă în procente (%), permisă utilizatorilor pentru mărirea " +"interactiv a unei pagini ." -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "Suma minimă în procente (%), permisă utilizatorului pentru micșorarea interactivă a unei pagini ." +msgstr "" +"Suma minimă în procente (%), permisă utilizatorului pentru micșorarea " +"interactivă a unei pagini ." -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." -msgstr "Ce rotaţie pentru pagină (în grade) este folosită în interacțiunea cu utilizatorul." +msgstr "" +"Ce rotaţie pentru pagină (în grade) este folosită în interacțiunea cu " +"utilizatorul." -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "" -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "" -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "" - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "" - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "" - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "Nu mai sunt pagini în acest document." + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "Sunteți deja la prima pagină a acestui document" + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "" - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "" -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" msgstr "" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "Toate versiune de dupa aceasta, vor fi şterse de asemenea." -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "Versiunea documentului refacută cu succes" -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "Eroare la revenirea la versiunea documentului; %s" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" +msgid "Document: %(document)s deleted." msgstr "" -#: views.py:639 -msgid "Empty trash?" +#: views/document_views.py:108 +msgid "Delete the selected documents?" msgstr "" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" msgstr "" -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "Trebuie selectat cel puțin un document." +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" -#: views.py:704 +#: views/document_views.py:130 +msgid "Change" +msgstr "" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "Are you sure you wish to delete the selected document?" +#| msgid_plural "Are you sure you wish to delete the selected documents?" +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" +msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" +msgstr[2] "ee02f3189246f97d6734a407f6f9040b_pl_2" + +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Content of document: %s" +msgid "Change the type of the document: %s" +msgstr "versions for document: %s" + +#: views/document_views.py:164 #, python-format msgid "Document type for \"%s\" changed successfully." msgstr "" -#: views.py:716 views.py:1235 -msgid "Submit" -msgstr "Trimiteţi" - -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" msgstr "" -#: views.py:819 -msgid "Documents to be downloaded" +#: views/document_views.py:200 +msgid "Restore the selected document?" msgstr "" -#: views.py:828 -msgid "Date and time" +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." msgstr "" -#: views.py:931 -msgid "At least one document must be selected." +#: views/document_views.py:229 +msgid "Restore the selected documents?" msgstr "" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" msgstr "" -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" msgstr "" -#: views.py:964 +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." +msgstr "" + +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "" + +#: views/document_views.py:519 +#, python-format +msgid "%(count)d document queued for page count recalculation" +msgstr "" + +#: views/document_views.py:522 +#, python-format +msgid "%(count)d documents queued for page count recalculation" +msgstr "" + +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: views.py:1023 +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Are you sure you wish to reset the page count of this document?" +msgid "Recalculate the page count of the document: %s?" +msgstr "" +"Are you sure you wish to update the page count for the office documents (%d)?" + +#: views/document_views.py:558 +#, python-format +msgid "Transformation clear request processed for %(count)d document" +msgstr "" + +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 +msgid "Clear all the page transformations for the selected document?" +msgid_plural "Clear all the page transformations for the selected document?" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "" +#| "Are you sure you wish to clear all the page transformations for " +#| "documents: %s?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "" +"Are you sure you wish to clear all the page transformations for documents: " +"%s?" + +#: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." msgstr "Eroare la ștergerea transformări : %(document)s; %(error)s." -#: views.py:1032 -#, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." -msgstr "Toate paginile transformate pentru document: %s , au fost șterse cu succes." +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." -#: views.py:1044 -msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "Trimiteţi" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "Nu mai sunt pagini în acest document." +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "" +#| "Error deleting the page transformations for document: %(document)s; " +#| "%(error)s." +msgid "Clone page transformations for document: %s" +msgstr "Eroare la ștergerea transformări : %(document)s; %(error)s." -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "Sunteți deja la prima pagină a acestui document" - -#: views.py:1225 views.py:1234 +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "Tipărește: %s" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "" + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "Imaginea paginii" + +#: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Trebuie selectat cel puțin un document." + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "" +#~ "Toate paginile transformate pentru document: %s , au fost șterse cu " +#~ "succes." + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -918,9 +1006,6 @@ msgstr "" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -931,11 +1016,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -964,9 +1049,6 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" -#~ msgid "Page transformations" -#~ msgstr "page transformations" - #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -1010,15 +1092,6 @@ msgstr "" #~ msgid "documents" #~ msgstr "documents" -#~ msgid "Content of document: %s" -#~ msgstr "versions for document: %s" - -#~ msgid "Are you sure you wish to delete the selected document?" -#~ msgid_plural "Are you sure you wish to delete the selected documents?" -#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" -#~ msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" -#~ msgstr[2] "ee02f3189246f97d6734a407f6f9040b_pl_2" - #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1065,10 +1138,8 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1082,11 +1153,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1103,18 +1174,6 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" -#~ msgid "Are you sure you wish to reset the page count of this document?" -#~ msgstr "" -#~ "Are you sure you wish to update the page count for the office documents " -#~ "(%d)?" - -#~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" -#~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" - #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1130,15 +1189,19 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1195,11 +1258,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1223,11 +1286,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1248,9 +1311,11 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1280,11 +1345,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1341,15 +1406,17 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1370,9 +1437,6 @@ msgstr "" #~ msgid "clone metadata" #~ msgstr "clone metadata" -#~ msgid "documents of this type" -#~ msgstr "documents of this type" - #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/documents/locale/ru/LC_MESSAGES/django.po b/mayan/apps/documents/locale/ru/LC_MESSAGES/django.po index 6d6710be91..83acde068a 100644 --- a/mayan/apps/documents/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -9,95 +9,124 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-02 04:15+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "Документы" -#: apps.py:98 +#: apps.py:110 +#, fuzzy +#| msgid "New document pages per month" +msgid "New pages this month" +msgstr "Новых страниц документов в месяц" + +#: apps.py:119 +#, fuzzy +#| msgid "New documents per month" +msgid "New documents this month" +msgstr "Новых документов в месяц" + +#: apps.py:128 +#, fuzzy +#| msgid "Trash documents" +msgid "Total documents" +msgstr "Переместить документы в корзину" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "Типы документов" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "Документы в корзине" + +#: apps.py:145 msgid "Create a document type" msgstr "Создать тип документа" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." -msgstr "Каждому загруженому документу должен быть присвоен тип документа, - это основной способ, которым Mayan EDMS распределяет документы по категориям." +msgstr "" +"Каждому загруженому документу должен быть присвоен тип документа, - это " +"основной способ, которым Mayan EDMS распределяет документы по категориям." -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "Надпись" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "MIME-тип любых версий документа" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "MIME type" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "Миниатюра" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "Тип" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "Доступно" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "Время и дата удаления" -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "Время и дата" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "Кодировка" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "Комментарий" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "Новых документов в месяц" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "Новых версий документов в месяц" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "Новых страниц документов в месяц" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "Всего документов в месяц" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "Новых версий документов в месяц" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "Всего страниц документов в месяц" @@ -118,12 +147,10 @@ msgid "Document type changed" msgstr "Тип документа был изменен" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "Новая версия была загружена" #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "Версия документа была восстановлена" @@ -131,249 +158,270 @@ msgstr "Версия документа была восстановлена" msgid "Document viewed" msgstr "Документ просмотрен" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "Изображение страницы" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "Страницы документа (%d)" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "Быстро переименовать документ" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "Дата добавления" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "Язык" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "Mime тип файла" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "Ни один" -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "Кодировка файла" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "Размер" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "Существует в хранилище" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "Путь к файлу в хранилище" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "Контрольная сумма" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "Страницы" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "Тип документа" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "Сжать" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." -msgstr "Скачать документ в исходном, или в сжатом формате. Этот вариант доступен только при загрузке одного документа, для нескольких документов будет использован сжатый файл." +msgstr "" +"Скачать документ в исходном, или в сжатом формате. Этот вариант доступен " +"только при загрузке одного документа, для нескольких документов будет " +"использован сжатый файл." -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "Имя сжатого файла" -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "Имя файла сжатого файла, который будет содержать загружаемые документы, если выбран предыдущий параметр." +msgstr "" +"Имя файла сжатого файла, который будет содержать загружаемые документы, если " +"выбран предыдущий параметр." -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "Диапазон страниц" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "Предварительный просмотр" -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "Свойства" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "Версии" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "Очистить преобразования" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Clear transformations" +msgid "Clone transformations" +msgstr "Очистить преобразования" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "Удалить" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "Переместить в корзину" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "Редактировать свойства" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "Изменить тип" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "Скачать" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "Печать" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "Пересчитать количество страниц" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "Восстановить" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "Скачать версию" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "Все документы" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "Последние документы" -#: links.py:144 -msgid "Trash" +#: links.py:151 +#, fuzzy +#| msgid "Trash" +msgid "Trash can" msgstr "Корзина" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "Очистить графику для ускорения отображения документов и интерактивных преобразований." +msgstr "" +"Очистить графику для ускорения отображения документов и интерактивных " +"преобразований." -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "Очистить кэш изображений документа" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "Очистить корзину" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "Первая страница" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "Последняя страница" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "Предыдущая страница" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "Следующая страница" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "Документ" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "Повернуть влево" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "Повернуть вправо" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "Вернуть вид" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "Увеличить" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "Уменьшить" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "Возврат" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "Создать тип документа" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "Редактировать" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "Добавить быструю метку к документу" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "Быстрые метки" -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "Типы документов" - #: literals.py:14 msgid "Default" msgstr "Умолчание" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "Все страницы" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." -msgstr "Сколько должно пройти времени, прежде чем документы этого типа будут перемещены в корзину." +"Amount of time after which documents of this type will be moved to the trash." +msgstr "" +"Сколько должно пройти времени, прежде чем документы этого типа будут " +"перемещены в корзину." #: models.py:71 msgid "Trash time period" @@ -387,15 +435,15 @@ msgstr "Единица измерения периода жизни" msgid "" "Amount of time after which documents of this type in the trash will be " "deleted." -msgstr "Сколько должно пройти времени, прежде чем документы этого типа будут удалены из корзины." +msgstr "" +"Сколько должно пройти времени, прежде чем документы этого типа будут удалены " +"из корзины." #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "Период удаления" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "Единица измерения периода удаления" @@ -403,99 +451,103 @@ msgstr "Единица измерения периода удаления" msgid "Documents types" msgstr "Типы документов" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "Название документа" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "Описание" -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "Добавлено" -#: models.py:169 -msgid "Language" -msgstr "Язык" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "В корзине?" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "Время и дата удаления" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." -msgstr "Заглушка документа - это запись в базе данных без самого документа. Документ может оказатсья заглушкой, если его загрузка оборвалась, или выполняется его отложенная загрузка через API." +msgstr "" +"Заглушка документа - это запись в базе данных без самого документа. Документ " +"может оказатсья заглушкой, если его загрузка оборвалась, или выполняется его " +"отложенная загрузка через API." -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "Является заглушкой?" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "Заглушка документа, ид: %d" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "временная метка" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "Файл" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "Версия документа" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "Быстрая метка" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "Номер страницы" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" msgstr "Страница %(page_num)d из %(total_pages)d %(document)s" -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "Страница документа" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "Страницы документа" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "Блокировка добавления новых версий" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "Блокировки добавления новых версий" +#: models.py:804 +#, fuzzy +#| msgid "Document page image" +msgid "Document page cached image" +msgstr "Изображение страницы документа" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document page image" +msgid "Document page cached images" +msgstr "Изображение страницы документа" + +#: models.py:827 msgid "User" msgstr "Пользователь" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "Допущен" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "Недавние документы" @@ -508,11 +560,10 @@ msgid "Delete documents" msgstr "Удаление документов" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "Переместить документы в корзину" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "Загрузка документов" @@ -529,12 +580,10 @@ msgid "Edit document properties" msgstr "Редактирование свойств документа" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "Печать документов" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -570,243 +619,244 @@ msgstr "Редактировать типы документов" msgid "View document types" msgstr "Просмотр типов документов" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." -msgstr "Максимальное количество последних (созданных, измененных, просмотренных) документов, запоминаемых для каждого пользователя." +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." +msgstr "" +"Максимальное количество последних (созданных, измененных, просмотренных) " +"документов, запоминаемых для каждого пользователя." -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." msgstr "Процент увеличения страницы документа пользователем." -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." msgstr "Максимальный процент увеличения страницы документа пользователем." -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." msgstr "Процент уменьшения масштаба страницы документа в интерактивном режиме." -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." msgstr "Градус поворота страницы документа в интерактивном режиме." -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "Язык документов по умолчанию (в формате ISO639-2)." -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "Список поддерживаемых языков документов" -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "Очистить кэш изображений документа?" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "Очистка кэша документов успешно помещена в очередь." - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "Документы в корзине" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "Удалить выбранный документ?" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "Документ: %(document)s удалён." - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "Удалить выбранные документы?" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "Правка свойств документа: %s" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "Восстановить выбранный документ?" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "Документ %(document)s восстановлен." - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "Восстановить выбранные документы?" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "Страницы документа: %s" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr " Нет более страниц в этом документе" + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "Вы уже на первой странице этого документа" + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "Изображение для: %s" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "Предпросмотр документа: %s" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "Перместить \"%s\" в корзину?" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "Документ %(document)s успешно перемещён в корзину." - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "Переместить выделенные документы в корзину?" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "Документы с типом: %s" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "Все документы этого типа будут также удалены." -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "Удалить тип документа: %s?" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "Редактировать тип документа: %s" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "Создать быструю метку для типа документа: %s" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" -msgstr "Редактировать быструю метку %(filename)s\" с типа документов \"%(document_type)s\"" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgstr "" +"Редактировать быструю метку %(filename)s\" с типа документов " +"\"%(document_type)s\"" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" msgstr "Снять быструю метку %(label)s с типа документа \"%(document_type)s\"?" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "Быстрые метки для типа документа: %s" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "Версии документа: %s" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "Все более поздние версии после этого будут удалены" -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "Вернуться к этой версии?" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "Версия документа восстановлена" -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "Ошибка получения версии документа %s" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "Удалить выбранный документ?" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" -msgstr "Свойства документа: %s" +msgid "Document: %(document)s deleted." +msgstr "Документ: %(document)s удалён." -#: views.py:639 -msgid "Empty trash?" -msgstr "Очистить корзину?" +#: views/document_views.py:108 +msgid "Delete the selected documents?" +msgstr "Удалить выбранные документы?" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" -msgstr "Корзина успешно очищена" - -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "Необходимо указатьть хотя бы один документ." - -#: views.py:704 +#: views/document_views.py:120 #, python-format -msgid "Document type for \"%s\" changed successfully." -msgstr "Тип документа для \"%s\" успешно изменён." +msgid "Document type change request performed on %(count)d document" +msgstr "" -#: views.py:716 views.py:1235 -msgid "Submit" -msgstr "Подтвердить" +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." +#: views/document_views.py:130 +#, fuzzy +#| msgid "Change type" +msgid "Change" +msgstr "Изменить тип" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "Change the type of the selected document." +#| msgid_plural "Change the type of the selected documents." +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" msgstr[0] "Изменить тип выбранного документа." msgstr[1] "Изменить тип выбранных документов." msgstr[2] "Изменить тип выбранных документов." msgstr[3] "Изменить тип выбранных документов." -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." -msgstr "Должен быть хотя бы один документ или версия." +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Change the type of the selected document." +#| msgid_plural "Change the type of the selected documents." +msgid "Change the type of the document: %s" +msgstr "Изменить тип выбранного документа." -#: views.py:819 -msgid "Documents to be downloaded" -msgstr "Документы для загрузки" +#: views/document_views.py:164 +#, python-format +msgid "Document type for \"%s\" changed successfully." +msgstr "Тип документа для \"%s\" успешно изменён." -#: views.py:828 -msgid "Date and time" -msgstr "Дата и время" +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" +msgstr "Правка свойств документа: %s" -#: views.py:931 -msgid "At least one document must be selected." -msgstr "Хотя бы один документ должен быть выбран." +#: views/document_views.py:200 +msgid "Restore the selected document?" +msgstr "Восстановить выбранный документ?" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." +msgstr "Документ %(document)s восстановлен." + +#: views/document_views.py:229 +msgid "Restore the selected documents?" +msgstr "Восстановить выбранные документы?" + +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" +msgstr "Предпросмотр документа: %s" + +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" +msgstr "Перместить \"%s\" в корзину?" + +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." +msgstr "Документ %(document)s успешно перемещён в корзину." + +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "Переместить выделенные документы в корзину?" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "Свойства документа: %s" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "Очистить корзину?" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "Корзина успешно очищена" + +#: views/document_views.py:519 +#, fuzzy, python-format +#| msgid "Document queued for page count recalculation." +msgid "%(count)d document queued for page count recalculation" msgstr "Документ отправлен в очередь на обновление количества страниц." -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:522 +#, fuzzy, python-format +#| msgid "Documents queued for page count recalculation." +msgid "%(count)d documents queued for page count recalculation" msgstr "Документы отправлены в очередь на обновление количества страниц." -#: views.py:964 +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "Пересчитать количество страниц для выбранного документа?" @@ -814,50 +864,127 @@ msgstr[1] "Пересчитать количество страниц для в msgstr[2] "Пересчитать количество страниц для выбранных документов?" msgstr[3] "Пересчитать количество страниц для выбранных документов?" -#: views.py:1023 -#, python-format -msgid "" -"Error deleting the page transformations for document: %(document)s; " -"%(error)s." -msgstr "Ошибка при удалении страницы для преобразования документов: %(document)s; %(error)s." +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Recalculate the page count of the selected document?" +#| msgid_plural "Recalculate the page count of the selected documents?" +msgid "Recalculate the page count of the document: %s?" +msgstr "Пересчитать количество страниц для выбранного документа?" -#: views.py:1032 +#: views/document_views.py:558 #, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." -msgstr "Все преобразования страницы для документа: %s успешно удалены." +msgid "Transformation clear request processed for %(count)d document" +msgstr "" -#: views.py:1044 +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 +#, fuzzy +#| msgid "Clear all the page transformations for the selected document?" +#| msgid_plural "" +#| "Clear all the page transformations for the selected documents?" msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" +msgid_plural "Clear all the page transformations for the selected document?" msgstr[0] "Очистить все преобразования страниц для выделенных документов?" msgstr[1] "Очистить все преобразования страниц для выделенных документов?" msgstr[2] "Очистить все преобразования страниц для выделенных документов?" msgstr[3] "Очистить все преобразования страниц для выделенных документов?" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr " Нет более страниц в этом документе" +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "Clear all the page transformations for the selected document?" +#| msgid_plural "" +#| "Clear all the page transformations for the selected documents?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "Очистить все преобразования страниц для выделенных документов?" -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "Вы уже на первой странице этого документа" +#: views/document_views.py:595 views/document_views.py:623 +#, python-format +msgid "" +"Error deleting the page transformations for document: %(document)s; " +"%(error)s." +msgstr "" +"Ошибка при удалении страницы для преобразования документов: %(document)s; " +"%(error)s." -#: views.py:1225 views.py:1234 +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." + +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "Подтвердить" + +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "Clear all the page transformations for the selected document?" +#| msgid_plural "" +#| "Clear all the page transformations for the selected documents?" +msgid "Clone page transformations for document: %s" +msgstr "Очистить все преобразования страниц для выделенных документов?" + +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "Печать: %s" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "Очистить кэш изображений документа?" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "Очистка кэша документов успешно помещена в очередь." + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "Страница %(page_number)d из %(total_pages)d" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "Изображение страницы" + +#: widgets.py:242 msgid "Document page image" msgstr "Изображение страницы документа" +#~| msgid "Version update" +#~ msgid "New version block" +#~ msgstr "Блокировка добавления новых версий" + +#~| msgid "Version update" +#~ msgid "New version blocks" +#~ msgstr "Блокировки добавления новых версий" + +#~ msgid "Must provide at least one document." +#~ msgstr "Необходимо указатьть хотя бы один документ." + +#~| msgid "Must provide at least one document." +#~ msgid "Must provide at least one document or version." +#~ msgstr "Должен быть хотя бы один документ или версия." + +#~ msgid "Documents to be downloaded" +#~ msgstr "Документы для загрузки" + +#~ msgid "Date and time" +#~ msgstr "Дата и время" + +#~ msgid "At least one document must be selected." +#~ msgstr "Хотя бы один документ должен быть выбран." + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "Все преобразования страницы для документа: %s успешно удалены." + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -921,9 +1048,6 @@ msgstr "Изображение страницы документа" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -934,11 +1058,11 @@ msgstr "Изображение страницы документа" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1069,10 +1193,8 @@ msgstr "Изображение страницы документа" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1086,11 +1208,11 @@ msgstr "Изображение страницы документа" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1113,11 +1235,11 @@ msgstr "Изображение страницы документа" #~ "(%d)?" #~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" +#~ "Are you sure you wish to clear all the page transformations for " +#~ "documents: %s?" #~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" +#~ "Are you sure you wish to clear all the page transformations for " +#~ "documents: %s?" #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1134,15 +1256,19 @@ msgstr "Изображение страницы документа" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1199,11 +1325,11 @@ msgstr "Изображение страницы документа" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1227,11 +1353,11 @@ msgstr "Изображение страницы документа" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1252,9 +1378,11 @@ msgstr "Изображение страницы документа" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1284,11 +1412,11 @@ msgstr "Изображение страницы документа" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1345,15 +1473,17 @@ msgstr "Изображение страницы документа" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" diff --git a/mayan/apps/documents/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/documents/locale/sl_SI/LC_MESSAGES/django.po index 4a08190f3b..427a76798e 100644 --- a/mayan/apps/documents/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/sl_SI/LC_MESSAGES/django.po @@ -1,102 +1,126 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-11-17 08:59+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "Dokumenti" -#: apps.py:98 +#: apps.py:110 +msgid "New pages this month" +msgstr "" + +#: apps.py:119 +#, fuzzy +#| msgid "documents of this type" +msgid "New documents this month" +msgstr "documents of this type" + +#: apps.py:128 +#, fuzzy +#| msgid "Edit documents" +msgid "Total documents" +msgstr "Uredi dokumente" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "" + +#: apps.py:145 msgid "Create a document type" msgstr "" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." msgstr "" -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "Oznaka" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "MIME tip" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "" -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "Komentar" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "" @@ -117,12 +141,10 @@ msgid "Document type changed" msgstr "" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -130,248 +152,262 @@ msgstr "" msgid "Document viewed" msgstr "" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "Slika strani" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "Hitro preimenovanje dokumenta" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "Dodano datum" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "MIME vrsta datoteke" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "Brez" -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "Velikost datoteke" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "Obstaja v shrambi" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "Pot datoteke v shrambi" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "Nadzorna vsota" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "Strani" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "Tip dokumenta" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "Stisni" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "Ime stisnjene datoteke" -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "Ime skrčene datotteke, ki do vsebovala datoteke za prenos, če je bila prejšnja opcija izbrana." +msgstr "" +"Ime skrčene datotteke, ki do vsebovala datoteke za prenos, če je bila " +"prejšnja opcija izbrana." -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "Obseg strani" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "" -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Page transformations" +msgid "Clone transformations" +msgstr "page transformations" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "Prenos" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "" -#: links.py:144 -msgid "Trash" +#: links.py:151 +msgid "Trash can" msgstr "" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "Počistite grafične predstavitve, ki se uporabljajo za pospešitev prikaza dokumentov in rezultatov interaktivnih transformacij." +msgstr "" +"Počistite grafične predstavitve, ki se uporabljajo za pospešitev prikaza " +"dokumentov in rezultatov interaktivnih transformacij." -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "" -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "" - #: literals.py:14 msgid "Default" msgstr "" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." +"Amount of time after which documents of this type will be moved to the trash." msgstr "" #: models.py:71 @@ -389,12 +425,10 @@ msgid "" msgstr "" #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -402,99 +436,100 @@ msgstr "" msgid "Documents types" msgstr "" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "Opis" -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "" -#: models.py:169 -msgid "Language" -msgstr "" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." msgstr "" -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" msgstr "Stran %(page_num)d od %(total_pages)d dokumenta %(document)s" -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "" +#: models.py:804 +#, fuzzy +#| msgid "Document edited" +msgid "Document page cached image" +msgstr "Document edited" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document page transformations" +msgid "Document page cached images" +msgstr "document page transformations" + +#: models.py:827 msgid "User" msgstr "" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "" @@ -507,11 +542,10 @@ msgid "Delete documents" msgstr "Izbiši dokumente" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "Prenesi dokumente" @@ -528,12 +562,10 @@ msgid "Edit document properties" msgstr "Uredi lastnosti dokumenta" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -569,243 +601,244 @@ msgstr "Uredi tipe dokumentov" msgid "View document types" msgstr "Poglej tip dokumenta" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." -msgstr "Največje število zadnjih (kreiranih, urejenih, pogledanih) dokumentov za prikaz po uporabniku." +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." +msgstr "" +"Največje število zadnjih (kreiranih, urejenih, pogledanih) dokumentov za " +"prikaz po uporabniku." -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." -msgstr "Znesek v procentih za približane oziroma oddaljene strani na dokument v uporabniškem vmesniku." +msgstr "" +"Znesek v procentih za približane oziroma oddaljene strani na dokument v " +"uporabniškem vmesniku." -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "Največji znesek v procentih (%), ki je dovoljen uporabniku za približevanje strani v dokumentu." +msgstr "" +"Največji znesek v procentih (%), ki je dovoljen uporabniku za približevanje " +"strani v dokumentu." -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "Naamanjši znesek v procentih (%), ki je dovoljen uporabniku za približevanje strani v dokumentu." +msgstr "" +"Naamanjši znesek v procentih (%), ki je dovoljen uporabniku za približevanje " +"strani v dokumentu." -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." -msgstr "Število v stopinjah za rotiranje strani dokumenta ob uporabniški interakciji." +msgstr "" +"Število v stopinjah za rotiranje strani dokumenta ob uporabniški interakciji." -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "" -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "" -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "" - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "" - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "" - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "Ni več strani v tem dokumentu" + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "Ste že na prvi strani dokumenta" + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "" - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "" -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" msgstr "" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "Vse prejšnje verzije bodo tudi izbrisane." -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "Povrnitev verzije dokumenta je bila uspešna" -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "Napaka v povrnitvi dokumenta verzija: %s" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" +msgid "Document: %(document)s deleted." msgstr "" -#: views.py:639 -msgid "Empty trash?" +#: views/document_views.py:108 +msgid "Delete the selected documents?" msgstr "" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" msgstr "" -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "Potrebno je podati vsaj en dokument" +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" -#: views.py:704 +#: views/document_views.py:130 +msgid "Change" +msgstr "" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "Are you sure you wish to delete the selected document?" +#| msgid_plural "Are you sure you wish to delete the selected documents?" +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" +msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" +msgstr[2] "ee02f3189246f97d6734a407f6f9040b_pl_2" +msgstr[3] "ee02f3189246f97d6734a407f6f9040b_pl_3" + +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Content of document: %s" +msgid "Change the type of the document: %s" +msgstr "versions for document: %s" + +#: views/document_views.py:164 #, python-format msgid "Document type for \"%s\" changed successfully." msgstr "" -#: views.py:716 views.py:1235 -msgid "Submit" +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" msgstr "" -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." +#: views/document_views.py:200 +msgid "Restore the selected document?" msgstr "" -#: views.py:819 -msgid "Documents to be downloaded" +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." msgstr "" -#: views.py:828 -msgid "Date and time" +#: views/document_views.py:229 +msgid "Restore the selected documents?" msgstr "" -#: views.py:931 -msgid "At least one document must be selected." +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" msgstr "" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" msgstr "" -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." msgstr "" -#: views.py:964 +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "" + +#: views/document_views.py:519 +#, python-format +msgid "%(count)d document queued for page count recalculation" +msgstr "" + +#: views/document_views.py:522 +#, python-format +msgid "%(count)d documents queued for page count recalculation" +msgstr "" + +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "" @@ -813,50 +846,105 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: views.py:1023 -#, python-format -msgid "" -"Error deleting the page transformations for document: %(document)s; " -"%(error)s." -msgstr "Napaka v izbrisu preoblikovanj strani za dokument: %(document)s; %(error)s." +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Are you sure you wish to reset the page count of this document?" +msgid "Recalculate the page count of the document: %s?" +msgstr "" +"Are you sure you wish to update the page count for the office documents (%d)?" -#: views.py:1032 +#: views/document_views.py:558 #, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." -msgstr "Vsa preoblikovanja strani dokumenta: %s, so bila uspešno izbrisana." +msgid "Transformation clear request processed for %(count)d document" +msgstr "" -#: views.py:1044 +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" +msgid_plural "Clear all the page transformations for the selected document?" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "Ni več strani v tem dokumentu" +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "" +#| "Are you sure you wish to clear all the page transformations for " +#| "documents: %s?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "" +"Are you sure you wish to clear all the page transformations for documents: " +"%s?" -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "Ste že na prvi strani dokumenta" +#: views/document_views.py:595 views/document_views.py:623 +#, python-format +msgid "" +"Error deleting the page transformations for document: %(document)s; " +"%(error)s." +msgstr "" +"Napaka v izbrisu preoblikovanj strani za dokument: %(document)s; %(error)s." -#: views.py:1225 views.py:1234 +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." + +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "" + +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "" +#| "Error deleting the page transformations for document: %(document)s; " +#| "%(error)s." +msgid "Clone page transformations for document: %s" +msgstr "" +"Napaka v izbrisu preoblikovanj strani za dokument: %(document)s; %(error)s." + +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "" + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "Slika strani" + +#: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Potrebno je podati vsaj en dokument" + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "" +#~ "Vsa preoblikovanja strani dokumenta: %s, so bila uspešno izbrisana." + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -920,9 +1008,6 @@ msgstr "" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -933,11 +1018,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -966,9 +1051,6 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" -#~ msgid "Page transformations" -#~ msgstr "page transformations" - #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -1006,22 +1088,9 @@ msgstr "" #~ msgid "Use dictionaries to indentify arguments, example: {'degrees':90}" #~ msgstr "Use dictionaries to indentify arguments, example: %s" -#~ msgid "Document page transformations" -#~ msgstr "document page transformations" - #~ msgid "documents" #~ msgstr "documents" -#~ msgid "Content of document: %s" -#~ msgstr "versions for document: %s" - -#~ msgid "Are you sure you wish to delete the selected document?" -#~ msgid_plural "Are you sure you wish to delete the selected documents?" -#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" -#~ msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" -#~ msgstr[2] "ee02f3189246f97d6734a407f6f9040b_pl_2" -#~ msgstr[3] "ee02f3189246f97d6734a407f6f9040b_pl_3" - #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1068,10 +1137,8 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1085,11 +1152,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1106,21 +1173,6 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" -#~ msgid "Are you sure you wish to reset the page count of this document?" -#~ msgstr "" -#~ "Are you sure you wish to update the page count for the office documents " -#~ "(%d)?" - -#~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" -#~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" - -#~ msgid "Document edited" -#~ msgstr "Document edited" - #~ msgid "Version" #~ msgstr "version" @@ -1133,15 +1185,19 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1198,11 +1254,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1226,11 +1282,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1251,9 +1307,11 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1283,11 +1341,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1344,15 +1402,17 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1373,9 +1433,6 @@ msgstr "" #~ msgid "clone metadata" #~ msgstr "clone metadata" -#~ msgid "documents of this type" -#~ msgstr "documents of this type" - #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/documents/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/documents/locale/vi_VN/LC_MESSAGES/django.po index ef1d4d0f27..f76bc9e6a8 100644 --- a/mayan/apps/documents/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/vi_VN/LC_MESSAGES/django.po @@ -1,102 +1,125 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "Tài liệu" -#: apps.py:98 +#: apps.py:110 +msgid "New pages this month" +msgstr "" + +#: apps.py:119 +#, fuzzy +#| msgid "documents of this type" +msgid "New documents this month" +msgstr "documents of this type" + +#: apps.py:128 +#, fuzzy +#| msgid "Edit documents" +msgid "Total documents" +msgstr "Sửa tài liệu" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "" + +#: apps.py:145 msgid "Create a document type" msgstr "" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." msgstr "" -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "MIME type" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "" -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "Chú thích" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "" @@ -117,12 +140,10 @@ msgid "Document type changed" msgstr "" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -130,248 +151,258 @@ msgstr "" msgid "Document viewed" msgstr "" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "Sửa nhanh tên tài liệu" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "Ngày thêm vào" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "Kiểu file" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "None" -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "Kích thước file" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "Trang" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "Kiểu tài liệu" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "Nén" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "" -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." msgstr "" -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "Dãy trang" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "" -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Page transformations" +msgid "Clone transformations" +msgstr "page transformations" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "" -#: links.py:144 -msgid "Trash" +#: links.py:151 +msgid "Trash can" msgstr "" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." msgstr "" -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "Sửa" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "" -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "" - #: literals.py:14 msgid "Default" msgstr "Mặc định" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." +"Amount of time after which documents of this type will be moved to the trash." msgstr "" #: models.py:71 @@ -389,12 +420,10 @@ msgid "" msgstr "" #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -402,99 +431,100 @@ msgstr "" msgid "Documents types" msgstr "" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "Mô tả" -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "" -#: models.py:169 -msgid "Language" -msgstr "" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." msgstr "" -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "File" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" msgstr "Trang %(page_num)d ngoài phạm vi của %(total_pages)d của %(document)s" -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "" +#: models.py:804 +#, fuzzy +#| msgid "Document edited" +msgid "Document page cached image" +msgstr "Document edited" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document page transformations" +msgid "Document page cached images" +msgstr "document page transformations" + +#: models.py:827 msgid "User" msgstr "Người dùng" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "" @@ -507,11 +537,10 @@ msgid "Delete documents" msgstr "Xóa tài liệu" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "Tải xuống tài liệu" @@ -528,12 +557,10 @@ msgid "Edit document properties" msgstr "" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -569,285 +596,326 @@ msgstr "Sửa kiểu tài liệu" msgid "View document types" msgstr "" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." -msgstr "Số lượng lớn nhất gần nhất (tạo, sửa, xem) số tài liệu để nhớ mỗi người dùng." +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." +msgstr "" +"Số lượng lớn nhất gần nhất (tạo, sửa, xem) số tài liệu để nhớ mỗi người dùng." -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." -msgstr "Số phần trăm phóng to hoặc thu nhỏ một trang tài liệu mỗi tác động của người dùng." +msgstr "" +"Số phần trăm phóng to hoặc thu nhỏ một trang tài liệu mỗi tác động của người " +"dùng." -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "Số phần trăm lớn nhất (%) cho phép người dùng phóng to một trang tài liệu." +msgstr "" +"Số phần trăm lớn nhất (%) cho phép người dùng phóng to một trang tài liệu." -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." msgstr "Số phần trăm nhỏ nhất (%) cho phép người dùng thu nhỏ trang tài liệu." -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." msgstr "Gái trị góc quay trang tài liệu mỗi lần tác động." -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "" -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "" -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "" - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "" - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "" - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "" + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "" + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "" - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "" -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" msgstr "" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "" -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "" -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" +msgid "Document: %(document)s deleted." msgstr "" -#: views.py:639 -msgid "Empty trash?" +#: views/document_views.py:108 +msgid "Delete the selected documents?" msgstr "" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" msgstr "" -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "Cần cung cấp ít nhất một tài liệu." +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" -#: views.py:704 +#: views/document_views.py:130 +msgid "Change" +msgstr "" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "Are you sure you wish to delete the selected document?" +#| msgid_plural "Are you sure you wish to delete the selected documents?" +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" + +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Content of document: %s" +msgid "Change the type of the document: %s" +msgstr "versions for document: %s" + +#: views/document_views.py:164 #, python-format msgid "Document type for \"%s\" changed successfully." msgstr "" -#: views.py:716 views.py:1235 -msgid "Submit" +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" msgstr "" -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "" - -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." +#: views/document_views.py:200 +msgid "Restore the selected document?" msgstr "" -#: views.py:819 -msgid "Documents to be downloaded" +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." msgstr "" -#: views.py:828 -msgid "Date and time" +#: views/document_views.py:229 +msgid "Restore the selected documents?" msgstr "" -#: views.py:931 -msgid "At least one document must be selected." +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" msgstr "" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" msgstr "" -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." msgstr "" -#: views.py:964 +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "" + +#: views/document_views.py:519 +#, python-format +msgid "%(count)d document queued for page count recalculation" +msgstr "" + +#: views/document_views.py:522 +#, python-format +msgid "%(count)d documents queued for page count recalculation" +msgstr "" + +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "" -#: views.py:1023 +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Are you sure you wish to reset the page count of this document?" +msgid "Recalculate the page count of the document: %s?" +msgstr "" +"Are you sure you wish to update the page count for the office documents (%d)?" + +#: views/document_views.py:558 +#, python-format +msgid "Transformation clear request processed for %(count)d document" +msgstr "" + +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 +msgid "Clear all the page transformations for the selected document?" +msgid_plural "Clear all the page transformations for the selected document?" +msgstr[0] "" + +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "" +#| "Are you sure you wish to clear all the page transformations for " +#| "documents: %s?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "" +"Are you sure you wish to clear all the page transformations for documents: " +"%s?" + +#: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." msgstr "" -#: views.py:1032 -#, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." + +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" msgstr "" -#: views.py:1044 -msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" -msgstr[0] "" +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "Transformations for: %s" +msgid "Clone page transformations for document: %s" +msgstr "transformations for: %s" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "" - -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "" - -#: views.py:1225 views.py:1234 +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "" + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "page image" +msgid "Clickable image" +msgstr "page image" + +#: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Cần cung cấp ít nhất một tài liệu." + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -911,9 +979,6 @@ msgstr "" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -924,11 +989,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -957,9 +1022,6 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" -#~ msgid "Page transformations" -#~ msgstr "page transformations" - #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -997,19 +1059,9 @@ msgstr "" #~ msgid "Use dictionaries to indentify arguments, example: {'degrees':90}" #~ msgstr "Use dictionaries to indentify arguments, example: %s" -#~ msgid "Document page transformations" -#~ msgstr "document page transformations" - #~ msgid "documents" #~ msgstr "documents" -#~ msgid "Content of document: %s" -#~ msgstr "versions for document: %s" - -#~ msgid "Are you sure you wish to delete the selected document?" -#~ msgid_plural "Are you sure you wish to delete the selected documents?" -#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" - #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1053,13 +1105,8 @@ msgstr "" #~ msgid "Are you sure you wish to revert to this version?" #~ msgstr "Are you sure you wish to revert to this version?" -#~ msgid "Transformations for: %s" -#~ msgstr "transformations for: %s" - -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1073,11 +1120,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1094,21 +1141,6 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" -#~ msgid "Are you sure you wish to reset the page count of this document?" -#~ msgstr "" -#~ "Are you sure you wish to update the page count for the office documents " -#~ "(%d)?" - -#~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" -#~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" - -#~ msgid "Document edited" -#~ msgstr "Document edited" - #~ msgid "Version" #~ msgstr "version" @@ -1121,15 +1153,19 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1186,11 +1222,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1214,11 +1250,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1239,9 +1275,11 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1271,11 +1309,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1286,9 +1324,6 @@ msgstr "" #~ msgid "download" #~ msgstr "download" -#~ msgid "page image" -#~ msgstr "page image" - #~ msgid "document types" #~ msgstr "document types" @@ -1332,15 +1367,17 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1361,9 +1398,6 @@ msgstr "" #~ msgid "clone metadata" #~ msgstr "clone metadata" -#~ msgid "documents of this type" -#~ msgstr "documents of this type" - #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/documents/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/documents/locale/zh_CN/LC_MESSAGES/django.po index 3681148ca4..d8fc8af371 100644 --- a/mayan/apps/documents/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/zh_CN/LC_MESSAGES/django.po @@ -1,102 +1,125 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-10-28 07:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:83 apps.py:163 apps.py:384 models.py:231 permissions.py:7 -#: settings.py:17 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 +#: settings.py:13 msgid "Documents" msgstr "文档" -#: apps.py:98 +#: apps.py:110 +msgid "New pages this month" +msgstr "" + +#: apps.py:119 +#, fuzzy +#| msgid "documents of this type" +msgid "New documents this month" +msgstr "documents of this type" + +#: apps.py:128 +#, fuzzy +#| msgid "Edit documents" +msgid "Total documents" +msgstr "编辑文档" + +#: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 +msgid "Document types" +msgstr "" + +#: apps.py:140 views/document_views.py:69 +msgid "Documents in trash" +msgstr "" + +#: apps.py:145 msgid "Create a document type" msgstr "" -#: apps.py:100 +#: apps.py:147 msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." msgstr "" -#: apps.py:107 models.py:65 models.py:158 models.py:626 search.py:20 +#: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 +#: search.py:39 msgid "Label" msgstr "" -#: apps.py:112 +#: apps.py:159 msgid "The MIME type of any of the versions of a document" msgstr "" -#: apps.py:113 apps.py:197 search.py:18 views.py:829 +#: apps.py:160 apps.py:262 search.py:19 search.py:36 msgid "MIME type" msgstr "MIME类型" -#: apps.py:151 apps.py:175 +#: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" msgstr "" -#: apps.py:159 apps.py:185 +#: apps.py:208 apps.py:226 apps.py:250 msgid "Type" msgstr "" -#: apps.py:170 models.py:628 +#: apps.py:238 models.py:620 msgid "Enabled" msgstr "" -#: apps.py:188 +#: apps.py:253 msgid "Date time trashed" msgstr "" -#: apps.py:193 +#: apps.py:258 msgid "Time and date" msgstr "" -#: apps.py:201 views.py:830 +#: apps.py:266 msgid "Encoding" msgstr "" -#: apps.py:205 models.py:357 +#: apps.py:270 models.py:351 msgid "Comment" msgstr "评论" -#: apps.py:387 -#| msgid "New document filename" +#: apps.py:456 msgid "New documents per month" msgstr "" -#: apps.py:394 -#| msgid "Document version reverted successfully" +#: apps.py:463 msgid "New document versions per month" msgstr "" -#: apps.py:401 -#| msgid "View document types" +#: apps.py:470 msgid "New document pages per month" msgstr "" -#: apps.py:408 +#: apps.py:477 msgid "Total documents at each month" msgstr "" -#: apps.py:415 +#: apps.py:484 msgid "Total document versions at each month" msgstr "" -#: apps.py:422 +#: apps.py:491 msgid "Total document pages at each month" msgstr "" @@ -117,12 +140,10 @@ msgid "Document type changed" msgstr "" #: events.py:21 -#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 -#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -130,248 +151,258 @@ msgstr "" msgid "Document viewed" msgstr "" -#: forms.py:42 links.py:205 +#: forms.py:39 links.py:212 msgid "Page image" msgstr "页面图片" -#: forms.py:56 forms.py:59 +#: forms.py:51 forms.py:54 #, python-format msgid "Document pages (%d)" msgstr "文档页(%d)" -#: forms.py:90 +#: forms.py:92 msgid "Quick document rename" msgstr "快速文档重命名" -#: forms.py:112 +#: forms.py:114 msgid "Date added" msgstr "添加日期" -#: forms.py:116 +#: forms.py:118 msgid "UUID" msgstr "UUID" +#: forms.py:120 models.py:163 +msgid "Language" +msgstr "" + #: forms.py:122 +msgid "Unknown" +msgstr "" + +#: forms.py:130 msgid "File mimetype" msgstr "文件mimetype" -#: forms.py:123 forms.py:128 +#: forms.py:131 forms.py:136 msgid "None" msgstr "无" -#: forms.py:126 +#: forms.py:134 msgid "File encoding" msgstr "" -#: forms.py:132 +#: forms.py:140 msgid "File size" msgstr "文件大小" -#: forms.py:137 +#: forms.py:145 msgid "Exists in storage" msgstr "在存储中存在" -#: forms.py:139 +#: forms.py:147 msgid "File path in storage" msgstr "在存储中的文件路径" -#: forms.py:142 models.py:372 +#: forms.py:150 models.py:366 msgid "Checksum" msgstr "校验码" -#: forms.py:143 links.py:58 +#: forms.py:151 links.py:60 msgid "Pages" msgstr "页面" -#: forms.py:174 models.py:105 models.py:154 models.py:623 search.py:15 +#: forms.py:179 models.py:105 models.py:149 models.py:615 search.py:16 +#: search.py:32 msgid "Document type" msgstr "文档类型" -#: forms.py:190 +#: forms.py:195 msgid "Compress" msgstr "压缩" -#: forms.py:192 -#| msgid "" -#| "ad the document in the original format or in a compressed manner. s ion is " -#| "selectable only when downloading one document, for tiple uments, the bundle " -#| "will always be downloads as a compressed e." +#: forms.py:197 msgid "" -"Download the document in the original format or in a compressed manner. This" -" option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This " +"option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" -#: forms.py:199 +#: forms.py:204 msgid "Compressed filename" msgstr "压缩的文件名" -#: forms.py:202 +#: forms.py:207 msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." msgstr "如果选择了前面选项,压缩文件的文件名将包含要下载的文档" -#: forms.py:219 literals.py:24 +#: forms.py:225 literals.py:23 msgid "Page range" msgstr "页范围" -#: links.py:43 +#: forms.py:231 +msgid "" +"Page number from which all the transformation will be cloned. Existing " +"transformations will be lost." +msgstr "" + +#: links.py:45 msgid "Preview" msgstr "" -#: links.py:48 +#: links.py:50 msgid "Properties" msgstr "" -#: links.py:53 +#: links.py:55 msgid "Versions" msgstr "" -#: links.py:64 links.py:105 +#: links.py:66 links.py:112 msgid "Clear transformations" msgstr "" -#: links.py:69 links.py:113 links.py:238 links.py:252 +#: links.py:71 +#, fuzzy +#| msgid "Page transformations" +msgid "Clone transformations" +msgstr "page transformations" + +#: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" msgstr "" -#: links.py:74 links.py:109 +#: links.py:81 links.py:116 msgid "Move to trash" msgstr "" -#: links.py:79 +#: links.py:86 msgid "Edit properties" msgstr "" -#: links.py:83 links.py:117 +#: links.py:90 links.py:124 msgid "Change type" msgstr "" -#: links.py:87 links.py:121 views.py:901 +#: links.py:94 links.py:128 views/document_views.py:380 msgid "Download" msgstr "下载" -#: links.py:91 +#: links.py:98 msgid "Print" msgstr "" -#: links.py:96 links.py:124 +#: links.py:103 links.py:131 msgid "Recalculate page count" msgstr "" -#: links.py:100 links.py:128 +#: links.py:107 links.py:135 msgid "Restore" msgstr "" -#: links.py:132 +#: links.py:139 msgid "Download version" msgstr "" -#: links.py:137 views.py:82 +#: links.py:144 views/document_views.py:51 msgid "All documents" msgstr "" -#: links.py:140 models.py:815 views.py:656 +#: links.py:147 models.py:848 views/document_views.py:341 msgid "Recent documents" msgstr "" -#: links.py:144 -msgid "Trash" +#: links.py:151 +msgid "Trash can" msgstr "" -#: links.py:152 +#: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." msgstr "清除图像信息有助于加速文档显示和变换结果交互。" -#: links.py:155 -#| msgid "Clear the document image cache" +#: links.py:162 msgid "Clear document image cache" msgstr "" -#: links.py:159 permissions.py:47 +#: links.py:166 permissions.py:47 msgid "Empty trash" msgstr "" -#: links.py:167 +#: links.py:174 msgid "First page" msgstr "" -#: links.py:172 +#: links.py:179 msgid "Last page" msgstr "" -#: links.py:179 +#: links.py:186 msgid "Previous page" msgstr "" -#: links.py:185 +#: links.py:192 msgid "Next page" msgstr "" -#: links.py:191 models.py:230 models.py:351 models.py:778 models.py:797 -#: views.py:827 +#: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" msgstr "" -#: links.py:196 +#: links.py:203 msgid "Rotate left" msgstr "" -#: links.py:201 +#: links.py:208 msgid "Rotate right" msgstr "" -#: links.py:209 +#: links.py:216 msgid "Reset view" msgstr "" -#: links.py:214 +#: links.py:221 msgid "Zoom in" msgstr "" -#: links.py:219 +#: links.py:227 msgid "Zoom out" msgstr "" -#: links.py:227 +#: links.py:236 msgid "Revert" msgstr "" -#: links.py:234 views.py:419 +#: links.py:243 views/document_type_views.py:64 msgid "Create document type" msgstr "" -#: links.py:242 links.py:256 +#: links.py:251 links.py:265 msgid "Edit" msgstr "" -#: links.py:247 +#: links.py:256 msgid "Add quick label to document type" msgstr "" -#: links.py:260 models.py:634 +#: links.py:269 models.py:626 msgid "Quick labels" msgstr "" -#: links.py:264 links.py:269 views.py:404 -msgid "Document types" -msgstr "" - #: literals.py:14 msgid "Default" msgstr "" -#: literals.py:24 +#: literals.py:23 msgid "All pages" msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the " -"trash." +"Amount of time after which documents of this type will be moved to the trash." msgstr "" #: models.py:71 @@ -389,12 +420,10 @@ msgid "" msgstr "" #: models.py:81 -#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 -#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -402,99 +431,100 @@ msgstr "" msgid "Documents types" msgstr "" -#: models.py:158 +#: models.py:153 msgid "The name of the document" msgstr "" -#: models.py:161 search.py:21 +#: models.py:156 search.py:22 search.py:42 msgid "Description" msgstr "描述" -#: models.py:164 +#: models.py:159 msgid "Added" msgstr "" -#: models.py:169 -msgid "Language" -msgstr "" - -#: models.py:173 +#: models.py:167 msgid "In trash?" msgstr "" -#: models.py:178 +#: models.py:172 msgid "Date and time trashed" msgstr "" -#: models.py:182 +#: models.py:176 msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." msgstr "" -#: models.py:185 +#: models.py:179 msgid "Is stub?" msgstr "" -#: models.py:193 +#: models.py:187 #, python-format -#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" -#: models.py:354 +#: models.py:348 msgid "Timestamp" msgstr "" -#: models.py:363 +#: models.py:357 msgid "File" msgstr "文件" -#: models.py:445 models.py:446 models.py:647 +#: models.py:437 models.py:438 models.py:639 msgid "Document version" msgstr "" -#: models.py:633 +#: models.py:625 msgid "Quick label" msgstr "" -#: models.py:651 +#: models.py:643 msgid "Page number" msgstr "" -#: models.py:656 +#: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" msgstr "文档%(document)s页%(page_num)d超出%(total_pages)d" -#: models.py:672 +#: models.py:664 models.py:799 models.py:816 msgid "Document page" msgstr "" -#: models.py:673 +#: models.py:665 models.py:817 msgid "Document pages" msgstr "" -#: models.py:783 -#| msgid "Version update" -msgid "New version block" -msgstr "" +#: models.py:801 +msgid "Filename" +msgstr "Filename" -#: models.py:784 -#| msgid "Version update" -msgid "New version blocks" -msgstr "" +#: models.py:804 +#, fuzzy +#| msgid "Document pages (%d)" +msgid "Document page cached image" +msgstr "文档页(%d)" -#: models.py:794 +#: models.py:805 +#, fuzzy +#| msgid "Document pages (%d)" +msgid "Document page cached images" +msgstr "文档页(%d)" + +#: models.py:827 msgid "User" msgstr "用户" -#: models.py:800 +#: models.py:833 msgid "Accessed" msgstr "" -#: models.py:814 +#: models.py:847 msgid "Recent document" msgstr "" @@ -507,11 +537,10 @@ msgid "Delete documents" msgstr "删除文档" #: permissions.py:16 -#| msgid "Transform documents" msgid "Trash documents" msgstr "" -#: permissions.py:19 views.py:903 +#: permissions.py:19 views/document_views.py:382 msgid "Download documents" msgstr "下载文档" @@ -528,12 +557,10 @@ msgid "Edit document properties" msgstr "编辑文档属性" #: permissions.py:31 -#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 -#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -569,285 +596,329 @@ msgstr "编辑文档类型" msgid "View document types" msgstr "查看文档类型" -#: settings.py:37 +#: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per" -" user." +"Maximum number of recent (created, edited, viewed) documents to remember per " +"user." msgstr "记住每个用户近期文档的最大数(新建, 编辑, 查看)" -#: settings.py:44 +#: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." msgstr "每个交互用户文档页的放大或缩小百分比" -#: settings.py:51 +#: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." msgstr "文档交互页中允许用户放大的最大百分比(%)" -#: settings.py:58 +#: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." msgstr "文档交互页中允许用户缩小的最小百分比(%)" -#: settings.py:65 +#: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." msgstr "每个交互用户中文档页的旋转度数" -#: settings.py:74 +#: settings.py:70 msgid "Default documents language (in ISO639-2 format)." msgstr "" -#: settings.py:78 +#: settings.py:74 msgid "List of supported document languages." msgstr "" -#: views.py:68 -#| msgid "Clear the document image cache" -msgid "Clear the document image cache?" -msgstr "" - -#: views.py:75 -msgid "Document cache clearing queued successfully." -msgstr "" - -#: views.py:100 -#| msgid "Documents in storage: %d" -msgid "Documents in trash" -msgstr "" - -#: views.py:122 -msgid "Delete the selected document?" -msgstr "" - -#: views.py:145 -#, python-format -#| msgid "Document \"%(document)s\" deleted by %(fullname)s." -msgid "Document: %(document)s deleted." -msgstr "" - -#: views.py:153 -msgid "Delete the selected documents?" -msgstr "" - -#: views.py:175 -#, python-format -msgid "Edit properties of document: %s" -msgstr "" - -#: views.py:191 -msgid "Restore the selected document?" -msgstr "" - -#: views.py:216 -#, python-format -#| msgid "Document: %(document)s delete error: %(error)s" -msgid "Document: %(document)s restored." -msgstr "" - -#: views.py:224 -msgid "Restore the selected documents?" -msgstr "" - -#: views.py:256 +#: views/document_page_views.py:49 #, python-format msgid "Pages for document: %s" msgstr "" -#: views.py:284 +#: views/document_page_views.py:101 +msgid "Unknown view keyword argument schema, unable to redirect." +msgstr "" + +#: views/document_page_views.py:133 +msgid "There are no more pages in this document" +msgstr "此文档中无更多页" + +#: views/document_page_views.py:150 +msgid "You are already at the first page of this document" +msgstr "你已经在此文档的第一页了" + +#: views/document_page_views.py:178 #, python-format msgid "Image of: %s" msgstr "" -#: views.py:330 +#: views/document_type_views.py:38 #, python-format -msgid "Preview of document: %s" -msgstr "" - -#: views.py:338 -#, python-format -msgid "Move \"%s\" to the trash?" -msgstr "" - -#: views.py:365 -#, python-format -#| msgid "Document deleted successfully." -msgid "Document: %(document)s moved to trash successfully." -msgstr "" - -#: views.py:378 -msgid "Move the selected documents to the trash?" -msgstr "" - -#: views.py:393 -#, python-format -#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" -#: views.py:430 +#: views/document_type_views.py:75 msgid "All documents of this type will be deleted too." msgstr "" -#: views.py:432 +#: views/document_type_views.py:77 #, python-format -#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" -#: views.py:448 +#: views/document_type_views.py:93 #, python-format msgid "Edit document type: %s" msgstr "" -#: views.py:478 +#: views/document_type_views.py:118 #, python-format msgid "Create quick label for document type: %s" msgstr "" -#: views.py:499 +#: views/document_type_views.py:139 #, python-format -msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "" +"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" -#: views.py:524 +#: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" msgstr "" -#: views.py:552 +#: views/document_type_views.py:192 #, python-format msgid "Quick labels for document type: %s" msgstr "" -#: views.py:583 +#: views/document_version_views.py:42 #, python-format msgid "Versions of document: %s" msgstr "" -#: views.py:597 +#: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." msgstr "此版本以后的所有版本将被删除" -#: views.py:600 -#| msgid "Revert documents to a previous version" +#: views/document_version_views.py:59 msgid "Revert to this version?" msgstr "" -#: views.py:610 +#: views/document_version_views.py:69 msgid "Document version reverted successfully" msgstr "文档版本恢复成功" -#: views.py:615 +#: views/document_version_views.py:74 #, python-format msgid "Error reverting document version; %s" msgstr "恢复文档版本失败%s" -#: views.py:633 +#: views/document_views.py:81 +msgid "Delete the selected document?" +msgstr "" + +#: views/document_views.py:100 #, python-format -msgid "Properties for document: %s" +msgid "Document: %(document)s deleted." msgstr "" -#: views.py:639 -msgid "Empty trash?" +#: views/document_views.py:108 +msgid "Delete the selected documents?" msgstr "" -#: views.py:650 -#| msgid "Document deleted successfully." -msgid "Trash emptied successfully" +#: views/document_views.py:120 +#, python-format +msgid "Document type change request performed on %(count)d document" msgstr "" -#: views.py:685 views.py:996 -msgid "Must provide at least one document." -msgstr "至少要有一个文档" +#: views/document_views.py:123 +#, python-format +msgid "Document type change request performed on %(count)d documents" +msgstr "" -#: views.py:704 +#: views/document_views.py:130 +msgid "Change" +msgstr "" + +#: views/document_views.py:132 +#, fuzzy +#| msgid "Are you sure you wish to delete the selected document?" +#| msgid_plural "Are you sure you wish to delete the selected documents?" +msgid "Change the type of the selected document" +msgid_plural "Change the type of the selected documents" +msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" + +#: views/document_views.py:143 +#, fuzzy, python-format +#| msgid "Content of document: %s" +msgid "Change the type of the document: %s" +msgstr "versions for document: %s" + +#: views/document_views.py:164 #, python-format msgid "Document type for \"%s\" changed successfully." msgstr "" -#: views.py:716 views.py:1235 -msgid "Submit" -msgstr "提交" - -#: views.py:720 -msgid "Change the type of the selected document." -msgid_plural "Change the type of the selected documents." -msgstr[0] "" - -#: views.py:799 -#| msgid "Must provide at least one document." -msgid "Must provide at least one document or version." +#: views/document_views.py:184 +#, python-format +msgid "Edit properties of document: %s" msgstr "" -#: views.py:819 -msgid "Documents to be downloaded" +#: views/document_views.py:200 +msgid "Restore the selected document?" msgstr "" -#: views.py:828 -msgid "Date and time" +#: views/document_views.py:221 +#, python-format +msgid "Document: %(document)s restored." msgstr "" -#: views.py:931 -msgid "At least one document must be selected." +#: views/document_views.py:229 +msgid "Restore the selected documents?" msgstr "" -#: views.py:954 -msgid "Document queued for page count recalculation." +#: views/document_views.py:256 +#, python-format +msgid "Preview of document: %s" msgstr "" -#: views.py:955 -msgid "Documents queued for page count recalculation." +#: views/document_views.py:264 +#, python-format +msgid "Move \"%s\" to the trash?" msgstr "" -#: views.py:964 +#: views/document_views.py:287 +#, python-format +msgid "Document: %(document)s moved to trash successfully." +msgstr "" + +#: views/document_views.py:300 +msgid "Move the selected documents to the trash?" +msgstr "" + +#: views/document_views.py:318 +#, python-format +msgid "Properties for document: %s" +msgstr "" + +#: views/document_views.py:324 +msgid "Empty trash?" +msgstr "" + +#: views/document_views.py:335 +msgid "Trash emptied successfully" +msgstr "" + +#: views/document_views.py:519 +#, python-format +msgid "%(count)d document queued for page count recalculation" +msgstr "" + +#: views/document_views.py:522 +#, python-format +msgid "%(count)d documents queued for page count recalculation" +msgstr "" + +#: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "" -#: views.py:1023 +#: views/document_views.py:541 +#, fuzzy, python-format +#| msgid "Are you sure you wish to reset the page count of this document?" +msgid "Recalculate the page count of the document: %s?" +msgstr "" +"Are you sure you wish to update the page count for the office documents (%d)?" + +#: views/document_views.py:558 +#, python-format +msgid "Transformation clear request processed for %(count)d document" +msgstr "" + +#: views/document_views.py:561 +#, python-format +msgid "Transformation clear request processed for %(count)d documents" +msgstr "" + +#: views/document_views.py:569 +msgid "Clear all the page transformations for the selected document?" +msgid_plural "Clear all the page transformations for the selected document?" +msgstr[0] "" + +#: views/document_views.py:580 +#, fuzzy, python-format +#| msgid "" +#| "Are you sure you wish to clear all the page transformations for " +#| "documents: %s?" +msgid "Clear all the page transformations for the document: %s?" +msgstr "" +"Are you sure you wish to clear all the page transformations for documents: " +"%s?" + +#: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." msgstr "删除文档: %(document)s变换页数失败%(error)s" -#: views.py:1032 -#, python-format -msgid "" -"All the page transformations for document: %s, have been deleted " -"successfully." -msgstr "文档: %s的变换页数已经成功删除" +#: views/document_views.py:631 +#, fuzzy +#| msgid "Document page transformation created successfully." +msgid "Transformations cloned successfully." +msgstr "Document page transformation created successfully." -#: views.py:1044 -msgid "Clear all the page transformations for the selected document?" -msgid_plural "Clear all the page transformations for the selected documents?" -msgstr[0] "" +#: views/document_views.py:646 views/document_views.py:701 +msgid "Submit" +msgstr "提交" -#: views.py:1078 -msgid "There are no more pages in this document" -msgstr "此文档中无更多页" +#: views/document_views.py:648 +#, fuzzy, python-format +#| msgid "" +#| "Error deleting the page transformations for document: %(document)s; " +#| "%(error)s." +msgid "Clone page transformations for document: %s" +msgstr "删除文档: %(document)s变换页数失败%(error)s" -#: views.py:1096 -msgid "You are already at the first page of this document" -msgstr "你已经在此文档的第一页了" - -#: views.py:1225 views.py:1234 +#: views/document_views.py:702 #, python-format msgid "Print: %s" msgstr "" -#: widgets.py:71 +#: views/misc_views.py:18 +msgid "Clear the document image cache?" +msgstr "" + +#: views/misc_views.py:25 +msgid "Document cache clearing queued successfully." +msgstr "" + +#: widgets.py:64 #, python-format msgid "Page %(page_number)d of %(total_pages)d" msgstr "" -#: widgets.py:100 +#: widgets.py:87 +#, fuzzy +#| msgid "Page image" +msgid "Clickable image" +msgstr "页面图片" + +#: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "至少要有一个文档" + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "文档: %s的变换页数已经成功删除" + #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -911,9 +982,6 @@ msgstr "" #~ msgid "Filenames" #~ msgstr "Filename" -#~ msgid "Filename" -#~ msgstr "Filename" - #~ msgid "Document type quick rename filename" #~ msgstr "document type quick rename filename" @@ -924,11 +992,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" -#~ " bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " +#~ "%(bytes)d bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -957,9 +1025,6 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" -#~ msgid "Page transformations" -#~ msgstr "page transformations" - #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -1003,13 +1068,6 @@ msgstr "" #~ msgid "documents" #~ msgstr "documents" -#~ msgid "Content of document: %s" -#~ msgstr "versions for document: %s" - -#~ msgid "Are you sure you wish to delete the selected document?" -#~ msgid_plural "Are you sure you wish to delete the selected documents?" -#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" - #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1056,10 +1114,8 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "Document page transformation created successfully." -#~ msgstr "Document page transformation created successfully." - -#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "" +#~ "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1073,11 +1129,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " -#~ "%(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " +#~ "for: %(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1094,18 +1150,6 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" -#~ msgid "Are you sure you wish to reset the page count of this document?" -#~ msgstr "" -#~ "Are you sure you wish to update the page count for the office documents " -#~ "(%d)?" - -#~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" -#~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for documents: " -#~ "%s?" - #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1121,15 +1165,19 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s." +#~ msgstr "" +#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1186,11 +1234,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." -#~ " The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " +#~ "%(fullname)s. The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1214,11 +1262,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents with " -#~ "changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents " +#~ "with changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1239,9 +1287,11 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact matches." +#~ "Search all the documents' checksums and return a list of the exact " +#~ "matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1271,11 +1321,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set to " -#~ "none." +#~ "The document type of all documents using this document type will be set " +#~ "to none." #~ msgid "details" #~ msgstr "details" @@ -1332,15 +1382,17 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of documents, " -#~ "such as: invoices, regulations or manuals. The advantage of using document " -#~ "types are: assigning a list of typical filenames for quick renaming during " -#~ "creation, as well as assigning default metadata types and sets to it." +#~ "Document types define a class that represents a broard group of " +#~ "documents, such as: invoices, regulations or manuals. The advantage of " +#~ "using document types are: assigning a list of typical filenames for quick " +#~ "renaming during creation, as well as assigning default metadata types and " +#~ "sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1361,9 +1413,6 @@ msgstr "" #~ msgid "clone metadata" #~ msgstr "clone metadata" -#~ msgid "documents of this type" -#~ msgstr "documents of this type" - #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/dynamic_search/locale/ar/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/ar/LC_MESSAGES/django.po index cdb266ecdf..752f9158fc 100644 --- a/mayan/apps/dynamic_search/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -9,75 +9,73 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:16 msgid "Dynamic search" msgstr "" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "مصطلحات البحث" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "البحث" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "" -#: models.py:24 -msgid "User" -msgstr "مستخدم" - -#: models.py:26 -msgid "Query" -msgstr "" - -#: models.py:28 -msgid "Datetime created" -msgstr "" - -#: models.py:30 -msgid "Hits" -msgstr "" - -#: models.py:74 -msgid "Recent search" -msgstr "" - -#: models.py:75 -msgid "Recent searches" -msgstr "" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "أقصى عدد لجلب وعرض نتائج البحث." -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "الحد الأقصى لعدد طلبات البحث ليتم تذكرها لكل مستخدم." - -#: views.py:25 -msgid "Search results" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search results" +msgid "Search results for: %s" msgstr "نتائج البحث" -#: views.py:32 -msgid "Type" -msgstr "" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" + +#~ msgid "User" +#~ msgstr "مستخدم" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "الحد الأقصى لعدد طلبات البحث ليتم تذكرها لكل مستخدم." #~ msgid "Results" #~ msgstr "results" @@ -88,7 +86,8 @@ msgstr "" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -113,6 +112,3 @@ msgstr "" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/bg/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/bg/LC_MESSAGES/django.po index 5e21019253..345e6b076e 100644 --- a/mayan/apps/dynamic_search/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pavlin Koldamov , 2012 @@ -9,75 +9,72 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 msgid "Dynamic search" msgstr "" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "Термини на търсене" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "Търсене" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "" -#: models.py:24 -msgid "User" -msgstr "Потребител" - -#: models.py:26 -msgid "Query" -msgstr "" - -#: models.py:28 -msgid "Datetime created" -msgstr "" - -#: models.py:30 -msgid "Hits" -msgstr "" - -#: models.py:74 -msgid "Recent search" -msgstr "" - -#: models.py:75 -msgid "Recent searches" -msgstr "" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "Максимален брой резултати от търсене за показване." -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "Максимален брой заявки за търсене на потребител" - -#: views.py:25 -msgid "Search results" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search results" +msgid "Search results for: %s" msgstr "Резултати от търсенето" -#: views.py:32 -msgid "Type" -msgstr "" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" + +#~ msgid "User" +#~ msgstr "Потребител" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "Максимален брой заявки за търсене на потребител" #~ msgid "Results" #~ msgstr "results" @@ -88,7 +85,8 @@ msgstr "" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -113,6 +111,3 @@ msgstr "" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/bs_BA/LC_MESSAGES/django.po index e413cc0158..e9cb46903d 100644 --- a/mayan/apps/dynamic_search/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -9,75 +9,74 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:16 msgid "Dynamic search" msgstr "" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "Pojmovi pretrage" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "Pretraga" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "" -#: models.py:24 -msgid "User" -msgstr "Korisnik" - -#: models.py:26 -msgid "Query" -msgstr "" - -#: models.py:28 -msgid "Datetime created" -msgstr "" - -#: models.py:30 -msgid "Hits" -msgstr "" - -#: models.py:74 -msgid "Recent search" -msgstr "" - -#: models.py:75 -msgid "Recent searches" -msgstr "" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "Maksimalni broj pretražnih hitova da se rezultati prikažu." -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "Maksimalni broj po korisniku upita u pretrazi koji će biti zapamćeni." - -#: views.py:25 -msgid "Search results" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search results" +msgid "Search results for: %s" msgstr "Rezultati pretrage" -#: views.py:32 -msgid "Type" -msgstr "" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" + +#~ msgid "User" +#~ msgstr "Korisnik" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "" +#~ "Maksimalni broj po korisniku upita u pretrazi koji će biti zapamćeni." #~ msgid "Results" #~ msgstr "results" @@ -88,7 +87,8 @@ msgstr "" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -113,6 +113,3 @@ msgstr "" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/da/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/da/LC_MESSAGES/django.po index 615dbb0ab5..a4a3f694bd 100644 --- a/mayan/apps/dynamic_search/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/da/LC_MESSAGES/django.po @@ -1,82 +1,76 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2015-08-20 19:10+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 msgid "Dynamic search" msgstr "" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "" -#: models.py:24 -msgid "User" -msgstr "Bruger" - -#: models.py:26 -msgid "Query" -msgstr "" - -#: models.py:28 -msgid "Datetime created" -msgstr "" - -#: models.py:30 -msgid "Hits" -msgstr "" - -#: models.py:74 -msgid "Recent search" -msgstr "" - -#: models.py:75 -msgid "Recent searches" -msgstr "" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "" -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search results for: %s" +msgstr "Search error: %s" -#: views.py:25 -msgid "Search results" -msgstr "" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" -#: views.py:32 -msgid "Type" -msgstr "" +#~ msgid "User" +#~ msgstr "Bruger" #~ msgid "Results" #~ msgstr "results" @@ -87,7 +81,8 @@ msgstr "" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -112,6 +107,3 @@ msgstr "" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/de_DE/LC_MESSAGES/django.po index 85563090fa..86712771e8 100644 --- a/mayan/apps/dynamic_search/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mathias Behrle , 2014 @@ -11,75 +11,92 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 msgid "Dynamic search" msgstr "Dynamische Suche" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "Suchbegriffe" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "Suche" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "Erweiterte Suche" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "Suche wiederholen" -#: models.py:24 -msgid "User" -msgstr "Benutzer" - -#: models.py:26 -msgid "Query" -msgstr "Abfrage" - -#: models.py:28 -msgid "Datetime created" -msgstr "Erstellungszeitpunkt" - -#: models.py:30 -msgid "Hits" -msgstr "Treffer" - -#: models.py:74 -msgid "Recent search" -msgstr "Letzte Suche" - -#: models.py:75 -msgid "Recent searches" -msgstr "Letzte Suchen" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "Maximale Anzahl an Treffern, die angezeigt werden soll" -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "Maximale Anzahl an Suchabfragen, die pro Benutzer gespeichert werden sollen" - -#: views.py:25 -msgid "Search results" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search results" +msgid "Search results for: %s" msgstr "Suchergebnisse" -#: views.py:32 -msgid "Type" -msgstr "Typ" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" + +#~ msgid "User" +#~ msgstr "Benutzer" + +#~ msgid "Query" +#~ msgstr "Abfrage" + +#~ msgid "Datetime created" +#~ msgstr "Erstellungszeitpunkt" + +#~ msgid "Hits" +#~ msgstr "Treffer" + +#~ msgid "Recent search" +#~ msgstr "Letzte Suche" + +#~ msgid "Recent searches" +#~ msgstr "Letzte Suchen" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "" +#~ "Maximale Anzahl an Suchabfragen, die pro Benutzer gespeichert werden " +#~ "sollen" + +#~ msgid "Type" +#~ msgstr "Typ" #~ msgid "Results" #~ msgstr "results" @@ -90,7 +107,8 @@ msgstr "Typ" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -115,6 +133,3 @@ msgstr "Typ" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/en/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/en/LC_MESSAGES/django.po index e0bf116c3c..886a79b5ed 100644 --- a/mayan/apps/dynamic_search/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2012-12-12 06:05+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" @@ -23,67 +23,72 @@ msgstr "" msgid "Dynamic search" msgstr "advanced search" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "Search terms" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "Search" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 #, fuzzy msgid "Advanced search" msgstr "advanced search" -#: links.py:11 +#: links.py:15 #, fuzzy msgid "Search again" msgstr "search again" -#: models.py:24 -msgid "User" -msgstr "" - -#: models.py:26 -#, fuzzy -msgid "Query" -msgstr "query" - -#: models.py:28 -#, fuzzy -msgid "Datetime created" -msgstr "datetime created" - -#: models.py:30 -msgid "Hits" -msgstr "" - -#: models.py:74 -#, fuzzy -msgid "Recent search" -msgstr "recent search" - -#: models.py:75 -#, fuzzy -msgid "Recent searches" -msgstr "recent searches" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "Maximum amount search hits to fetch and display." -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "Maximum number of search queries to remember per user." - -#: views.py:25 -msgid "Search results" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search results" +msgid "Search results for: %s" msgstr "Search results" -#: views.py:32 -msgid "Type" -msgstr "" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" + +#, fuzzy +#~ msgid "Query" +#~ msgstr "query" + +#, fuzzy +#~ msgid "Datetime created" +#~ msgstr "datetime created" + +#, fuzzy +#~ msgid "Recent search" +#~ msgstr "recent search" + +#, fuzzy +#~ msgid "Recent searches" +#~ msgstr "recent searches" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "Maximum number of search queries to remember per user." #, fuzzy #~ msgid "Results" @@ -123,6 +128,3 @@ msgstr "" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/es/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/es/LC_MESSAGES/django.po index 06c3519e43..6559ac5b07 100644 --- a/mayan/apps/dynamic_search/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 @@ -12,75 +12,91 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 msgid "Dynamic search" msgstr "Búsqueda dinámica " -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "Términos de búsqueda" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "Búsqueda" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "Búsqueda avanzada" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "Volver a buscar" -#: models.py:24 -msgid "User" -msgstr "Usuario" - -#: models.py:26 -msgid "Query" -msgstr "Consulta" - -#: models.py:28 -msgid "Datetime created" -msgstr "fecha y hora creados" - -#: models.py:30 -msgid "Hits" -msgstr "accesos" - -#: models.py:74 -msgid "Recent search" -msgstr "Búsqueda reciente" - -#: models.py:75 -msgid "Recent searches" -msgstr "Búsquedas recientes." - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "La cantidad máxima de resultados de búsqueda a recabar y mostrar." -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "El número máximo de consultas de búsqueda para recordar por usuario." - -#: views.py:25 -msgid "Search results" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search results" +msgid "Search results for: %s" msgstr "Resultados de la búsqueda" -#: views.py:32 -msgid "Type" -msgstr "Tipo" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" + +#~ msgid "User" +#~ msgstr "Usuario" + +#~ msgid "Query" +#~ msgstr "Consulta" + +#~ msgid "Datetime created" +#~ msgstr "fecha y hora creados" + +#~ msgid "Hits" +#~ msgstr "accesos" + +#~ msgid "Recent search" +#~ msgstr "Búsqueda reciente" + +#~ msgid "Recent searches" +#~ msgstr "Búsquedas recientes." + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "" +#~ "El número máximo de consultas de búsqueda para recordar por usuario." + +#~ msgid "Type" +#~ msgstr "Tipo" #~ msgid "Results" #~ msgstr "results" @@ -91,7 +107,8 @@ msgstr "Tipo" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -116,6 +133,3 @@ msgstr "Tipo" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/fa/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/fa/LC_MESSAGES/django.po index 2d1008cca1..1c08a1c09c 100644 --- a/mayan/apps/dynamic_search/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mehdi Amani , 2014 @@ -9,75 +9,90 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:16 msgid "Dynamic search" msgstr "" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "عبارات جستجو" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "جستجو" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "جستجوی پیشرفته" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "جستجوی دوباره" -#: models.py:24 -msgid "User" -msgstr "کاربر" - -#: models.py:26 -msgid "Query" -msgstr "پرس و جو" - -#: models.py:28 -msgid "Datetime created" -msgstr "تاریخ زمان ایجاد" - -#: models.py:30 -msgid "Hits" -msgstr "برخورد" - -#: models.py:74 -msgid "Recent search" -msgstr "جستجوی اخیر" - -#: models.py:75 -msgid "Recent searches" -msgstr "جستجوهای اخیر" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "جداکثر نتایج قابل نمایش" -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "حداکثر تعداد پرس و جو های هرکاربر که بوسیله سیستم نگهداری میشود." - -#: views.py:25 -msgid "Search results" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search results" +msgid "Search results for: %s" msgstr "نتایج جستجو" -#: views.py:32 -msgid "Type" -msgstr "نوع" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" + +#~ msgid "User" +#~ msgstr "کاربر" + +#~ msgid "Query" +#~ msgstr "پرس و جو" + +#~ msgid "Datetime created" +#~ msgstr "تاریخ زمان ایجاد" + +#~ msgid "Hits" +#~ msgstr "برخورد" + +#~ msgid "Recent search" +#~ msgstr "جستجوی اخیر" + +#~ msgid "Recent searches" +#~ msgstr "جستجوهای اخیر" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "حداکثر تعداد پرس و جو های هرکاربر که بوسیله سیستم نگهداری میشود." + +#~ msgid "Type" +#~ msgstr "نوع" #~ msgid "Results" #~ msgstr "results" @@ -88,7 +103,8 @@ msgstr "نوع" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -113,6 +129,3 @@ msgstr "نوع" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/fr/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/fr/LC_MESSAGES/django.po index 5f7d8ea9c9..a95a87b694 100644 --- a/mayan/apps/dynamic_search/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Christophe CHAUVET , 2014-2015 @@ -11,75 +11,90 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Christophe CHAUVET \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:16 msgid "Dynamic search" msgstr "Recherche dynamique" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "Termes de recherche" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "Recherche" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "Recherche avancée" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "Rechercher à nouveau" -#: models.py:24 -msgid "User" -msgstr "Utilisateur" - -#: models.py:26 -msgid "Query" -msgstr "Requête" - -#: models.py:28 -msgid "Datetime created" -msgstr "Date et heure de création" - -#: models.py:30 -msgid "Hits" -msgstr "Nombre de vues" - -#: models.py:74 -msgid "Recent search" -msgstr "Recherche récente" - -#: models.py:75 -msgid "Recent searches" -msgstr "Recherches récentes" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "Nombre maximum de résultats de recherche à traiter et afficher." -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "Nombre maximal de recherches à mémoriser par utilisateur" - -#: views.py:25 -msgid "Search results" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search results" +msgid "Search results for: %s" msgstr "Résultats de la recherche" -#: views.py:32 -msgid "Type" -msgstr "Type" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" + +#~ msgid "User" +#~ msgstr "Utilisateur" + +#~ msgid "Query" +#~ msgstr "Requête" + +#~ msgid "Datetime created" +#~ msgstr "Date et heure de création" + +#~ msgid "Hits" +#~ msgstr "Nombre de vues" + +#~ msgid "Recent search" +#~ msgstr "Recherche récente" + +#~ msgid "Recent searches" +#~ msgstr "Recherches récentes" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "Nombre maximal de recherches à mémoriser par utilisateur" + +#~ msgid "Type" +#~ msgstr "Type" #~ msgid "Results" #~ msgstr "results" @@ -90,7 +105,8 @@ msgstr "Type" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -115,6 +131,3 @@ msgstr "Type" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/hu/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/hu/LC_MESSAGES/django.po index 40a344f0eb..c94d01ceb6 100644 --- a/mayan/apps/dynamic_search/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/hu/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Dezső József , 2013 @@ -9,75 +9,72 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 msgid "Dynamic search" msgstr "" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "keresési feltételek" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "Keresés" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "" -#: models.py:24 -msgid "User" -msgstr "Felhasználó" - -#: models.py:26 -msgid "Query" -msgstr "" - -#: models.py:28 -msgid "Datetime created" -msgstr "" - -#: models.py:30 -msgid "Hits" -msgstr "" - -#: models.py:74 -msgid "Recent search" -msgstr "" - -#: models.py:75 -msgid "Recent searches" -msgstr "" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "A letölthető és megjeleníthető keresési találatok maximális száma." -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "A keresési előzmények maximális száma felhasználónként." - -#: views.py:25 -msgid "Search results" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search results" +msgid "Search results for: %s" msgstr "A keresés eredményei" -#: views.py:32 -msgid "Type" -msgstr "" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" + +#~ msgid "User" +#~ msgstr "Felhasználó" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "A keresési előzmények maximális száma felhasználónként." #~ msgid "Results" #~ msgstr "results" @@ -88,7 +85,8 @@ msgstr "" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -113,6 +111,3 @@ msgstr "" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/id/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/id/LC_MESSAGES/django.po index 0a3a985b77..5ef43e6cfd 100644 --- a/mayan/apps/dynamic_search/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/id/LC_MESSAGES/django.po @@ -1,82 +1,76 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:10+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:16 msgid "Dynamic search" msgstr "" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "" -#: models.py:24 -msgid "User" -msgstr "Pengguna" - -#: models.py:26 -msgid "Query" -msgstr "" - -#: models.py:28 -msgid "Datetime created" -msgstr "" - -#: models.py:30 -msgid "Hits" -msgstr "" - -#: models.py:74 -msgid "Recent search" -msgstr "" - -#: models.py:75 -msgid "Recent searches" -msgstr "" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "" -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search results for: %s" +msgstr "Search error: %s" -#: views.py:25 -msgid "Search results" -msgstr "" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" -#: views.py:32 -msgid "Type" -msgstr "" +#~ msgid "User" +#~ msgstr "Pengguna" #~ msgid "Results" #~ msgstr "results" @@ -87,7 +81,8 @@ msgstr "" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -112,6 +107,3 @@ msgstr "" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/it/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/it/LC_MESSAGES/django.po index 2b7025be3d..25175505e8 100644 --- a/mayan/apps/dynamic_search/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Carlo Zanatto <>, 2012 @@ -12,75 +12,90 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-09-24 09:51+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 msgid "Dynamic search" msgstr "Ricerca dinamica" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "Cerca termini " -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "Cerca" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "Ricerca avanzata" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "Cerca ancora" -#: models.py:24 -msgid "User" -msgstr "Utente" - -#: models.py:26 -msgid "Query" -msgstr "Interrogazione" - -#: models.py:28 -msgid "Datetime created" -msgstr "Data e ora di creazione" - -#: models.py:30 -msgid "Hits" -msgstr "Risultati" - -#: models.py:74 -msgid "Recent search" -msgstr "Ricerca recente" - -#: models.py:75 -msgid "Recent searches" -msgstr "Ricerche recenti" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "Massimo numero ricerca risultati da recuperare e visualizzare. " -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "Numero massimo di query di ricerca da ricordare per utente." - -#: views.py:25 -msgid "Search results" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search results" +msgid "Search results for: %s" msgstr "Risultati della ricerca" -#: views.py:32 -msgid "Type" -msgstr "Tipo" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" + +#~ msgid "User" +#~ msgstr "Utente" + +#~ msgid "Query" +#~ msgstr "Interrogazione" + +#~ msgid "Datetime created" +#~ msgstr "Data e ora di creazione" + +#~ msgid "Hits" +#~ msgstr "Risultati" + +#~ msgid "Recent search" +#~ msgstr "Ricerca recente" + +#~ msgid "Recent searches" +#~ msgstr "Ricerche recenti" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "Numero massimo di query di ricerca da ricordare per utente." + +#~ msgid "Type" +#~ msgstr "Tipo" #~ msgid "Results" #~ msgstr "results" @@ -91,7 +106,8 @@ msgstr "Tipo" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -116,6 +132,3 @@ msgstr "Tipo" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/nl_NL/LC_MESSAGES/django.po index 3c4f4a3bcc..bf4c240945 100644 --- a/mayan/apps/dynamic_search/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -10,75 +10,85 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-09 15:49+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 msgid "Dynamic search" msgstr "Dynamisch zoeken" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "Zoektermen" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "Zoek" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "Geavanceerd zoeken" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "Zoek nog een keer" -#: models.py:24 -msgid "User" -msgstr "Gebruiker" - -#: models.py:26 -msgid "Query" -msgstr "" - -#: models.py:28 -msgid "Datetime created" -msgstr "Datumtijd aangemaakt" - -#: models.py:30 -msgid "Hits" -msgstr "" - -#: models.py:74 -msgid "Recent search" -msgstr "Recente zoekopdracht" - -#: models.py:75 -msgid "Recent searches" -msgstr "Recente zoekopdrachten" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "Het maximum aantal zoekresultaten." -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "Het maximum aantal zoek-opdrachten dat per gebruiker wordt opgeslagen" - -#: views.py:25 -msgid "Search results" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search results" +msgid "Search results for: %s" msgstr "Zoekresultaten" -#: views.py:32 -msgid "Type" -msgstr "Type" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" + +#~ msgid "User" +#~ msgstr "Gebruiker" + +#~ msgid "Datetime created" +#~ msgstr "Datumtijd aangemaakt" + +#~ msgid "Recent search" +#~ msgstr "Recente zoekopdracht" + +#~ msgid "Recent searches" +#~ msgstr "Recente zoekopdrachten" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "" +#~ "Het maximum aantal zoek-opdrachten dat per gebruiker wordt opgeslagen" + +#~ msgid "Type" +#~ msgstr "Type" #~ msgid "Results" #~ msgstr "results" @@ -89,7 +99,8 @@ msgstr "Type" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -114,6 +125,3 @@ msgstr "Type" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/pl/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/pl/LC_MESSAGES/django.po index 5000f72507..2c777b4099 100644 --- a/mayan/apps/dynamic_search/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Annunnaky , 2015 @@ -12,75 +12,91 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Wojtek Warczakowski \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" #: apps.py:16 msgid "Dynamic search" msgstr "Dynamiczne wyszukiwanie" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "Słowa do wyszukania" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "Szukaj" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "Zaawansowane wyszukiwanie" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "Wyszukać ponownie" -#: models.py:24 -msgid "User" -msgstr "Użytkownik" - -#: models.py:26 -msgid "Query" -msgstr "Zapytanie" - -#: models.py:28 -msgid "Datetime created" -msgstr "Data utworzenia" - -#: models.py:30 -msgid "Hits" -msgstr "Trafienia" - -#: models.py:74 -msgid "Recent search" -msgstr "Ostatnie wyszukiwanie" - -#: models.py:75 -msgid "Recent searches" -msgstr "Ostatnie wyszukiwania" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "Maksymalna liczba trafień do wyświetlenia na ekranie." -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "Maksymalna liczba wyszukań do zapamiętania na 1 użytkownika." - -#: views.py:25 -msgid "Search results" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search results" +msgid "Search results for: %s" msgstr "Wynik wyszukiwania" -#: views.py:32 -msgid "Type" -msgstr "Typ" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" + +#~ msgid "User" +#~ msgstr "Użytkownik" + +#~ msgid "Query" +#~ msgstr "Zapytanie" + +#~ msgid "Datetime created" +#~ msgstr "Data utworzenia" + +#~ msgid "Hits" +#~ msgstr "Trafienia" + +#~ msgid "Recent search" +#~ msgstr "Ostatnie wyszukiwanie" + +#~ msgid "Recent searches" +#~ msgstr "Ostatnie wyszukiwania" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "Maksymalna liczba wyszukań do zapamiętania na 1 użytkownika." + +#~ msgid "Type" +#~ msgstr "Typ" #~ msgid "Results" #~ msgstr "results" @@ -91,7 +107,8 @@ msgstr "Typ" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -116,6 +133,3 @@ msgstr "Typ" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/pt/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/pt/LC_MESSAGES/django.po index de9de3e71c..a3559d94df 100644 --- a/mayan/apps/dynamic_search/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Emerson Soares , 2011 @@ -10,75 +10,72 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 msgid "Dynamic search" msgstr "" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "Termos de pesquisa" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "Pesquisa" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "Procura Avançada" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "" -#: models.py:24 -msgid "User" -msgstr "Utilizador" - -#: models.py:26 -msgid "Query" -msgstr "" - -#: models.py:28 -msgid "Datetime created" -msgstr "" - -#: models.py:30 -msgid "Hits" -msgstr "" - -#: models.py:74 -msgid "Recent search" -msgstr "" - -#: models.py:75 -msgid "Recent searches" -msgstr "" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "Número máximo de resultados a buscar e mostrar." -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "Número máximo de consultas a recordar por utilizador." - -#: views.py:25 -msgid "Search results" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search results" +msgid "Search results for: %s" msgstr "Resultados da pesquisa" -#: views.py:32 -msgid "Type" -msgstr "" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" + +#~ msgid "User" +#~ msgstr "Utilizador" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "Número máximo de consultas a recordar por utilizador." #~ msgid "Results" #~ msgstr "results" @@ -89,7 +86,8 @@ msgstr "" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -114,6 +112,3 @@ msgstr "" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/pt_BR/LC_MESSAGES/django.po index 17a50622c0..07bf0bb6c3 100644 --- a/mayan/apps/dynamic_search/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -11,75 +11,90 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-17 22:28+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:16 msgid "Dynamic search" msgstr "Busca dinâmica" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "Termos de pesquisa" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "Pesquisa" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "pesquisa avançada" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "pesquisar novamente" -#: models.py:24 -msgid "User" -msgstr "Usuário" - -#: models.py:26 -msgid "Query" -msgstr "pergunta" - -#: models.py:28 -msgid "Datetime created" -msgstr "Hora e data criada" - -#: models.py:30 -msgid "Hits" -msgstr "visitas" - -#: models.py:74 -msgid "Recent search" -msgstr "pesquisa recente" - -#: models.py:75 -msgid "Recent searches" -msgstr "pesquisas recentes" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "Quantidade máxima acessos para a pesquisa buscar e mostrar." -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "Número máximo de consultas de pesquisa para se lembrar por usuário." - -#: views.py:25 -msgid "Search results" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search results" +msgid "Search results for: %s" msgstr "Resultados da pesquisa" -#: views.py:32 -msgid "Type" -msgstr "Tipo" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" + +#~ msgid "User" +#~ msgstr "Usuário" + +#~ msgid "Query" +#~ msgstr "pergunta" + +#~ msgid "Datetime created" +#~ msgstr "Hora e data criada" + +#~ msgid "Hits" +#~ msgstr "visitas" + +#~ msgid "Recent search" +#~ msgstr "pesquisa recente" + +#~ msgid "Recent searches" +#~ msgstr "pesquisas recentes" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "Número máximo de consultas de pesquisa para se lembrar por usuário." + +#~ msgid "Type" +#~ msgstr "Tipo" #~ msgid "Results" #~ msgstr "results" @@ -90,7 +105,8 @@ msgstr "Tipo" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -115,6 +131,3 @@ msgstr "Tipo" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/ro_RO/LC_MESSAGES/django.po index 0ed1fba0ba..452c9c6a87 100644 --- a/mayan/apps/dynamic_search/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Badea Gabriel , 2013 @@ -9,75 +9,76 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-04-17 13:16+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" #: apps.py:16 msgid "Dynamic search" msgstr "" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "Caută termeni" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "Căută" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "" -#: models.py:24 -msgid "User" -msgstr "utilizator" - -#: models.py:26 -msgid "Query" -msgstr "" - -#: models.py:28 -msgid "Datetime created" -msgstr "" - -#: models.py:30 -msgid "Hits" -msgstr "" - -#: models.py:74 -msgid "Recent search" -msgstr "" - -#: models.py:75 -msgid "Recent searches" -msgstr "" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "Căutare suma maximă hit-uri pentru a prelua și afișa." -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "Numărul maxim de interogări de căutare per utilizator." - -#: views.py:25 -msgid "Search results" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search results" +msgid "Search results for: %s" msgstr "Rezultatele căutării" -#: views.py:32 -msgid "Type" -msgstr "Tip" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" + +#~ msgid "User" +#~ msgstr "utilizator" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "Numărul maxim de interogări de căutare per utilizator." + +#~ msgid "Type" +#~ msgstr "Tip" #~ msgid "Results" #~ msgstr "results" @@ -88,7 +89,8 @@ msgstr "Tip" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -113,6 +115,3 @@ msgstr "Tip" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/ru/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/ru/LC_MESSAGES/django.po index a5a53b29bd..2c050c9246 100644 --- a/mayan/apps/dynamic_search/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/ru/LC_MESSAGES/django.po @@ -1,82 +1,86 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-23 01:14+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:16 msgid "Dynamic search" msgstr "" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "Условия поиска" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "Поиск" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "" -#: models.py:24 -msgid "User" -msgstr "Пользователь" - -#: models.py:26 -msgid "Query" -msgstr "" - -#: models.py:28 -msgid "Datetime created" -msgstr "" - -#: models.py:30 -msgid "Hits" -msgstr "" - -#: models.py:74 -msgid "Recent search" -msgstr "" - -#: models.py:75 -msgid "Recent searches" -msgstr "" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "Максимальное количество отображаемых документов из результатов поиска." -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "Максимальное количество поисковых запросов запоминаемых для каждого пользователя." - -#: views.py:25 -msgid "Search results" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search results" +msgid "Search results for: %s" msgstr "Результаты поиска" -#: views.py:32 -msgid "Type" -msgstr "Тип" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" + +#~ msgid "User" +#~ msgstr "Пользователь" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "" +#~ "Максимальное количество поисковых запросов запоминаемых для каждого " +#~ "пользователя." + +#~ msgid "Type" +#~ msgstr "Тип" #~ msgid "Results" #~ msgstr "results" @@ -87,7 +91,8 @@ msgstr "Тип" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -112,6 +117,3 @@ msgstr "Тип" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/sl_SI/LC_MESSAGES/django.po index d7f1f67e7c..cde7b81062 100644 --- a/mayan/apps/dynamic_search/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/sl_SI/LC_MESSAGES/django.po @@ -1,82 +1,74 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:10+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" #: apps.py:16 msgid "Dynamic search" msgstr "" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "" -#: models.py:24 -msgid "User" -msgstr "" - -#: models.py:26 -msgid "Query" -msgstr "" - -#: models.py:28 -msgid "Datetime created" -msgstr "" - -#: models.py:30 -msgid "Hits" -msgstr "" - -#: models.py:74 -msgid "Recent search" -msgstr "" - -#: models.py:75 -msgid "Recent searches" -msgstr "" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "" -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search results for: %s" +msgstr "Search error: %s" -#: views.py:25 -msgid "Search results" -msgstr "" - -#: views.py:32 -msgid "Type" -msgstr "" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" #~ msgid "Results" #~ msgstr "results" @@ -87,7 +79,8 @@ msgstr "" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -112,6 +105,3 @@ msgstr "" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/vi_VN/LC_MESSAGES/django.po index 7737c0f1bd..22f25915c0 100644 --- a/mayan/apps/dynamic_search/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Trung Phan Minh , 2013 @@ -9,75 +9,72 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:16 msgid "Dynamic search" msgstr "" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "Tìm kiếm" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "" -#: models.py:24 -msgid "User" -msgstr "Người dùng" - -#: models.py:26 -msgid "Query" -msgstr "" - -#: models.py:28 -msgid "Datetime created" -msgstr "" - -#: models.py:30 -msgid "Hits" -msgstr "" - -#: models.py:74 -msgid "Recent search" -msgstr "" - -#: models.py:75 -msgid "Recent searches" -msgstr "" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "" -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "Số truy vấn lớn nhất cần nhớ cho mỗi người dùng" - -#: views.py:25 -msgid "Search results" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search results" +msgid "Search results for: %s" msgstr "Kết quả tìm kiếm" -#: views.py:32 -msgid "Type" -msgstr "" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" + +#~ msgid "User" +#~ msgstr "Người dùng" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "Số truy vấn lớn nhất cần nhớ cho mỗi người dùng" #~ msgid "Results" #~ msgstr "results" @@ -88,7 +85,8 @@ msgstr "" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -113,6 +111,3 @@ msgstr "" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/dynamic_search/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/zh_CN/LC_MESSAGES/django.po index 3f85dc8990..6316381d96 100644 --- a/mayan/apps/dynamic_search/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -9,75 +9,72 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:16 msgid "Dynamic search" msgstr "" -#: forms.py:21 +#: classes.py:26 +msgid "No search model matching the query" +msgstr "" + +#: forms.py:9 +msgid "Match all" +msgstr "" + +#: forms.py:10 +msgid "" +"When checked, only results that match all fields will be returned. When " +"unchecked results that match at least one field will be returned." +msgstr "" + +#: forms.py:29 msgid "Search terms" msgstr "搜索项" -#: links.py:7 settings.py:8 views.py:56 views.py:70 +#: links.py:8 settings.py:8 views.py:51 views.py:62 msgid "Search" msgstr "搜索" -#: links.py:9 views.py:77 +#: links.py:11 views.py:76 msgid "Advanced search" msgstr "" -#: links.py:11 +#: links.py:15 msgid "Search again" msgstr "" -#: models.py:24 -msgid "User" -msgstr "用户" - -#: models.py:26 -msgid "Query" -msgstr "" - -#: models.py:28 -msgid "Datetime created" -msgstr "" - -#: models.py:30 -msgid "Hits" -msgstr "" - -#: models.py:74 -msgid "Recent search" -msgstr "" - -#: models.py:75 -msgid "Recent searches" -msgstr "" - -#: settings.py:14 +#: settings.py:11 msgid "Maximum amount search hits to fetch and display." msgstr "搜索的最大查询和显示数量" -#: settings.py:18 -msgid "Maximum number of search queries to remember per user." -msgstr "每一个用户所能保存的最大查询数" - -#: views.py:25 -msgid "Search results" +#: views.py:24 +#, fuzzy, python-format +#| msgid "Search results" +msgid "Search results for: %s" msgstr "搜索结果" -#: views.py:32 -msgid "Type" -msgstr "" +#: views.py:64 +#, fuzzy, python-format +#| msgid "Search error: %s" +msgid "Search for: %s" +msgstr "Search error: %s" + +#~ msgid "User" +#~ msgstr "用户" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "每一个用户所能保存的最大查询数" #~ msgid "Results" #~ msgstr "results" @@ -88,7 +85,8 @@ msgstr "" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "" +#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" @@ -113,6 +111,3 @@ msgstr "" #~ msgstr "" #~ "Enter the desired search keywords separated by space. Only the top " #~ "%(search_results_limit)s results will be available." - -#~ msgid "Search error: %s" -#~ msgstr "Search error: %s" diff --git a/mayan/apps/events/locale/ar/LC_MESSAGES/django.po b/mayan/apps/events/locale/ar/LC_MESSAGES/django.po index e17cb63370..afb4c78bcc 100644 --- a/mayan/apps/events/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/ar/LC_MESSAGES/django.po @@ -1,39 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:07+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "" @@ -42,11 +44,11 @@ msgstr "" msgid "Name" msgstr "اسم" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "Event type" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "" @@ -54,16 +56,16 @@ msgstr "" msgid "Access the events of an object" msgstr "" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "" diff --git a/mayan/apps/events/locale/bg/LC_MESSAGES/django.po b/mayan/apps/events/locale/bg/LC_MESSAGES/django.po index 26fa55de49..76b4adf6a4 100644 --- a/mayan/apps/events/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/bg/LC_MESSAGES/django.po @@ -1,39 +1,40 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:07+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "" @@ -42,11 +43,11 @@ msgstr "" msgid "Name" msgstr "Име" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "Тип на събитието" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "" @@ -54,16 +55,16 @@ msgstr "" msgid "Access the events of an object" msgstr "" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "" diff --git a/mayan/apps/events/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/events/locale/bs_BA/LC_MESSAGES/django.po index 6f9f8ec008..494cf6889b 100644 --- a/mayan/apps/events/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/bs_BA/LC_MESSAGES/django.po @@ -1,39 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:07+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "" @@ -42,11 +44,11 @@ msgstr "" msgid "Name" msgstr "Ime" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "Tip događaja" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "" @@ -54,16 +56,16 @@ msgstr "" msgid "Access the events of an object" msgstr "" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "" diff --git a/mayan/apps/events/locale/da/LC_MESSAGES/django.po b/mayan/apps/events/locale/da/LC_MESSAGES/django.po index a3aeca4fa5..9bdd14bee7 100644 --- a/mayan/apps/events/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/da/LC_MESSAGES/django.po @@ -1,39 +1,40 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:07+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "" @@ -42,11 +43,11 @@ msgstr "" msgid "Name" msgstr "Navn" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "Hændelsestype" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "" @@ -54,16 +55,16 @@ msgstr "" msgid "Access the events of an object" msgstr "" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "" diff --git a/mayan/apps/events/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/events/locale/de_DE/LC_MESSAGES/django.po index 6d89566f11..9b4465ea66 100644 --- a/mayan/apps/events/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/de_DE/LC_MESSAGES/django.po @@ -1,39 +1,40 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "Ereignisse" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "Zeitstempel" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "Akteur" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "Verb" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "Unbekannter oder obsoleter Ereignistyp: {0}" @@ -42,11 +43,11 @@ msgstr "Unbekannter oder obsoleter Ereignistyp: {0}" msgid "Name" msgstr "Name" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "Ereignistyp" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "Ereignistypen" @@ -54,16 +55,16 @@ msgstr "Ereignistypen" msgid "Access the events of an object" msgstr "Auf Ereignisse eines Objekts zugreifen" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "Ziel" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "Ereignisse für %s" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "Ereignisse des Typs %s" diff --git a/mayan/apps/events/locale/en/LC_MESSAGES/django.po b/mayan/apps/events/locale/en/LC_MESSAGES/django.po index acbdaffa05..5326d38de8 100644 --- a/mayan/apps/events/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,23 +17,23 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "" @@ -42,11 +42,11 @@ msgstr "" msgid "Name" msgstr "" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "" @@ -54,16 +54,16 @@ msgstr "" msgid "Access the events of an object" msgstr "" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "" diff --git a/mayan/apps/events/locale/es/LC_MESSAGES/django.po b/mayan/apps/events/locale/es/LC_MESSAGES/django.po index 57148077aa..f7d595bf07 100644 --- a/mayan/apps/events/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/es/LC_MESSAGES/django.po @@ -1,40 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Roberto Rosario, 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "Eventos" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "Marca de tiempo" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "Actor" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "Verbo" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "Tipo de evento desconocido u obsoleto: {0}" @@ -43,11 +44,11 @@ msgstr "Tipo de evento desconocido u obsoleto: {0}" msgid "Name" msgstr "Nombre" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "Tipo de evento" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "Tipos de eventos" @@ -55,16 +56,16 @@ msgstr "Tipos de eventos" msgid "Access the events of an object" msgstr "Acceder a los eventos de un objeto" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "Objetivo" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "Eventos para: %s" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "Eventos de tipo: %s" diff --git a/mayan/apps/events/locale/fa/LC_MESSAGES/django.po b/mayan/apps/events/locale/fa/LC_MESSAGES/django.po index fdbecdb7c0..b971f96858 100644 --- a/mayan/apps/events/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/fa/LC_MESSAGES/django.po @@ -1,40 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Mehdi Amani , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "رویداد" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "علامت زمان" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "فعال" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "فعل" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "نوع رخداد ناشناخته :{0}" @@ -43,11 +44,11 @@ msgstr "نوع رخداد ناشناخته :{0}" msgid "Name" msgstr "نام" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "نوع رویداد" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "انواع رخدادها" @@ -55,16 +56,16 @@ msgstr "انواع رخدادها" msgid "Access the events of an object" msgstr "دسترسی به رخدادهای یک شی" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "هدف" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "رخدادها برای : %s" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "نوع رخداد ها: %s" diff --git a/mayan/apps/events/locale/fr/LC_MESSAGES/django.po b/mayan/apps/events/locale/fr/LC_MESSAGES/django.po index c78acee5ab..1033512d8b 100644 --- a/mayan/apps/events/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Christophe CHAUVET , 2015 # Thierry Schott , 2016 @@ -9,33 +9,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Thierry Schott \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "Événements" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "Horodatage" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "Acteur" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "Verbe" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "Type d'évènement inconnu ou obsolète: {0}" @@ -44,11 +45,11 @@ msgstr "Type d'évènement inconnu ou obsolète: {0}" msgid "Name" msgstr "Nom" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "Type d'évènement" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "Types d'évènement" @@ -56,16 +57,16 @@ msgstr "Types d'évènement" msgid "Access the events of an object" msgstr "Accéder aux évènements de cet objet" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "Cible" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "Évènements pour: %s" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "Évènements de type: %s" diff --git a/mayan/apps/events/locale/hu/LC_MESSAGES/django.po b/mayan/apps/events/locale/hu/LC_MESSAGES/django.po index 4e89537548..5eb7d58a98 100644 --- a/mayan/apps/events/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/hu/LC_MESSAGES/django.po @@ -1,39 +1,40 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:07+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "" @@ -42,11 +43,11 @@ msgstr "" msgid "Name" msgstr "" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "" @@ -54,16 +55,16 @@ msgstr "" msgid "Access the events of an object" msgstr "" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "" diff --git a/mayan/apps/events/locale/id/LC_MESSAGES/django.po b/mayan/apps/events/locale/id/LC_MESSAGES/django.po index 0848f551e6..c69a2dc1db 100644 --- a/mayan/apps/events/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/id/LC_MESSAGES/django.po @@ -1,39 +1,40 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:07+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "" @@ -42,11 +43,11 @@ msgstr "" msgid "Name" msgstr "" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "" @@ -54,16 +55,16 @@ msgstr "" msgid "Access the events of an object" msgstr "" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "" diff --git a/mayan/apps/events/locale/it/LC_MESSAGES/django.po b/mayan/apps/events/locale/it/LC_MESSAGES/django.po index f0aa989ff6..83da1f9763 100644 --- a/mayan/apps/events/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/it/LC_MESSAGES/django.po @@ -1,40 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Marco Camplese , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-09-24 09:51+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "Eventi" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "Timestamp" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "Attore" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "Verbo" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "Tipo di evento obsoleto o sconosciuto: {0}" @@ -43,11 +44,11 @@ msgstr "Tipo di evento obsoleto o sconosciuto: {0}" msgid "Name" msgstr "Nome " -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "Tipo evento" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "Tipi evento" @@ -55,16 +56,16 @@ msgstr "Tipi evento" msgid "Access the events of an object" msgstr "Accedere agli eventi di un oggetto" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "Destinazione" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "Eventi per: %s" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "Eventi di tipo: %s" diff --git a/mayan/apps/events/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/events/locale/nl_NL/LC_MESSAGES/django.po index 22e933bec6..577c965b2a 100644 --- a/mayan/apps/events/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/nl_NL/LC_MESSAGES/django.po @@ -1,40 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Evelijn Saaltink , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-28 12:33+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "Evenementen" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "Timestamp" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "Acteur" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "Werkwoord" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "Onbekende of verouderde evenementsoort: {0}" @@ -43,11 +44,11 @@ msgstr "Onbekende of verouderde evenementsoort: {0}" msgid "Name" msgstr "Naam" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "Evenementsoort" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "Evenementsoorten" @@ -55,16 +56,16 @@ msgstr "Evenementsoorten" msgid "Access the events of an object" msgstr "Benader de evenementen van een object" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "Doel" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "Evenementen voor: %s" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "Evenementen van soort: %s" diff --git a/mayan/apps/events/locale/pl/LC_MESSAGES/django.po b/mayan/apps/events/locale/pl/LC_MESSAGES/django.po index 0c12c03059..38e7ff4a32 100644 --- a/mayan/apps/events/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/pl/LC_MESSAGES/django.po @@ -1,40 +1,42 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Annunnaky , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "Zdarzenia" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "Pieczęć czasu" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "Czynnik" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "Słowo" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "Nieznany, bądź przestarzały typ zdarzenia: {0}" @@ -43,11 +45,11 @@ msgstr "Nieznany, bądź przestarzały typ zdarzenia: {0}" msgid "Name" msgstr "Nazwa" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "Typ zdarzenia" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "Typy zdarzeń" @@ -55,16 +57,16 @@ msgstr "Typy zdarzeń" msgid "Access the events of an object" msgstr "Dostęp do zdarzeń obiektu" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "Cel" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "Zdarzenia dla: %s" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "Zdarzenia typu: %s" diff --git a/mayan/apps/events/locale/pt/LC_MESSAGES/django.po b/mayan/apps/events/locale/pt/LC_MESSAGES/django.po index fde6da4894..70576382a6 100644 --- a/mayan/apps/events/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/pt/LC_MESSAGES/django.po @@ -1,39 +1,40 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:07+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "Events" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "Actor" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "Verbo" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "Tipo de evento obsoleto ou desconhecido: {0}" @@ -42,11 +43,11 @@ msgstr "Tipo de evento obsoleto ou desconhecido: {0}" msgid "Name" msgstr "Nome" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "Tipo de evento" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "Tipo de eventos" @@ -54,16 +55,16 @@ msgstr "Tipo de eventos" msgid "Access the events of an object" msgstr "Aceder aos eventos de um objeto" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "Destino" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "Eventos para: %s" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "Tipo de eventos: %s" diff --git a/mayan/apps/events/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/events/locale/pt_BR/LC_MESSAGES/django.po index aa020a2ac5..0113a0ef69 100644 --- a/mayan/apps/events/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Roberto Rosario, 2015 # Rogerio Falcone , 2015 @@ -9,33 +9,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "Eventos" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "Timestamp" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "Ator" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "Verbo" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "Desconhecido ou obsoletos tipo de evento: {0}" @@ -44,11 +45,11 @@ msgstr "Desconhecido ou obsoletos tipo de evento: {0}" msgid "Name" msgstr "Nome" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "Tipo de Evento" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "Tipos de Eventos" @@ -56,16 +57,16 @@ msgstr "Tipos de Eventos" msgid "Access the events of an object" msgstr "Acesse os eventos de um objeto" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "Destino" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "Eventos para: %s" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "Eventos do Tipo: %s" diff --git a/mayan/apps/events/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/events/locale/ro_RO/LC_MESSAGES/django.po index 01cfb63d8c..fa08b42927 100644 --- a/mayan/apps/events/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/ro_RO/LC_MESSAGES/django.po @@ -1,39 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:07+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "" @@ -42,11 +44,11 @@ msgstr "" msgid "Name" msgstr "Nume" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "Tip eveniment" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "" @@ -54,16 +56,16 @@ msgstr "" msgid "Access the events of an object" msgstr "" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "" diff --git a/mayan/apps/events/locale/ru/LC_MESSAGES/django.po b/mayan/apps/events/locale/ru/LC_MESSAGES/django.po index d812db1fa8..41564a2f71 100644 --- a/mayan/apps/events/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/ru/LC_MESSAGES/django.po @@ -1,40 +1,43 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # lilo.panic, 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-07-19 20:01+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "События" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "временная метка" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "Субъект" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "Глагол" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "Неизвестный или устаревший тип события: {0}" @@ -43,11 +46,11 @@ msgstr "Неизвестный или устаревший тип события msgid "Name" msgstr "Название" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "Тип события" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "Типы событий" @@ -55,16 +58,16 @@ msgstr "Типы событий" msgid "Access the events of an object" msgstr "Доступ к событиям объекта" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "Объект" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "События для: %s" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "События с типом: %s" diff --git a/mayan/apps/events/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/events/locale/sl_SI/LC_MESSAGES/django.po index 7bd47d5b05..36c2f0b4a1 100644 --- a/mayan/apps/events/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/sl_SI/LC_MESSAGES/django.po @@ -1,39 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:07+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "" @@ -42,11 +44,11 @@ msgstr "" msgid "Name" msgstr "Ime" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "" @@ -54,16 +56,16 @@ msgstr "" msgid "Access the events of an object" msgstr "" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "" diff --git a/mayan/apps/events/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/events/locale/vi_VN/LC_MESSAGES/django.po index 228280c72f..c3a97b0832 100644 --- a/mayan/apps/events/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/vi_VN/LC_MESSAGES/django.po @@ -1,39 +1,40 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:07+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "" @@ -42,11 +43,11 @@ msgstr "" msgid "Name" msgstr "Tên" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "Loại sự kiện" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "" @@ -54,16 +55,16 @@ msgstr "" msgid "Access the events of an object" msgstr "" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "" diff --git a/mayan/apps/events/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/events/locale/zh_CN/LC_MESSAGES/django.po index 9b71cf75b7..38a66abc0e 100644 --- a/mayan/apps/events/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/events/locale/zh_CN/LC_MESSAGES/django.po @@ -1,39 +1,40 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:07+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:19 links.py:27 links.py:31 permissions.py:7 views.py:38 +#: apps.py:18 links.py:31 links.py:35 permissions.py:7 views.py:36 msgid "Events" msgstr "" -#: apps.py:56 +#: apps.py:27 msgid "Timestamp" msgstr "" -#: apps.py:58 +#: apps.py:29 msgid "Actor" msgstr "" -#: apps.py:60 +#: apps.py:31 msgid "Verb" msgstr "" -#: classes.py:17 +#: classes.py:22 #, python-brace-format msgid "Unknown or obsolete event type: {0}" msgstr "" @@ -42,11 +43,11 @@ msgstr "" msgid "Name" msgstr "名称" -#: models.py:20 +#: models.py:17 msgid "Event type" msgstr "事件类型" -#: models.py:21 +#: models.py:18 msgid "Event types" msgstr "" @@ -54,16 +55,16 @@ msgstr "" msgid "Access the events of an object" msgstr "" -#: views.py:31 views.py:90 +#: views.py:29 views.py:84 msgid "Target" msgstr "" -#: views.py:75 +#: views.py:69 #, python-format msgid "Events for: %s" msgstr "" -#: views.py:98 +#: views.py:92 #, python-format msgid "Events of type: %s" msgstr "" diff --git a/mayan/apps/folders/locale/ar/LC_MESSAGES/django.po b/mayan/apps/folders/locale/ar/LC_MESSAGES/django.po index b858b60f3a..1159575e57 100644 --- a/mayan/apps/folders/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -9,18 +9,20 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "المجلدات" @@ -28,51 +30,61 @@ msgstr "المجلدات" msgid "Created" msgstr "" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "الوثائق" -#: forms.py:34 models.py:44 -msgid "Folder" -msgstr "مجلد" +#: links.py:24 links.py:34 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove from folders" +msgstr "إزالة وثائق من المجلدات" -#: links.py:20 -msgid "Add to a folder" -msgstr "" +#: links.py:27 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to a folders" +msgstr "Add document to a folder" -#: links.py:24 -msgid "Add to folder" -msgstr "" +#: links.py:31 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to folders" +msgstr "Add document to a folder" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "" -#: links.py:36 -msgid "Remove from folder" -msgstr "" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "تحرير" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "مجلد" + +#: models.py:56 msgid "Document folder" msgstr "" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "" @@ -85,7 +97,6 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -94,7 +105,6 @@ msgid "Remove documents from folders" msgstr "إزالة وثائق من المجلدات" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -106,75 +116,131 @@ msgstr "" msgid "Primary key of the document to be added." msgstr "" -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "يجب أن توفر ما لا يقل عن وثيقة واحدة." - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "الوثيقة %(document)s تم اضافتها للمجلد %(folder)s بنجاح" +msgid "Add to folder request performed on %(count)d document" +msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Add document to a folder" +msgstr[1] "Add document to a folder" +msgstr[2] "Add document to a folder" +msgstr[3] "Add document to a folder" +msgstr[4] "Add document to a folder" +msgstr[5] "Add document to a folder" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add document: %s to folder." +msgid "Add document \"%s\" to folders" +msgstr "Add document: %s to folder." + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "الوثيقة %(document)s موجودة بالمجلد %(folder)s مسبقاً" -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" -msgstr[5] "" - -#: views.py:227 -msgid "Must provide at least one folder document." -msgstr "يجب أن توفر ما لا يقل عن مجلد واحد." - -#: views.py:248 +#: views.py:200 #, python-format -msgid "Document: %s removed successfully." -msgstr "الوثيقة %s أزيلت بنجاح" +msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgstr "الوثيقة %(document)s تم اضافتها للمجلد %(folder)s بنجاح" -#: views.py:254 +#: views.py:212 #, python-format -msgid "Document: %(document)s delete error: %(error)s" -msgstr "خطأ بمسح الوثيقة %(document)s : %(error)s" +msgid "Remove from folder request performed on %(count)d document" +msgstr "" -#: views.py:267 +#: views.py:215 #, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" -msgstr[5] "" +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "إزالة وثائق من المجلدات" +msgstr[1] "إزالة وثائق من المجلدات" +msgstr[2] "إزالة وثائق من المجلدات" +msgstr[3] "إزالة وثائق من المجلدات" +msgstr[4] "إزالة وثائق من المجلدات" +msgstr[5] "إزالة وثائق من المجلدات" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Remove documents from folders" +msgid "Remove document \"%s\" to folders" +msgstr "إزالة وثائق من المجلدات" + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s is not in folder: %(folder)s." +msgstr "الوثيقة %(document)s موجودة بالمجلد %(folder)s مسبقاً" + +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "الوثيقة %(document)s موجودة بالمجلد %(folder)s مسبقاً" + +#~ msgid "Must provide at least one document." +#~ msgstr "يجب أن توفر ما لا يقل عن وثيقة واحدة." + +#~ msgid "Must provide at least one folder document." +#~ msgstr "يجب أن توفر ما لا يقل عن مجلد واحد." + +#~ msgid "Document: %s removed successfully." +#~ msgstr "الوثيقة %s أزيلت بنجاح" + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "خطأ بمسح الوثيقة %(document)s : %(error)s" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -212,21 +278,15 @@ msgstr[5] "" #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" -#~ msgid "Add document to a folder" -#~ msgstr "Add document to a folder" - -#~ msgid "Add document: %s to folder." -#~ msgstr "Add document: %s to folder." - #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -259,12 +319,12 @@ msgstr[5] "" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/folders/locale/bg/LC_MESSAGES/django.po b/mayan/apps/folders/locale/bg/LC_MESSAGES/django.po index c8e0310035..2161e7be1b 100644 --- a/mayan/apps/folders/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Iliya Georgiev , 2012 @@ -10,18 +10,19 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "Папки" @@ -29,51 +30,61 @@ msgstr "Папки" msgid "Created" msgstr "" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "Документи" -#: forms.py:34 models.py:44 -msgid "Folder" -msgstr "Папка" +#: links.py:24 links.py:34 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove from folders" +msgstr "Премахване на документи от папки" -#: links.py:20 -msgid "Add to a folder" -msgstr "" +#: links.py:27 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to a folders" +msgstr "Add document to a folder" -#: links.py:24 -msgid "Add to folder" -msgstr "" +#: links.py:31 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to folders" +msgstr "Add document to a folder" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "" -#: links.py:36 -msgid "Remove from folder" -msgstr "" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "Редактиране" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "Папка" + +#: models.py:56 msgid "Document folder" msgstr "" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "" @@ -86,7 +97,6 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -95,7 +105,6 @@ msgid "Remove documents from folders" msgstr "Премахване на документи от папки" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -107,67 +116,123 @@ msgstr "" msgid "Primary key of the document to be added." msgstr "" -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "Трябва да посочите поне един документ." - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "Документ: %(document)s е добавен в папка: %(folder)s успешно." +msgid "Add to folder request performed on %(count)d document" +msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Add document to a folder" +msgstr[1] "Add document to a folder" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add document: %s to folder." +msgid "Add document \"%s\" to folders" +msgstr "Add document: %s to folder." + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "Документ: %(document)s е вече в папка: %(folder)s." -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "" -msgstr[1] "" - -#: views.py:227 -msgid "Must provide at least one folder document." -msgstr "Трябва да поставите поне един документ в папката." - -#: views.py:248 +#: views.py:200 #, python-format -msgid "Document: %s removed successfully." -msgstr "Документ: %s премахнат успешно." +msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgstr "Документ: %(document)s е добавен в папка: %(folder)s успешно." -#: views.py:254 +#: views.py:212 #, python-format -msgid "Document: %(document)s delete error: %(error)s" -msgstr "Документ: %(document)s грешка при изтриване: %(error)s" +msgid "Remove from folder request performed on %(count)d document" +msgstr "" -#: views.py:267 +#: views.py:215 #, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "" -msgstr[1] "" +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "Премахване на документи от папки" +msgstr[1] "Премахване на документи от папки" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Remove documents from folders" +msgid "Remove document \"%s\" to folders" +msgstr "Премахване на документи от папки" + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s is not in folder: %(folder)s." +msgstr "Документ: %(document)s е вече в папка: %(folder)s." + +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "Документ: %(document)s е вече в папка: %(folder)s." + +#~ msgid "Must provide at least one document." +#~ msgstr "Трябва да посочите поне един документ." + +#~ msgid "Must provide at least one folder document." +#~ msgstr "Трябва да поставите поне един документ в папката." + +#~ msgid "Document: %s removed successfully." +#~ msgstr "Документ: %s премахнат успешно." + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "Документ: %(document)s грешка при изтриване: %(error)s" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -205,21 +270,15 @@ msgstr[1] "" #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" -#~ msgid "Add document to a folder" -#~ msgstr "Add document to a folder" - -#~ msgid "Add document: %s to folder." -#~ msgstr "Add document: %s to folder." - #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -252,12 +311,12 @@ msgstr[1] "" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/folders/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/folders/locale/bs_BA/LC_MESSAGES/django.po index c25394f916..0c4b43e323 100644 --- a/mayan/apps/folders/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -9,18 +9,20 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "Folderi" @@ -28,51 +30,61 @@ msgstr "Folderi" msgid "Created" msgstr "" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "Dokumenti" -#: forms.py:34 models.py:44 -msgid "Folder" -msgstr "Folder" +#: links.py:24 links.py:34 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove from folders" +msgstr "Ukloniti dokumente iz foldera" -#: links.py:20 -msgid "Add to a folder" -msgstr "" +#: links.py:27 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to a folders" +msgstr "Add document to a folder" -#: links.py:24 -msgid "Add to folder" -msgstr "" +#: links.py:31 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to folders" +msgstr "Add document to a folder" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "" -#: links.py:36 -msgid "Remove from folder" -msgstr "" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "Urediti" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "Folder" + +#: models.py:56 msgid "Document folder" msgstr "" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "" @@ -85,7 +97,6 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -94,7 +105,6 @@ msgid "Remove documents from folders" msgstr "Ukloniti dokumente iz foldera" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -106,69 +116,125 @@ msgstr "" msgid "Primary key of the document to be added." msgstr "" -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "Mora biti barem jedan dokument." - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "Dokument: %(document)s uspješno dodan u folder: %(folder)s ." +msgid "Add to folder request performed on %(count)d document" +msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Add document to a folder" +msgstr[1] "Add document to a folder" +msgstr[2] "Add document to a folder" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add document: %s to folder." +msgid "Add document \"%s\" to folders" +msgstr "Add document: %s to folder." + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "Dokument: %(document)s je već u folderu: %(folder)s." -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#: views.py:227 -msgid "Must provide at least one folder document." -msgstr "Mora biti makar jedan folder dokumenata." - -#: views.py:248 +#: views.py:200 #, python-format -msgid "Document: %s removed successfully." -msgstr "Dokument \"%s\" uspješno uklonjen." +msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgstr "Dokument: %(document)s uspješno dodan u folder: %(folder)s ." -#: views.py:254 +#: views.py:212 #, python-format -msgid "Document: %(document)s delete error: %(error)s" -msgstr "Dokument: %(document)s greška brisanja: %(error)s" +msgid "Remove from folder request performed on %(count)d document" +msgstr "" -#: views.py:267 +#: views.py:215 #, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "Ukloniti dokumente iz foldera" +msgstr[1] "Ukloniti dokumente iz foldera" +msgstr[2] "Ukloniti dokumente iz foldera" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Remove documents from folders" +msgid "Remove document \"%s\" to folders" +msgstr "Ukloniti dokumente iz foldera" + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s is not in folder: %(folder)s." +msgstr "Dokument: %(document)s je već u folderu: %(folder)s." + +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "Dokument: %(document)s je već u folderu: %(folder)s." + +#~ msgid "Must provide at least one document." +#~ msgstr "Mora biti barem jedan dokument." + +#~ msgid "Must provide at least one folder document." +#~ msgstr "Mora biti makar jedan folder dokumenata." + +#~ msgid "Document: %s removed successfully." +#~ msgstr "Dokument \"%s\" uspješno uklonjen." + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "Dokument: %(document)s greška brisanja: %(error)s" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -206,21 +272,15 @@ msgstr[2] "" #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" -#~ msgid "Add document to a folder" -#~ msgstr "Add document to a folder" - -#~ msgid "Add document: %s to folder." -#~ msgstr "Add document: %s to folder." - #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -253,12 +313,12 @@ msgstr[2] "" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/folders/locale/da/LC_MESSAGES/django.po b/mayan/apps/folders/locale/da/LC_MESSAGES/django.po index c60daa7cf3..1a18027e8e 100644 --- a/mayan/apps/folders/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/da/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mads L. Nielsen , 2012 @@ -9,18 +9,19 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "Mapper" @@ -28,51 +29,61 @@ msgstr "Mapper" msgid "Created" msgstr "" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "Dokumenter" -#: forms.py:34 models.py:44 -msgid "Folder" -msgstr "Mappe" +#: links.py:24 links.py:34 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove from folders" +msgstr "Fjern dokumenter fra mapper" -#: links.py:20 -msgid "Add to a folder" -msgstr "" +#: links.py:27 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to a folders" +msgstr "Add document to a folder" -#: links.py:24 -msgid "Add to folder" -msgstr "" +#: links.py:31 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to folders" +msgstr "Add document to a folder" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "" -#: links.py:36 -msgid "Remove from folder" -msgstr "" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "Mappe" + +#: models.py:56 msgid "Document folder" msgstr "" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "" @@ -85,7 +96,6 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -94,7 +104,6 @@ msgid "Remove documents from folders" msgstr "Fjern dokumenter fra mapper" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -106,67 +115,123 @@ msgstr "" msgid "Primary key of the document to be added." msgstr "" -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "Angiv mindst ét ​​dokument." - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "Dokument: %(document)s føjet til mappen: %(folder)s med succes." +msgid "Add to folder request performed on %(count)d document" +msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Add document to a folder" +msgstr[1] "Add document to a folder" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add document: %s to folder." +msgid "Add document \"%s\" to folders" +msgstr "Add document: %s to folder." + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "Dokument: %(document)s er allerede i mappen: %(folder)s." -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "" -msgstr[1] "" - -#: views.py:227 -msgid "Must provide at least one folder document." -msgstr "Skal give mindst ét mappe dokument." - -#: views.py:248 +#: views.py:200 #, python-format -msgid "Document: %s removed successfully." -msgstr "Dokument: %s blev slettet." +msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgstr "Dokument: %(document)s føjet til mappen: %(folder)s med succes." -#: views.py:254 +#: views.py:212 #, python-format -msgid "Document: %(document)s delete error: %(error)s" -msgstr "Dokument: %(document)s slettefejl: %(error)s " +msgid "Remove from folder request performed on %(count)d document" +msgstr "" -#: views.py:267 +#: views.py:215 #, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "" -msgstr[1] "" +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "Fjern dokumenter fra mapper" +msgstr[1] "Fjern dokumenter fra mapper" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Remove documents from folders" +msgid "Remove document \"%s\" to folders" +msgstr "Fjern dokumenter fra mapper" + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s is not in folder: %(folder)s." +msgstr "Dokument: %(document)s er allerede i mappen: %(folder)s." + +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "Dokument: %(document)s er allerede i mappen: %(folder)s." + +#~ msgid "Must provide at least one document." +#~ msgstr "Angiv mindst ét ​​dokument." + +#~ msgid "Must provide at least one folder document." +#~ msgstr "Skal give mindst ét mappe dokument." + +#~ msgid "Document: %s removed successfully." +#~ msgstr "Dokument: %s blev slettet." + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "Dokument: %(document)s slettefejl: %(error)s " #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -204,21 +269,15 @@ msgstr[1] "" #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" -#~ msgid "Add document to a folder" -#~ msgstr "Add document to a folder" - -#~ msgid "Add document: %s to folder." -#~ msgstr "Add document: %s to folder." - #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -251,12 +310,12 @@ msgstr[1] "" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/folders/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/folders/locale/de_DE/LC_MESSAGES/django.po index 1b29f895de..7cf7502739 100644 --- a/mayan/apps/folders/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Berny , 2015 @@ -13,18 +13,19 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "Ordner" @@ -32,51 +33,61 @@ msgstr "Ordner" msgid "Created" msgstr "Erstellt" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "Dokumente" -#: forms.py:34 models.py:44 -msgid "Folder" -msgstr "Ordner" +#: links.py:24 links.py:34 +#, fuzzy +#| msgid "Remove from folder" +msgid "Remove from folders" +msgstr "Aus Ordner entfernen" -#: links.py:20 -msgid "Add to a folder" +#: links.py:27 +#, fuzzy +#| msgid "Add to a folder" +msgid "Add to a folders" msgstr "Zu Ordner hinzufügen" -#: links.py:24 -msgid "Add to folder" +#: links.py:31 +#, fuzzy +#| msgid "Add to folder" +msgid "Add to folders" msgstr "Zu Ordner hinzufügen" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "Ordner erstellen" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "Löschen" -#: links.py:36 -msgid "Remove from folder" -msgstr "Aus Ordner entfernen" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "Bearbeiten" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Bezeichner" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "Erstellungsdatum" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "Ordner" + +#: models.py:56 msgid "Document folder" msgstr "Dokumentenordner" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "Dokumentenordner" @@ -89,7 +100,6 @@ msgid "Edit folders" msgstr "Ordner bearbeiten" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "Ordner löschen" @@ -98,7 +108,6 @@ msgid "Remove documents from folders" msgstr "Dokumente aus Ordnern entfernen" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "Ordner anzeigen" @@ -110,67 +119,133 @@ msgstr "Dokumente zu Ordnern hinzufügen" msgid "Primary key of the document to be added." msgstr "Primärschlüssel des hinzuzufügenden Dokuments." -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "Ordner %s löschen?" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "Dokumente in Ordner %s" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "Ordner %s bearbeiten" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "Ordner mit Dokument %s" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "Es muss mindestens ein Dokument angegeben werden." - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "Dokument %(document)s zu Ordner %(folder)s erfolgreich hinzugefügt" +msgid "Add to folder request performed on %(count)d document" +msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add documents to folders" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Dokumente zu Ordnern hinzufügen" +msgstr[1] "Dokumente zu Ordnern hinzufügen" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add documents to folders" +msgid "Add document \"%s\" to folders" +msgstr "Dokumente zu Ordnern hinzufügen" + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "Dokument %(document)s ist bereits im Ordner %(folder)s" -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "Dokument zu Ordner hinzufügen" -msgstr[1] "Dokumente zu Ordner hinzufügen" - -#: views.py:227 -msgid "Must provide at least one folder document." -msgstr "Es muss mindestens ein Ordnerdokument angegeben werden" - -#: views.py:248 +#: views.py:200 #, python-format -msgid "Document: %s removed successfully." -msgstr "Dokument \"%s\" erfolgreich entfernt" +msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgstr "Dokument %(document)s zu Ordner %(folder)s erfolgreich hinzugefügt" -#: views.py:254 +#: views.py:212 #, python-format -msgid "Document: %(document)s delete error: %(error)s" -msgstr "Fehler beim Löschen von Dokument %(document)s: %(error)s" +msgid "Remove from folder request performed on %(count)d document" +msgstr "" -#: views.py:267 +#: views.py:215 #, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "Ausgewähltes Dokument aus Ordner %(folder)s entfernen?" -msgstr[1] "Ausgewählte Dokumente aus Ordner %(folder)s entfernen?" +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "Dokumente aus Ordnern entfernen" +msgstr[1] "Dokumente aus Ordnern entfernen" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Remove documents from folders" +msgid "Remove document \"%s\" to folders" +msgstr "Dokumente aus Ordnern entfernen" + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s is not in folder: %(folder)s." +msgstr "Dokument %(document)s ist bereits im Ordner %(folder)s" + +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "Dokument %(document)s ist bereits im Ordner %(folder)s" + +#~ msgid "Must provide at least one document." +#~ msgstr "Es muss mindestens ein Dokument angegeben werden." + +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "Dokument zu Ordner hinzufügen" +#~ msgstr[1] "Dokumente zu Ordner hinzufügen" + +#~ msgid "Must provide at least one folder document." +#~ msgstr "Es muss mindestens ein Ordnerdokument angegeben werden" + +#~ msgid "Document: %s removed successfully." +#~ msgstr "Dokument \"%s\" erfolgreich entfernt" + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "Fehler beim Löschen von Dokument %(document)s: %(error)s" + +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "Ausgewähltes Dokument aus Ordner %(folder)s entfernen?" +#~ msgstr[1] "Ausgewählte Dokumente aus Ordner %(folder)s entfernen?" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -218,11 +293,11 @@ msgstr[1] "Ausgewählte Dokumente aus Ordner %(folder)s entfernen?" #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -255,12 +330,12 @@ msgstr[1] "Ausgewählte Dokumente aus Ordner %(folder)s entfernen?" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/folders/locale/en/LC_MESSAGES/django.po b/mayan/apps/folders/locale/en/LC_MESSAGES/django.po index 2ef17ac4f4..9f20820a5d 100644 --- a/mayan/apps/folders/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2012-12-12 06:05+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" @@ -18,8 +18,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "Folders" @@ -28,59 +28,63 @@ msgstr "Folders" msgid "Created" msgstr "created" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 #, fuzzy msgid "Documents" msgstr "documents" -#: forms.py:34 models.py:44 -msgid "Folder" -msgstr "Folder" - -#: links.py:20 +#: links.py:24 links.py:34 #, fuzzy -msgid "Add to a folder" +msgid "Remove from folders" +msgstr "remove from folder" + +#: links.py:27 +#, fuzzy +msgid "Add to a folders" msgstr "add to a folder" -#: links.py:24 +#: links.py:31 #, fuzzy -msgid "Add to folder" +msgid "Add to folders" msgstr "add to folder" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 #, fuzzy msgid "Create folder" msgstr "create folder" -#: links.py:32 +#: links.py:46 #, fuzzy msgid "Delete" msgstr "delete" -#: links.py:36 -#, fuzzy -msgid "Remove from folder" -msgstr "remove from folder" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "" -#: models.py:23 +#: models.py:21 #, fuzzy msgid "Datetime created" msgstr "datetime created" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "Folder" + +#: models.py:56 #, fuzzy msgid "Document folder" msgstr "documents in folder: %s" -#: models.py:64 +#: models.py:57 #, fuzzy msgid "Document folders" msgstr "documents in folder: %s" @@ -120,72 +124,138 @@ msgstr "Add document to a folder" msgid "Primary key of the document to be added." msgstr "" -#: views.py:54 +#: views.py:49 #, fuzzy, python-format #| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "Delete new folders" -#: views.py:66 +#: views.py:61 #, fuzzy, python-format msgid "Documents in folder: %s" msgstr "documents in folder: %s" -#: views.py:93 +#: views.py:84 #, fuzzy, python-format msgid "Edit folder: %s" msgstr "edit folder: %s" -#: views.py:127 +#: views.py:116 #, fuzzy, python-format msgid "Folders containing document: %s" msgstr "folders containing: %s" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "Must provide at least one document." - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "Document: %(document)s added to folder: %(folder)s successfully." +msgid "Add to folder request performed on %(count)d document" +msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Add document to a folder" +msgstr[1] "Add document to a folder" + +#: views.py:150 +#, fuzzy, python-format +msgid "Add document \"%s\" to folders" +msgstr "Add document to a folder" + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "Document: %(document)s is already in folder: %(folder)s." -#: views.py:205 +#: views.py:200 +#, python-format +msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgstr "Document: %(document)s added to folder: %(folder)s successfully." + +#: views.py:212 +#, python-format +msgid "Remove from folder request performed on %(count)d document" +msgstr "" + +#: views.py:215 +#, python-format +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 #, fuzzy -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "Add document to a folder" -msgstr[1] "Add document to a folder" +#| msgid "Remove documents from folders" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "Remove documents from folders" +msgstr[1] "Remove documents from folders" -#: views.py:227 -msgid "Must provide at least one folder document." -msgstr "Must provide at least one folder document." - -#: views.py:248 -#, python-format -msgid "Document: %s removed successfully." -msgstr "Document: %s removed successfully." - -#: views.py:254 -#, python-format -msgid "Document: %(document)s delete error: %(error)s" -msgstr "Document: %(document)s delete error: %(error)s" - -#: views.py:267 +#: views.py:235 #, fuzzy, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "" -"Are you sure you wish to remove the document: %(document)s from the folder " -"\"%(folder)s\"?" -msgstr[1] "" -"Are you sure you wish to remove the document: %(document)s from the folder " -"\"%(folder)s\"?" +#| msgid "Remove documents from folders" +msgid "Remove document \"%s\" to folders" +msgstr "Remove documents from folders" + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s is not in folder: %(folder)s." +msgstr "Document: %(document)s is already in folder: %(folder)s." + +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "Document: %(document)s is already in folder: %(folder)s." + +#~ msgid "Must provide at least one document." +#~ msgstr "Must provide at least one document." + +#, fuzzy +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "Add document to a folder" +#~ msgstr[1] "Add document to a folder" + +#~ msgid "Must provide at least one folder document." +#~ msgstr "Must provide at least one folder document." + +#~ msgid "Document: %s removed successfully." +#~ msgstr "Document: %s removed successfully." + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "Document: %(document)s delete error: %(error)s" + +#, fuzzy +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "" +#~ "Are you sure you wish to remove the document: %(document)s from the " +#~ "folder \"%(folder)s\"?" +#~ msgstr[1] "" +#~ "Are you sure you wish to remove the document: %(document)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." diff --git a/mayan/apps/folders/locale/es/LC_MESSAGES/django.po b/mayan/apps/folders/locale/es/LC_MESSAGES/django.po index acaa5a9978..c6deaf9ce7 100644 --- a/mayan/apps/folders/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 @@ -12,18 +12,19 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-05-09 01:41+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "Carpetas" @@ -31,51 +32,61 @@ msgstr "Carpetas" msgid "Created" msgstr "Creado" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "Documentos" -#: forms.py:34 models.py:44 -msgid "Folder" -msgstr "Carpeta" +#: links.py:24 links.py:34 +#, fuzzy +#| msgid "Remove from folder" +msgid "Remove from folders" +msgstr "Remover de la carpeta" -#: links.py:20 -msgid "Add to a folder" +#: links.py:27 +#, fuzzy +#| msgid "Add to a folder" +msgid "Add to a folders" msgstr "Añadir a una carpeta" -#: links.py:24 -msgid "Add to folder" +#: links.py:31 +#, fuzzy +#| msgid "Add to folder" +msgid "Add to folders" msgstr "Añadir a carpeta" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "Crear carpetas" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "Borrar" -#: links.py:36 -msgid "Remove from folder" -msgstr "Remover de la carpeta" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "Editar" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Etiqueta" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "Fecha y hora que fue creado" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "Carpeta" + +#: models.py:56 msgid "Document folder" msgstr "Carpeta de documento" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "Carpetas de documento" @@ -88,7 +99,6 @@ msgid "Edit folders" msgstr "Editar carpetas" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "Borrar carpetas" @@ -97,7 +107,6 @@ msgid "Remove documents from folders" msgstr "Eliminar documentos de las carpetas" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "Ver carpetas" @@ -109,67 +118,134 @@ msgstr "Agregar documentos a carpetas" msgid "Primary key of the document to be added." msgstr "Llave primaria del documento a ser agregado." -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "¿Eliminar la carpeta: %s?" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "Documentos en la carpeta: %s" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "Editar carpeta: %s" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "Las carpetas que contienen el documento: %s" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "Debe proporcionar al menos un documento." - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "Documento: %(document)s agregado a la carpeta: %(folder)s con éxito." +msgid "Add to folder request performed on %(count)d document" +msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add documents to folders" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Agregar documentos a carpetas" +msgstr[1] "Agregar documentos a carpetas" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add documents to folders" +msgid "Add document \"%s\" to folders" +msgstr "Agregar documentos a carpetas" + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "Documento: %(document)s ya está en la carpeta: %(folder)s." -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "Añadir documento a la carpeta" -msgstr[1] "Añadir los documentos a la carpeta" - -#: views.py:227 -msgid "Must provide at least one folder document." -msgstr "Debe proveer al menos un documento de carpeta." - -#: views.py:248 +#: views.py:200 #, python-format -msgid "Document: %s removed successfully." -msgstr "Documento: %s eliminado con éxito." +msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgstr "Documento: %(document)s agregado a la carpeta: %(folder)s con éxito." -#: views.py:254 +#: views.py:212 #, python-format -msgid "Document: %(document)s delete error: %(error)s" -msgstr "Documento: %(document)s error de eliminación: %(error)s " +msgid "Remove from folder request performed on %(count)d document" +msgstr "" -#: views.py:267 +#: views.py:215 #, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "¿Eliminar el documento seleccionado de la carpeta: %(folder)s?" -msgstr[1] "¿Eliminar los documentos seleccionados de la carpeta: %(folder)s?" +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "Eliminar documentos de las carpetas" +msgstr[1] "Eliminar documentos de las carpetas" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Remove documents from folders" +msgid "Remove document \"%s\" to folders" +msgstr "Eliminar documentos de las carpetas" + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s is not in folder: %(folder)s." +msgstr "Documento: %(document)s ya está en la carpeta: %(folder)s." + +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "Documento: %(document)s ya está en la carpeta: %(folder)s." + +#~ msgid "Must provide at least one document." +#~ msgstr "Debe proporcionar al menos un documento." + +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "Añadir documento a la carpeta" +#~ msgstr[1] "Añadir los documentos a la carpeta" + +#~ msgid "Must provide at least one folder document." +#~ msgstr "Debe proveer al menos un documento de carpeta." + +#~ msgid "Document: %s removed successfully." +#~ msgstr "Documento: %s eliminado con éxito." + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "Documento: %(document)s error de eliminación: %(error)s " + +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "¿Eliminar el documento seleccionado de la carpeta: %(folder)s?" +#~ msgstr[1] "" +#~ "¿Eliminar los documentos seleccionados de la carpeta: %(folder)s?" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -217,11 +293,11 @@ msgstr[1] "¿Eliminar los documentos seleccionados de la carpeta: %(folder)s?" #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -254,12 +330,12 @@ msgstr[1] "¿Eliminar los documentos seleccionados de la carpeta: %(folder)s?" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/folders/locale/fa/LC_MESSAGES/django.po b/mayan/apps/folders/locale/fa/LC_MESSAGES/django.po index 1380366ecf..fb57e3ef38 100644 --- a/mayan/apps/folders/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/fa/LC_MESSAGES/django.po @@ -1,25 +1,26 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "پرونده ها" @@ -27,51 +28,61 @@ msgstr "پرونده ها" msgid "Created" msgstr "ساخته‌شده" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "اسناد" -#: forms.py:34 models.py:44 -msgid "Folder" -msgstr "پرونده" +#: links.py:24 links.py:34 +#, fuzzy +#| msgid "Remove from folder" +msgid "Remove from folders" +msgstr "حذف از پرونده" -#: links.py:20 -msgid "Add to a folder" +#: links.py:27 +#, fuzzy +#| msgid "Add to a folder" +msgid "Add to a folders" msgstr "اضافه به پرونده" -#: links.py:24 -msgid "Add to folder" +#: links.py:31 +#, fuzzy +#| msgid "Add to folder" +msgid "Add to folders" msgstr "اضافه به پرونده" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "ایجاد پرونده" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "حذف" -#: links.py:36 -msgid "Remove from folder" -msgstr "حذف از پرونده" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "ویرایش" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "برچسب" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "تاریخ و زمان ایجاد" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "پرونده" + +#: models.py:56 msgid "Document folder" msgstr "" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "" @@ -84,7 +95,6 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -93,7 +103,6 @@ msgid "Remove documents from folders" msgstr "حذف اسناد از پرونده ها" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -105,65 +114,122 @@ msgstr "" msgid "Primary key of the document to be added." msgstr "" -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "اسناد داحل پرونده:%s" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "ویرایش پرونده: %s" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "پوشه های شامل اسناد : %s" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "حداقل یک سند باید ارایه شود." - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "سند%(document)s با موفقیت به پرونده%(folder)s اضافه شد." +msgid "Add to folder request performed on %(count)d document" +msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add document to folder" +#| msgid_plural "Add documents to folder" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "اسناد را به پوشه اضافه کنید" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add document: %s to folder." +msgid "Add document \"%s\" to folders" +msgstr "Add document: %s to folder." + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "سند%(document)s درون پرونده%(folder)s. میباشد." -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "اسناد را به پوشه اضافه کنید" - -#: views.py:227 -msgid "Must provide at least one folder document." -msgstr "حداقل یک پرونده سند باید ارایه گردد." - -#: views.py:248 +#: views.py:200 #, python-format -msgid "Document: %s removed successfully." -msgstr "سند: %s با موفقیت حذف شد." +msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgstr "سند%(document)s با موفقیت به پرونده%(folder)s اضافه شد." -#: views.py:254 +#: views.py:212 #, python-format -msgid "Document: %(document)s delete error: %(error)s" -msgstr "سند%(document)s خطای حذف%(error)s" +msgid "Remove from folder request performed on %(count)d document" +msgstr "" -#: views.py:267 +#: views.py:215 #, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "" +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "حذف اسناد از پرونده ها" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Remove documents from folders" +msgid "Remove document \"%s\" to folders" +msgstr "حذف اسناد از پرونده ها" + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s is not in folder: %(folder)s." +msgstr "سند%(document)s درون پرونده%(folder)s. میباشد." + +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "سند%(document)s درون پرونده%(folder)s. میباشد." + +#~ msgid "Must provide at least one document." +#~ msgstr "حداقل یک سند باید ارایه شود." + +#~ msgid "Must provide at least one folder document." +#~ msgstr "حداقل یک پرونده سند باید ارایه گردد." + +#~ msgid "Document: %s removed successfully." +#~ msgstr "سند: %s با موفقیت حذف شد." + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "سند%(document)s خطای حذف%(error)s" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -204,18 +270,15 @@ msgstr[0] "" #~ msgid "Add document to a folder" #~ msgstr "Add document to a folder" -#~ msgid "Add document: %s to folder." -#~ msgstr "Add document: %s to folder." - #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -248,12 +311,12 @@ msgstr[0] "" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/folders/locale/fr/LC_MESSAGES/django.po b/mayan/apps/folders/locale/fr/LC_MESSAGES/django.po index 68ffc036d4..d39a7bc2e9 100644 --- a/mayan/apps/folders/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pierre Lhoste , 2012 @@ -11,18 +11,19 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "Répertoires" @@ -30,51 +31,61 @@ msgstr "Répertoires" msgid "Created" msgstr "Créé" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "Documents" -#: forms.py:34 models.py:44 -msgid "Folder" -msgstr "Répertoire" +#: links.py:24 links.py:34 +#, fuzzy +#| msgid "Remove from folder" +msgid "Remove from folders" +msgstr "Supprimer du dossier" -#: links.py:20 -msgid "Add to a folder" +#: links.py:27 +#, fuzzy +#| msgid "Add to a folder" +msgid "Add to a folders" msgstr "Ajouter à un dossier" -#: links.py:24 -msgid "Add to folder" +#: links.py:31 +#, fuzzy +#| msgid "Add to folder" +msgid "Add to folders" msgstr "Ajouter au dossier" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "Créer un dossier" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "Supprimer" -#: links.py:36 -msgid "Remove from folder" -msgstr "Supprimer du dossier" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "Modifier" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Libellé" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "Date et heure de création" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "Répertoire" + +#: models.py:56 msgid "Document folder" msgstr "Dossier du document" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "Dossiers" @@ -87,7 +98,6 @@ msgid "Edit folders" msgstr "Modifier les dossiers" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "Supprimer les dossiers" @@ -96,7 +106,6 @@ msgid "Remove documents from folders" msgstr "Retirer des documents des répertoires" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "Afficher les dossiers" @@ -108,67 +117,140 @@ msgstr "Ajouter des documents aux dossiers" msgid "Primary key of the document to be added." msgstr "Clé primaire du document à ajouter." -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "Supprimer les dossier : %s ?" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "Documents du dossier: %s" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "Modifier le répertoire: %s" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "Dossiers contenant le document: %s" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "Il est nécessaire de fournir au moins un document." +#: views.py:127 +#, python-format +msgid "Add to folder request performed on %(count)d document" +msgstr "" -#: views.py:175 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add documents to folders" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Ajouter des documents aux dossiers" +msgstr[1] "Ajouter des documents aux dossiers" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add documents to folders" +msgid "Add document \"%s\" to folders" +msgstr "Ajouter des documents aux dossiers" + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 +#, python-format +msgid "Document: %(document)s is already in folder: %(folder)s." +msgstr "" +"Document: %(document)s est déjà présent dans le répertoire: %(folder)s." + +#: views.py:200 #, python-format msgid "Document: %(document)s added to folder: %(folder)s successfully." msgstr "Document: %(document)s ajouté avec succès au répertoire: %(folder)s." -#: views.py:184 +#: views.py:212 #, python-format -msgid "Document: %(document)s is already in folder: %(folder)s." -msgstr "Document: %(document)s est déjà présent dans le répertoire: %(folder)s." +msgid "Remove from folder request performed on %(count)d document" +msgstr "" -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "Ajouter un document au répertoire" -msgstr[1] "Ajouter les documents au répertoire" - -#: views.py:227 -msgid "Must provide at least one folder document." -msgstr "Vous devez fournir au moins un document pour le répertoire." - -#: views.py:248 +#: views.py:215 #, python-format -msgid "Document: %s removed successfully." -msgstr "Document: %s supprimé avec succès." +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" -#: views.py:254 -#, python-format -msgid "Document: %(document)s delete error: %(error)s" -msgstr "Document: %(document)s erreur de suppression: %(error)s" +#: views.py:222 +msgid "Remove" +msgstr "" -#: views.py:267 -#, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "Êtes vous certain de vouloir supprimer le document sélectionné du dossier %(folder)s ?" -msgstr[1] "Êtes vous certain de vouloir supprimer les documents sélectionnés du dossier %(folder)s ?" +#: views.py:224 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "Retirer des documents des répertoires" +msgstr[1] "Retirer des documents des répertoires" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Remove documents from folders" +msgid "Remove document \"%s\" to folders" +msgstr "Retirer des documents des répertoires" + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s is not in folder: %(folder)s." +msgstr "" +"Document: %(document)s est déjà présent dans le répertoire: %(folder)s." + +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "" +"Document: %(document)s est déjà présent dans le répertoire: %(folder)s." + +#~ msgid "Must provide at least one document." +#~ msgstr "Il est nécessaire de fournir au moins un document." + +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "Ajouter un document au répertoire" +#~ msgstr[1] "Ajouter les documents au répertoire" + +#~ msgid "Must provide at least one folder document." +#~ msgstr "Vous devez fournir au moins un document pour le répertoire." + +#~ msgid "Document: %s removed successfully." +#~ msgstr "Document: %s supprimé avec succès." + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "Document: %(document)s erreur de suppression: %(error)s" + +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "" +#~ "Êtes vous certain de vouloir supprimer le document sélectionné du dossier " +#~ "%(folder)s ?" +#~ msgstr[1] "" +#~ "Êtes vous certain de vouloir supprimer les documents sélectionnés du " +#~ "dossier %(folder)s ?" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -216,11 +298,11 @@ msgstr[1] "Êtes vous certain de vouloir supprimer les documents sélectionnés #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -253,12 +335,12 @@ msgstr[1] "Êtes vous certain de vouloir supprimer les documents sélectionnés #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/folders/locale/hu/LC_MESSAGES/django.po b/mayan/apps/folders/locale/hu/LC_MESSAGES/django.po index f0af4349d8..8a5ad5de1e 100644 --- a/mayan/apps/folders/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/hu/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Dezső József , 2013 @@ -9,18 +9,19 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "Mappák" @@ -28,51 +29,61 @@ msgstr "Mappák" msgid "Created" msgstr "" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "dokumentumok" -#: forms.py:34 models.py:44 -msgid "Folder" -msgstr "Mappa" +#: links.py:24 links.py:34 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove from folders" +msgstr "Dokumentumok eltávolítása a mappákból" -#: links.py:20 -msgid "Add to a folder" -msgstr "" +#: links.py:27 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to a folders" +msgstr "Add document to a folder" -#: links.py:24 -msgid "Add to folder" -msgstr "" +#: links.py:31 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to folders" +msgstr "Add document to a folder" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "" -#: links.py:36 -msgid "Remove from folder" -msgstr "" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "Mappa" + +#: models.py:56 msgid "Document folder" msgstr "" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "" @@ -85,7 +96,6 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -94,7 +104,6 @@ msgid "Remove documents from folders" msgstr "Dokumentumok eltávolítása a mappákból" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -106,67 +115,123 @@ msgstr "" msgid "Primary key of the document to be added." msgstr "" -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "Adjon meg legalább egy dokumentumot." - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "A %(document)s dokumentum elhelyezése a %(folder)s mappában sikerült." +msgid "Add to folder request performed on %(count)d document" +msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Add document to a folder" +msgstr[1] "Add document to a folder" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add document: %s to folder." +msgid "Add document \"%s\" to folders" +msgstr "Add document: %s to folder." + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "A %(document)s nevű dokumentum már van a %(folder)s. mappában." -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "" -msgstr[1] "" - -#: views.py:227 -msgid "Must provide at least one folder document." -msgstr "Legalább egy dokumentum mappa szükséges" - -#: views.py:248 +#: views.py:200 #, python-format -msgid "Document: %s removed successfully." -msgstr "A %s dokumentum eltávolítása sikerült." +msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgstr "A %(document)s dokumentum elhelyezése a %(folder)s mappában sikerült." -#: views.py:254 +#: views.py:212 #, python-format -msgid "Document: %(document)s delete error: %(error)s" -msgstr "Hiba %(error)s a %(document)s dokumentum törlésekor." +msgid "Remove from folder request performed on %(count)d document" +msgstr "" -#: views.py:267 +#: views.py:215 #, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "" -msgstr[1] "" +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "Dokumentumok eltávolítása a mappákból" +msgstr[1] "Dokumentumok eltávolítása a mappákból" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Remove documents from folders" +msgid "Remove document \"%s\" to folders" +msgstr "Dokumentumok eltávolítása a mappákból" + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s is not in folder: %(folder)s." +msgstr "A %(document)s nevű dokumentum már van a %(folder)s. mappában." + +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "A %(document)s nevű dokumentum már van a %(folder)s. mappában." + +#~ msgid "Must provide at least one document." +#~ msgstr "Adjon meg legalább egy dokumentumot." + +#~ msgid "Must provide at least one folder document." +#~ msgstr "Legalább egy dokumentum mappa szükséges" + +#~ msgid "Document: %s removed successfully." +#~ msgstr "A %s dokumentum eltávolítása sikerült." + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "Hiba %(error)s a %(document)s dokumentum törlésekor." #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -204,21 +269,15 @@ msgstr[1] "" #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" -#~ msgid "Add document to a folder" -#~ msgstr "Add document to a folder" - -#~ msgid "Add document: %s to folder." -#~ msgstr "Add document: %s to folder." - #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -251,12 +310,12 @@ msgstr[1] "" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/folders/locale/id/LC_MESSAGES/django.po b/mayan/apps/folders/locale/id/LC_MESSAGES/django.po index aeaf59e46c..d485caf52d 100644 --- a/mayan/apps/folders/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/id/LC_MESSAGES/django.po @@ -1,25 +1,26 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "" @@ -27,51 +28,59 @@ msgstr "" msgid "Created" msgstr "" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "Dokumen" -#: forms.py:34 models.py:44 -msgid "Folder" +#: links.py:24 links.py:34 +msgid "Remove from folders" msgstr "" -#: links.py:20 -msgid "Add to a folder" -msgstr "" +#: links.py:27 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to a folders" +msgstr "Add document to a folder" -#: links.py:24 -msgid "Add to folder" -msgstr "" +#: links.py:31 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to folders" +msgstr "Add document to a folder" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "" -#: links.py:36 -msgid "Remove from folder" -msgstr "" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "" + +#: models.py:56 msgid "Document folder" msgstr "" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "" @@ -84,7 +93,6 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -93,7 +101,6 @@ msgid "Remove documents from folders" msgstr "" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -105,65 +112,112 @@ msgstr "" msgid "Primary key of the document to be added." msgstr "" -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "Harus memberikan setidaknya satu dokumen." - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgid "Add to folder request performed on %(count)d document" msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Add document to a folder" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add document: %s to folder." +msgid "Add document \"%s\" to folders" +msgstr "Add document: %s to folder." + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "" -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "" - -#: views.py:227 -msgid "Must provide at least one folder document." +#: views.py:200 +#, python-format +msgid "Document: %(document)s added to folder: %(folder)s successfully." msgstr "" -#: views.py:248 +#: views.py:212 #, python-format -msgid "Document: %s removed successfully." +msgid "Remove from folder request performed on %(count)d document" msgstr "" -#: views.py:254 +#: views.py:215 #, python-format -msgid "Document: %(document)s delete error: %(error)s" +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "Add document to a folder" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Add document: %s to folder." +msgid "Remove document \"%s\" to folders" +msgstr "Add document: %s to folder." + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s delete error: %(error)s" +msgid "Document: %(document)s is not in folder: %(folder)s." msgstr "Dokumen: %(document)s penghapusan bermasalah: %(error)s" -#: views.py:267 -#, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "" +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s delete error: %(error)s" +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "Dokumen: %(document)s penghapusan bermasalah: %(error)s" + +#~ msgid "Must provide at least one document." +#~ msgstr "Harus memberikan setidaknya satu dokumen." #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -201,21 +255,15 @@ msgstr[0] "" #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" -#~ msgid "Add document to a folder" -#~ msgstr "Add document to a folder" - -#~ msgid "Add document: %s to folder." -#~ msgstr "Add document: %s to folder." - #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -248,12 +296,12 @@ msgstr[0] "" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/folders/locale/it/LC_MESSAGES/django.po b/mayan/apps/folders/locale/it/LC_MESSAGES/django.po index fa6fd9ff74..6f614aefc9 100644 --- a/mayan/apps/folders/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Carlo Zanatto <>, 2012 @@ -13,18 +13,19 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-09-24 10:31+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "Cartelle" @@ -32,51 +33,61 @@ msgstr "Cartelle" msgid "Created" msgstr "Creato" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "Documenti" -#: forms.py:34 models.py:44 -msgid "Folder" -msgstr "Cartella" +#: links.py:24 links.py:34 +#, fuzzy +#| msgid "Remove from folder" +msgid "Remove from folders" +msgstr "Rimuovi dalla cartella" -#: links.py:20 -msgid "Add to a folder" +#: links.py:27 +#, fuzzy +#| msgid "Add to a folder" +msgid "Add to a folders" msgstr "Aggiungi ad una cartella" -#: links.py:24 -msgid "Add to folder" +#: links.py:31 +#, fuzzy +#| msgid "Add to folder" +msgid "Add to folders" msgstr "Aggiungi alla cartella" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "Crea cartella" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "Cancella" -#: links.py:36 -msgid "Remove from folder" -msgstr "Rimuovi dalla cartella" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "Modifica" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Etichetta" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "Data e ora di creazione" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "Cartella" + +#: models.py:56 msgid "Document folder" msgstr "Cartella documento" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "Cartella documenti" @@ -89,7 +100,6 @@ msgid "Edit folders" msgstr "Modifica cartelle" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "Cancella cartelle" @@ -98,7 +108,6 @@ msgid "Remove documents from folders" msgstr "Rimuovere i documenti da cartelle" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "Vedi cartelle" @@ -110,67 +119,134 @@ msgstr "Aggiungi i documenti alle cartelle" msgid "Primary key of the document to be added." msgstr "Chiave primaria del documento da aggiungere" -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "Cancellare la cartella: %s?" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "Documenti nella cartella: %s?" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "Modifica cartella: %s" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "Cartelle che contengono il documento: %s" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "Bisogna fornire almeno un documento." - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "Documento: %(document)s aggiunto alla cartella: %(folder)s successfully." +msgid "Add to folder request performed on %(count)d document" +msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add documents to folders" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Aggiungi i documenti alle cartelle" +msgstr[1] "Aggiungi i documenti alle cartelle" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add documents to folders" +msgid "Add document \"%s\" to folders" +msgstr "Aggiungi i documenti alle cartelle" + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "Documento: %(document)s è già nella cartella: %(folder)s." -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "Aggiungi documento alla cartella" -msgstr[1] "Aggiungi documenti alla cartella" - -#: views.py:227 -msgid "Must provide at least one folder document." -msgstr "Devi almeno indicare una cartella documenti." - -#: views.py:248 +#: views.py:200 #, python-format -msgid "Document: %s removed successfully." -msgstr "Documento: %s cancellato con successo." +msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgstr "" +"Documento: %(document)s aggiunto alla cartella: %(folder)s successfully." -#: views.py:254 +#: views.py:212 #, python-format -msgid "Document: %(document)s delete error: %(error)s" -msgstr "Documento: %(document)s errore di cancellazione: %(error)s" +msgid "Remove from folder request performed on %(count)d document" +msgstr "" -#: views.py:267 +#: views.py:215 #, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "Rimuovere il documento selezionato dalla cartella: %(folder)s?" -msgstr[1] "Rimuovere i documenti selezionati dalla cartella: %(folder)s?" +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "Rimuovere i documenti da cartelle" +msgstr[1] "Rimuovere i documenti da cartelle" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Remove documents from folders" +msgid "Remove document \"%s\" to folders" +msgstr "Rimuovere i documenti da cartelle" + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s is not in folder: %(folder)s." +msgstr "Documento: %(document)s è già nella cartella: %(folder)s." + +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "Documento: %(document)s è già nella cartella: %(folder)s." + +#~ msgid "Must provide at least one document." +#~ msgstr "Bisogna fornire almeno un documento." + +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "Aggiungi documento alla cartella" +#~ msgstr[1] "Aggiungi documenti alla cartella" + +#~ msgid "Must provide at least one folder document." +#~ msgstr "Devi almeno indicare una cartella documenti." + +#~ msgid "Document: %s removed successfully." +#~ msgstr "Documento: %s cancellato con successo." + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "Documento: %(document)s errore di cancellazione: %(error)s" + +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "Rimuovere il documento selezionato dalla cartella: %(folder)s?" +#~ msgstr[1] "Rimuovere i documenti selezionati dalla cartella: %(folder)s?" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -218,11 +294,11 @@ msgstr[1] "Rimuovere i documenti selezionati dalla cartella: %(folder)s?" #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -255,12 +331,12 @@ msgstr[1] "Rimuovere i documenti selezionati dalla cartella: %(folder)s?" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/folders/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/folders/locale/nl_NL/LC_MESSAGES/django.po index bff47df7dd..2caf7fcc57 100644 --- a/mayan/apps/folders/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -9,18 +9,19 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-01 09:04+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "Mappen" @@ -28,51 +29,61 @@ msgstr "Mappen" msgid "Created" msgstr "Aangemaakt" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "Documenten" -#: forms.py:34 models.py:44 -msgid "Folder" -msgstr "Map" +#: links.py:24 links.py:34 +#, fuzzy +#| msgid "Remove from folder" +msgid "Remove from folders" +msgstr "Verwijder uit map" -#: links.py:20 -msgid "Add to a folder" +#: links.py:27 +#, fuzzy +#| msgid "Add to a folder" +msgid "Add to a folders" msgstr "Voeg toe aan een map" -#: links.py:24 -msgid "Add to folder" +#: links.py:31 +#, fuzzy +#| msgid "Add to folder" +msgid "Add to folders" msgstr "Voeg toe aan map" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "Maak map" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "Verwijder" -#: links.py:36 -msgid "Remove from folder" -msgstr "Verwijder uit map" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "bewerken" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Label" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "Datumtijd aangemaakt" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "Map" + +#: models.py:56 msgid "Document folder" msgstr "Documentmap" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "Documentmappen" @@ -85,7 +96,6 @@ msgid "Edit folders" msgstr "Bewerk mappen" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "Verwijder mappe" @@ -94,7 +104,6 @@ msgid "Remove documents from folders" msgstr "Verwijder documenten van mappen" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "Bekijk mappen" @@ -106,67 +115,129 @@ msgstr "Voeg documenten toe aan mappe" msgid "Primary key of the document to be added." msgstr "" -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "Verwijder de map: %s?" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "Documenten in map: %s" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "Bewerk map: %s" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "Mappen die document %s bevatten" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "U dient minstens 1 document aan te geven." - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "Document: %(document)s succesvol toegevoegd aan map: %(folder)s." +msgid "Add to folder request performed on %(count)d document" +msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add documents to folders" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Voeg documenten toe aan mappe" +msgstr[1] "Voeg documenten toe aan mappe" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add documents to folders" +msgid "Add document \"%s\" to folders" +msgstr "Voeg documenten toe aan mappe" + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "Document: %(document)s bestaat al in map: %(folder)s." -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "Voeg document toe aan map" -msgstr[1] "Voeg documenten toe aan map" - -#: views.py:227 -msgid "Must provide at least one folder document." -msgstr "U dient tenminste één mapdocument op te geven." - -#: views.py:248 +#: views.py:200 #, python-format -msgid "Document: %s removed successfully." -msgstr "Document: %s succesvol verwijderd." +msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgstr "Document: %(document)s succesvol toegevoegd aan map: %(folder)s." -#: views.py:254 +#: views.py:212 #, python-format -msgid "Document: %(document)s delete error: %(error)s" -msgstr "Fout bij verwijderen document: %(document)s. foutmelding: %(error)s" +msgid "Remove from folder request performed on %(count)d document" +msgstr "" -#: views.py:267 +#: views.py:215 #, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "" -msgstr[1] "" +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "Verwijder documenten van mappen" +msgstr[1] "Verwijder documenten van mappen" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Remove documents from folders" +msgid "Remove document \"%s\" to folders" +msgstr "Verwijder documenten van mappen" + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s is not in folder: %(folder)s." +msgstr "Document: %(document)s bestaat al in map: %(folder)s." + +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "Document: %(document)s bestaat al in map: %(folder)s." + +#~ msgid "Must provide at least one document." +#~ msgstr "U dient minstens 1 document aan te geven." + +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "Voeg document toe aan map" +#~ msgstr[1] "Voeg documenten toe aan map" + +#~ msgid "Must provide at least one folder document." +#~ msgstr "U dient tenminste één mapdocument op te geven." + +#~ msgid "Document: %s removed successfully." +#~ msgstr "Document: %s succesvol verwijderd." + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "" +#~ "Fout bij verwijderen document: %(document)s. foutmelding: %(error)s" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -214,11 +285,11 @@ msgstr[1] "" #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -251,12 +322,12 @@ msgstr[1] "" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/folders/locale/pl/LC_MESSAGES/django.po b/mayan/apps/folders/locale/pl/LC_MESSAGES/django.po index 64d57db613..b869a1c60c 100644 --- a/mayan/apps/folders/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Annunnaky , 2015 @@ -11,18 +11,20 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "Foldery" @@ -30,51 +32,61 @@ msgstr "Foldery" msgid "Created" msgstr "Utworzony" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "Dokumenty" -#: forms.py:34 models.py:44 -msgid "Folder" -msgstr "Folder" +#: links.py:24 links.py:34 +#, fuzzy +#| msgid "Remove from folder" +msgid "Remove from folders" +msgstr "Usuń z folderu" -#: links.py:20 -msgid "Add to a folder" +#: links.py:27 +#, fuzzy +#| msgid "Add to a folder" +msgid "Add to a folders" msgstr "Dodaj do folderu" -#: links.py:24 -msgid "Add to folder" +#: links.py:31 +#, fuzzy +#| msgid "Add to folder" +msgid "Add to folders" msgstr "Dodaj do folderu" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "Utwórz folder" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "Usuń" -#: links.py:36 -msgid "Remove from folder" -msgstr "Usuń z folderu" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "Edytuj" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Etykieta" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "Data utworzenia" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "Folder" + +#: models.py:56 msgid "Document folder" msgstr "Folder dokumentów" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "Foldery dokumentów" @@ -87,7 +99,6 @@ msgid "Edit folders" msgstr "Edytuj foldery" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "Usuń foldery" @@ -96,7 +107,6 @@ msgid "Remove documents from folders" msgstr "Usuń dokumenty z folderów" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "Przeglądaj foldery" @@ -108,69 +118,137 @@ msgstr "Dodaj dokumenty do folderów" msgid "Primary key of the document to be added." msgstr "" -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "Usunąć folder: %s?" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "Dokumenty w folderze: %s" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "Edycja folderu: %s" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "Foldery zawierające dokument: %s" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "Musisz dodać co najmniej jeden dokument." - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "Dokument : %(document)s pomyślnie dodano do folderu: %(folder)s." +msgid "Add to folder request performed on %(count)d document" +msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add documents to folders" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Dodaj dokumenty do folderów" +msgstr[1] "Dodaj dokumenty do folderów" +msgstr[2] "Dodaj dokumenty do folderów" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add documents to folders" +msgid "Add document \"%s\" to folders" +msgstr "Dodaj dokumenty do folderów" + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "Dokument: %(document)s jest już w folderze: %(folder)s." -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "Dodaj dokument do folderu" -msgstr[1] "Dodaj dokumenty do folderu" -msgstr[2] "Dodaj dokumenty do folderu" - -#: views.py:227 -msgid "Must provide at least one folder document." -msgstr "Musisz dodać co najmiej jeden katalog dokumentów." - -#: views.py:248 +#: views.py:200 #, python-format -msgid "Document: %s removed successfully." -msgstr "Pomyślnie usunięto dokument: %s. " +msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgstr "Dokument : %(document)s pomyślnie dodano do folderu: %(folder)s." -#: views.py:254 +#: views.py:212 #, python-format -msgid "Document: %(document)s delete error: %(error)s" -msgstr "Błąd %(error)s podczas usuwania dokumentu %(document)s" +msgid "Remove from folder request performed on %(count)d document" +msgstr "" -#: views.py:267 +#: views.py:215 #, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "Usunąć wybrany dokument z folderu: %(folder)s?" -msgstr[1] "Usunąć wybrane dokumenty z folderu: %(folder)s?" -msgstr[2] "Usunąć wybrane dokumenty z folderu: %(folder)s?" +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "Usuń dokumenty z folderów" +msgstr[1] "Usuń dokumenty z folderów" +msgstr[2] "Usuń dokumenty z folderów" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Remove documents from folders" +msgid "Remove document \"%s\" to folders" +msgstr "Usuń dokumenty z folderów" + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s is not in folder: %(folder)s." +msgstr "Dokument: %(document)s jest już w folderze: %(folder)s." + +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "Dokument: %(document)s jest już w folderze: %(folder)s." + +#~ msgid "Must provide at least one document." +#~ msgstr "Musisz dodać co najmniej jeden dokument." + +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "Dodaj dokument do folderu" +#~ msgstr[1] "Dodaj dokumenty do folderu" +#~ msgstr[2] "Dodaj dokumenty do folderu" + +#~ msgid "Must provide at least one folder document." +#~ msgstr "Musisz dodać co najmiej jeden katalog dokumentów." + +#~ msgid "Document: %s removed successfully." +#~ msgstr "Pomyślnie usunięto dokument: %s. " + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "Błąd %(error)s podczas usuwania dokumentu %(document)s" + +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "Usunąć wybrany dokument z folderu: %(folder)s?" +#~ msgstr[1] "Usunąć wybrane dokumenty z folderu: %(folder)s?" +#~ msgstr[2] "Usunąć wybrane dokumenty z folderu: %(folder)s?" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -218,11 +296,11 @@ msgstr[2] "Usunąć wybrane dokumenty z folderu: %(folder)s?" #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -255,12 +333,12 @@ msgstr[2] "Usunąć wybrane dokumenty z folderu: %(folder)s?" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/folders/locale/pt/LC_MESSAGES/django.po b/mayan/apps/folders/locale/pt/LC_MESSAGES/django.po index 5a8f74114e..74b72bc511 100644 --- a/mayan/apps/folders/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Renata Oliveira , 2011 @@ -11,18 +11,19 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "Pastas" @@ -30,51 +31,61 @@ msgstr "Pastas" msgid "Created" msgstr "" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "Documentos" -#: forms.py:34 models.py:44 -msgid "Folder" -msgstr "Pasta" +#: links.py:24 links.py:34 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove from folders" +msgstr "Remover documentos das pastas" -#: links.py:20 -msgid "Add to a folder" -msgstr "" +#: links.py:27 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to a folders" +msgstr "Add document to a folder" -#: links.py:24 -msgid "Add to folder" -msgstr "" +#: links.py:31 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to folders" +msgstr "Add document to a folder" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "Eliminar" -#: links.py:36 -msgid "Remove from folder" -msgstr "" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "Editar" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Nome" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "Pasta" + +#: models.py:56 msgid "Document folder" msgstr "" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "" @@ -87,7 +98,6 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -96,7 +106,6 @@ msgid "Remove documents from folders" msgstr "Remover documentos das pastas" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -108,67 +117,123 @@ msgstr "" msgid "Primary key of the document to be added." msgstr "" -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "Deve fornecer pelo menos um documento." - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "Documento: %(document)s adicionados à pasta: %(folder)s com sucesso." +msgid "Add to folder request performed on %(count)d document" +msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Add document to a folder" +msgstr[1] "Add document to a folder" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add document: %s to folder." +msgid "Add document \"%s\" to folders" +msgstr "Add document: %s to folder." + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "Documento: %(document)s já está na pasta: %(folder)s ." -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "" -msgstr[1] "" - -#: views.py:227 -msgid "Must provide at least one folder document." -msgstr "Deve fornecer pelo menos um documento da pasta." - -#: views.py:248 +#: views.py:200 #, python-format -msgid "Document: %s removed successfully." -msgstr "Documento: %s removido com sucesso." +msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgstr "Documento: %(document)s adicionados à pasta: %(folder)s com sucesso." -#: views.py:254 +#: views.py:212 #, python-format -msgid "Document: %(document)s delete error: %(error)s" -msgstr "Documento: %(document)s erro ao eliminar: %(error)s " +msgid "Remove from folder request performed on %(count)d document" +msgstr "" -#: views.py:267 +#: views.py:215 #, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "" -msgstr[1] "" +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "Remover documentos das pastas" +msgstr[1] "Remover documentos das pastas" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Remove documents from folders" +msgid "Remove document \"%s\" to folders" +msgstr "Remover documentos das pastas" + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s is not in folder: %(folder)s." +msgstr "Documento: %(document)s já está na pasta: %(folder)s ." + +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "Documento: %(document)s já está na pasta: %(folder)s ." + +#~ msgid "Must provide at least one document." +#~ msgstr "Deve fornecer pelo menos um documento." + +#~ msgid "Must provide at least one folder document." +#~ msgstr "Deve fornecer pelo menos um documento da pasta." + +#~ msgid "Document: %s removed successfully." +#~ msgstr "Documento: %s removido com sucesso." + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "Documento: %(document)s erro ao eliminar: %(error)s " #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -206,21 +271,15 @@ msgstr[1] "" #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" -#~ msgid "Add document to a folder" -#~ msgstr "Add document to a folder" - -#~ msgid "Add document: %s to folder." -#~ msgstr "Add document: %s to folder." - #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -253,12 +312,12 @@ msgstr[1] "" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/folders/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/folders/locale/pt_BR/LC_MESSAGES/django.po index ec519ea5bb..0285e6c742 100644 --- a/mayan/apps/folders/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -13,18 +13,19 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-17 23:07+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "Pastas" @@ -32,51 +33,61 @@ msgstr "Pastas" msgid "Created" msgstr "Criada" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "Documentos" -#: forms.py:34 models.py:44 -msgid "Folder" -msgstr "Pasta" +#: links.py:24 links.py:34 +#, fuzzy +#| msgid "Remove from folder" +msgid "Remove from folders" +msgstr "Remover da pasta" -#: links.py:20 -msgid "Add to a folder" +#: links.py:27 +#, fuzzy +#| msgid "Add to a folder" +msgid "Add to a folders" msgstr "Adicionar a uma pasta" -#: links.py:24 -msgid "Add to folder" +#: links.py:31 +#, fuzzy +#| msgid "Add to folder" +msgid "Add to folders" msgstr "Adicione a pasta" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "Criar pasta" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "Excluir" -#: links.py:36 -msgid "Remove from folder" -msgstr "Remover da pasta" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "Editar" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Etiqueta" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "Data e hora de criação" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "Pasta" + +#: models.py:56 msgid "Document folder" msgstr "Pasta de documento" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "Pastas de documentos" @@ -89,7 +100,6 @@ msgid "Edit folders" msgstr "Editar pastas" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "Apagar pastas" @@ -98,7 +108,6 @@ msgid "Remove documents from folders" msgstr "Remover documentos das pastas" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "Visualizar pastas" @@ -110,67 +119,133 @@ msgstr "Adicionar documentos para pastas" msgid "Primary key of the document to be added." msgstr "Chave primária do documento a ser adicionado." -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "Apagar a pasta: %s?" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "Documentos na pasta: %s" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "Editar pasta: %s" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "Pastas contendo documento:%s" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "Deve fornecer, pelo menos, um documento." - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "Documento: %(document)s adicionados à pasta: %(folder)s com sucesso." +msgid "Add to folder request performed on %(count)d document" +msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add documents to folders" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Adicionar documentos para pastas" +msgstr[1] "Adicionar documentos para pastas" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add documents to folders" +msgid "Add document \"%s\" to folders" +msgstr "Adicionar documentos para pastas" + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "Documento: %(document)s já está na pasta: %(folder)s ." -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "Adicionar documento para pasta" -msgstr[1] "Adicionar documentos para pasta" - -#: views.py:227 -msgid "Must provide at least one folder document." -msgstr "Deve fornecer pelo menos um documento da pasta." - -#: views.py:248 +#: views.py:200 #, python-format -msgid "Document: %s removed successfully." -msgstr "Documento: %s removido com sucesso." +msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgstr "Documento: %(document)s adicionados à pasta: %(folder)s com sucesso." -#: views.py:254 +#: views.py:212 #, python-format -msgid "Document: %(document)s delete error: %(error)s" -msgstr "Documento: %(document)s erro ao deletar: %(error)s " +msgid "Remove from folder request performed on %(count)d document" +msgstr "" -#: views.py:267 +#: views.py:215 #, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "Remove o documento selecionado da pasta: %(folder)s?" -msgstr[1] "Remove os documentos selecionados da pasta: %(folder)s?" +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "Remover documentos das pastas" +msgstr[1] "Remover documentos das pastas" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Remove documents from folders" +msgid "Remove document \"%s\" to folders" +msgstr "Remover documentos das pastas" + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s is not in folder: %(folder)s." +msgstr "Documento: %(document)s já está na pasta: %(folder)s ." + +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "Documento: %(document)s já está na pasta: %(folder)s ." + +#~ msgid "Must provide at least one document." +#~ msgstr "Deve fornecer, pelo menos, um documento." + +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "Adicionar documento para pasta" +#~ msgstr[1] "Adicionar documentos para pasta" + +#~ msgid "Must provide at least one folder document." +#~ msgstr "Deve fornecer pelo menos um documento da pasta." + +#~ msgid "Document: %s removed successfully." +#~ msgstr "Documento: %s removido com sucesso." + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "Documento: %(document)s erro ao deletar: %(error)s " + +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "Remove o documento selecionado da pasta: %(folder)s?" +#~ msgstr[1] "Remove os documentos selecionados da pasta: %(folder)s?" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -218,11 +293,11 @@ msgstr[1] "Remove os documentos selecionados da pasta: %(folder)s?" #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -255,12 +330,12 @@ msgstr[1] "Remove os documentos selecionados da pasta: %(folder)s?" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/folders/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/folders/locale/ro_RO/LC_MESSAGES/django.po index cecc58b1d8..d8bef22227 100644 --- a/mayan/apps/folders/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Badea Gabriel , 2013 @@ -9,18 +9,20 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-04-17 09:43+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "Directoare" @@ -28,51 +30,61 @@ msgstr "Directoare" msgid "Created" msgstr "" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "Documente" -#: forms.py:34 models.py:44 -msgid "Folder" -msgstr "Director" +#: links.py:24 links.py:34 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove from folders" +msgstr "Scoateți documentele din directoare" -#: links.py:20 -msgid "Add to a folder" -msgstr "" +#: links.py:27 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to a folders" +msgstr "Add document to a folder" -#: links.py:24 -msgid "Add to folder" -msgstr "" +#: links.py:31 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to folders" +msgstr "Add document to a folder" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "Șterge" -#: links.py:36 -msgid "Remove from folder" -msgstr "" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "Editează" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Etichetă" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "Director" + +#: models.py:56 msgid "Document folder" msgstr "" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "" @@ -85,7 +97,6 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -94,7 +105,6 @@ msgid "Remove documents from folders" msgstr "Scoateți documentele din directoare" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -106,69 +116,126 @@ msgstr "" msgid "Primary key of the document to be added." msgstr "" -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "Trebuie selectat cel puțin un document." - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "Documentul:%(document)s a fost adăugat la directorul :%(folder)s cu succes." +msgid "Add to folder request performed on %(count)d document" +msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Add document to a folder" +msgstr[1] "Add document to a folder" +msgstr[2] "Add document to a folder" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add document: %s to folder." +msgid "Add document \"%s\" to folders" +msgstr "Add document: %s to folder." + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "Documentul: %(document)s este deja în directorul : %(folder)s." -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#: views.py:227 -msgid "Must provide at least one folder document." -msgstr "Trebuie selectat cel puțin un director." - -#: views.py:248 +#: views.py:200 #, python-format -msgid "Document: %s removed successfully." -msgstr "Document: % s eliminat cu succes." +msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgstr "" +"Documentul:%(document)s a fost adăugat la directorul :%(folder)s cu succes." -#: views.py:254 +#: views.py:212 #, python-format -msgid "Document: %(document)s delete error: %(error)s" -msgstr "Eroare %(error)s ştergere document %(document)s" +msgid "Remove from folder request performed on %(count)d document" +msgstr "" -#: views.py:267 +#: views.py:215 #, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "Scoateți documentele din directoare" +msgstr[1] "Scoateți documentele din directoare" +msgstr[2] "Scoateți documentele din directoare" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Remove documents from folders" +msgid "Remove document \"%s\" to folders" +msgstr "Scoateți documentele din directoare" + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s is not in folder: %(folder)s." +msgstr "Documentul: %(document)s este deja în directorul : %(folder)s." + +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "Documentul: %(document)s este deja în directorul : %(folder)s." + +#~ msgid "Must provide at least one document." +#~ msgstr "Trebuie selectat cel puțin un document." + +#~ msgid "Must provide at least one folder document." +#~ msgstr "Trebuie selectat cel puțin un director." + +#~ msgid "Document: %s removed successfully." +#~ msgstr "Document: % s eliminat cu succes." + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "Eroare %(error)s ştergere document %(document)s" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -206,21 +273,15 @@ msgstr[2] "" #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" -#~ msgid "Add document to a folder" -#~ msgstr "Add document to a folder" - -#~ msgid "Add document: %s to folder." -#~ msgstr "Add document: %s to folder." - #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -253,12 +314,12 @@ msgstr[2] "" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/folders/locale/ru/LC_MESSAGES/django.po b/mayan/apps/folders/locale/ru/LC_MESSAGES/django.po index 7b075a92c4..140342392a 100644 --- a/mayan/apps/folders/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/ru/LC_MESSAGES/django.po @@ -1,25 +1,28 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-02 04:15+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "Папки" @@ -27,51 +30,61 @@ msgstr "Папки" msgid "Created" msgstr "Создано" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "Документы" -#: forms.py:34 models.py:44 -msgid "Folder" -msgstr "Папка" +#: links.py:24 links.py:34 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove from folders" +msgstr "Удаление документов из папок" -#: links.py:20 -msgid "Add to a folder" -msgstr "" +#: links.py:27 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to a folders" +msgstr "Add document to a folder" -#: links.py:24 -msgid "Add to folder" -msgstr "" +#: links.py:31 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to folders" +msgstr "Add document to a folder" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "Удалить" -#: links.py:36 -msgid "Remove from folder" -msgstr "" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "Редактировать" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Надпись" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "Папка" + +#: models.py:56 msgid "Document folder" msgstr "" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "" @@ -84,7 +97,6 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -93,7 +105,6 @@ msgid "Remove documents from folders" msgstr "Удаление документов из папок" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -105,71 +116,127 @@ msgstr "" msgid "Primary key of the document to be added." msgstr "" -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "Необходимо указатьть хотя бы один документ." - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "Документ: %(document)s добавлен в папку: %(folder)s успешно." +msgid "Add to folder request performed on %(count)d document" +msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Add document to a folder" +msgstr[1] "Add document to a folder" +msgstr[2] "Add document to a folder" +msgstr[3] "Add document to a folder" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add document: %s to folder." +msgid "Add document \"%s\" to folders" +msgstr "Add document: %s to folder." + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "Документ: %(document)s is already in folder: %(folder)s." -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#: views.py:227 -msgid "Must provide at least one folder document." -msgstr "Должна быть хотя бы одна папка документов." - -#: views.py:248 +#: views.py:200 #, python-format -msgid "Document: %s removed successfully." -msgstr "Документ: %s успешно удален." +msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgstr "Документ: %(document)s добавлен в папку: %(folder)s успешно." -#: views.py:254 +#: views.py:212 #, python-format -msgid "Document: %(document)s delete error: %(error)s" -msgstr "Документ:%(document)s ошибка удаления: %(error)s" +msgid "Remove from folder request performed on %(count)d document" +msgstr "" -#: views.py:267 +#: views.py:215 #, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "Удаление документов из папок" +msgstr[1] "Удаление документов из папок" +msgstr[2] "Удаление документов из папок" +msgstr[3] "Удаление документов из папок" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Remove documents from folders" +msgid "Remove document \"%s\" to folders" +msgstr "Удаление документов из папок" + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s is not in folder: %(folder)s." +msgstr "Документ: %(document)s is already in folder: %(folder)s." + +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "Документ: %(document)s is already in folder: %(folder)s." + +#~ msgid "Must provide at least one document." +#~ msgstr "Необходимо указатьть хотя бы один документ." + +#~ msgid "Must provide at least one folder document." +#~ msgstr "Должна быть хотя бы одна папка документов." + +#~ msgid "Document: %s removed successfully." +#~ msgstr "Документ: %s успешно удален." + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "Документ:%(document)s ошибка удаления: %(error)s" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -207,21 +274,15 @@ msgstr[3] "" #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" -#~ msgid "Add document to a folder" -#~ msgstr "Add document to a folder" - -#~ msgid "Add document: %s to folder." -#~ msgstr "Add document: %s to folder." - #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -254,12 +315,12 @@ msgstr[3] "" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/folders/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/folders/locale/sl_SI/LC_MESSAGES/django.po index dc98b876bb..5d0a944e1f 100644 --- a/mayan/apps/folders/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/sl_SI/LC_MESSAGES/django.po @@ -1,25 +1,27 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-17 08:59+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "" @@ -27,51 +29,59 @@ msgstr "" msgid "Created" msgstr "" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "Dokumenti" -#: forms.py:34 models.py:44 -msgid "Folder" +#: links.py:24 links.py:34 +msgid "Remove from folders" msgstr "" -#: links.py:20 -msgid "Add to a folder" -msgstr "" +#: links.py:27 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to a folders" +msgstr "Add document to a folder" -#: links.py:24 -msgid "Add to folder" -msgstr "" +#: links.py:31 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to folders" +msgstr "Add document to a folder" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "" -#: links.py:36 -msgid "Remove from folder" -msgstr "" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Oznaka" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "" + +#: models.py:56 msgid "Document folder" msgstr "" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "" @@ -84,7 +94,6 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -93,7 +102,6 @@ msgid "Remove documents from folders" msgstr "" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -105,71 +113,118 @@ msgstr "" msgid "Primary key of the document to be added." msgstr "" -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "Potrebno je podati vsaj en dokument" - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgid "Add to folder request performed on %(count)d document" msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Add document to a folder" +msgstr[1] "Add document to a folder" +msgstr[2] "Add document to a folder" +msgstr[3] "Add document to a folder" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add document: %s to folder." +msgid "Add document \"%s\" to folders" +msgstr "Add document: %s to folder." + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "" -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#: views.py:227 -msgid "Must provide at least one folder document." +#: views.py:200 +#, python-format +msgid "Document: %(document)s added to folder: %(folder)s successfully." msgstr "" -#: views.py:248 +#: views.py:212 #, python-format -msgid "Document: %s removed successfully." +msgid "Remove from folder request performed on %(count)d document" msgstr "" -#: views.py:254 +#: views.py:215 #, python-format -msgid "Document: %(document)s delete error: %(error)s" +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "Add document to a folder" +msgstr[1] "Add document to a folder" +msgstr[2] "Add document to a folder" +msgstr[3] "Add document to a folder" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Add document: %s to folder." +msgid "Remove document \"%s\" to folders" +msgstr "Add document: %s to folder." + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s delete error: %(error)s" +msgid "Document: %(document)s is not in folder: %(folder)s." msgstr "Dokument: %(document)s napaka brisanja:%(error)s" -#: views.py:267 -#, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s delete error: %(error)s" +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "Dokument: %(document)s napaka brisanja:%(error)s" + +#~ msgid "Must provide at least one document." +#~ msgstr "Potrebno je podati vsaj en dokument" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -207,21 +262,15 @@ msgstr[3] "" #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" -#~ msgid "Add document to a folder" -#~ msgstr "Add document to a folder" - -#~ msgid "Add document: %s to folder." -#~ msgstr "Add document: %s to folder." - #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -254,12 +303,12 @@ msgstr[3] "" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/folders/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/folders/locale/vi_VN/LC_MESSAGES/django.po index 58601cfeef..e752edf530 100644 --- a/mayan/apps/folders/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Trung Phan Minh , 2013 @@ -9,18 +9,19 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "Các thư mục" @@ -28,51 +29,61 @@ msgstr "Các thư mục" msgid "Created" msgstr "" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "Tài liệu" -#: forms.py:34 models.py:44 -msgid "Folder" -msgstr "Thư mục" +#: links.py:24 links.py:34 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove from folders" +msgstr "Xóa các tài liệu từ các thư mục" -#: links.py:20 -msgid "Add to a folder" -msgstr "" +#: links.py:27 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to a folders" +msgstr "Add document to a folder" -#: links.py:24 -msgid "Add to folder" -msgstr "" +#: links.py:31 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to folders" +msgstr "Add document to a folder" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "" -#: links.py:36 -msgid "Remove from folder" -msgstr "" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "Sửa" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "Thư mục" + +#: models.py:56 msgid "Document folder" msgstr "" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "" @@ -85,7 +96,6 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -94,7 +104,6 @@ msgid "Remove documents from folders" msgstr "Xóa các tài liệu từ các thư mục" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -106,65 +115,121 @@ msgstr "" msgid "Primary key of the document to be added." msgstr "" -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "Cần cung cấp ít nhất một tài liệu." - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "Tài liệu: %(document)s được thêm vào thư mục: %(folder)s thành công." +msgid "Add to folder request performed on %(count)d document" +msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Add document to a folder" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add document: %s to folder." +msgid "Add document \"%s\" to folders" +msgstr "Add document: %s to folder." + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "Tài liệu: %(document)s đã tồn tại trong thư mục: %(folder)s." -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "" - -#: views.py:227 -msgid "Must provide at least one folder document." -msgstr "Cần cung cấp ít nhất một thư mục tài liệu." - -#: views.py:248 +#: views.py:200 #, python-format -msgid "Document: %s removed successfully." -msgstr "Tài liệu: %s đã xóa thành công." +msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgstr "Tài liệu: %(document)s được thêm vào thư mục: %(folder)s thành công." -#: views.py:254 +#: views.py:212 #, python-format -msgid "Document: %(document)s delete error: %(error)s" -msgstr "Tài liệu: %(document)s lỗi xóa: %(error)s" +msgid "Remove from folder request performed on %(count)d document" +msgstr "" -#: views.py:267 +#: views.py:215 #, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "" +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "Xóa các tài liệu từ các thư mục" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Remove documents from folders" +msgid "Remove document \"%s\" to folders" +msgstr "Xóa các tài liệu từ các thư mục" + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s is not in folder: %(folder)s." +msgstr "Tài liệu: %(document)s đã tồn tại trong thư mục: %(folder)s." + +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "Tài liệu: %(document)s đã tồn tại trong thư mục: %(folder)s." + +#~ msgid "Must provide at least one document." +#~ msgstr "Cần cung cấp ít nhất một tài liệu." + +#~ msgid "Must provide at least one folder document." +#~ msgstr "Cần cung cấp ít nhất một thư mục tài liệu." + +#~ msgid "Document: %s removed successfully." +#~ msgstr "Tài liệu: %s đã xóa thành công." + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "Tài liệu: %(document)s lỗi xóa: %(error)s" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -202,21 +267,15 @@ msgstr[0] "" #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" -#~ msgid "Add document to a folder" -#~ msgstr "Add document to a folder" - -#~ msgid "Add document: %s to folder." -#~ msgstr "Add document: %s to folder." - #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -249,12 +308,12 @@ msgstr[0] "" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/folders/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/folders/locale/zh_CN/LC_MESSAGES/django.po index 6f7b1920a3..16fca3a4ef 100644 --- a/mayan/apps/folders/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -9,18 +9,19 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:54-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:33 links.py:16 links.py:44 models.py:45 permissions.py:7 -#: views.py:104 +#: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 +#: views.py:95 msgid "Folders" msgstr "文件夹" @@ -28,51 +29,61 @@ msgstr "文件夹" msgid "Created" msgstr "" -#: apps.py:71 links.py:47 models.py:26 +#: apps.py:71 links.py:56 models.py:24 msgid "Documents" msgstr "文档" -#: forms.py:34 models.py:44 -msgid "Folder" -msgstr "文件夹" +#: links.py:24 links.py:34 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove from folders" +msgstr "从文件夹中移除文档" -#: links.py:20 -msgid "Add to a folder" -msgstr "" +#: links.py:27 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to a folders" +msgstr "Add document to a folder" -#: links.py:24 -msgid "Add to folder" -msgstr "" +#: links.py:31 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add to folders" +msgstr "Add document to a folder" -#: links.py:27 views.py:42 +#: links.py:42 views.py:37 msgid "Create folder" msgstr "" -#: links.py:32 +#: links.py:46 msgid "Delete" msgstr "" -#: links.py:36 -msgid "Remove from folder" -msgstr "" - -#: links.py:40 +#: links.py:49 msgid "Edit" msgstr "" -#: models.py:20 +#: links.py:53 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "" -#: models.py:23 +#: models.py:21 msgid "Datetime created" msgstr "" -#: models.py:63 +#: models.py:42 +msgid "Folder" +msgstr "文件夹" + +#: models.py:56 msgid "Document folder" msgstr "" -#: models.py:64 +#: models.py:57 msgid "Document folders" msgstr "" @@ -85,7 +96,6 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 -#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -94,7 +104,6 @@ msgid "Remove documents from folders" msgstr "从文件夹中移除文档" #: permissions.py:22 -#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -106,65 +115,121 @@ msgstr "" msgid "Primary key of the document to be added." msgstr "" -#: views.py:54 +#: views.py:49 #, python-format -#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" -#: views.py:66 +#: views.py:61 #, python-format msgid "Documents in folder: %s" msgstr "" -#: views.py:93 +#: views.py:84 #, python-format msgid "Edit folder: %s" msgstr "" -#: views.py:127 +#: views.py:116 #, python-format msgid "Folders containing document: %s" msgstr "" -#: views.py:141 -msgid "Must provide at least one document." -msgstr "至少要有一个文档" - -#: views.py:175 +#: views.py:127 #, python-format -msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "文档 %(document)s 成功添加到文件夹: %(folder)s。" +msgid "Add to folder request performed on %(count)d document" +msgstr "" -#: views.py:184 +#: views.py:130 +#, python-format +msgid "Add to folder request performed on %(count)d documents" +msgstr "" + +#: views.py:137 +msgid "Add" +msgstr "" + +#: views.py:139 +#, fuzzy +#| msgid "Add document to a folder" +msgid "Add document to folders" +msgid_plural "Add documents to folders" +msgstr[0] "Add document to a folder" + +#: views.py:150 +#, fuzzy, python-format +#| msgid "Add document: %s to folder." +msgid "Add document \"%s\" to folders" +msgstr "Add document: %s to folder." + +#: views.py:161 +msgid "Folders to which the selected documents will be added." +msgstr "" + +#: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." msgstr "文档: %(document)s已经存在于文件夹: %(folder)s." -#: views.py:205 -msgid "Add document to folder" -msgid_plural "Add documents to folder" -msgstr[0] "" - -#: views.py:227 -msgid "Must provide at least one folder document." -msgstr "必须提供至少一个文件夹文档" - -#: views.py:248 +#: views.py:200 #, python-format -msgid "Document: %s removed successfully." -msgstr "文档:%s移除成功" +msgid "Document: %(document)s added to folder: %(folder)s successfully." +msgstr "文档 %(document)s 成功添加到文件夹: %(folder)s。" -#: views.py:254 +#: views.py:212 #, python-format -msgid "Document: %(document)s delete error: %(error)s" -msgstr "文档: %(document)s 删除错误:%(error)s" +msgid "Remove from folder request performed on %(count)d document" +msgstr "" -#: views.py:267 +#: views.py:215 #, python-format -msgid "Remove the selected document from the folder: %(folder)s?" -msgid_plural "Remove the selected documents from the folder: %(folder)s?" -msgstr[0] "" +msgid "Remove from folder request performed on %(count)d documents" +msgstr "" + +#: views.py:222 +msgid "Remove" +msgstr "" + +#: views.py:224 +#, fuzzy +#| msgid "Remove documents from folders" +msgid "Remove document from folders" +msgid_plural "Remove documents from folders" +msgstr[0] "从文件夹中移除文档" + +#: views.py:235 +#, fuzzy, python-format +#| msgid "Remove documents from folders" +msgid "Remove document \"%s\" to folders" +msgstr "从文件夹中移除文档" + +#: views.py:246 +msgid "Folders from which the selected documents will be removed." +msgstr "" + +#: views.py:273 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s is not in folder: %(folder)s." +msgstr "文档: %(document)s已经存在于文件夹: %(folder)s." + +#: views.py:282 +#, fuzzy, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." +msgid "Document: %(document)s removed from folder: %(folder)s." +msgstr "文档: %(document)s已经存在于文件夹: %(folder)s." + +#~ msgid "Must provide at least one document." +#~ msgstr "至少要有一个文档" + +#~ msgid "Must provide at least one folder document." +#~ msgstr "必须提供至少一个文件夹文档" + +#~ msgid "Document: %s removed successfully." +#~ msgstr "文档:%s移除成功" + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "文档: %(document)s 删除错误:%(error)s" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -202,21 +267,15 @@ msgstr[0] "" #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" -#~ msgid "Add document to a folder" -#~ msgstr "Add document to a folder" - -#~ msgid "Add document: %s to folder." -#~ msgstr "Add document: %s to folder." - #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" -#~ " \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the " +#~ "folder \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -249,12 +308,12 @@ msgstr[0] "" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to let " -#~ "individual users create their own document organization methods. Folders " -#~ "created by one user and the documents contained by them don't affect any " -#~ "other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to " +#~ "let individual users create their own document organization methods. " +#~ "Folders created by one user and the documents contained by them don't " +#~ "affect any other user folders or documents." diff --git a/mayan/apps/linking/locale/ar/LC_MESSAGES/django.po b/mayan/apps/linking/locale/ar/LC_MESSAGES/django.po index 7c0faec79f..d6b885bdc6 100644 --- a/mayan/apps/linking/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -9,33 +9,35 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "" @@ -55,11 +57,11 @@ msgstr "تحرير" msgid "Conditions" msgstr "" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "إنشاء ارتباط ذكي جديد" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "" @@ -67,8 +69,8 @@ msgstr "" msgid "Documents" msgstr "الوثائق" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "الروابط الذكية" @@ -140,55 +142,55 @@ msgstr "is in regular expression" msgid "is in regular expression (case insensitive)" msgstr "is in regular expression (case insensitive)" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." msgstr "" -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." msgstr "" -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "يتم تجاهل الإدراج للغرض الأول." -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "" -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "Inverts the logic of the operator." -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "not" -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "" @@ -208,67 +210,77 @@ msgstr "حذف الروابط الذكية" msgid "Edit smart links" msgstr "تحرير الروابط الذكية" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, python-format +msgid "No such document type: %s" +msgstr "" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "خطأ بالاستعلام عن الرابط الذكي: %s" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "" -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "تحرير الرابط الذكي: %s" -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "أضف شرط جديد للرابط الذكي: \"%s\"" -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "تحرير شرط الرابط الذكي" -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -376,14 +388,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/bg/LC_MESSAGES/django.po b/mayan/apps/linking/locale/bg/LC_MESSAGES/django.po index 7ea2d74596..c394cbfcc9 100644 --- a/mayan/apps/linking/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pavlin Koldamov , 2012 @@ -9,33 +9,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "" @@ -55,11 +56,11 @@ msgstr "Редактиране" msgid "Conditions" msgstr "" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "" @@ -67,8 +68,8 @@ msgstr "" msgid "Documents" msgstr "Документи" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "" @@ -140,55 +141,55 @@ msgstr "" msgid "is in regular expression (case insensitive)" msgstr "" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." msgstr "" -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." msgstr "" -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "" -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "" -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "" -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "не" -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "" @@ -208,67 +209,77 @@ msgstr "" msgid "Edit smart links" msgstr "" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, python-format +msgid "No such document type: %s" +msgstr "" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "" -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "" -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "" -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "" -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -376,14 +387,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/linking/locale/bs_BA/LC_MESSAGES/django.po index 0f44c3592b..e9e1495109 100644 --- a/mayan/apps/linking/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -9,33 +9,35 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "" @@ -55,11 +57,11 @@ msgstr "Urediti" msgid "Conditions" msgstr "" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "Kreiraj novi smart link" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "" @@ -67,8 +69,8 @@ msgstr "" msgid "Documents" msgstr "Dokumenti" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "Smart linkovi" @@ -140,55 +142,55 @@ msgstr "je u regularnom izrazu" msgid "is in regular expression (case insensitive)" msgstr "je u regularnom izrazu (nije bitno velika ili mala slova)" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." msgstr "" -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." msgstr "" -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "Inkluzija je ignorisana za prvu stavku" -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "" -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "Obrće logiku operatora" -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "ne" -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "" @@ -208,67 +210,77 @@ msgstr "Obrisati smart linkove" msgid "Edit smart links" msgstr "Izmjeni smart linkove" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, python-format +msgid "No such document type: %s" +msgstr "" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "Greška smart link upita: %s" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "" -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "Izmjeni smart link: %s" -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "Dodati nove uslove za smart link: \"%s\"" -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "Izmjeniti uslove smart linka" -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -376,14 +388,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/da/LC_MESSAGES/django.po b/mayan/apps/linking/locale/da/LC_MESSAGES/django.po index d43088399a..b5d13031ab 100644 --- a/mayan/apps/linking/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/da/LC_MESSAGES/django.po @@ -1,40 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "" @@ -54,11 +55,11 @@ msgstr "" msgid "Conditions" msgstr "" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "" @@ -66,8 +67,8 @@ msgstr "" msgid "Documents" msgstr "Dokumenter" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "" @@ -139,55 +140,55 @@ msgstr "" msgid "is in regular expression (case insensitive)" msgstr "" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." msgstr "" -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." msgstr "" -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "" -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "" -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "" -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "" -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "" @@ -207,67 +208,77 @@ msgstr "" msgid "Edit smart links" msgstr "" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, python-format +msgid "No such document type: %s" +msgstr "" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "" -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "" -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "" -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "" -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -375,14 +386,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/linking/locale/de_DE/LC_MESSAGES/django.po index 3ed5cd7193..08b2e9a951 100644 --- a/mayan/apps/linking/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mathias Behrle , 2014 @@ -12,33 +12,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "Verknüpfungen" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "Bezeichnung" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "Dynamische Bezeichnung" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "Aktiviert" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "Fremddokumentattribut" @@ -58,11 +59,11 @@ msgstr "Bearbeiten" msgid "Conditions" msgstr "Bedingungen" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "Smart Link erstellen" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "Dokumententypen" @@ -70,8 +71,8 @@ msgstr "Dokumententypen" msgid "Documents" msgstr "Dokumente" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "Ähnliche Dokumente" @@ -143,55 +144,58 @@ msgstr "ist in regulärem Ausdruck" msgid "is in regular expression (case insensitive)" msgstr "ist in regulärem Ausdruck (ohne Groß/Kleinschreibung)" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." -msgstr "Eine Vorlage zur Verarbeitung eingeben (Django Standard Templating Sprache (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). Die {{ document }} Kontextvariable ist verfügbar." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." +msgstr "" +"Eine Vorlage zur Verarbeitung eingeben (Django Standard Templating Sprache " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). Die " +"{{ document }} Kontextvariable ist verfügbar." -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "Fehler bei der Generierung des dynamischen Titels: %s" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." msgstr "Dieser Smart Link ist nicht erlaubt für diesen Dokumententyp" -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "Smart Link" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "Die Einbeziehung wird für das erste Element ignoriert." -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "Repräsentiert die Metadaten aller anderen Dokumente" -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "Ausdruck" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "Kehrt die Logik der Operation um." -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "Verneint" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "Nicht" -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "Bedingung" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "Bedingungen" @@ -211,67 +215,79 @@ msgstr "Smart Links löschen" msgid "Edit smart links" msgstr "Smart Links bearbeiten" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, fuzzy, python-format +#| msgid "Document types" +msgid "No such document type: %s" +msgstr "Dokumententypen" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "Abfragefehler für Smart Link %s" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "Ähnliche Dokumente für %s" -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" -msgstr "Dokumente in Smart Link \"%(smart_link)s\" verknüpft zu \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgstr "" +"Dokumente in Smart Link \"%(smart_link)s\" verknüpft zu \"%(document)s\"" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "Verfügbare Dokumententypen" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "Aktivierte Dokumententypen" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "Dokumententyp, für den Smart Link %s aktiviert werden soll" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "Ähnliche Dokumente für Dokument %s" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "Smart Link %s bearbeiten" -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "Smart Link %s wirklich löschen?" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "Bedingungen für Smart Link %s" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "Neue Bedingungen zu Smart Link \"%s\" hinzufügen" -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "Bedingung für Smart Link bearbeiten" -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "Bedingung für Smart Link \"%s\" wirklich löschen?" @@ -379,14 +395,14 @@ msgstr "Bedingung für Smart Link \"%s\" wirklich löschen?" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/en/LC_MESSAGES/django.po b/mayan/apps/linking/locale/en/LC_MESSAGES/django.po index 01b93212bf..ac40d29227 100644 --- a/mayan/apps/linking/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2012-12-12 06:06+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" @@ -18,25 +18,25 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 #, fuzzy msgid "Dynamic label" msgstr "dynamic title" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 #, fuzzy msgid "Enabled" msgstr "enabled" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 #, fuzzy msgid "Foreign document attribute" msgstr "foreign document data" @@ -60,11 +60,11 @@ msgstr "" msgid "Conditions" msgstr "conditions" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "Create new smart link" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "" @@ -72,8 +72,8 @@ msgstr "" msgid "Documents" msgstr "" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "Smart links" @@ -145,59 +145,59 @@ msgstr "is in regular expression" msgid "is in regular expression (case insensitive)" msgstr "is in regular expression (case insensitive)" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " "{{ document }} context variable is available." msgstr "" -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." msgstr "" -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 #, fuzzy msgid "Smart link" msgstr "Smart links" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "The inclusion is ignored for the first item." -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "" -#: models.py:118 +#: models.py:121 #, fuzzy msgid "Expression" msgstr "expression" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "Inverts the logic of the operator." -#: models.py:122 +#: models.py:125 #, fuzzy msgid "Negated" msgstr "negated" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "not" -#: models.py:134 +#: models.py:137 #, fuzzy msgid "Link condition" msgstr "link condition" -#: models.py:135 +#: models.py:138 #, fuzzy msgid "Link conditions" msgstr "link conditions" @@ -218,66 +218,77 @@ msgstr "Delete smart links" msgid "Edit smart links" msgstr "Edit smart links" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, python-format +msgid "No such document type: %s" +msgstr "" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "Smart link query error: %s" -#: views.py:78 +#: views.py:68 #, fuzzy, python-format msgid "Documents in smart link: %s" msgstr "documents in smart link: %(group)s" -#: views.py:81 +#: views.py:71 #, fuzzy, python-format msgid "" "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "Error deleting smart link: %(smart_link)s; %(error)s." -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "" -#: views.py:108 +#: views.py:98 #, fuzzy, python-format msgid "Document type for which to enable smart link: %s" msgstr "Are you sure you wish to delete smart link: %s?" -#: views.py:173 +#: views.py:159 #, fuzzy, python-format msgid "Smart links for document: %s" msgstr "smart links (%s)" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "Edit smart link: %s" -#: views.py:210 +#: views.py:194 #, fuzzy, python-format #| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "Delete smart links" -#: views.py:222 +#: views.py:206 #, fuzzy, python-format msgid "Conditions for smart link: %s" msgstr "conditions for smart link: %s" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "Add new conditions to smart link: \"%s\"" -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "Edit smart link condition" -#: views.py:334 +#: views.py:304 #, fuzzy, python-format #| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" diff --git a/mayan/apps/linking/locale/es/LC_MESSAGES/django.po b/mayan/apps/linking/locale/es/LC_MESSAGES/django.po index c8a4ba799e..d7c920794f 100644 --- a/mayan/apps/linking/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 @@ -11,33 +11,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-05-09 01:40+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "Enlaces" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "Etiqueta" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "Etiqueta dinámica" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "Habilitado" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "Datos de documento foráneo" @@ -57,11 +58,11 @@ msgstr "Editar" msgid "Conditions" msgstr "Condiciones" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "Crear un enlace inteligente nuevo" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "Tipos de documento" @@ -69,8 +70,8 @@ msgstr "Tipos de documento" msgid "Documents" msgstr "Documentos" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "Enlaces inteligentes" @@ -142,55 +143,60 @@ msgstr "está en la expresión regular" msgid "is in regular expression (case insensitive)" msgstr "está en la expresión regular (no sensible a mayúsculas)" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." -msgstr "Introduzca una plantilla para generar. Use el lenguaje de plantillas de Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). La variable {{ document }} está disponible en el contexto de la plantilla." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." +msgstr "" +"Introduzca una plantilla para generar. Use el lenguaje de plantillas de " +"Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). La " +"variable {{ document }} está disponible en el contexto de la plantilla." -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "Error generando etiqueta dinámica; %s" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." -msgstr "Este enlace inteligente no está permitido para el tipo de documento seleccionado." +msgstr "" +"Este enlace inteligente no está permitido para el tipo de documento " +"seleccionado." -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "Enlace inteligente" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "La inclusión es ignorada para el primer artículo." -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "Esto representa los meta datos de los documentos foráneos." -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "Expresión" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "Invierte la lógica del operador." -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "Negado" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "no" -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "Condición de enlace" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "Condiciones de enlace" @@ -210,67 +216,80 @@ msgstr "Eliminar enlaces inteligentes" msgid "Edit smart links" msgstr "Editar enlaces inteligentes" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, fuzzy, python-format +#| msgid "Document types" +msgid "No such document type: %s" +msgstr "Tipos de documento" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "Error en consulta de enlace inteligente: %s" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "Documentos en enlace inteligente: %s" -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" -msgstr "Los documentos en enlace inteligente \"%(smart_link)s\" en relación con \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgstr "" +"Los documentos en enlace inteligente \"%(smart_link)s\" en relación con " +"\"%(document)s\"" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "Tipos de documentos disponibles" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "Tipos de documentos seleccionados" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "Tipo de documento para el cual habilitar el enlace inteligente: %s" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "Enlaces inteligentes para el documento: %s" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "Editar enlace inteligente: %s" -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "Borrar enlace inteligente: %s" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "Condiciones para enlace inteligente: %s" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "Añadir nuevas condiciones de enlace inteligente: \"%s\"" -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "Editar condición de enlace inteligente" -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "¿Borrar condición de enlace inteligente: \"%s\"?" @@ -378,14 +397,14 @@ msgstr "¿Borrar condición de enlace inteligente: \"%s\"?" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/fa/LC_MESSAGES/django.po b/mayan/apps/linking/locale/fa/LC_MESSAGES/django.po index 95490a2616..80cfc88272 100644 --- a/mayan/apps/linking/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammad Dashtizadeh , 2013 @@ -9,33 +9,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "برچسب" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "فعال شده" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "مختصات سند خارجی" @@ -55,11 +56,11 @@ msgstr "ویرایش" msgid "Conditions" msgstr "شرایط" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "ایجاد پیوند هوشمند جدید" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "انواع مستندات" @@ -67,8 +68,8 @@ msgstr "انواع مستندات" msgid "Documents" msgstr "مستندات" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "پیوند هوشمند" @@ -140,55 +141,55 @@ msgstr "موجود در عبارات منظم" msgid "is in regular expression (case insensitive)" msgstr "موجود در عبارات منظم (case insensitive)" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." msgstr "" -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." msgstr "این لینک هوشمند برای نوع سند منتخب مجاز نیست" -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "پیوند هوشمند" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "ورود اولین آیتم در نطر گرفته نشد." -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "این مورد نشانگر متا داده تمامی اسناد می باشد." -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "عبارت" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "منطق عملگر را برعکس میکند." -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "منفی شده" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "نه " -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "شرط پیوند" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "شرایط پیوند" @@ -208,67 +209,78 @@ msgstr "حذف پیوند هوشمند " msgid "Edit smart links" msgstr "ویرایش پیوند هوشمند " -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, fuzzy, python-format +#| msgid "Document types" +msgid "No such document type: %s" +msgstr "انواع مستندات" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "خطای پرسش query از پیوند هوشمند : %s" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "اسناد در لینک هوشمند: %s" -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "نوع سند برای فعالسازی لینک هوشمند: %s" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "ارتباطات هوشمند برای سند :%s" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "ویرایش پیوند هوشمند %s" -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "شرایط پیوند هوشمند : %s" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "اضافه کردن شرط جدید به پیوند هوشمند \"%s\"" -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "ویرایش شرط پیوند هوشمند \"%s\"" -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -376,14 +388,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/fr/LC_MESSAGES/django.po b/mayan/apps/linking/locale/fr/LC_MESSAGES/django.po index 69d42feab8..19090b44b1 100644 --- a/mayan/apps/linking/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pierre Lhoste , 2012 @@ -10,33 +10,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "Liaison" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "Libellé" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "Etiquette dynamique" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "Activé" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "Attribut étranger du document " @@ -56,11 +57,11 @@ msgstr "Modifier" msgid "Conditions" msgstr "Conditions" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "Céer un nouveau lien intelligent" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "Types de document" @@ -68,8 +69,8 @@ msgstr "Types de document" msgid "Documents" msgstr "Documents" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "Liens intelligents" @@ -141,55 +142,59 @@ msgstr "est une expression régulière" msgid "is in regular expression (case insensitive)" msgstr "est une expression régulière (insensible à la casse)" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." -msgstr "Indiquez un modèle à restituer. Utilise le langage de rendu de Django par défaut (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). La variable de contexte {{ document }} est disponible." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." +msgstr "" +"Indiquez un modèle à restituer. Utilise le langage de rendu de Django par " +"défaut (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). La " +"variable de contexte {{ document }} est disponible." -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "Erreur de génération de l'étiquette dynamique : %s" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." -msgstr "Un lien intelligent n'est pas autorisé pour le type de document sélectionné." +msgstr "" +"Un lien intelligent n'est pas autorisé pour le type de document sélectionné." -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "Lien intelligent" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "Ignorer l'inclusion sur le premier élément" -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "Ceci représente la méta-donnée de tous les autres documents." -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "Expression" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "Inverser l'opérateur logique" -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "Négation" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "ne pas" -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "Condition sur le lien" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "Conditions sur le lien" @@ -209,67 +214,80 @@ msgstr "Supprimer les liens intelligents" msgid "Edit smart links" msgstr "Modifier les liens intelligents" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, fuzzy, python-format +#| msgid "Document types" +msgid "No such document type: %s" +msgstr "Types de document" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "Erreur de requête sur lien intelligent:%s" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "Lien inetlligent du document: %s" -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" -msgstr "Documents du lien intelligent \"%(smart_link)s\" en relation avec \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgstr "" +"Documents du lien intelligent \"%(smart_link)s\" en relation avec " +"\"%(document)s\"" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "Types de document disponible" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "Types de documents actifs" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "Type de document sur lesquels activer les liens intelligents: %s" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "Liens intelligents pour le document: %s" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "Modifier le lien intelligent:%s" -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "Supprimer le lien intelligent : %s" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "Conditions sur le lien intelligent: %s" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "Ajouter une nouvelle condition au lien intelligent:\"%s\"" -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "Modifier la condition sur le lien intelligent" -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "Supprimer la condition du lien intelligent : \"%s\" ?" @@ -377,14 +395,14 @@ msgstr "Supprimer la condition du lien intelligent : \"%s\" ?" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/hu/LC_MESSAGES/django.po b/mayan/apps/linking/locale/hu/LC_MESSAGES/django.po index bbe5bb1871..7da6e4ada6 100644 --- a/mayan/apps/linking/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/hu/LC_MESSAGES/django.po @@ -1,40 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "" @@ -54,11 +55,11 @@ msgstr "" msgid "Conditions" msgstr "" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "" @@ -66,8 +67,8 @@ msgstr "" msgid "Documents" msgstr "dokumentumok" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "" @@ -139,55 +140,55 @@ msgstr "" msgid "is in regular expression (case insensitive)" msgstr "" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." msgstr "" -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." msgstr "" -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "" -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "" -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "" -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "" -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "" @@ -207,67 +208,77 @@ msgstr "" msgid "Edit smart links" msgstr "" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, python-format +msgid "No such document type: %s" +msgstr "" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "" -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "" -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "" -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "" -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -375,14 +386,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/id/LC_MESSAGES/django.po b/mayan/apps/linking/locale/id/LC_MESSAGES/django.po index 4dfd49a886..7527bf07a1 100644 --- a/mayan/apps/linking/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/id/LC_MESSAGES/django.po @@ -1,40 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "" @@ -54,11 +55,11 @@ msgstr "" msgid "Conditions" msgstr "" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "" @@ -66,8 +67,8 @@ msgstr "" msgid "Documents" msgstr "Dokumen" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "" @@ -139,55 +140,55 @@ msgstr "" msgid "is in regular expression (case insensitive)" msgstr "" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." msgstr "" -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." msgstr "" -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "" -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "" -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "" -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "" -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "" @@ -207,67 +208,77 @@ msgstr "" msgid "Edit smart links" msgstr "" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, python-format +msgid "No such document type: %s" +msgstr "" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "" -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "" -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "" -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "" -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -375,14 +386,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/it/LC_MESSAGES/django.po b/mayan/apps/linking/locale/it/LC_MESSAGES/django.po index 7a91f099b4..97feb29779 100644 --- a/mayan/apps/linking/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Marco Camplese , 2016 @@ -10,33 +10,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-09-24 10:31+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "Collegamento" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "Etichetta" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "Etichetta dinamica" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "Abilitato" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "Attributo documento esterno" @@ -56,11 +57,11 @@ msgstr "Modifica" msgid "Conditions" msgstr "Condizioni" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "Crea un nuovo link intelligente" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "Tipi di documento" @@ -68,8 +69,8 @@ msgstr "Tipi di documento" msgid "Documents" msgstr "Documenti" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "Link intelligenti" @@ -141,55 +142,59 @@ msgstr "è un'espressione regolare" msgid "is in regular expression (case insensitive)" msgstr "è un'espressione regolare (case insensitive)" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." -msgstr "Inserisci il template da renderizzare. Usa il linguaggio di template di Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). Variabili di contesto disponibili: {{ document }} " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." +msgstr "" +"Inserisci il template da renderizzare. Usa il linguaggio di template di " +"Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). " +"Variabili di contesto disponibili: {{ document }} " -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "Errore generando l'etichetta dinamica; %s" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." -msgstr "Questo link intelligente non è consentito per questo tipo di documento." +msgstr "" +"Questo link intelligente non è consentito per questo tipo di documento." -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "Link intelligente" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "L'inserimento viene ignorato per la prima voce." -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "Questo rappresenta i metadati degli altri documenti." -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "Espressione" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "Inverti la logica dell'operazione" -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "Negato" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "not" -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "Condizione link" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "Condizioni link" @@ -209,67 +214,80 @@ msgstr "Cancella link intelligenti" msgid "Edit smart links" msgstr "Modifica link intelligenti" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, fuzzy, python-format +#| msgid "Document types" +msgid "No such document type: %s" +msgstr "Tipi di documento" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "Interrogazione dei link intelligenti, errore: %s" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "Documenti nel link intelligente: %s" -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" -msgstr "Documenti nel link intelligente: \"%(smart_link)s\" è correlato con \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgstr "" +"Documenti nel link intelligente: \"%(smart_link)s\" è correlato con " +"\"%(document)s\"" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "Tipi di documento disponibili" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "Tipi documento abilitati" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "Tipo di documento per il quale attivare collegamento intelligente: %s" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "Collegamenti intelligenti per il documento: %s" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "Modifica il link intelligente: %s" -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "Cancella collegamento intelligente: %s" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "Condizioni per il collegamento intelligente: %s" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "Aggiungi una nuova condizione al link intelligente: \"%s\"" -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "Modifica condizioni per i link intelligenti" -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "Cancella condizione collegamento intelligente: \"%s\" ?" @@ -377,14 +395,14 @@ msgstr "Cancella condizione collegamento intelligente: \"%s\" ?" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/linking/locale/nl_NL/LC_MESSAGES/django.po index 1c84a40b76..2f24da038b 100644 --- a/mayan/apps/linking/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -10,33 +10,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-09 15:56+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "Koppeling" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "Label" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "Dynamisch label" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "Ingeschakeld" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "" @@ -56,11 +57,11 @@ msgstr "bewerken" msgid "Conditions" msgstr "Conditie" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "Nieuwe 'smartlink' aanmaken" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "Documentsoorten" @@ -68,8 +69,8 @@ msgstr "Documentsoorten" msgid "Documents" msgstr "Documenten" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "'Smartlinks'" @@ -141,55 +142,55 @@ msgstr "komt overeen met 'reguliere expressie'" msgid "is in regular expression (case insensitive)" msgstr "komt overeen met 'reguliere expressie (hoofdletter ongevoelig)" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." msgstr "" -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." msgstr "" -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "Slimme link" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "De berekening is genegeerd voor het eerste item" -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "" -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "Uitdrukking" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "Inverteerd de operatorlogica" -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "niet" -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "" @@ -209,67 +210,78 @@ msgstr "Verwijderen 'smartlinks'" msgid "Edit smart links" msgstr "Verwijderen 'smartlinks'" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, fuzzy, python-format +#| msgid "Document types" +msgid "No such document type: %s" +msgstr "Documentsoorten" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "'smartlink' zoek fout: %s" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "" -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "Beschikbare documentsoorten" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "'smartlink': %s bewerken." -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "Nieuwe condities aan 'smartlink': \"%s\" toevoegen." -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "Bewerk 'smartlink' conditie." -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -377,14 +389,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/pl/LC_MESSAGES/django.po b/mayan/apps/linking/locale/pl/LC_MESSAGES/django.po index f26283a1a3..91534b9b21 100644 --- a/mayan/apps/linking/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # mic , 2012,2015 @@ -10,33 +10,35 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "Łącza" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "Etykieta" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "Dynamiczna etykieta" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "Włączony" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "Atrybut obcego dokumentu" @@ -56,11 +58,11 @@ msgstr "Edytuj" msgid "Conditions" msgstr "Warunki" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "Utwórz nowe łącze" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "Typy dokumentów" @@ -68,8 +70,8 @@ msgstr "Typy dokumentów" msgid "Documents" msgstr "Dokumenty" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "Łącza" @@ -141,55 +143,58 @@ msgstr "jest w wyrażeniu regularnym" msgid "is in regular expression (case insensitive)" msgstr "jest w wyrażeniu regularnym (wielkość liter ma znaczenie)" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." -msgstr "Podaj szablon do wyrenderowania. Użyj domyślnego języka szablonów Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). Zmienna kontekstowa {{ document }} jest dostępna." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." +msgstr "" +"Podaj szablon do wyrenderowania. Użyj domyślnego języka szablonów Django " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). Zmienna " +"kontekstowa {{ document }} jest dostępna." -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "Błąd podczas generowania dynamicznej etykiety: %s" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." msgstr "To łącze nie jest dostępne dla wybranego typu dokumentu." -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "Łącze" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "To wliczenie jest ignorowane dla pierwszego elementu." -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "To odpowiada meta danym wszystkich pozostałych dokumentów." -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "Wyrażenie" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "Odwraca logikę operatora." -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "Zanegowany" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "nie" -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "Warunek łącza" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "Warunki łącza" @@ -209,67 +214,78 @@ msgstr "Usuń łącza" msgid "Edit smart links" msgstr "Edytuj łącza" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, fuzzy, python-format +#| msgid "Document types" +msgid "No such document type: %s" +msgstr "Typy dokumentów" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "Błąd zapytania o łącze: %s" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "Dokumenty w łączu: %s" -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "Dokumenty w łączu \"%(smart_link)s\" powiązane z \"%(document)s\"" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "Dostępne typy dokumentów" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "Typy dokumentów z udostępnionym łączem" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "Typy dokumentów, dla których zostanie udostępnione łącze: %s" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "Łącza dla dokumentu: %s" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "Edytuj łącze: %s" -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "Usuń łącze: %s" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "Warunki łącza: %s" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "Dodaj nowe warunki do łącza: \"%s\"" -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "Edycja warunku łącza" -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "Usunąć warunek łącza: \"%s\"?" @@ -377,14 +393,14 @@ msgstr "Usunąć warunek łącza: \"%s\"?" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/pt/LC_MESSAGES/django.po b/mayan/apps/linking/locale/pt/LC_MESSAGES/django.po index 15ca42fe00..95ea4d88c5 100644 --- a/mayan/apps/linking/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Emerson Soares , 2011 @@ -11,33 +11,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "Nome" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "" @@ -57,11 +58,11 @@ msgstr "Editar" msgid "Conditions" msgstr "" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "Criar nova ligação inteligente" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "" @@ -69,8 +70,8 @@ msgstr "" msgid "Documents" msgstr "Documentos" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "Ligações inteligentes" @@ -142,55 +143,55 @@ msgstr "contido em expressão regular" msgid "is in regular expression (case insensitive)" msgstr "contido em expressão regular (insensível a minúsculas/maiúsculas)" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." msgstr "" -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." msgstr "" -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "A inclusão é ignorada para o primeiro item." -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "" -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "Inverte a lógica do operador." -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "não" -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "" @@ -210,67 +211,77 @@ msgstr "Excluir ligações inteligentes" msgid "Edit smart links" msgstr "Editar ligações inteligentes" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, python-format +msgid "No such document type: %s" +msgstr "" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "Erro na consulta de ligações inteligentes: %s" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "" -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "Editar Ligação inteligente: %s" -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "Adicionar novas condições à ligação inteligente: \"%s\"" -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "Editar condição de ligação inteligente" -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -378,14 +389,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/linking/locale/pt_BR/LC_MESSAGES/django.po index 368c5190ce..225c041f1b 100644 --- a/mayan/apps/linking/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -12,33 +12,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-17 23:07+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "Ligações" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "Label" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "Etiqueta dinâmica" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "habilitado" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "Atributo documento externo" @@ -58,11 +59,11 @@ msgstr "Editar" msgid "Conditions" msgstr "condições" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "Criar novo link inteligente" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "Tipo de Documento" @@ -70,8 +71,8 @@ msgstr "Tipo de Documento" msgid "Documents" msgstr "Documentos" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "Ligações inteligentes" @@ -143,55 +144,59 @@ msgstr "está em expressão regular" msgid "is in regular expression (case insensitive)" msgstr "está em expressão regular (case insensitive)" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." -msgstr "Introduza um template para renderizar. Use a linguagem de templates padrão do Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). A variável {{ document }} está disponível. " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." +msgstr "" +"Introduza um template para renderizar. Use a linguagem de templates padrão " +"do Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). A " +"variável {{ document }} está disponível. " -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "Erro gerando etiqueta dinâmica; %s" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." -msgstr "Este link inteligente não é permitido para o tipo de documento selecionado. " +msgstr "" +"Este link inteligente não é permitido para o tipo de documento selecionado. " -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "link inteligente" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "A inclusão é ignorada para o primeiro item." -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "Esta expressão será avaliada contra o documento atual." -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "expressão" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "Inverte a lógica do operador." -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "negada" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "não" -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "condição de ligação" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "condições de ligação" @@ -211,67 +216,80 @@ msgstr "Excluir ligações inteligentes" msgid "Edit smart links" msgstr "Editar ligações inteligentes" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, fuzzy, python-format +#| msgid "Document types" +msgid "No such document type: %s" +msgstr "Tipo de Documento" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "Erro Links Inteligentes para documento: %s" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "Os documentos em referência inteligente: %s " -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" -msgstr "Os documentos em link inteligente \"%(smart_link)s\" em relação com \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgstr "" +"Os documentos em link inteligente \"%(smart_link)s\" em relação com " +"\"%(document)s\"" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "Tipos de documentos disponíveis" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "Tipos de documentos habilitados" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "Tipo de documento para o qual a permitir ligação inteligente: %s" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "Links Inteligentes para documento: %s" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "Editar Ligação inteligente: %s" -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "Apagar link inteligente: %s" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "Condições para a ligação inteligente: %s criado com sucesso." -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "Adiciona novas condições para a ligação inteligente: %s " -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "Editar condição de ligação Inteligente" -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "Apagar condição de link inteligente: %s?" @@ -379,14 +397,14 @@ msgstr "Apagar condição de link inteligente: %s?" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/linking/locale/ro_RO/LC_MESSAGES/django.po index 22ca9f229b..29eacbefc4 100644 --- a/mayan/apps/linking/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Badea Gabriel , 2013 @@ -9,33 +9,35 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-04-17 09:43+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "Etichetă" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "" @@ -55,11 +57,11 @@ msgstr "Editează" msgid "Conditions" msgstr "" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "Creați un nou link inteligent" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "" @@ -67,8 +69,8 @@ msgstr "" msgid "Documents" msgstr "Documente" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "Link-uri inteligente" @@ -140,55 +142,55 @@ msgstr "este în expresie regulată" msgid "is in regular expression (case insensitive)" msgstr "este în expresie regulată (case insensitive)" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." msgstr "" -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." msgstr "" -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "Includerea este ignorată pentru primul element." -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "" -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "Inversează logica operatorului." -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "nu" -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "" @@ -208,67 +210,77 @@ msgstr "Ștergeți link-uri inteligente" msgid "Edit smart links" msgstr "Editați link-uri inteligente" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, python-format +msgid "No such document type: %s" +msgstr "" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "Eroare interogare link-ul:% s" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "" -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "Editare legătură inteligentă:% s" -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "Adauga la noile condiții de legătură inteligentă: \"%s\"" -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "Editați condiție legătură inteligentă" -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -376,14 +388,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/ru/LC_MESSAGES/django.po b/mayan/apps/linking/locale/ru/LC_MESSAGES/django.po index 7a6846669d..cb75a408e0 100644 --- a/mayan/apps/linking/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/ru/LC_MESSAGES/django.po @@ -1,40 +1,43 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-02 04:15+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "Связывание" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "Надпись" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "Доступно" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "" @@ -54,11 +57,11 @@ msgstr "Редактировать" msgid "Conditions" msgstr "" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "Создать новое отношение" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "Типы документов" @@ -66,8 +69,8 @@ msgstr "Типы документов" msgid "Documents" msgstr "Документы" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "Отношения" @@ -139,55 +142,55 @@ msgstr "В регулярном выражении" msgid "is in regular expression (case insensitive)" msgstr "В регулярном выражении (без учета регистра)" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." msgstr "" -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." msgstr "" -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "Включение игнорируется для первого элемента." -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "" -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "Инвертирует логику оператора." -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "не" -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "" @@ -207,67 +210,78 @@ msgstr "Удалить отношения" msgid "Edit smart links" msgstr "Редактировать отношения" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, fuzzy, python-format +#| msgid "Document types" +msgid "No such document type: %s" +msgstr "Типы документов" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "Ошибка запроса в отношении %s" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "" -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "Доступные типы документов" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "Редактировать отношение %s" -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "Добавить новые условия отношения \"%s\"" -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "Изменить условие отношения" -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -375,14 +389,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/linking/locale/sl_SI/LC_MESSAGES/django.po index 646079185c..80116a3848 100644 --- a/mayan/apps/linking/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/sl_SI/LC_MESSAGES/django.po @@ -1,40 +1,42 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-17 08:59+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "Oznaka" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "" @@ -54,11 +56,11 @@ msgstr "" msgid "Conditions" msgstr "" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "" @@ -66,8 +68,8 @@ msgstr "" msgid "Documents" msgstr "Dokumenti" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "" @@ -139,55 +141,55 @@ msgstr "" msgid "is in regular expression (case insensitive)" msgstr "" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." msgstr "" -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." msgstr "" -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "" -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "" -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "" -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "" -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "" @@ -207,67 +209,77 @@ msgstr "" msgid "Edit smart links" msgstr "" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, python-format +msgid "No such document type: %s" +msgstr "" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "" -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "" -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "" -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "" -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -375,14 +387,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/linking/locale/vi_VN/LC_MESSAGES/django.po index 28ddce969b..d6b17306ad 100644 --- a/mayan/apps/linking/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Trung Phan Minh , 2013 @@ -9,33 +9,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "" @@ -55,11 +56,11 @@ msgstr "Sửa" msgid "Conditions" msgstr "" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "" @@ -67,8 +68,8 @@ msgstr "" msgid "Documents" msgstr "Tài liệu" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "Liên kết thông minh" @@ -140,55 +141,55 @@ msgstr "" msgid "is in regular expression (case insensitive)" msgstr "" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." msgstr "" -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." msgstr "" -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "" -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "" -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "" -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "" -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "" @@ -208,67 +209,77 @@ msgstr "Xóa liên kết thông minh" msgid "Edit smart links" msgstr "Sửa liên kết thông minh" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, python-format +msgid "No such document type: %s" +msgstr "" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "Lỗi truy vấn liên kết thông minh: %s" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "" -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "Sửa liên kết thông minh: %s" -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "" -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "" -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -376,14 +387,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/linking/locale/zh_CN/LC_MESSAGES/django.po index d607aedd2c..e690217030 100644 --- a/mayan/apps/linking/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -9,33 +9,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:33 +#: apps.py:34 msgid "Linking" msgstr "" -#: apps.py:55 models.py:18 +#: apps.py:58 models.py:19 msgid "Label" msgstr "" -#: apps.py:62 models.py:25 +#: apps.py:65 models.py:26 msgid "Dynamic label" msgstr "" -#: apps.py:66 apps.py:71 models.py:27 models.py:124 +#: apps.py:69 apps.py:74 models.py:28 models.py:127 msgid "Enabled" msgstr "" -#: forms.py:35 models.py:109 +#: forms.py:35 models.py:112 msgid "Foreign document attribute" msgstr "" @@ -55,11 +56,11 @@ msgstr "" msgid "Conditions" msgstr "" -#: links.py:32 views.py:183 +#: links.py:32 views.py:167 msgid "Create new smart link" msgstr "新建智能链接" -#: links.py:39 models.py:29 +#: links.py:39 models.py:30 msgid "Document types" msgstr "" @@ -67,8 +68,8 @@ msgstr "" msgid "Documents" msgstr "文档" -#: links.py:54 links.py:58 links.py:63 models.py:89 permissions.py:7 -#: views.py:139 +#: links.py:54 links.py:58 links.py:63 models.py:92 permissions.py:7 +#: views.py:129 msgid "Smart links" msgstr "智能链接" @@ -140,55 +141,55 @@ msgstr "正则表达式" msgid "is in regular expression (case insensitive)" msgstr "正则表达式(大小写不敏感)" -#: models.py:21 models.py:114 +#: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " -"document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " +"{{ document }} context variable is available." msgstr "" -#: models.py:43 +#: models.py:46 #, python-format msgid "Error generating dynamic label; %s" msgstr "" -#: models.py:52 +#: models.py:55 msgid "This smart link is not allowed for the selected document's type." msgstr "" -#: models.py:88 models.py:100 +#: models.py:91 models.py:103 msgid "Smart link" msgstr "" -#: models.py:104 +#: models.py:107 msgid "The inclusion is ignored for the first item." msgstr "第一项的包含将被忽略。" -#: models.py:108 +#: models.py:111 msgid "This represents the metadata of all other documents." msgstr "" -#: models.py:118 +#: models.py:121 msgid "Expression" msgstr "" -#: models.py:121 +#: models.py:124 msgid "Inverts the logic of the operator." msgstr "颠倒操作符的逻辑" -#: models.py:122 +#: models.py:125 msgid "Negated" msgstr "" -#: models.py:129 +#: models.py:132 msgid "not" msgstr "否" -#: models.py:134 +#: models.py:137 msgid "Link condition" msgstr "" -#: models.py:135 +#: models.py:138 msgid "Link conditions" msgstr "" @@ -208,67 +209,77 @@ msgstr "删除智能链接" msgid "Edit smart links" msgstr "编辑智能链接" -#: views.py:70 +#: serializers.py:115 +msgid "" +"Comma separated list of document type primary keys to which this smart link " +"will be attached." +msgstr "" + +#: serializers.py:139 +#, python-format +msgid "No such document type: %s" +msgstr "" + +#: views.py:60 #, python-format msgid "Smart link query error: %s" msgstr "智能链接查询错误:%s" -#: views.py:78 +#: views.py:68 #, python-format msgid "Documents in smart link: %s" msgstr "" -#: views.py:81 +#: views.py:71 #, python-format -msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "" +"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" -#: views.py:97 +#: views.py:87 msgid "Available document types" msgstr "" -#: views.py:99 +#: views.py:89 msgid "Document types enabled" msgstr "" -#: views.py:108 +#: views.py:98 #, python-format msgid "Document type for which to enable smart link: %s" msgstr "" -#: views.py:173 +#: views.py:159 #, python-format msgid "Smart links for document: %s" msgstr "" -#: views.py:198 +#: views.py:182 #, python-format msgid "Edit smart link: %s" msgstr "编辑智能链接: %s" -#: views.py:210 +#: views.py:194 #, python-format -#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" -#: views.py:222 +#: views.py:206 #, python-format msgid "Conditions for smart link: %s" msgstr "" -#: views.py:253 +#: views.py:233 #, python-format msgid "Add new conditions to smart link: \"%s\"" msgstr "新建条件到智能链接:\"%s\"" -#: views.py:299 +#: views.py:274 msgid "Edit smart link condition" msgstr "编辑智能链接条件" -#: views.py:334 +#: views.py:304 #, python-format -#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -376,14 +387,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query the " -#~ "database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate in " -#~ "some manner to the document being displayed and allow users the ability to " -#~ "jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query " +#~ "the database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate " +#~ "in some manner to the document being displayed and allow users the " +#~ "ability to jump to and from linked documents very easily." diff --git a/mayan/apps/lock_manager/locale/ar/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/ar/LC_MESSAGES/django.po index 4b665608fe..42a6364683 100644 --- a/mayan/apps/lock_manager/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/ar/LC_MESSAGES/django.po @@ -1,23 +1,25 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:15+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "" diff --git a/mayan/apps/lock_manager/locale/bg/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/bg/LC_MESSAGES/django.po index 508066e2cf..5a569be217 100644 --- a/mayan/apps/lock_manager/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/bg/LC_MESSAGES/django.po @@ -1,23 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:15+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "" diff --git a/mayan/apps/lock_manager/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/bs_BA/LC_MESSAGES/django.po index d194394497..eb2048760e 100644 --- a/mayan/apps/lock_manager/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/bs_BA/LC_MESSAGES/django.po @@ -1,23 +1,25 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:15+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "" diff --git a/mayan/apps/lock_manager/locale/da/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/da/LC_MESSAGES/django.po index 63a8389a6f..1e4484269c 100644 --- a/mayan/apps/lock_manager/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/da/LC_MESSAGES/django.po @@ -1,23 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:15+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "" diff --git a/mayan/apps/lock_manager/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/de_DE/LC_MESSAGES/django.po index 45668e68a8..e911b49842 100644 --- a/mayan/apps/lock_manager/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/de_DE/LC_MESSAGES/django.po @@ -1,23 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:04+0000\n" "Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "Sperrverwaltung" diff --git a/mayan/apps/lock_manager/locale/en/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/en/LC_MESSAGES/django.po index 8b89946c4d..32fed63225 100644 --- a/mayan/apps/lock_manager/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "" diff --git a/mayan/apps/lock_manager/locale/es/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/es/LC_MESSAGES/django.po index 28b9f597cd..be35c6992e 100644 --- a/mayan/apps/lock_manager/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/es/LC_MESSAGES/django.po @@ -1,24 +1,25 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Roberto Rosario, 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:04+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "Gestor de bloqueos" diff --git a/mayan/apps/lock_manager/locale/fa/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/fa/LC_MESSAGES/django.po index bb1eeb1ca3..3c4f03336e 100644 --- a/mayan/apps/lock_manager/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/fa/LC_MESSAGES/django.po @@ -1,23 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:15+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "" diff --git a/mayan/apps/lock_manager/locale/fr/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/fr/LC_MESSAGES/django.po index 8dd496115e..4949c76eb1 100644 --- a/mayan/apps/lock_manager/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/fr/LC_MESSAGES/django.po @@ -1,24 +1,25 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Christophe CHAUVET , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:04+0000\n" "Last-Translator: Christophe CHAUVET \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "Gestionnaire de vérrou" diff --git a/mayan/apps/lock_manager/locale/hu/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/hu/LC_MESSAGES/django.po index 8ab470b890..d004550145 100644 --- a/mayan/apps/lock_manager/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/hu/LC_MESSAGES/django.po @@ -1,23 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:15+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "" diff --git a/mayan/apps/lock_manager/locale/id/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/id/LC_MESSAGES/django.po index 28aab4d7a8..d54ee3b38a 100644 --- a/mayan/apps/lock_manager/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/id/LC_MESSAGES/django.po @@ -1,23 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:15+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "" diff --git a/mayan/apps/lock_manager/locale/it/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/it/LC_MESSAGES/django.po index c734ff472b..965f4c5d8e 100644 --- a/mayan/apps/lock_manager/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/it/LC_MESSAGES/django.po @@ -1,24 +1,25 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Marco Camplese , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-09-24 09:13+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "Gestore blocco" diff --git a/mayan/apps/lock_manager/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/nl_NL/LC_MESSAGES/django.po index 97fbc9977c..392650c868 100644 --- a/mayan/apps/lock_manager/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/nl_NL/LC_MESSAGES/django.po @@ -1,24 +1,25 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Evelijn Saaltink , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-09 16:40+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "" diff --git a/mayan/apps/lock_manager/locale/pl/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/pl/LC_MESSAGES/django.po index f1fd7d74aa..d78b3c91dd 100644 --- a/mayan/apps/lock_manager/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/pl/LC_MESSAGES/django.po @@ -1,23 +1,25 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:15+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "" diff --git a/mayan/apps/lock_manager/locale/pt/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/pt/LC_MESSAGES/django.po index 3be7f3e8ca..72e0d9a1a9 100644 --- a/mayan/apps/lock_manager/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/pt/LC_MESSAGES/django.po @@ -1,23 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:15+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "" diff --git a/mayan/apps/lock_manager/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/pt_BR/LC_MESSAGES/django.po index b33cfb2628..e419b14722 100644 --- a/mayan/apps/lock_manager/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/pt_BR/LC_MESSAGES/django.po @@ -1,24 +1,25 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Aline Freitas , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-04 19:32+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "Gerenciador de bloqueios" diff --git a/mayan/apps/lock_manager/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/ro_RO/LC_MESSAGES/django.po index 3b61ec3c92..7107d6b773 100644 --- a/mayan/apps/lock_manager/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/ro_RO/LC_MESSAGES/django.po @@ -1,23 +1,25 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:15+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "" diff --git a/mayan/apps/lock_manager/locale/ru/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/ru/LC_MESSAGES/django.po index d532d5e137..8e00813119 100644 --- a/mayan/apps/lock_manager/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/ru/LC_MESSAGES/django.po @@ -1,23 +1,26 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:15+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "" diff --git a/mayan/apps/lock_manager/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/sl_SI/LC_MESSAGES/django.po index 53f4d53e38..83e2e63b59 100644 --- a/mayan/apps/lock_manager/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/sl_SI/LC_MESSAGES/django.po @@ -1,23 +1,25 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:15+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "" diff --git a/mayan/apps/lock_manager/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/vi_VN/LC_MESSAGES/django.po index 710bb23a22..e9b5976498 100644 --- a/mayan/apps/lock_manager/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/vi_VN/LC_MESSAGES/django.po @@ -1,23 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:15+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "" diff --git a/mayan/apps/lock_manager/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/lock_manager/locale/zh_CN/LC_MESSAGES/django.po index a1edde08ae..16aba05aa7 100644 --- a/mayan/apps/lock_manager/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/lock_manager/locale/zh_CN/LC_MESSAGES/django.po @@ -1,23 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:15+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:10 +#: apps.py:10 settings.py:10 msgid "Lock manager" msgstr "" diff --git a/mayan/apps/mailer/locale/ar/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/ar/LC_MESSAGES/django.po index bd25e15981..0ed9b1eae3 100644 --- a/mayan/apps/mailer/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/ar/LC_MESSAGES/django.po @@ -1,55 +1,57 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:16+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "" @@ -123,34 +125,29 @@ msgstr "" msgid "Template for the document email form body line." msgstr "" -#: views.py:56 -msgid "Must provide at least one document." -msgstr "يجب أن توفر ما لا يقل عن وثيقة واحدة." - -#: views.py:105 -msgid "Successfully queued for delivery via email." +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" msgstr "" -#: views.py:114 +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" + +#: views.py:48 msgid "Send" msgstr "" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" +msgid "%(count)d document link queued for email delivery" msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" +msgid "%(count)d document links queued for email delivery" msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "" - -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "يجب أن توفر ما لا يقل عن وثيقة واحدة." diff --git a/mayan/apps/mailer/locale/bg/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/bg/LC_MESSAGES/django.po index c79c8d79b6..2224a4f8cb 100644 --- a/mayan/apps/mailer/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/bg/LC_MESSAGES/django.po @@ -1,56 +1,57 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Pavlin Koldamov , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:07+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "Ел. поща адрес" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "Относно" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "Съдържание" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "Пощ. документ" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "Пощ. връзка" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "" @@ -124,34 +125,32 @@ msgstr "" msgid "Template for the document email form body line." msgstr "" -#: views.py:56 -msgid "Must provide at least one document." -msgstr "Трябва да посочите поне един документ." +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" +msgstr "" -#: views.py:105 -msgid "Successfully queued for delivery via email." -msgstr "Успешно наредено за изпращане чрез ел.поща." +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" -#: views.py:114 +#: views.py:48 msgid "Send" msgstr "Изпрати" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" +msgid "%(count)d document link queued for email delivery" msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" +msgid "%(count)d document links queued for email delivery" msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Трябва да посочите поне един документ." -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "" +#~ msgid "Successfully queued for delivery via email." +#~ msgstr "Успешно наредено за изпращане чрез ел.поща." diff --git a/mayan/apps/mailer/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/bs_BA/LC_MESSAGES/django.po index b5d974c753..81ade1804f 100644 --- a/mayan/apps/mailer/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/bs_BA/LC_MESSAGES/django.po @@ -1,55 +1,57 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:16+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "" @@ -123,34 +125,29 @@ msgstr "" msgid "Template for the document email form body line." msgstr "" -#: views.py:56 -msgid "Must provide at least one document." -msgstr "Mora biti barem jedan dokument." - -#: views.py:105 -msgid "Successfully queued for delivery via email." +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" msgstr "" -#: views.py:114 +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" + +#: views.py:48 msgid "Send" msgstr "" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" +msgid "%(count)d document link queued for email delivery" msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" +msgid "%(count)d document links queued for email delivery" msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "" - -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Mora biti barem jedan dokument." diff --git a/mayan/apps/mailer/locale/da/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/da/LC_MESSAGES/django.po index 2991b80f60..c5a64fd6d8 100644 --- a/mayan/apps/mailer/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/da/LC_MESSAGES/django.po @@ -1,55 +1,56 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:16+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "" @@ -123,34 +124,29 @@ msgstr "" msgid "Template for the document email form body line." msgstr "" -#: views.py:56 -msgid "Must provide at least one document." -msgstr "Angiv mindst ét ​​dokument." - -#: views.py:105 -msgid "Successfully queued for delivery via email." +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" msgstr "" -#: views.py:114 +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" + +#: views.py:48 msgid "Send" msgstr "" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" +msgid "%(count)d document link queued for email delivery" msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" +msgid "%(count)d document links queued for email delivery" msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "" - -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Angiv mindst ét ​​dokument." diff --git a/mayan/apps/mailer/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/de_DE/LC_MESSAGES/django.po index 2a57caa1e0..3f21ec3b96 100644 --- a/mayan/apps/mailer/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/de_DE/LC_MESSAGES/django.po @@ -1,55 +1,56 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:07+0000\n" "Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "Mailer" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "Zeit" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "Nachricht" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "E-Mailadresse" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "Betreff" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "Nachrichtenteil" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "Dokument als E-Mailanhang senden" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "Link zum Dokument per E-Mail senden" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "Fehlerprotokoll" @@ -60,7 +61,11 @@ msgid "" "\n" " --------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "Anlagen: {{ document }}\n\n --------\n Diese E-Mail wurde gesendet mit %(project_title)s (%(project_website)s)" +msgstr "" +"Anlagen: {{ document }}\n" +"\n" +" --------\n" +" Diese E-Mail wurde gesendet mit %(project_title)s (%(project_website)s)" #: literals.py:13 #, python-format @@ -69,7 +74,12 @@ msgid "" "\n" "--------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "Um dieses Dokument anzuzeigen klicken Sie bitte auf folgenden Link: {{ link }}\n\n--------\n Diese E-Mail wurde gesendet mit %(project_title)s (%(project_website)s)" +msgstr "" +"Um dieses Dokument anzuzeigen klicken Sie bitte auf folgenden Link: " +"{{ link }}\n" +"\n" +"--------\n" +" Diese E-Mail wurde gesendet mit %(project_title)s (%(project_website)s)" #: models.py:13 msgid "Date time" @@ -105,11 +115,14 @@ msgstr "Link für Dokument: {{ document }}" #: settings.py:15 msgid "Template for the document link email form subject line." -msgstr "Vorlage für die Betreffzeile des Formulars für die Dokumentenlinkversendung" +msgstr "" +"Vorlage für die Betreffzeile des Formulars für die Dokumentenlinkversendung" #: settings.py:20 msgid "Template for the document link email form body line." -msgstr "Vorlage für den Nachrichtenteil des Formulars für die Dokumentenlinkversendung" +msgstr "" +"Vorlage für den Nachrichtenteil des Formulars für die " +"Dokumentenlinkversendung" #: settings.py:24 msgid "Document: {{ document }}" @@ -117,40 +130,52 @@ msgstr "Dokument: {{ document }}" #: settings.py:25 msgid "Template for the document email form subject line." -msgstr "Vorlage für die Betreffzeile des Formulars für die Dokumentenversendung" +msgstr "" +"Vorlage für die Betreffzeile des Formulars für die Dokumentenversendung" #: settings.py:30 msgid "Template for the document email form body line." -msgstr "Vorlage für den Nachrichtenteil des Formulars für die Dokumentenversendung" +msgstr "" +"Vorlage für den Nachrichtenteil des Formulars für die Dokumentenversendung" -#: views.py:56 -msgid "Must provide at least one document." -msgstr "Es muss mindestens ein Dokument angegeben werden." +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" +msgstr "" -#: views.py:105 -msgid "Successfully queued for delivery via email." -msgstr "Erfolgreich eingereiht in den E-Mailversand" +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" -#: views.py:114 +#: views.py:48 msgid "Send" msgstr "Senden" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" -msgstr "E-Mail Dokument: %s" +msgid "%(count)d document link queued for email delivery" +msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" -msgstr "E-Mail Link für Dokument %s" +msgid "%(count)d document links queued for email delivery" +msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "E-Mail Dokumente: %s" +#~ msgid "Must provide at least one document." +#~ msgstr "Es muss mindestens ein Dokument angegeben werden." -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "Links für Dokumente %s" +#~ msgid "Successfully queued for delivery via email." +#~ msgstr "Erfolgreich eingereiht in den E-Mailversand" + +#~ msgid "Email document: %s" +#~ msgstr "E-Mail Dokument: %s" + +#~ msgid "Email link for document: %s" +#~ msgstr "E-Mail Link für Dokument %s" + +#~ msgid "Email documents: %s" +#~ msgstr "E-Mail Dokumente: %s" + +#~ msgid "Email links for documents: %s" +#~ msgstr "Links für Dokumente %s" diff --git a/mayan/apps/mailer/locale/en/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/en/LC_MESSAGES/django.po index 8794297880..95be5e927b 100644 --- a/mayan/apps/mailer/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,39 +17,39 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "" @@ -123,34 +123,26 @@ msgstr "" msgid "Template for the document email form body line." msgstr "" -#: views.py:56 -msgid "Must provide at least one document." +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" msgstr "" -#: views.py:105 -msgid "Successfully queued for delivery via email." +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" msgstr "" -#: views.py:114 +#: views.py:48 msgid "Send" msgstr "" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" +msgid "%(count)d document link queued for email delivery" msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" -msgstr "" - -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "" - -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" +msgid "%(count)d document links queued for email delivery" msgstr "" diff --git a/mayan/apps/mailer/locale/es/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/es/LC_MESSAGES/django.po index 620c494815..57bbdc0c3c 100644 --- a/mayan/apps/mailer/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Lory977 , 2015 # Roberto Rosario, 2015 @@ -10,49 +10,50 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-05-09 01:36+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "Correspondencia" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "Fecha y hora" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "Mensaje" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "Dirección de correo electrónico" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "Tema" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "Cuerpo" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "Enviar documento" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "Enviar enlace" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "Biracora de errores de envío" @@ -63,7 +64,13 @@ msgid "" "\n" " --------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "Se adjunta a este correo electrónico es el documento: {{ document }}\n\n\n--------\nEste correo electrónico ha sido enviado desde %(project_title)s (%(project_website)s)" +msgstr "" +"Se adjunta a este correo electrónico es el documento: {{ document }}\n" +"\n" +"\n" +"--------\n" +"Este correo electrónico ha sido enviado desde %(project_title)s " +"(%(project_website)s)" #: literals.py:13 #, python-format @@ -72,7 +79,13 @@ msgid "" "\n" "--------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "Para acceder a este documento, haga clic en el siguiente enlace: {{ link }}\n\n\n--------\nEste correo electrónico ha sido enviado desde %(project_title)s (%(project_website)s)" +msgstr "" +"Para acceder a este documento, haga clic en el siguiente enlace: {{ link }}\n" +"\n" +"\n" +"--------\n" +"Este correo electrónico ha sido enviado desde %(project_title)s " +"(%(project_website)s)" #: models.py:13 msgid "Date time" @@ -108,11 +121,15 @@ msgstr "Enlace para el documento: {{ documento }}" #: settings.py:15 msgid "Template for the document link email form subject line." -msgstr "Plantilla para la línea de asunto del correo electrónico para envío de enlace del documento." +msgstr "" +"Plantilla para la línea de asunto del correo electrónico para envío de " +"enlace del documento." #: settings.py:20 msgid "Template for the document link email form body line." -msgstr "Plantilla para el cuerpo del correo electrónico de envío de enlace de documento." +msgstr "" +"Plantilla para el cuerpo del correo electrónico de envío de enlace de " +"documento." #: settings.py:24 msgid "Document: {{ document }}" @@ -120,40 +137,56 @@ msgstr "Documento: {{ document }}" #: settings.py:25 msgid "Template for the document email form subject line." -msgstr "Plantilla para la línea de sujeto del correo electrónico de envio de documento." +msgstr "" +"Plantilla para la línea de sujeto del correo electrónico de envio de " +"documento." #: settings.py:30 msgid "Template for the document email form body line." -msgstr "Plantilla para la línea de cuerpo del correo electrónico para envío de documento." +msgstr "" +"Plantilla para la línea de cuerpo del correo electrónico para envío de " +"documento." -#: views.py:56 -msgid "Must provide at least one document." -msgstr "Debe proveer al menos un documento" +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" +msgstr "" -#: views.py:105 -msgid "Successfully queued for delivery via email." -msgstr "Añadido de forma exitosa a la lista de espera para envío de correo electrónico" +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" -#: views.py:114 +#: views.py:48 msgid "Send" msgstr "Enviar" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" -msgstr "Enviar documento: %s" +msgid "%(count)d document link queued for email delivery" +msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" -msgstr "Enviar enlace para el documento: %s" +msgid "%(count)d document links queued for email delivery" +msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "Enviar documentos: %s" +#~ msgid "Must provide at least one document." +#~ msgstr "Debe proveer al menos un documento" -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "Enviar enlaces para documentos: %s" +#~ msgid "Successfully queued for delivery via email." +#~ msgstr "" +#~ "Añadido de forma exitosa a la lista de espera para envío de correo " +#~ "electrónico" + +#~ msgid "Email document: %s" +#~ msgstr "Enviar documento: %s" + +#~ msgid "Email link for document: %s" +#~ msgstr "Enviar enlace para el documento: %s" + +#~ msgid "Email documents: %s" +#~ msgstr "Enviar documentos: %s" + +#~ msgid "Email links for documents: %s" +#~ msgstr "Enviar enlaces para documentos: %s" diff --git a/mayan/apps/mailer/locale/fa/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/fa/LC_MESSAGES/django.po index 09712e1eff..ecea8f78a7 100644 --- a/mayan/apps/mailer/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/fa/LC_MESSAGES/django.po @@ -1,56 +1,57 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Mehdi Amani , 2014 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:07+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "تاریخ و زمان" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "پست الکترونیکی" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "موضوع" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "بدنه" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "ایمیل کردن سند" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "پیوند پلکترونیکی" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "" @@ -124,34 +125,44 @@ msgstr "الگوی ارسال سند بوسیله پیوند آن از داخل msgid "Template for the document email form body line." msgstr "الگوی ارسال سند از داخل بدنه" -#: views.py:56 -msgid "Must provide at least one document." -msgstr "حداقل یک سند بایست ارایه گردد." +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" +msgstr "" -#: views.py:105 -msgid "Successfully queued for delivery via email." -msgstr "ورود موفق به صف ارسال از طریق ایمیل" +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" -#: views.py:114 +#: views.py:48 msgid "Send" msgstr "ارسال" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" -msgstr "ایمیل سند: %s" +msgid "%(count)d document link queued for email delivery" +msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" -msgstr "پیوند ایمیل برای سند: %s" +msgid "%(count)d document links queued for email delivery" +msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "ایمیل اسناد: %s" +#~ msgid "Must provide at least one document." +#~ msgstr "حداقل یک سند بایست ارایه گردد." -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "پیوند ایمیل برای اسناد: %s" +#~ msgid "Successfully queued for delivery via email." +#~ msgstr "ورود موفق به صف ارسال از طریق ایمیل" + +#~ msgid "Email document: %s" +#~ msgstr "ایمیل سند: %s" + +#~ msgid "Email link for document: %s" +#~ msgstr "پیوند ایمیل برای سند: %s" + +#~ msgid "Email documents: %s" +#~ msgstr "ایمیل اسناد: %s" + +#~ msgid "Email links for documents: %s" +#~ msgstr "پیوند ایمیل برای اسناد: %s" diff --git a/mayan/apps/mailer/locale/fr/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/fr/LC_MESSAGES/django.po index c4d440791c..87d0987fda 100644 --- a/mayan/apps/mailer/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/fr/LC_MESSAGES/django.po @@ -1,56 +1,57 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Christophe CHAUVET , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:07+0000\n" "Last-Translator: Christophe CHAUVET \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "Gestionnaire d'envoi" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "Date et heure" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "Message" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "Adresse du courriel" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "Sujet" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "Corps" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "Envoyer le document par courriel" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "Lien du courriel" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "Journal d'erreur du document envoyé" @@ -61,7 +62,11 @@ msgid "" "\n" " --------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "Attaché à ce courriel , voici le - document: {{ document }}\n\n --------\n Ce courriel a été envoyé depuis %(project_title)s (%(project_website)s)" +msgstr "" +"Attaché à ce courriel , voici le - document: {{ document }}\n" +"\n" +" --------\n" +" Ce courriel a été envoyé depuis %(project_title)s (%(project_website)s)" #: literals.py:13 #, python-format @@ -70,7 +75,11 @@ msgid "" "\n" "--------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "Pour acceder à ce document cliquer sur le lien suivant: {{ link }}\n\n--------\n Ce courriel a été envoyé depuis %(project_title)s (%(project_website)s)" +msgstr "" +"Pour acceder à ce document cliquer sur le lien suivant: {{ link }}\n" +"\n" +"--------\n" +" Ce courriel a été envoyé depuis %(project_title)s (%(project_website)s)" #: models.py:13 msgid "Date time" @@ -124,34 +133,44 @@ msgstr "Modèle pour le sujet du courriel du document." msgid "Template for the document email form body line." msgstr "Modèle pour le corps du courriel du document." -#: views.py:56 -msgid "Must provide at least one document." -msgstr "Vous devez fournir au moins un document." +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" +msgstr "" -#: views.py:105 -msgid "Successfully queued for delivery via email." -msgstr "Ajouter à la file d'attente avec succès pour l'envoi via courriel." +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" -#: views.py:114 +#: views.py:48 msgid "Send" msgstr "Envoyé" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" -msgstr "Document du courriel: %s" +msgid "%(count)d document link queued for email delivery" +msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" -msgstr "Lien du courriel pour ce document: %s" +msgid "%(count)d document links queued for email delivery" +msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "Documents du courriel: %s" +#~ msgid "Must provide at least one document." +#~ msgstr "Vous devez fournir au moins un document." -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "Liens de courriel pour le document: %s" +#~ msgid "Successfully queued for delivery via email." +#~ msgstr "Ajouter à la file d'attente avec succès pour l'envoi via courriel." + +#~ msgid "Email document: %s" +#~ msgstr "Document du courriel: %s" + +#~ msgid "Email link for document: %s" +#~ msgstr "Lien du courriel pour ce document: %s" + +#~ msgid "Email documents: %s" +#~ msgstr "Documents du courriel: %s" + +#~ msgid "Email links for documents: %s" +#~ msgstr "Liens de courriel pour le document: %s" diff --git a/mayan/apps/mailer/locale/hu/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/hu/LC_MESSAGES/django.po index 478628ce15..d84d5a265a 100644 --- a/mayan/apps/mailer/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/hu/LC_MESSAGES/django.po @@ -1,55 +1,56 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:16+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "" @@ -123,34 +124,29 @@ msgstr "" msgid "Template for the document email form body line." msgstr "" -#: views.py:56 -msgid "Must provide at least one document." -msgstr "Adjon meg legalább egy dokumentumot." - -#: views.py:105 -msgid "Successfully queued for delivery via email." +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" msgstr "" -#: views.py:114 +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" + +#: views.py:48 msgid "Send" msgstr "" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" +msgid "%(count)d document link queued for email delivery" msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" +msgid "%(count)d document links queued for email delivery" msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "" - -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Adjon meg legalább egy dokumentumot." diff --git a/mayan/apps/mailer/locale/id/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/id/LC_MESSAGES/django.po index 4a8852851e..5bd9c0705c 100644 --- a/mayan/apps/mailer/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/id/LC_MESSAGES/django.po @@ -1,55 +1,56 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:16+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "" @@ -123,34 +124,29 @@ msgstr "" msgid "Template for the document email form body line." msgstr "" -#: views.py:56 -msgid "Must provide at least one document." -msgstr "Harus memberikan setidaknya satu dokumen." - -#: views.py:105 -msgid "Successfully queued for delivery via email." +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" msgstr "" -#: views.py:114 +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" + +#: views.py:48 msgid "Send" msgstr "" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" +msgid "%(count)d document link queued for email delivery" msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" +msgid "%(count)d document links queued for email delivery" msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "" - -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Harus memberikan setidaknya satu dokumen." diff --git a/mayan/apps/mailer/locale/it/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/it/LC_MESSAGES/django.po index d36773ca27..778a14caf9 100644 --- a/mayan/apps/mailer/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/it/LC_MESSAGES/django.po @@ -1,56 +1,57 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Marco Camplese , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-09-24 10:09+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "Posta" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "Data e ora" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "Messaggio" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "Indirizzo email" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "Oggetto" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "Corpo" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "Documento email" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "Link email" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "Log errori mailing documento" @@ -61,7 +62,11 @@ msgid "" "\n" " --------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "Allegato a questa mail è il documento: {{ document }}\n\n --------\nQuesta mail è stata inviata da %(project_title)s (%(project_website)s)" +msgstr "" +"Allegato a questa mail è il documento: {{ document }}\n" +"\n" +" --------\n" +"Questa mail è stata inviata da %(project_title)s (%(project_website)s)" #: literals.py:13 #, python-format @@ -70,7 +75,11 @@ msgid "" "\n" "--------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "Per accedere al documento fai click sul seguente link: {{ link }}\n\n--------\nQuesta mail è stata inviata da %(project_title)s (%(project_website)s)" +msgstr "" +"Per accedere al documento fai click sul seguente link: {{ link }}\n" +"\n" +"--------\n" +"Questa mail è stata inviata da %(project_title)s (%(project_website)s)" #: models.py:13 msgid "Date time" @@ -106,11 +115,15 @@ msgstr "Link per il documento: {{ document }}" #: settings.py:15 msgid "Template for the document link email form subject line." -msgstr "Template per l'oggetto del modulo e-mail per l'invio del collegamento al documento." +msgstr "" +"Template per l'oggetto del modulo e-mail per l'invio del collegamento al " +"documento." #: settings.py:20 msgid "Template for the document link email form body line." -msgstr "Template per il corpo del modulo e-mail per l'invio del collegamento al documento." +msgstr "" +"Template per il corpo del modulo e-mail per l'invio del collegamento al " +"documento." #: settings.py:24 msgid "Document: {{ document }}" @@ -124,34 +137,44 @@ msgstr "Template per l'oggetto del modulo e-mail per l'invio documento." msgid "Template for the document email form body line." msgstr "Template per il corpo del modulo e-mail per l'invio documento." -#: views.py:56 -msgid "Must provide at least one document." -msgstr "Fornire almeno un documento " +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" +msgstr "" -#: views.py:105 -msgid "Successfully queued for delivery via email." -msgstr "Messo in coda per il recapito via email." +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" -#: views.py:114 +#: views.py:48 msgid "Send" msgstr "Invia" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" -msgstr "Email documento: %s" +msgid "%(count)d document link queued for email delivery" +msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" -msgstr "Email link per il documento: %s" +msgid "%(count)d document links queued for email delivery" +msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "Email documenti: %s" +#~ msgid "Must provide at least one document." +#~ msgstr "Fornire almeno un documento " -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "Email link per i documenti: %s" +#~ msgid "Successfully queued for delivery via email." +#~ msgstr "Messo in coda per il recapito via email." + +#~ msgid "Email document: %s" +#~ msgstr "Email documento: %s" + +#~ msgid "Email link for document: %s" +#~ msgstr "Email link per il documento: %s" + +#~ msgid "Email documents: %s" +#~ msgstr "Email documenti: %s" + +#~ msgid "Email links for documents: %s" +#~ msgstr "Email link per i documenti: %s" diff --git a/mayan/apps/mailer/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/nl_NL/LC_MESSAGES/django.po index d37cfe6384..b63ff4d98d 100644 --- a/mayan/apps/mailer/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/nl_NL/LC_MESSAGES/django.po @@ -1,56 +1,57 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Evelijn Saaltink , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-28 12:35+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "Mailer" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "Datum en tijd" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "Bericht" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "E-mailadres" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "Onderwerp" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "Body" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "E-mail document" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "E-mail lin" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "" @@ -124,34 +125,44 @@ msgstr "" msgid "Template for the document email form body line." msgstr "" -#: views.py:56 -msgid "Must provide at least one document." -msgstr "U dient minstens 1 document aan te geven." +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" +msgstr "" -#: views.py:105 -msgid "Successfully queued for delivery via email." -msgstr "Succesvol in de wachtrij geplaatst voor levering via e-mail." +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" -#: views.py:114 +#: views.py:48 msgid "Send" msgstr "Verzenden" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" -msgstr "E-mail document: %s" +msgid "%(count)d document link queued for email delivery" +msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" -msgstr "E-mail link voor document: %s" +msgid "%(count)d document links queued for email delivery" +msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "E-mail documenten: %s" +#~ msgid "Must provide at least one document." +#~ msgstr "U dient minstens 1 document aan te geven." -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "E-mail links voor documenten: %s" +#~ msgid "Successfully queued for delivery via email." +#~ msgstr "Succesvol in de wachtrij geplaatst voor levering via e-mail." + +#~ msgid "Email document: %s" +#~ msgstr "E-mail document: %s" + +#~ msgid "Email link for document: %s" +#~ msgstr "E-mail link voor document: %s" + +#~ msgid "Email documents: %s" +#~ msgstr "E-mail documenten: %s" + +#~ msgid "Email links for documents: %s" +#~ msgstr "E-mail links voor documenten: %s" diff --git a/mayan/apps/mailer/locale/pl/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/pl/LC_MESSAGES/django.po index c38e9cd01a..68352b1e01 100644 --- a/mayan/apps/mailer/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Annunnaky , 2015 # Wojtek Warczakowski , 2016 @@ -9,49 +9,51 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:07+0000\n" "Last-Translator: Wojtek Warczakowski \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "Data i godzina" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "Adres e-mail:" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "Temat" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "Treść" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "Dokument e-mail" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "Link e-mail" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "Błędy wysyłania dokumentów" @@ -125,34 +127,44 @@ msgstr "Szablon tematu wiadomości email" msgid "Template for the document email form body line." msgstr "Szablon treści e-mail" -#: views.py:56 -msgid "Must provide at least one document." -msgstr "Musisz podać co najmniej jeden dokument." +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" +msgstr "" -#: views.py:105 -msgid "Successfully queued for delivery via email." -msgstr "Przekazanie do wysłania drogą e-mail zakończone powodzeniem. " +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" -#: views.py:114 +#: views.py:48 msgid "Send" msgstr "Wyślij" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" -msgstr "Dokument e-mail: %s" +msgid "%(count)d document link queued for email delivery" +msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" -msgstr "Link dokumetu: %s" +msgid "%(count)d document links queued for email delivery" +msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "Dokumenty e-mail: %s" +#~ msgid "Must provide at least one document." +#~ msgstr "Musisz podać co najmniej jeden dokument." -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "Linki dla dokumentów: %s" +#~ msgid "Successfully queued for delivery via email." +#~ msgstr "Przekazanie do wysłania drogą e-mail zakończone powodzeniem. " + +#~ msgid "Email document: %s" +#~ msgstr "Dokument e-mail: %s" + +#~ msgid "Email link for document: %s" +#~ msgstr "Link dokumetu: %s" + +#~ msgid "Email documents: %s" +#~ msgstr "Dokumenty e-mail: %s" + +#~ msgid "Email links for documents: %s" +#~ msgstr "Linki dla dokumentów: %s" diff --git a/mayan/apps/mailer/locale/pt/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/pt/LC_MESSAGES/django.po index f419ceacc2..b49adffade 100644 --- a/mayan/apps/mailer/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/pt/LC_MESSAGES/django.po @@ -1,55 +1,56 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:16+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "Endereço de correio eletrónico" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "Assunto" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "Corpo" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "Documento de correio eletrónico" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "Hiperçigação de correio eletrónico" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "" @@ -105,7 +106,9 @@ msgstr "Hiperligação para o documento: {{ document }}" #: settings.py:15 msgid "Template for the document link email form subject line." -msgstr "Modelo para a linha do assunto do formulário de mensagem da hiperligação de documento." +msgstr "" +"Modelo para a linha do assunto do formulário de mensagem da hiperligação de " +"documento." #: settings.py:20 msgid "Template for the document link email form body line." @@ -123,34 +126,29 @@ msgstr "" msgid "Template for the document email form body line." msgstr "" -#: views.py:56 -msgid "Must provide at least one document." -msgstr "Deve fornecer pelo menos um documento." - -#: views.py:105 -msgid "Successfully queued for delivery via email." +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" msgstr "" -#: views.py:114 +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" + +#: views.py:48 msgid "Send" msgstr "Enviar" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" +msgid "%(count)d document link queued for email delivery" msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" +msgid "%(count)d document links queued for email delivery" msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "" - -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Deve fornecer pelo menos um documento." diff --git a/mayan/apps/mailer/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/pt_BR/LC_MESSAGES/django.po index fa2bb6d545..69ce53296c 100644 --- a/mayan/apps/mailer/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Aline Freitas , 2016 # Rogerio Falcone , 2015 @@ -9,49 +9,50 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-17 22:45+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "Envio de emails" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "Data e hora" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "Mensagem" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "Endereço de E-mail" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "Assunto" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "Corpo" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "Documento do e-mail" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "Ligação do e-mail" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "Registro de erro de envio" @@ -62,7 +63,10 @@ msgid "" "\n" " --------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "Se anexa a este documento de e-mail: {{ document }}\n--------\nEste e-mail foi enviado por %(project_title)s (%(project_website)s)" +msgstr "" +"Se anexa a este documento de e-mail: {{ document }}\n" +"--------\n" +"Este e-mail foi enviado por %(project_title)s (%(project_website)s)" #: literals.py:13 #, python-format @@ -71,7 +75,10 @@ msgid "" "\n" "--------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "Para acessar este documento clique na ligação a seguir: {{ link }}\n--------\nEste email foi enviado por %(project_title)s (%(project_website)s)" +msgstr "" +"Para acessar este documento clique na ligação a seguir: {{ link }}\n" +"--------\n" +"Este email foi enviado por %(project_title)s (%(project_website)s)" #: models.py:13 msgid "Date time" @@ -107,11 +114,14 @@ msgstr "Link para o documento: {{ document }}" #: settings.py:15 msgid "Template for the document link email form subject line." -msgstr "Modelo para a linha de assunto do e-mail para envio do link do documento." +msgstr "" +"Modelo para a linha de assunto do e-mail para envio do link do documento." #: settings.py:20 msgid "Template for the document link email form body line." -msgstr "Modelo para a linha do corpo do formulário do e-mail para envio do link do documento" +msgstr "" +"Modelo para a linha do corpo do formulário do e-mail para envio do link do " +"documento" #: settings.py:24 msgid "Document: {{ document }}" @@ -125,34 +135,44 @@ msgstr "Modelo para a linha de assunto do e-mail de envio de documento." msgid "Template for the document email form body line." msgstr "Modelo para a linha de corpo do e-mail para envio de documento." -#: views.py:56 -msgid "Must provide at least one document." -msgstr "Deve fornecer pelo menos um documento." +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" +msgstr "" -#: views.py:105 -msgid "Successfully queued for delivery via email." -msgstr "Agregado com êxito à lista de espera para envio de e-mail." +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" -#: views.py:114 +#: views.py:48 msgid "Send" msgstr "Enviar" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" -msgstr "E-mail de documentos: %s" +msgid "%(count)d document link queued for email delivery" +msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" -msgstr "link de e-mail para documento: %s " +msgid "%(count)d document links queued for email delivery" +msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "E-mail de documentos: %s" +#~ msgid "Must provide at least one document." +#~ msgstr "Deve fornecer pelo menos um documento." -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "link de e-mail para documento: %s " +#~ msgid "Successfully queued for delivery via email." +#~ msgstr "Agregado com êxito à lista de espera para envio de e-mail." + +#~ msgid "Email document: %s" +#~ msgstr "E-mail de documentos: %s" + +#~ msgid "Email link for document: %s" +#~ msgstr "link de e-mail para documento: %s " + +#~ msgid "Email documents: %s" +#~ msgstr "E-mail de documentos: %s" + +#~ msgid "Email links for documents: %s" +#~ msgstr "link de e-mail para documento: %s " diff --git a/mayan/apps/mailer/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/ro_RO/LC_MESSAGES/django.po index debd0713cd..d68c417523 100644 --- a/mayan/apps/mailer/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/ro_RO/LC_MESSAGES/django.po @@ -1,55 +1,57 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:16+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "" @@ -123,34 +125,29 @@ msgstr "" msgid "Template for the document email form body line." msgstr "" -#: views.py:56 -msgid "Must provide at least one document." -msgstr "Trebuie selectat cel puțin un document." - -#: views.py:105 -msgid "Successfully queued for delivery via email." +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" msgstr "" -#: views.py:114 +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" + +#: views.py:48 msgid "Send" msgstr "" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" +msgid "%(count)d document link queued for email delivery" msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" +msgid "%(count)d document links queued for email delivery" msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "" - -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Trebuie selectat cel puțin un document." diff --git a/mayan/apps/mailer/locale/ru/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/ru/LC_MESSAGES/django.po index 08e00e499f..ea72af8593 100644 --- a/mayan/apps/mailer/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/ru/LC_MESSAGES/django.po @@ -1,56 +1,59 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # lilo.panic, 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-07-13 21:46+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "Электронный почтальон" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "Дата и время" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "Сообщение" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "Адрес электронной почты" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "Тема" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "Тело письма" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "Журнал ошибок отправки электронной почты" @@ -124,34 +127,32 @@ msgstr "" msgid "Template for the document email form body line." msgstr "" -#: views.py:56 -msgid "Must provide at least one document." -msgstr "Необходимо указатьть хотя бы один документ." +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" +msgstr "" -#: views.py:105 -msgid "Successfully queued for delivery via email." -msgstr "Успешно добавлено в очередь доставки электронной почты." +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" -#: views.py:114 +#: views.py:48 msgid "Send" msgstr "Отправить" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" +msgid "%(count)d document link queued for email delivery" msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" +msgid "%(count)d document links queued for email delivery" msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Необходимо указатьть хотя бы один документ." -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "" +#~ msgid "Successfully queued for delivery via email." +#~ msgstr "Успешно добавлено в очередь доставки электронной почты." diff --git a/mayan/apps/mailer/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/sl_SI/LC_MESSAGES/django.po index 193e9e08e9..aab1cbb985 100644 --- a/mayan/apps/mailer/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/sl_SI/LC_MESSAGES/django.po @@ -1,55 +1,57 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:16+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "" @@ -123,34 +125,29 @@ msgstr "" msgid "Template for the document email form body line." msgstr "" -#: views.py:56 -msgid "Must provide at least one document." -msgstr "Potrebno je podati vsaj en dokument" - -#: views.py:105 -msgid "Successfully queued for delivery via email." +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" msgstr "" -#: views.py:114 +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" + +#: views.py:48 msgid "Send" msgstr "" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" +msgid "%(count)d document link queued for email delivery" msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" +msgid "%(count)d document links queued for email delivery" msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "" - -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Potrebno je podati vsaj en dokument" diff --git a/mayan/apps/mailer/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/vi_VN/LC_MESSAGES/django.po index 60e533f5f7..2256d4a375 100644 --- a/mayan/apps/mailer/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/vi_VN/LC_MESSAGES/django.po @@ -1,55 +1,56 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:16+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "" @@ -123,34 +124,29 @@ msgstr "" msgid "Template for the document email form body line." msgstr "" -#: views.py:56 -msgid "Must provide at least one document." -msgstr "Cần cung cấp ít nhất một tài liệu." - -#: views.py:105 -msgid "Successfully queued for delivery via email." +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" msgstr "" -#: views.py:114 +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" + +#: views.py:48 msgid "Send" msgstr "" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" +msgid "%(count)d document link queued for email delivery" msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" +msgid "%(count)d document links queued for email delivery" msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "" - -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Cần cung cấp ít nhất một tài liệu." diff --git a/mayan/apps/mailer/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/zh_CN/LC_MESSAGES/django.po index 68d6790c07..ed05a3fe45 100644 --- a/mayan/apps/mailer/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/zh_CN/LC_MESSAGES/django.po @@ -1,55 +1,56 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:16+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:25 +#: apps.py:26 msgid "Mailer" msgstr "" -#: apps.py:37 +#: apps.py:38 msgid "Date and time" msgstr "" -#: apps.py:41 models.py:16 +#: apps.py:42 models.py:16 msgid "Message" msgstr "" -#: forms.py:29 +#: forms.py:36 msgid "Email address" msgstr "" -#: forms.py:30 +#: forms.py:37 msgid "Subject" msgstr "" -#: forms.py:32 +#: forms.py:39 msgid "Body" msgstr "" -#: links.py:14 +#: links.py:14 links.py:21 msgid "Email document" msgstr "" -#: links.py:18 +#: links.py:18 links.py:24 msgid "Email link" msgstr "" -#: links.py:22 views.py:31 +#: links.py:28 views.py:23 msgid "Document mailing error log" msgstr "" @@ -123,34 +124,29 @@ msgstr "" msgid "Template for the document email form body line." msgstr "" -#: views.py:56 -msgid "Must provide at least one document." -msgstr "至少要有一个文档" - -#: views.py:105 -msgid "Successfully queued for delivery via email." +#: views.py:35 +#, python-format +msgid "%(count)d document queued for email delivery" msgstr "" -#: views.py:114 +#: views.py:37 +#, python-format +msgid "%(count)d documents queued for email delivery" +msgstr "" + +#: views.py:48 msgid "Send" msgstr "" -#: views.py:120 +#: views.py:100 #, python-format -msgid "Email document: %s" +msgid "%(count)d document link queued for email delivery" msgstr "" -#: views.py:122 +#: views.py:102 #, python-format -msgid "Email link for document: %s" +msgid "%(count)d document links queued for email delivery" msgstr "" -#: views.py:125 -#, python-format -msgid "Email documents: %s" -msgstr "" - -#: views.py:127 -#, python-format -msgid "Email links for documents: %s" -msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "至少要有一个文档" diff --git a/mayan/apps/metadata/locale/ar/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/ar/LC_MESSAGES/django.po index f55324a8bc..fe6dffb8cb 100644 --- a/mayan/apps/metadata/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -9,63 +9,66 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-28 07:35+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "البيانات الوصفية" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" msgstr "" -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "قيمة" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "نوع البيانات الوصفية" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "قيمة البيانات الوصفية" @@ -101,12 +104,18 @@ msgstr "" msgid "\"%s\" is required for this document type." msgstr "" -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Metadata types to be added to the selected documents." +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: forms.py:141 msgid " Available template context variables: " msgstr "" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "إزالة" @@ -138,16 +147,15 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "تحرير" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "أنواع البيانات الوصفية" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -170,8 +178,8 @@ msgstr "Default" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -190,47 +198,46 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." +"The parser will reformat the value entered to conform to the expected format." msgstr "" #: models.py:78 msgid "Parser" msgstr "" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "" -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "" -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "" -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "نوع الوثيقة" -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "" -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "" @@ -270,77 +277,33 @@ msgstr "حذف نوع من البيانات الوصفية" msgid "View metadata types" msgstr "عرض أنواع البيانات الوصفية" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "" -#: serializers.py:40 -msgid "Primary key of the document metadata type." +#: serializers.py:130 +msgid "Primary key of the metadata type to be added to the document." msgstr "" -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." +#: views.py:41 +#, python-format +msgid "Metadata add request performed on %(count)d document" msgstr "" -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "يجب أن توفر ما لا يقل عن وثيقة واحدة." - -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." +#: views.py:43 +#, python-format +msgid "Metadata add request performed on %(count)d documents" msgstr "" -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" -msgstr[5] "" - -#: views.py:139 -#, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." +#: views.py:56 views.py:192 views.py:358 +msgid "Selected documents must be of the same type." msgstr "" -#: views.py:150 -#, python-format -msgid "Metadata for document %s edited successfully." -msgstr "تم تعديل البيانات الوصفية للوثيقة %s بنجاح" - -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" -msgstr[5] "" - -#: views.py:256 -#, python-format -msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" +#: views.py:95 +msgid "Add" msgstr "" -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." -msgstr "تم اضافة نوع البيانات الوصفية %(metadata_type)s بنجاح للوثيقة %(document)s ." - -#: views.py:282 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "نوع البيانات الوصفية %(metadata_type)s موجود مسبقا للوثيقة %(document)s ." - -#: views.py:313 +#: views.py:97 msgid "Add metadata types to document" msgid_plural "Add metadata types to documents" msgstr[0] "" @@ -350,21 +313,82 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: views.py:429 +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Add metadata types to document: %s" +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: views.py:152 #, python-format msgid "" -"Successfully remove metadata type \"%(metadata_type)s\" from document: " -"%(document)s." +"Metadata type: %(metadata_type)s successfully added to document %(document)s." msgstr "" +"تم اضافة نوع البيانات الوصفية %(metadata_type)s بنجاح للوثيقة %(document)s ." -#: views.py:439 +#: views.py:162 #, python-format msgid "" -"Error removing metadata type \"%(metadata_type)s\" from document: " -"%(document)s; %(exception)s" +"Metadata type: %(metadata_type)s already present in document %(document)s." +msgstr "" +"نوع البيانات الوصفية %(metadata_type)s موجود مسبقا للوثيقة %(document)s ." + +#: views.py:176 +#, python-format +msgid "Metadata edit request performed on %(count)d document" msgstr "" -#: views.py:461 +#: views.py:179 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Metadata edit request performed on %(count)d documents" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: views.py:242 +#, fuzzy, python-format +#| msgid "Edit metadata for document: %(document)s" +#| msgid_plural "Edit metadata for the %(count)d selected documents" +msgid "Edit metadata for document: %s" +msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "" + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "تم تعديل البيانات الوصفية للوثيقة %s بنجاح" + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 msgid "Remove metadata types from the document" msgid_plural "Remove metadata types from the documents" msgstr[0] "" @@ -374,49 +398,66 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: views.py:504 +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Remove metadata types from the document: %s" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:455 #, python-format -msgid "Metadata for document: %s" +msgid "" +"Successfully remove metadata type \"%(metadata_type)s\" from document: " +"%(document)s." msgstr "" -#: views.py:513 +#: views.py:465 +#, python-format +msgid "" +"Error removing metadata type \"%(metadata_type)s\" from document: " +"%(document)s; %(exception)s" +msgstr "" + +#: views.py:476 msgid "Create metadata type" msgstr "" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "يجب أن توفر ما لا يقل عن وثيقة واحدة." + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -450,33 +491,6 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" -#~ msgid "Edit metadata for document: %(document)s" -#~ msgid_plural "Edit metadata for the %(count)d selected documents" -#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" -#~ msgstr[1] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_1" -#~ msgstr[2] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_2" -#~ msgstr[3] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_3" -#~ msgstr[4] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_4" -#~ msgstr[5] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_5" - -#~ msgid "Add metadata types to document: %(document)s" -#~ msgid_plural "Add metadata types to the %(count)d selected documents" -#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" -#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" -#~ msgstr[2] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_2" -#~ msgstr[3] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_3" -#~ msgstr[4] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_4" -#~ msgstr[5] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_5" - -#~ msgid "Remove metadata types from document: %(document)s" -#~ msgid_plural "Remove metadata types from the %(count)d selected documents" -#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" -#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" -#~ msgstr[2] "6ecb682bfaa127b9e56a8036a602ccf4_pl_2" -#~ msgstr[3] "6ecb682bfaa127b9e56a8036a602ccf4_pl_3" -#~ msgstr[4] "6ecb682bfaa127b9e56a8036a602ccf4_pl_4" -#~ msgstr[5] "6ecb682bfaa127b9e56a8036a602ccf4_pl_5" - #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -589,47 +603,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/bg/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/bg/LC_MESSAGES/django.po index 6fc0b44d0c..e3f5f1e10b 100644 --- a/mayan/apps/metadata/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pavlin Koldamov , 2012 @@ -9,63 +9,65 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-28 07:35+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" msgstr "" -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "Стойност" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "Стойност на мета данни" @@ -101,12 +103,18 @@ msgstr "" msgid "\"%s\" is required for this document type." msgstr "" -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Metadata types to be added to the selected documents." +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: forms.py:141 msgid " Available template context variables: " msgstr "" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "Премахване" @@ -138,16 +146,15 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "Редактиране" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -170,8 +177,8 @@ msgstr "По подразбиране" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -190,47 +197,46 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." +"The parser will reformat the value entered to conform to the expected format." msgstr "" #: models.py:78 msgid "Parser" msgstr "" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "" -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "" -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "" -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "Вид на документа" -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "" -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "" @@ -270,137 +276,173 @@ msgstr "" msgid "View metadata types" msgstr "" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "" -#: serializers.py:40 -msgid "Primary key of the document metadata type." +#: serializers.py:130 +msgid "Primary key of the metadata type to be added to the document." msgstr "" -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." -msgstr "" - -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "Трябва да посочите поне един документ." - -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." -msgstr "" - -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." -msgstr[0] "" -msgstr[1] "" - -#: views.py:139 +#: views.py:41 #, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgid "Metadata add request performed on %(count)d document" msgstr "" -#: views.py:150 +#: views.py:43 #, python-format -msgid "Metadata for document %s edited successfully." +msgid "Metadata add request performed on %(count)d documents" msgstr "" -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "" -msgstr[1] "" - -#: views.py:256 -#, python-format -msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" +#: views.py:56 views.py:192 views.py:358 +msgid "Selected documents must be of the same type." msgstr "" -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." +#: views.py:95 +msgid "Add" msgstr "" -#: views.py:282 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "" - -#: views.py:313 +#: views.py:97 msgid "Add metadata types to document" msgid_plural "Add metadata types to documents" msgstr[0] "" msgstr[1] "" -#: views.py:429 +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Add metadata types to document: %s" +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: views.py:152 +#, python-format +msgid "" +"Metadata type: %(metadata_type)s successfully added to document %(document)s." +msgstr "" + +#: views.py:162 +#, python-format +msgid "" +"Metadata type: %(metadata_type)s already present in document %(document)s." +msgstr "" + +#: views.py:176 +#, python-format +msgid "Metadata edit request performed on %(count)d document" +msgstr "" + +#: views.py:179 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Metadata edit request performed on %(count)d documents" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" +msgstr[0] "" +msgstr[1] "" + +#: views.py:242 +#, fuzzy, python-format +#| msgid "Edit metadata for document: %(document)s" +#| msgid_plural "Edit metadata for the %(count)d selected documents" +msgid "Edit metadata for document: %s" +msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "" + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "" + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 +msgid "Remove metadata types from the document" +msgid_plural "Remove metadata types from the documents" +msgstr[0] "" +msgstr[1] "" + +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Remove metadata types from the document: %s" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:455 #, python-format msgid "" "Successfully remove metadata type \"%(metadata_type)s\" from document: " "%(document)s." msgstr "" -#: views.py:439 +#: views.py:465 #, python-format msgid "" "Error removing metadata type \"%(metadata_type)s\" from document: " "%(document)s; %(exception)s" msgstr "" -#: views.py:461 -msgid "Remove metadata types from the document" -msgid_plural "Remove metadata types from the documents" -msgstr[0] "" -msgstr[1] "" - -#: views.py:504 -#, python-format -msgid "Metadata for document: %s" -msgstr "" - -#: views.py:513 +#: views.py:476 msgid "Create metadata type" msgstr "" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Трябва да посочите поне един документ." + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -434,21 +476,6 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" -#~ msgid "Edit metadata for document: %(document)s" -#~ msgid_plural "Edit metadata for the %(count)d selected documents" -#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" -#~ msgstr[1] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_1" - -#~ msgid "Add metadata types to document: %(document)s" -#~ msgid_plural "Add metadata types to the %(count)d selected documents" -#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" -#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" - -#~ msgid "Remove metadata types from document: %(document)s" -#~ msgid_plural "Remove metadata types from the %(count)d selected documents" -#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" -#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" - #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -561,47 +588,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/bs_BA/LC_MESSAGES/django.po index e3e01b024c..64afb7555a 100644 --- a/mayan/apps/metadata/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -9,63 +9,66 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-28 07:35+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "Metadata" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" msgstr "" -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "Vrijednost" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "Metadata tip" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "Metadata vrijednost" @@ -101,12 +104,18 @@ msgstr "" msgid "\"%s\" is required for this document type." msgstr "" -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Metadata types to be added to the selected documents." +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: forms.py:141 msgid " Available template context variables: " msgstr "" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "Ukloni" @@ -138,16 +147,15 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "Urediti" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "Metadata tip" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -170,8 +178,8 @@ msgstr "default" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -190,47 +198,46 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." +"The parser will reformat the value entered to conform to the expected format." msgstr "" #: models.py:78 msgid "Parser" msgstr "" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "" -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "" -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "" -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "Tip dokumenta" -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "" -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "" @@ -270,141 +277,177 @@ msgstr "Izbriši metadata tip" msgid "View metadata types" msgstr "Pregledaj metadata tip" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "" -#: serializers.py:40 -msgid "Primary key of the document metadata type." +#: serializers.py:130 +msgid "Primary key of the metadata type to be added to the document." msgstr "" -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." +#: views.py:41 +#, python-format +msgid "Metadata add request performed on %(count)d document" msgstr "" -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "Mora se osigurati bar jedan dokument." - -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." +#: views.py:43 +#, python-format +msgid "Metadata add request performed on %(count)d documents" msgstr "" -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#: views.py:139 -#, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." +#: views.py:56 views.py:192 views.py:358 +msgid "Selected documents must be of the same type." msgstr "" -#: views.py:150 -#, python-format -msgid "Metadata for document %s edited successfully." -msgstr "Metadata za dokument %s uspješno izmjenjen." - -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#: views.py:256 -#, python-format -msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" +#: views.py:95 +msgid "Add" msgstr "" -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." -msgstr "Metadata tip: %(metadata_type)s uspješno dodan u dokument %(document)s." - -#: views.py:282 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "Metadata tip: %(metadata_type)s već postoji u dokumentu %(document)s." - -#: views.py:313 +#: views.py:97 msgid "Add metadata types to document" msgid_plural "Add metadata types to documents" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: views.py:429 +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Add metadata types to document: %s" +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: views.py:152 #, python-format msgid "" -"Successfully remove metadata type \"%(metadata_type)s\" from document: " -"%(document)s." +"Metadata type: %(metadata_type)s successfully added to document %(document)s." msgstr "" +"Metadata tip: %(metadata_type)s uspješno dodan u dokument %(document)s." -#: views.py:439 +#: views.py:162 #, python-format msgid "" -"Error removing metadata type \"%(metadata_type)s\" from document: " -"%(document)s; %(exception)s" +"Metadata type: %(metadata_type)s already present in document %(document)s." +msgstr "Metadata tip: %(metadata_type)s već postoji u dokumentu %(document)s." + +#: views.py:176 +#, python-format +msgid "Metadata edit request performed on %(count)d document" msgstr "" -#: views.py:461 +#: views.py:179 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Metadata edit request performed on %(count)d documents" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: views.py:242 +#, fuzzy, python-format +#| msgid "Edit metadata for document: %(document)s" +#| msgid_plural "Edit metadata for the %(count)d selected documents" +msgid "Edit metadata for document: %s" +msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "" + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "Metadata za dokument %s uspješno izmjenjen." + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 msgid "Remove metadata types from the document" msgid_plural "Remove metadata types from the documents" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: views.py:504 +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Remove metadata types from the document: %s" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:455 #, python-format -msgid "Metadata for document: %s" +msgid "" +"Successfully remove metadata type \"%(metadata_type)s\" from document: " +"%(document)s." msgstr "" -#: views.py:513 +#: views.py:465 +#, python-format +msgid "" +"Error removing metadata type \"%(metadata_type)s\" from document: " +"%(document)s; %(exception)s" +msgstr "" + +#: views.py:476 msgid "Create metadata type" msgstr "" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Mora se osigurati bar jedan dokument." + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -438,24 +481,6 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" -#~ msgid "Edit metadata for document: %(document)s" -#~ msgid_plural "Edit metadata for the %(count)d selected documents" -#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" -#~ msgstr[1] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_1" -#~ msgstr[2] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_2" - -#~ msgid "Add metadata types to document: %(document)s" -#~ msgid_plural "Add metadata types to the %(count)d selected documents" -#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" -#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" -#~ msgstr[2] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_2" - -#~ msgid "Remove metadata types from document: %(document)s" -#~ msgid_plural "Remove metadata types from the %(count)d selected documents" -#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" -#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" -#~ msgstr[2] "6ecb682bfaa127b9e56a8036a602ccf4_pl_2" - #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -568,47 +593,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/da/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/da/LC_MESSAGES/django.po index de0dec79b7..68bf8dc462 100644 --- a/mayan/apps/metadata/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/da/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mads L. Nielsen , 2013 @@ -9,63 +9,65 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-28 07:35+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" msgstr "" -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "Metadata type" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "Metadata værdi" @@ -101,12 +103,18 @@ msgstr "" msgid "\"%s\" is required for this document type." msgstr "" -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Metadata types to be added to the selected documents." +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: forms.py:141 msgid " Available template context variables: " msgstr "" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "" @@ -138,16 +146,15 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -170,8 +177,8 @@ msgstr "Standard" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -190,47 +197,46 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." +"The parser will reformat the value entered to conform to the expected format." msgstr "" #: models.py:78 msgid "Parser" msgstr "" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "" -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "" -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "" -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "Dokumenttype" -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "" -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "" @@ -270,137 +276,173 @@ msgstr "" msgid "View metadata types" msgstr "" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "" -#: serializers.py:40 -msgid "Primary key of the document metadata type." +#: serializers.py:130 +msgid "Primary key of the metadata type to be added to the document." msgstr "" -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." -msgstr "" - -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "Angiv mindst ét ​​dokument." - -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." -msgstr "" - -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." -msgstr[0] "" -msgstr[1] "" - -#: views.py:139 +#: views.py:41 #, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgid "Metadata add request performed on %(count)d document" msgstr "" -#: views.py:150 +#: views.py:43 #, python-format -msgid "Metadata for document %s edited successfully." +msgid "Metadata add request performed on %(count)d documents" msgstr "" -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "" -msgstr[1] "" - -#: views.py:256 -#, python-format -msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" +#: views.py:56 views.py:192 views.py:358 +msgid "Selected documents must be of the same type." msgstr "" -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." +#: views.py:95 +msgid "Add" msgstr "" -#: views.py:282 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "" - -#: views.py:313 +#: views.py:97 msgid "Add metadata types to document" msgid_plural "Add metadata types to documents" msgstr[0] "" msgstr[1] "" -#: views.py:429 +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Add metadata types to document: %s" +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: views.py:152 +#, python-format +msgid "" +"Metadata type: %(metadata_type)s successfully added to document %(document)s." +msgstr "" + +#: views.py:162 +#, python-format +msgid "" +"Metadata type: %(metadata_type)s already present in document %(document)s." +msgstr "" + +#: views.py:176 +#, python-format +msgid "Metadata edit request performed on %(count)d document" +msgstr "" + +#: views.py:179 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Metadata edit request performed on %(count)d documents" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" +msgstr[0] "" +msgstr[1] "" + +#: views.py:242 +#, fuzzy, python-format +#| msgid "Edit metadata for document: %(document)s" +#| msgid_plural "Edit metadata for the %(count)d selected documents" +msgid "Edit metadata for document: %s" +msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "" + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "" + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 +msgid "Remove metadata types from the document" +msgid_plural "Remove metadata types from the documents" +msgstr[0] "" +msgstr[1] "" + +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Remove metadata types from the document: %s" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:455 #, python-format msgid "" "Successfully remove metadata type \"%(metadata_type)s\" from document: " "%(document)s." msgstr "" -#: views.py:439 +#: views.py:465 #, python-format msgid "" "Error removing metadata type \"%(metadata_type)s\" from document: " "%(document)s; %(exception)s" msgstr "" -#: views.py:461 -msgid "Remove metadata types from the document" -msgid_plural "Remove metadata types from the documents" -msgstr[0] "" -msgstr[1] "" - -#: views.py:504 -#, python-format -msgid "Metadata for document: %s" -msgstr "" - -#: views.py:513 +#: views.py:476 msgid "Create metadata type" msgstr "" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Angiv mindst ét ​​dokument." + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -434,21 +476,6 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" -#~ msgid "Edit metadata for document: %(document)s" -#~ msgid_plural "Edit metadata for the %(count)d selected documents" -#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" -#~ msgstr[1] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_1" - -#~ msgid "Add metadata types to document: %(document)s" -#~ msgid_plural "Add metadata types to the %(count)d selected documents" -#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" -#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" - -#~ msgid "Remove metadata types from document: %(document)s" -#~ msgid_plural "Remove metadata types from the %(count)d selected documents" -#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" -#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" - #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -561,47 +588,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/de_DE/LC_MESSAGES/django.po index 4c07c4c086..b0350e71b7 100644 --- a/mayan/apps/metadata/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Berny , 2015 @@ -12,63 +12,67 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-31 19:03+0000\n" "Last-Translator: Tobias Paepke \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "Metadaten" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "Dokumente mit fehlenden erforderlichen Metadaten" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "Dokumente mit fehlenden optionalen Metadaten" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" -msgstr "Queryset enthaltend eine Referenz auf eine Metadatentyp Instanz und einen Wert für diesen Metadatentyp" +msgstr "" +"Queryset enthaltend eine Referenz auf eine Metadatentyp Instanz und einen " +"Wert für diesen Metadatentyp" -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "Name Metadatentyp" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "Metadatentypwert" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "Metadatenwert" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "Gibt den Wert einer spezifischen Dokumentmetadatums zurück" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "Wert" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "erforderlich" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "Metadatentyp" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "Metadatenwert" @@ -104,12 +108,17 @@ msgstr "Fehler für Standardwert: %s" msgid "\"%s\" is required for this document type." msgstr "\"%s\" wird für diesen Dokumententyp benötigt." -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Metadata type is not valid for this document type." +msgid "Metadata types to be added to the selected documents." +msgstr "Metadatentyp ist nicht gültig für diesen Dokumententyp" + +#: forms.py:141 msgid " Available template context variables: " msgstr "Verfügbare Kontextvariablen:" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "Entfernen" @@ -141,20 +150,21 @@ msgstr "Erstellen" msgid "Delete" msgstr "Löschen" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "Bearbeiten" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "Metadatentypen" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." -msgstr "Name unter dem andere Apps diesen Wert referenzieren. Keine reservierten Worte aus Python oder Leerzeichen verwenden." +msgstr "" +"Name unter dem andere Apps diesen Wert referenzieren. Keine reservierten " +"Worte aus Python oder Leerzeichen verwenden." #: models.py:47 msgid "Label" @@ -164,7 +174,10 @@ msgstr "Bezeichner" msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -msgstr "Vorlage/Template zur Generierung eingeben. Django's Standard-Vorlagen-Sprache benutzen (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" +msgstr "" +"Vorlage/Template zur Generierung eingeben. Django's Standard-Vorlagen-" +"Sprache benutzen (https://docs.djangoproject.com/en/1.7/ref/templates/" +"builtins/)" #: models.py:55 msgid "Default" @@ -173,9 +186,12 @@ msgstr "Standard" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." -msgstr "Vorlage/Template zur Generierung eingeben. Muss eine komma-separierte Zeichenkette ausgeben (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." +msgstr "" +"Vorlage/Template zur Generierung eingeben. Muss eine komma-separierte " +"Zeichenkette ausgeben (https://docs.djangoproject.com/en/1.7/ref/templates/" +"builtins/)" #: models.py:65 msgid "Lookup" @@ -185,7 +201,9 @@ msgstr "Suche" msgid "" "The validator will reject data entry if the value entered does not conform " "to the expected format." -msgstr "Der Validierer wird den eingegebenen Wert zurückweisen, wenn er dem geforderten Format nicht entspricht." +msgstr "" +"Der Validierer wird den eingegebenen Wert zurückweisen, wenn er dem " +"geforderten Format nicht entspricht." #: models.py:72 msgid "Validator" @@ -193,47 +211,48 @@ msgstr "Validierer" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." -msgstr "Der Parser wird den eingegebenen Wert so reformatieren, dass er dem geforderten Format entspricht." +"The parser will reformat the value entered to conform to the expected format." +msgstr "" +"Der Parser wird den eingegebenen Wert so reformatieren, dass er dem " +"geforderten Format entspricht." #: models.py:78 msgid "Parser" msgstr "Parser" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "Der Wert entspricht keiner der vorgegebenen Optionen." -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "Dokument" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "Typ" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "Metadatentyp ist erforderlich für diesen Dokumententyp" -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "Metadatentyp ist nicht gültig für diesen Dokumententyp" -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "Dokument Metadaten" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "Dokumententyp" -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "Metadatentyp Optionen" -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "Metadatentyp Optionen" @@ -273,137 +292,203 @@ msgstr "Metadatentypen löschen" msgid "View metadata types" msgstr "Metadatentypen anzeigen" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "Primärschlüssel des hinzuzufügenden Metadatentyps" -#: serializers.py:40 -msgid "Primary key of the document metadata type." -msgstr "Primärschlüssel des Metadatendokumententyps." +#: serializers.py:130 +#, fuzzy +#| msgid "Primary key of the metadata type to be added." +msgid "Primary key of the metadata type to be added to the document." +msgstr "Primärschlüssel des hinzuzufügenden Metadatentyps" -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." -msgstr "Wert der entsprechenden Metadatentyp-Instanz" +#: views.py:41 +#, python-format +msgid "Metadata add request performed on %(count)d document" +msgstr "" -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "Es muss mindestens ein Dokument angegeben werden" +#: views.py:43 +#, python-format +msgid "Metadata add request performed on %(count)d documents" +msgstr "" -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." +#: views.py:56 views.py:192 views.py:358 +#, fuzzy +#| msgid "Only select documents of the same type." +msgid "Selected documents must be of the same type." msgstr "Es können nur Dokumente des gleichen Typs ausgewählt werden" -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." -msgstr[0] "Für das ausgewählte Dokument existieren keine Metadaten" -msgstr[1] "Für die ausgewählten Dokumente existieren keine Metadaten" +#: views.py:95 +msgid "Add" +msgstr "" -#: views.py:139 -#, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." -msgstr "Fehler bei der Bearbeitung der Metadaten für Dokument %(document)s: %(exception)s" - -#: views.py:150 -#, python-format -msgid "Metadata for document %s edited successfully." -msgstr "Metadaten des Dokuments %s erfolgreich bearbeitet." - -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "Metadaten bearbeiten" -msgstr[1] "Metadaten bearbeiten" - -#: views.py:256 -#, python-format -msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" -msgstr "Fehler beim Hinzufügen von Metadatentyp \"%(metadata_type)s\" zu Dokument %(document)s: %(exception)s" - -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." -msgstr "Metadatentyp %(metadata_type)s erfolgreich hinzugefügt zu Dokument %(document)s" - -#: views.py:282 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "Metadatentyp %(metadata_type)s bereits vorhanden für Dokument %(document)s" - -#: views.py:313 +#: views.py:97 msgid "Add metadata types to document" msgid_plural "Add metadata types to documents" msgstr[0] "Metadatentypen zu Dokument hinzufügen" msgstr[1] "Metadatentypen zu Dokumenten hinzufügen" -#: views.py:429 +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document" +#| msgid_plural "Add metadata types to documents" +msgid "Add metadata types to document: %s" +msgstr "Metadatentypen zu Dokument hinzufügen" + +#: views.py:152 #, python-format msgid "" -"Successfully remove metadata type \"%(metadata_type)s\" from document: " -"%(document)s." -msgstr "Metadatentyp \"%(metadata_type)s\" erfolgreich entfernt von Dokument %(document)s" +"Metadata type: %(metadata_type)s successfully added to document %(document)s." +msgstr "" +"Metadatentyp %(metadata_type)s erfolgreich hinzugefügt zu Dokument " +"%(document)s" -#: views.py:439 +#: views.py:162 #, python-format msgid "" -"Error removing metadata type \"%(metadata_type)s\" from document: " -"%(document)s; %(exception)s" -msgstr "Fehler bei der Entfernung von Metadatentyp \"%(metadata_type)s\" von Dokument %(document)s: %(exception)s" +"Metadata type: %(metadata_type)s already present in document %(document)s." +msgstr "" +"Metadatentyp %(metadata_type)s bereits vorhanden für Dokument %(document)s" -#: views.py:461 +#: views.py:176 +#, fuzzy, python-format +#| msgid "Metadata type is required for this document type." +msgid "Metadata edit request performed on %(count)d document" +msgstr "Metadatentyp ist erforderlich für diesen Dokumententyp" + +#: views.py:179 +#, fuzzy, python-format +#| msgid "Metadata type is required for this document type." +msgid "Metadata edit request performed on %(count)d documents" +msgstr "Metadatentyp ist erforderlich für diesen Dokumententyp" + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" +msgstr[0] "Metadaten bearbeiten" +msgstr[1] "Metadaten bearbeiten" + +#: views.py:242 +#, fuzzy, python-format +#| msgid "Metadata for document: %s" +msgid "Edit metadata for document: %s" +msgstr "Metadaten von Dokument %s" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "" +"Fehler bei der Bearbeitung der Metadaten für Dokument %(document)s: " +"%(exception)s" + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "Metadaten des Dokuments %s erfolgreich bearbeitet." + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "Metadaten von Dokument %s" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 msgid "Remove metadata types from the document" msgid_plural "Remove metadata types from the documents" msgstr[0] "Metadatentypen von Dokument entfernen" msgstr[1] "Metadatentypen von Dokumenten entfernen" -#: views.py:504 -#, python-format -msgid "Metadata for document: %s" -msgstr "Metadaten von Dokument %s" +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from the document" +#| msgid_plural "Remove metadata types from the documents" +msgid "Remove metadata types from the document: %s" +msgstr "Metadatentypen von Dokument entfernen" -#: views.py:513 +#: views.py:455 +#, python-format +msgid "" +"Successfully remove metadata type \"%(metadata_type)s\" from document: " +"%(document)s." +msgstr "" +"Metadatentyp \"%(metadata_type)s\" erfolgreich entfernt von Dokument " +"%(document)s" + +#: views.py:465 +#, python-format +msgid "" +"Error removing metadata type \"%(metadata_type)s\" from document: " +"%(document)s; %(exception)s" +msgstr "" +"Fehler bei der Entfernung von Metadatentyp \"%(metadata_type)s\" von " +"Dokument %(document)s: %(exception)s" + +#: views.py:476 msgid "Create metadata type" msgstr "Metadatentyp erstellen" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "Metadatentyp %s löschen?" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "Metadatentyp %s bearbeiten" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "Interner Name" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "Verfügbare Metadatentypen" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "Zugewiesene Metadatentypen" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "Optionale Metadatentypen für Dokumententyp %s" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "Erforderliche Metadatentypen für Dokumententyp %s" +#~ msgid "Primary key of the document metadata type." +#~ msgstr "Primärschlüssel des Metadatendokumententyps." + +#~ msgid "Value of the corresponding metadata type instance." +#~ msgstr "Wert der entsprechenden Metadatentyp-Instanz" + +#~ msgid "Must provide at least one document." +#~ msgstr "Es muss mindestens ein Dokument angegeben werden" + +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "Für das ausgewählte Dokument existieren keine Metadaten" +#~ msgstr[1] "Für die ausgewählten Dokumente existieren keine Metadaten" + +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: " +#~ "%(document)s; %(exception)s" +#~ msgstr "" +#~ "Fehler beim Hinzufügen von Metadatentyp \"%(metadata_type)s\" zu Dokument " +#~ "%(document)s: %(exception)s" + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -564,47 +649,47 @@ msgstr "Erforderliche Metadatentypen für Dokumententyp %s" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/en/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/en/LC_MESSAGES/django.po index dca3b971ba..6436c1d3aa 100644 --- a/mayan/apps/metadata/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2012-12-12 06:06+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" @@ -18,59 +18,60 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "Metadata" -#: apps.py:76 +#: apps.py:79 #, fuzzy msgid "Documents missing required metadata" msgstr "document metadata" -#: apps.py:93 +#: apps.py:96 #, fuzzy msgid "Documents missing optional metadata" msgstr "document metadata" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" msgstr "" -#: apps.py:118 +#: apps.py:121 #, fuzzy msgid "Metadata type name" msgstr "Metadata type" -#: apps.py:121 +#: apps.py:124 #, fuzzy msgid "Metadata type value" msgstr "Metadata type" -#: apps.py:125 +#: apps.py:128 #, fuzzy msgid "Value of a metadata" msgstr "default metadata" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "Value" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 #, fuzzy msgid "Required" msgstr "required" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "Metadata type" -#: apps.py:176 +#: apps.py:186 apps.py:195 #, fuzzy msgid "Metadata value" msgstr "Metadata type" @@ -107,13 +108,18 @@ msgstr "" msgid "\"%s\" is required for this document type." msgstr "Add metadata type to document: %s" -#: forms.py:130 +#: forms.py:112 +#, fuzzy +msgid "Metadata types to be added to the selected documents." +msgstr "Add metadata type to document: %s" + +#: forms.py:141 #, fuzzy #| msgid " Available models: %s" msgid " Available template context variables: " msgstr " Available models: %s" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "Remove" @@ -152,11 +158,11 @@ msgstr "create new" msgid "Delete" msgstr "delete" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "Metadata types" @@ -214,45 +220,45 @@ msgstr "" msgid "Parser" msgstr "" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "" -#: models.py:153 +#: models.py:154 #, fuzzy msgid "Document" msgstr "document" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "" -#: models.py:167 +#: models.py:168 #, fuzzy msgid "Metadata type is required for this document type." msgstr "Add metadata type to document: %s" -#: models.py:175 +#: models.py:176 #, fuzzy msgid "Metadata type is not valid for this document type." msgstr "Add metadata type to document: %s" -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 #, fuzzy msgid "Document metadata" msgstr "document metadata" -#: models.py:203 +#: models.py:204 #, fuzzy msgid "Document type" msgstr "document type" -#: models.py:215 +#: models.py:216 #, fuzzy msgid "Document type metadata type options" msgstr "Delete metadata types" -#: models.py:216 +#: models.py:217 #, fuzzy msgid "Document type metadata types options" msgstr "Delete metadata types" @@ -293,82 +299,120 @@ msgstr "Delete metadata types" msgid "View metadata types" msgstr "View metadata types" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "" -#: serializers.py:40 +#: serializers.py:130 #, fuzzy -msgid "Primary key of the document metadata type." +msgid "Primary key of the metadata type to be added to the document." msgstr "Edit a document's metadata" -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." +#: views.py:41 +#, python-format +msgid "Metadata add request performed on %(count)d document" msgstr "" -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "Must provide at least one document." +#: views.py:43 +#, python-format +msgid "Metadata add request performed on %(count)d documents" +msgstr "" -#: views.py:66 views.py:196 views.py:361 +#: views.py:56 views.py:192 views.py:358 #, fuzzy -msgid "Only select documents of the same type." +msgid "Selected documents must be of the same type." msgstr "The selected document doesn't have any metadata." -#: views.py:75 views.py:370 -#, fuzzy -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." -msgstr[0] "The selected document doesn't have any metadata." -msgstr[1] "The selected document doesn't have any metadata." - -#: views.py:139 -#, fuzzy, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." -msgstr "Error editing metadata for document %(document)s; %(error)s." - -#: views.py:150 -#, python-format -msgid "Metadata for document %s edited successfully." -msgstr "Metadata for document %s edited successfully." - -#: views.py:168 -#, fuzzy -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "Edit a document's metadata" -msgstr[1] "Edit a document's metadata" - -#: views.py:256 -#, fuzzy, python-format -msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" +#: views.py:95 +msgid "Add" msgstr "" -"Error removing metadata type: %(metadata_type)s from document: %(document)s." -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." -msgstr "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." - -#: views.py:282 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "" -"Metadata type: %(metadata_type)s already present in document %(document)s." - -#: views.py:313 +#: views.py:97 #, fuzzy msgid "Add metadata types to document" msgid_plural "Add metadata types to documents" msgstr[0] "Add metadata type to documents: %s" msgstr[1] "Add metadata type to documents: %s" -#: views.py:429 +#: views.py:108 +#, fuzzy, python-format +msgid "Add metadata types to document: %s" +msgstr "Add metadata type to documents: %s" + +#: views.py:152 +#, python-format +msgid "" +"Metadata type: %(metadata_type)s successfully added to document %(document)s." +msgstr "" +"Metadata type: %(metadata_type)s successfully added to document %(document)s." + +#: views.py:162 +#, python-format +msgid "" +"Metadata type: %(metadata_type)s already present in document %(document)s." +msgstr "" +"Metadata type: %(metadata_type)s already present in document %(document)s." + +#: views.py:176 +#, fuzzy, python-format +msgid "Metadata edit request performed on %(count)d document" +msgstr "Add metadata type to document: %s" + +#: views.py:179 +#, fuzzy, python-format +msgid "Metadata edit request performed on %(count)d documents" +msgstr "Add metadata type to document: %s" + +#: views.py:231 +#, fuzzy +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" +msgstr[0] "Edit a document's metadata" +msgstr[1] "Edit a document's metadata" + +#: views.py:242 +#, fuzzy, python-format +msgid "Edit metadata for document: %s" +msgstr "Edit metadata for documents: %s" + +#: views.py:295 +#, fuzzy, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "Error editing metadata for document %(document)s; %(error)s." + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "Metadata for document %s edited successfully." + +#: views.py:330 +#, fuzzy, python-format +msgid "Metadata for document: %s" +msgstr "Edit metadata for documents: %s" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 +#, fuzzy +msgid "Remove metadata types from the document" +msgid_plural "Remove metadata types from the documents" +msgstr[0] "Remove metadata types from documents: %s" +msgstr[1] "Remove metadata types from documents: %s" + +#: views.py:408 +#, fuzzy, python-format +msgid "Remove metadata types from the document: %s" +msgstr "Remove metadata types from documents: %s" + +#: views.py:455 #, fuzzy, python-format msgid "" "Successfully remove metadata type \"%(metadata_type)s\" from document: " @@ -377,7 +421,7 @@ msgstr "" "Successfully remove metadata type: %(metadata_type)s from document: " "%(document)s." -#: views.py:439 +#: views.py:465 #, fuzzy, python-format msgid "" "Error removing metadata type \"%(metadata_type)s\" from document: " @@ -385,60 +429,65 @@ msgid "" msgstr "" "Error removing metadata type: %(metadata_type)s from document: %(document)s." -#: views.py:461 -#, fuzzy -msgid "Remove metadata types from the document" -msgid_plural "Remove metadata types from the documents" -msgstr[0] "Remove metadata types from documents: %s" -msgstr[1] "Remove metadata types from documents: %s" - -#: views.py:504 -#, fuzzy, python-format -msgid "Metadata for document: %s" -msgstr "Edit metadata for documents: %s" - -#: views.py:513 +#: views.py:476 #, fuzzy msgid "Create metadata type" msgstr "create metadata type" -#: views.py:529 +#: views.py:492 #, fuzzy, python-format #| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "Delete metadata types" -#: views.py:542 +#: views.py:505 #, fuzzy, python-format msgid "Edit metadata type: %s" msgstr "edit metadata type: %s" -#: views.py:556 +#: views.py:519 #, fuzzy msgid "Internal name" msgstr "internal name" -#: views.py:568 +#: views.py:531 #, fuzzy #| msgid "View metadata types" msgid "Available metadata types" msgstr "View metadata types" -#: views.py:569 +#: views.py:532 #, fuzzy msgid "Metadata types assigned" msgstr "Metadata type" -#: views.py:600 +#: views.py:563 #, fuzzy, python-format msgid "Optional metadata types for document type: %s" msgstr "Remove metadata types from document: %s" -#: views.py:618 +#: views.py:581 #, fuzzy, python-format msgid "Required metadata types for document type: %s" msgstr "Remove metadata types from document: %s" +#~ msgid "Must provide at least one document." +#~ msgstr "Must provide at least one document." + +#, fuzzy +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "The selected document doesn't have any metadata." +#~ msgstr[1] "The selected document doesn't have any metadata." + +#, fuzzy +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: " +#~ "%(document)s; %(exception)s" +#~ msgstr "" +#~ "Error removing metadata type: %(metadata_type)s from document: " +#~ "%(document)s." + #, fuzzy #~ msgid "Missing metadata" #~ msgstr "edit metadata" diff --git a/mayan/apps/metadata/locale/es/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/es/LC_MESSAGES/django.po index cc51820b24..2b8f9dfaca 100644 --- a/mayan/apps/metadata/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 @@ -12,63 +12,67 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-23 06:39+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "Metadatos" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "Documentos que sin metadatos requeridos" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "Documentos sin metadatos opcionales" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" -msgstr "QuerySet que contiene una referencia de instancia de tipo de meta datos y un valor para ese tipo de meta datos " +msgstr "" +"QuerySet que contiene una referencia de instancia de tipo de meta datos y un " +"valor para ese tipo de meta datos " -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "Nombre del tipo de metadatos" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "Valor del tipo de metadatos" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "Valor de un metadato" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "Retornar al valor de metadata de un documento específico" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "Valor" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "Requerido" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "Tipo de metadato" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "Valor de metadato" @@ -104,12 +108,17 @@ msgstr "Error en valor por defecto: %s" msgid "\"%s\" is required for this document type." msgstr "\"%s\" es requerido para este tipo de documento." -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Metadata type is not valid for this document type." +msgid "Metadata types to be added to the selected documents." +msgstr "El tipo de metadato no es válido para este tipo de documento." + +#: forms.py:141 msgid " Available template context variables: " msgstr "Variables de contexto de plantilla disponibles:" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "Eliminar" @@ -141,20 +150,21 @@ msgstr "Crear nuevo" msgid "Delete" msgstr "Borrar" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "Editar" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "Tipos de metadatos" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." -msgstr "Nombre usado por otros módulos para hacer referencia a este valor. No utilize palabras reservadas de Python o espacios." +msgstr "" +"Nombre usado por otros módulos para hacer referencia a este valor. No " +"utilize palabras reservadas de Python o espacios." #: models.py:47 msgid "Label" @@ -164,7 +174,9 @@ msgstr "Etiqueta" msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -msgstr "Introduzca una plantilla para generar. Use el lenguaje de plantillas de Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). " +msgstr "" +"Introduzca una plantilla para generar. Use el lenguaje de plantillas de " +"Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). " #: models.py:55 msgid "Default" @@ -173,9 +185,12 @@ msgstr "Por defecto" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." -msgstr "Introduzca una plantilla para generar. Debe resultar en una cadena de texto delimitada por comas. Use el lenguaje de plantillas de Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). " +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." +msgstr "" +"Introduzca una plantilla para generar. Debe resultar en una cadena de texto " +"delimitada por comas. Use el lenguaje de plantillas de Django (https://docs." +"djangoproject.com/en/1.7/ref/templates/builtins/). " #: models.py:65 msgid "Lookup" @@ -185,7 +200,9 @@ msgstr "Lista de opciones" msgid "" "The validator will reject data entry if the value entered does not conform " "to the expected format." -msgstr "El validador rechazará la entrada de datos si el valor introducido no se ajusta al formato esperado." +msgstr "" +"El validador rechazará la entrada de datos si el valor introducido no se " +"ajusta al formato esperado." #: models.py:72 msgid "Validator" @@ -193,47 +210,48 @@ msgstr "Validador" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." -msgstr "El analizador volverá a formatear el valor introducido para ajustarse al formato esperado." +"The parser will reformat the value entered to conform to the expected format." +msgstr "" +"El analizador volverá a formatear el valor introducido para ajustarse al " +"formato esperado." #: models.py:78 msgid "Parser" msgstr "Analizador" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "El valor no es una de las opciones provistas." -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "Documento" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "Tipo" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "El tipo de metadatos es requerido para este tipo de documento." -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "El tipo de metadato no es válido para este tipo de documento." -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "Metadatos de documentos" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "Tipo de documento" -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "Opciones de tipo de meta datos de tipo de documento " -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "Opciones de tipos de meta datos de tipo de documento " @@ -273,137 +291,202 @@ msgstr "Eliminar tipos de metadatos" msgid "View metadata types" msgstr "Ver los tipos de metadatos" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "Llave principal del tipo de meta datos a ser agregada." -#: serializers.py:40 -msgid "Primary key of the document metadata type." -msgstr "Llave primaria del tipo de metadato del documento." +#: serializers.py:130 +#, fuzzy +#| msgid "Primary key of the metadata type to be added." +msgid "Primary key of the metadata type to be added to the document." +msgstr "Llave principal del tipo de meta datos a ser agregada." -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." -msgstr "Valor de la instancia de tipo meta datos correspondientes." +#: views.py:41 +#, python-format +msgid "Metadata add request performed on %(count)d document" +msgstr "" -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "Debe proveer al menos un documento." +#: views.py:43 +#, python-format +msgid "Metadata add request performed on %(count)d documents" +msgstr "" -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." +#: views.py:56 views.py:192 views.py:358 +#, fuzzy +#| msgid "Only select documents of the same type." +msgid "Selected documents must be of the same type." msgstr "Sólo seleccionar documentos del mismo tipo." -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." -msgstr[0] "El documento seleccionado no tiene metadatos." -msgstr[1] "Los documentos seleccionados no tienen metadatos." +#: views.py:95 +msgid "Add" +msgstr "" -#: views.py:139 -#, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." -msgstr "Error editando metadato para el documento %(document)s; %(exception)s." - -#: views.py:150 -#, python-format -msgid "Metadata for document %s edited successfully." -msgstr "Metadatos del documento %s editados con éxito." - -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "Editar meta datos de documento" -msgstr[1] "Editar meta datos de documentos" - -#: views.py:256 -#, python-format -msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" -msgstr "Error al añadir tipo de metadatos \"%(metadata_type)s\" al documento: %(document)s; %(exception)s" - -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." -msgstr "Tipo de metadatos: %(metadata_type)s añadido con éxito al documento %(document)s." - -#: views.py:282 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "Tipo de metadatos: %(metadata_type)s ya presente en el documento %(document)s." - -#: views.py:313 +#: views.py:97 msgid "Add metadata types to document" msgid_plural "Add metadata types to documents" msgstr[0] "Añadir tipos de meta datos al documento" msgstr[1] "Añadir tipos de meta datos a los documentos" -#: views.py:429 +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document" +#| msgid_plural "Add metadata types to documents" +msgid "Add metadata types to document: %s" +msgstr "Añadir tipos de meta datos al documento" + +#: views.py:152 #, python-format msgid "" -"Successfully remove metadata type \"%(metadata_type)s\" from document: " +"Metadata type: %(metadata_type)s successfully added to document %(document)s." +msgstr "" +"Tipo de metadatos: %(metadata_type)s añadido con éxito al documento " "%(document)s." -msgstr "Remoción con éxito el tipo de meta datos \"%(metadata_type)s\" del documento: %(document)s." -#: views.py:439 +#: views.py:162 #, python-format msgid "" -"Error removing metadata type \"%(metadata_type)s\" from document: " -"%(document)s; %(exception)s" -msgstr "Error al eliminar el tipo de metadatos \"%(metadata_type)s\" del documento: %(document)s; %(exception)s" +"Metadata type: %(metadata_type)s already present in document %(document)s." +msgstr "" +"Tipo de metadatos: %(metadata_type)s ya presente en el documento " +"%(document)s." -#: views.py:461 +#: views.py:176 +#, fuzzy, python-format +#| msgid "Metadata type is required for this document type." +msgid "Metadata edit request performed on %(count)d document" +msgstr "El tipo de metadatos es requerido para este tipo de documento." + +#: views.py:179 +#, fuzzy, python-format +#| msgid "Metadata type is required for this document type." +msgid "Metadata edit request performed on %(count)d documents" +msgstr "El tipo de metadatos es requerido para este tipo de documento." + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" +msgstr[0] "Editar meta datos de documento" +msgstr[1] "Editar meta datos de documentos" + +#: views.py:242 +#, fuzzy, python-format +#| msgid "Metadata for document: %s" +msgid "Edit metadata for document: %s" +msgstr "Meta datos para el documento: %s" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "Error editando metadato para el documento %(document)s; %(exception)s." + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "Metadatos del documento %s editados con éxito." + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "Meta datos para el documento: %s" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 msgid "Remove metadata types from the document" msgid_plural "Remove metadata types from the documents" msgstr[0] "Remover tipos de meta datos del documento" msgstr[1] "Remover tipos de meta datos de los documentos" -#: views.py:504 -#, python-format -msgid "Metadata for document: %s" -msgstr "Meta datos para el documento: %s" +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from the document" +#| msgid_plural "Remove metadata types from the documents" +msgid "Remove metadata types from the document: %s" +msgstr "Remover tipos de meta datos del documento" -#: views.py:513 +#: views.py:455 +#, python-format +msgid "" +"Successfully remove metadata type \"%(metadata_type)s\" from document: " +"%(document)s." +msgstr "" +"Remoción con éxito el tipo de meta datos \"%(metadata_type)s\" del " +"documento: %(document)s." + +#: views.py:465 +#, python-format +msgid "" +"Error removing metadata type \"%(metadata_type)s\" from document: " +"%(document)s; %(exception)s" +msgstr "" +"Error al eliminar el tipo de metadatos \"%(metadata_type)s\" del documento: " +"%(document)s; %(exception)s" + +#: views.py:476 msgid "Create metadata type" msgstr "Crear tipo de metadatos" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "¿Borrar el tipo de metadato: %s?" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "Editar tipo de metadatos: %s" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "Nombre interno" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "Tipos de metadatos disponibles" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "Tipos de metadatos asignados" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "Tipos de metadatos opcionales para tipo de documento: %s" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "Tipos de metadata requerida para tipo de documento: %s" +#~ msgid "Primary key of the document metadata type." +#~ msgstr "Llave primaria del tipo de metadato del documento." + +#~ msgid "Value of the corresponding metadata type instance." +#~ msgstr "Valor de la instancia de tipo meta datos correspondientes." + +#~ msgid "Must provide at least one document." +#~ msgstr "Debe proveer al menos un documento." + +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "El documento seleccionado no tiene metadatos." +#~ msgstr[1] "Los documentos seleccionados no tienen metadatos." + +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: " +#~ "%(document)s; %(exception)s" +#~ msgstr "" +#~ "Error al añadir tipo de metadatos \"%(metadata_type)s\" al documento: " +#~ "%(document)s; %(exception)s" + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -564,47 +647,47 @@ msgstr "Tipos de metadata requerida para tipo de documento: %s" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/fa/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/fa/LC_MESSAGES/django.po index 6768c807b8..b52ef61000 100644 --- a/mayan/apps/metadata/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammad Dashtizadeh , 2013 @@ -9,63 +9,67 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-28 07:35+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "متادیتا" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "اسناد متا داده مورد نیاز را ندارد" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" -msgstr "محتوای مجموعه درخواستها شامل یک نمونه مرجع و یک مقدار برای متا داده مورد نظر است" +msgstr "" +"محتوای مجموعه درخواستها شامل یک نمونه مرجع و یک مقدار برای متا داده مورد نظر " +"است" -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "نام نوع متا داده" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "مقدار نوع متاداده" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "مقدار متا داده" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "مقدار خاص مستندات متا داده" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "مقدار" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "الزامی" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "نوع متادیتا" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "مقدار متادیتا" @@ -101,12 +105,17 @@ msgstr "" msgid "\"%s\" is required for this document type." msgstr "" -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Metadata type is not valid for this document type." +msgid "Metadata types to be added to the selected documents." +msgstr "این نوع از متادیتا برای این نوع سند قابل قبول نیست." + +#: forms.py:141 msgid " Available template context variables: " msgstr "" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "حذف" @@ -138,16 +147,15 @@ msgstr "ایجاد" msgid "Delete" msgstr "حذف" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "ویرایش" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "انواه متادیتا" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -170,8 +178,8 @@ msgstr "پیش فرض" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -190,47 +198,46 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." +"The parser will reformat the value entered to conform to the expected format." msgstr "" #: models.py:78 msgid "Parser" msgstr "" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "" -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "سند" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "نوع" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "نوع متاداده برای این نوع سند مورد نیاز است" -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "این نوع از متادیتا برای این نوع سند قابل قبول نیست." -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "متادیتای سند" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "نوع سند" -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "متادیتای قابل قبول برای این نوع از سند." -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "متادیتاهای قابل قبول برای این نوع از سند" @@ -270,133 +277,189 @@ msgstr "حذف انواع متادیتا" msgid "View metadata types" msgstr "دیدن انواع متادیتا" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "کلید اولیه برای نوع متا داده اضافه گردد" -#: serializers.py:40 -msgid "Primary key of the document metadata type." +#: serializers.py:130 +#, fuzzy +#| msgid "Primary key of the metadata type to be added." +msgid "Primary key of the metadata type to be added to the document." +msgstr "کلید اولیه برای نوع متا داده اضافه گردد" + +#: views.py:41 +#, python-format +msgid "Metadata add request performed on %(count)d document" msgstr "" -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." -msgstr "مقدار مرتبط با نوع متا داده" +#: views.py:43 +#, python-format +msgid "Metadata add request performed on %(count)d documents" +msgstr "" -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "حداقل یک سند باید ارایه شود." - -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." +#: views.py:56 views.py:192 views.py:358 +#, fuzzy +#| msgid "Only select documents of the same type." +msgid "Selected documents must be of the same type." msgstr "فقط اسناد از نوع همسان را انتخاب کنید" -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." -msgstr[0] "اسناد انتخاب شده هیچ متا داده ای ندارند" - -#: views.py:139 -#, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." +#: views.py:95 +msgid "Add" msgstr "" -#: views.py:150 -#, python-format -msgid "Metadata for document %s edited successfully." -msgstr "متادیتای سند %s با موفقیت ویرایش شد." +#: views.py:97 +msgid "Add metadata types to document" +msgid_plural "Add metadata types to documents" +msgstr[0] "ًانواع متا داده را به اسناد اضافه کنید" -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "اسناد متاداده را ویرایش کنید" +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document" +#| msgid_plural "Add metadata types to documents" +msgid "Add metadata types to document: %s" +msgstr "ًانواع متا داده را به اسناد اضافه کنید" -#: views.py:256 +#: views.py:152 #, python-format msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" -msgstr "نوع متا داده افزودن خطا \"%(metadata_type)s به سند %(document)s; %(exception)s" - -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." +"Metadata type: %(metadata_type)s successfully added to document %(document)s." msgstr "جذف موفق متادیتای ندع : %(metadata_type)s برای سند : %(document)s." -#: views.py:282 +#: views.py:162 #, python-format msgid "" "Metadata type: %(metadata_type)s already present in document %(document)s." msgstr "متادیتای نوع : %(metadata_type)s در سند %(document)s. موجود است." -#: views.py:313 -msgid "Add metadata types to document" -msgid_plural "Add metadata types to documents" -msgstr[0] "ًانواع متا داده را به اسناد اضافه کنید" +#: views.py:176 +#, fuzzy, python-format +#| msgid "Metadata type is required for this document type." +msgid "Metadata edit request performed on %(count)d document" +msgstr "نوع متاداده برای این نوع سند مورد نیاز است" -#: views.py:429 +#: views.py:179 +#, fuzzy, python-format +#| msgid "Metadata type is required for this document type." +msgid "Metadata edit request performed on %(count)d documents" +msgstr "نوع متاداده برای این نوع سند مورد نیاز است" + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" +msgstr[0] "اسناد متاداده را ویرایش کنید" + +#: views.py:242 +#, fuzzy, python-format +#| msgid "Metadata for document: %s" +msgid "Edit metadata for document: %s" +msgstr "متا داده برای سند : %s" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "" + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "متادیتای سند %s با موفقیت ویرایش شد." + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "متا داده برای سند : %s" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 +msgid "Remove metadata types from the document" +msgid_plural "Remove metadata types from the documents" +msgstr[0] "انواع متا داده را از اسناد حذف کنید" + +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from the document" +#| msgid_plural "Remove metadata types from the documents" +msgid "Remove metadata types from the document: %s" +msgstr "انواع متا داده را از اسناد حذف کنید" + +#: views.py:455 #, python-format msgid "" "Successfully remove metadata type \"%(metadata_type)s\" from document: " "%(document)s." msgstr "حذف موفق متادیتای نوع \"%(metadata_type)s\" از سند %(document)s." -#: views.py:439 +#: views.py:465 #, python-format msgid "" "Error removing metadata type \"%(metadata_type)s\" from document: " "%(document)s; %(exception)s" -msgstr "خطا در حذف متادیتای نوع\"%(metadata_type)s\" ازسند: %(document)s; %(exception)s" +msgstr "" +"خطا در حذف متادیتای نوع\"%(metadata_type)s\" ازسند: %(document)s; " +"%(exception)s" -#: views.py:461 -msgid "Remove metadata types from the document" -msgid_plural "Remove metadata types from the documents" -msgstr[0] "انواع متا داده را از اسناد حذف کنید" - -#: views.py:504 -#, python-format -msgid "Metadata for document: %s" -msgstr "متا داده برای سند : %s" - -#: views.py:513 +#: views.py:476 msgid "Create metadata type" msgstr "ایجاد نوع متا دیتا" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "ویرایش نوع متا دیتا : %s" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "نام داخلی" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "متادیتا نوع اختیاری برای نوع ستئ %s" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "متادیتای نوع الزامی برای نوع سند :%s" +#~ msgid "Value of the corresponding metadata type instance." +#~ msgstr "مقدار مرتبط با نوع متا داده" + +#~ msgid "Must provide at least one document." +#~ msgstr "حداقل یک سند باید ارایه شود." + +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "اسناد انتخاب شده هیچ متا داده ای ندارند" + +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: " +#~ "%(document)s; %(exception)s" +#~ msgstr "" +#~ "نوع متا داده افزودن خطا \"%(metadata_type)s به سند %(document)s; " +#~ "%(exception)s" + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -554,47 +617,47 @@ msgstr "متادیتای نوع الزامی برای نوع سند :%s" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/fr/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/fr/LC_MESSAGES/django.po index 8e705b5f33..2809bdbd79 100644 --- a/mayan/apps/metadata/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # PatrickHetu , 2012 @@ -12,63 +12,67 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-28 07:35+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "Métadonnées" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "Documents avec des métadonnées manquantes" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "Documents avec métadonnées optionnelles manquantes" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" -msgstr "Jeu de requête contenant une référence d'instance MetadataType et une valeur pour ce type de métadonnées" +msgstr "" +"Jeu de requête contenant une référence d'instance MetadataType et une valeur " +"pour ce type de métadonnées" -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "Nom du type de métadonnée" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "Valeur du type de métadonnée" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "Valeur de la métadonnées" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "Retourne la valeur de la métadonnée du document spécifié" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "Valeur" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "Requis" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "Type de métadonnée" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "Valeur de la métadonnée" @@ -104,12 +108,17 @@ msgstr "Erreur de valeur par défaut : %s" msgid "\"%s\" is required for this document type." msgstr "" -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Metadata type is not valid for this document type." +msgid "Metadata types to be added to the selected documents." +msgstr "Le type de métadonnée n'est pas valide pour ce type de document." + +#: forms.py:141 msgid " Available template context variables: " msgstr "Variable de contexte du modèle disponibles :" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "Supprimer" @@ -141,20 +150,21 @@ msgstr "Créer une nouvelle" msgid "Delete" msgstr "Supprimer" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "Modifier" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "Types de métadonnées" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." -msgstr "Nom utilisé par d'autres applications pour référencer cette valeur. Veuillez ne pas utiliser de mots réservés Python ou d'espaces." +msgstr "" +"Nom utilisé par d'autres applications pour référencer cette valeur. Veuillez " +"ne pas utiliser de mots réservés Python ou d'espaces." #: models.py:47 msgid "Label" @@ -164,7 +174,9 @@ msgstr "Libellé" msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -msgstr "Indiquez un modèle à restituer. Utilise le langage de rendu de Django par défaut (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" +msgstr "" +"Indiquez un modèle à restituer. Utilise le langage de rendu de Django par " +"défaut (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" #: models.py:55 msgid "Default" @@ -173,9 +185,12 @@ msgstr "Par défaut" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." -msgstr "Indiquez un modèle à restituer. Le résultat doit être une chaîne de caractères délimitée par des virgules. Utilise le langage de rendu de Django par défaut (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." +msgstr "" +"Indiquez un modèle à restituer. Le résultat doit être une chaîne de " +"caractères délimitée par des virgules. Utilise le langage de rendu de Django " +"par défaut (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" #: models.py:65 msgid "Lookup" @@ -185,7 +200,9 @@ msgstr "Recherche" msgid "" "The validator will reject data entry if the value entered does not conform " "to the expected format." -msgstr "Le système de validation rejettera les données saisies si elles ne sont pas conformes au format attendu." +msgstr "" +"Le système de validation rejettera les données saisies si elles ne sont pas " +"conformes au format attendu." #: models.py:72 msgid "Validator" @@ -193,47 +210,48 @@ msgstr "Validateur" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." -msgstr "L'analyseur syntaxique reformatera la valeur saisie pour la rendre conforme au format attendu." +"The parser will reformat the value entered to conform to the expected format." +msgstr "" +"L'analyseur syntaxique reformatera la valeur saisie pour la rendre conforme " +"au format attendu." #: models.py:78 msgid "Parser" msgstr "Analyseur" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "La valeur saisie ne fait pas partie des options proposées." -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "Document" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "Type" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "Le type de métadonnée est requis pour ce type de document." -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "Le type de métadonnée n'est pas valide pour ce type de document." -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "Métadonnée du document" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "Type de document" -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "Options de type de document de type de métadonnées" -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "Options de type de document des types de métadonnées" @@ -273,137 +291,201 @@ msgstr "Supprimer des types de métadonnées" msgid "View metadata types" msgstr "Voir les types de métadonnées" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "Clé primaire du type de la métadonnée à ajouter." -#: serializers.py:40 -msgid "Primary key of the document metadata type." +#: serializers.py:130 +#, fuzzy +#| msgid "Primary key of the metadata type to be added." +msgid "Primary key of the metadata type to be added to the document." +msgstr "Clé primaire du type de la métadonnée à ajouter." + +#: views.py:41 +#, python-format +msgid "Metadata add request performed on %(count)d document" msgstr "" -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." -msgstr "Valeur de l'instance de type de métadonnées correspondantes." +#: views.py:43 +#, python-format +msgid "Metadata add request performed on %(count)d documents" +msgstr "" -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "Vous devez fournir au moins un document." - -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." +#: views.py:56 views.py:192 views.py:358 +#, fuzzy +#| msgid "Only select documents of the same type." +msgid "Selected documents must be of the same type." msgstr "Sélectionner seulement les documents avec le même type." -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." -msgstr[0] "Le document sélectionné n'a pas de méta-données." -msgstr[1] "Les documents sélectionnés n'ont pas de métadonnées." +#: views.py:95 +msgid "Add" +msgstr "" -#: views.py:139 -#, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." -msgstr "Erreur lors de la modification des métadonnées du document %(document)s; %(exception)s." - -#: views.py:150 -#, python-format -msgid "Metadata for document %s edited successfully." -msgstr "Métadonnées pour le document %s modifiées avec succès." - -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "Modifier les méta-données du document" -msgstr[1] "Modifier les métadonnées des documents" - -#: views.py:256 -#, python-format -msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" -msgstr "Erreur lors de l'ajout d'un type de métadonnées \"%(metadata_type)s\" au document: %(document)s; %(exception)s" - -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." -msgstr "Le type de métadonnées: %(metadata_type)s ajouter avec succès au document %(document)s." - -#: views.py:282 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "Le type de métadonnée: %(metadata_type)s est déjà présent dans le document %(document)s." - -#: views.py:313 +#: views.py:97 msgid "Add metadata types to document" msgid_plural "Add metadata types to documents" msgstr[0] "Ajouter des types de méta-données au document" msgstr[1] "Ajouter des types de métadonnées aux documents" -#: views.py:429 +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document" +#| msgid_plural "Add metadata types to documents" +msgid "Add metadata types to document: %s" +msgstr "Ajouter des types de méta-données au document" + +#: views.py:152 #, python-format msgid "" -"Successfully remove metadata type \"%(metadata_type)s\" from document: " +"Metadata type: %(metadata_type)s successfully added to document %(document)s." +msgstr "" +"Le type de métadonnées: %(metadata_type)s ajouter avec succès au document " "%(document)s." -msgstr "Type de métadonnées supprimer avec succès \"%(metadata_type)s\" pour le document: %(document)s." -#: views.py:439 +#: views.py:162 #, python-format msgid "" -"Error removing metadata type \"%(metadata_type)s\" from document: " -"%(document)s; %(exception)s" -msgstr "Erreur lors de la suppression du type de métadonnée \"%(metadata_type)s\" pour le document: %(document)s; %(exception)s" +"Metadata type: %(metadata_type)s already present in document %(document)s." +msgstr "" +"Le type de métadonnée: %(metadata_type)s est déjà présent dans le document " +"%(document)s." -#: views.py:461 +#: views.py:176 +#, fuzzy, python-format +#| msgid "Metadata type is required for this document type." +msgid "Metadata edit request performed on %(count)d document" +msgstr "Le type de métadonnée est requis pour ce type de document." + +#: views.py:179 +#, fuzzy, python-format +#| msgid "Metadata type is required for this document type." +msgid "Metadata edit request performed on %(count)d documents" +msgstr "Le type de métadonnée est requis pour ce type de document." + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" +msgstr[0] "Modifier les méta-données du document" +msgstr[1] "Modifier les métadonnées des documents" + +#: views.py:242 +#, fuzzy, python-format +#| msgid "Metadata for document: %s" +msgid "Edit metadata for document: %s" +msgstr "Métadonnées du document: %s" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "" +"Erreur lors de la modification des métadonnées du document %(document)s; " +"%(exception)s." + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "Métadonnées pour le document %s modifiées avec succès." + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "Métadonnées du document: %s" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 msgid "Remove metadata types from the document" msgid_plural "Remove metadata types from the documents" msgstr[0] "Supprimer les types de métadonnées du document" msgstr[1] "Supprimer les types de métadonnées des documents" -#: views.py:504 -#, python-format -msgid "Metadata for document: %s" -msgstr "Métadonnées du document: %s" +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from the document" +#| msgid_plural "Remove metadata types from the documents" +msgid "Remove metadata types from the document: %s" +msgstr "Supprimer les types de métadonnées du document" -#: views.py:513 +#: views.py:455 +#, python-format +msgid "" +"Successfully remove metadata type \"%(metadata_type)s\" from document: " +"%(document)s." +msgstr "" +"Type de métadonnées supprimer avec succès \"%(metadata_type)s\" pour le " +"document: %(document)s." + +#: views.py:465 +#, python-format +msgid "" +"Error removing metadata type \"%(metadata_type)s\" from document: " +"%(document)s; %(exception)s" +msgstr "" +"Erreur lors de la suppression du type de métadonnée \"%(metadata_type)s\" " +"pour le document: %(document)s; %(exception)s" + +#: views.py:476 msgid "Create metadata type" msgstr "Créer un type de métadonnée" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "Êtes vous certain de vouloir supprimer le type de métadonnées : %s?" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "Modifier le type de métadonnée: %s" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "Nom interne" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "Types de métadonnées disponibles" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "Types de métadonnées attribués" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "Types de métadonnées optionnelles pour le type de document: %s" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "Types de métadonnées requises pour le type de document: %s" +#~ msgid "Value of the corresponding metadata type instance." +#~ msgstr "Valeur de l'instance de type de métadonnées correspondantes." + +#~ msgid "Must provide at least one document." +#~ msgstr "Vous devez fournir au moins un document." + +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "Le document sélectionné n'a pas de méta-données." +#~ msgstr[1] "Les documents sélectionnés n'ont pas de métadonnées." + +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: " +#~ "%(document)s; %(exception)s" +#~ msgstr "" +#~ "Erreur lors de l'ajout d'un type de métadonnées \"%(metadata_type)s\" au " +#~ "document: %(document)s; %(exception)s" + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -564,47 +646,47 @@ msgstr "Types de métadonnées requises pour le type de document: %s" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/hu/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/hu/LC_MESSAGES/django.po index f553baa2f6..df6b29ee21 100644 --- a/mayan/apps/metadata/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/hu/LC_MESSAGES/django.po @@ -1,70 +1,72 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-28 07:35+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" msgstr "" -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "Metaadat típus" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "Metaadat érték" @@ -100,12 +102,18 @@ msgstr "" msgid "\"%s\" is required for this document type." msgstr "" -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Metadata types to be added to the selected documents." +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: forms.py:141 msgid " Available template context variables: " msgstr "" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "" @@ -137,16 +145,15 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -169,8 +176,8 @@ msgstr "" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -189,47 +196,46 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." +"The parser will reformat the value entered to conform to the expected format." msgstr "" #: models.py:78 msgid "Parser" msgstr "" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "" -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "" -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "" -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "Dokumentum típus" -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "" -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "" @@ -269,137 +275,173 @@ msgstr "" msgid "View metadata types" msgstr "" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "" -#: serializers.py:40 -msgid "Primary key of the document metadata type." +#: serializers.py:130 +msgid "Primary key of the metadata type to be added to the document." msgstr "" -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." -msgstr "" - -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "Adjon meg legalább egy dokumentumot." - -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." -msgstr "" - -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." -msgstr[0] "" -msgstr[1] "" - -#: views.py:139 +#: views.py:41 #, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgid "Metadata add request performed on %(count)d document" msgstr "" -#: views.py:150 +#: views.py:43 #, python-format -msgid "Metadata for document %s edited successfully." +msgid "Metadata add request performed on %(count)d documents" msgstr "" -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "" -msgstr[1] "" - -#: views.py:256 -#, python-format -msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" +#: views.py:56 views.py:192 views.py:358 +msgid "Selected documents must be of the same type." msgstr "" -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." +#: views.py:95 +msgid "Add" msgstr "" -#: views.py:282 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "" - -#: views.py:313 +#: views.py:97 msgid "Add metadata types to document" msgid_plural "Add metadata types to documents" msgstr[0] "" msgstr[1] "" -#: views.py:429 +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Add metadata types to document: %s" +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: views.py:152 +#, python-format +msgid "" +"Metadata type: %(metadata_type)s successfully added to document %(document)s." +msgstr "" + +#: views.py:162 +#, python-format +msgid "" +"Metadata type: %(metadata_type)s already present in document %(document)s." +msgstr "" + +#: views.py:176 +#, python-format +msgid "Metadata edit request performed on %(count)d document" +msgstr "" + +#: views.py:179 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Metadata edit request performed on %(count)d documents" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" +msgstr[0] "" +msgstr[1] "" + +#: views.py:242 +#, fuzzy, python-format +#| msgid "Edit metadata for document: %(document)s" +#| msgid_plural "Edit metadata for the %(count)d selected documents" +msgid "Edit metadata for document: %s" +msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "" + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "" + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 +msgid "Remove metadata types from the document" +msgid_plural "Remove metadata types from the documents" +msgstr[0] "" +msgstr[1] "" + +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Remove metadata types from the document: %s" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:455 #, python-format msgid "" "Successfully remove metadata type \"%(metadata_type)s\" from document: " "%(document)s." msgstr "" -#: views.py:439 +#: views.py:465 #, python-format msgid "" "Error removing metadata type \"%(metadata_type)s\" from document: " "%(document)s; %(exception)s" msgstr "" -#: views.py:461 -msgid "Remove metadata types from the document" -msgid_plural "Remove metadata types from the documents" -msgstr[0] "" -msgstr[1] "" - -#: views.py:504 -#, python-format -msgid "Metadata for document: %s" -msgstr "" - -#: views.py:513 +#: views.py:476 msgid "Create metadata type" msgstr "" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Adjon meg legalább egy dokumentumot." + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -433,21 +475,6 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" -#~ msgid "Edit metadata for document: %(document)s" -#~ msgid_plural "Edit metadata for the %(count)d selected documents" -#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" -#~ msgstr[1] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_1" - -#~ msgid "Add metadata types to document: %(document)s" -#~ msgid_plural "Add metadata types to the %(count)d selected documents" -#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" -#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" - -#~ msgid "Remove metadata types from document: %(document)s" -#~ msgid_plural "Remove metadata types from the %(count)d selected documents" -#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" -#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" - #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -560,47 +587,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/id/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/id/LC_MESSAGES/django.po index 028716db1e..07a912f7fa 100644 --- a/mayan/apps/metadata/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/id/LC_MESSAGES/django.po @@ -1,70 +1,72 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-28 07:35+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" msgstr "" -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "Jenis 'metadata'" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "Nilai 'metadata'" @@ -100,12 +102,18 @@ msgstr "" msgid "\"%s\" is required for this document type." msgstr "" -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Metadata types to be added to the selected documents." +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: forms.py:141 msgid " Available template context variables: " msgstr "" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "hapus" @@ -137,16 +145,15 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -169,8 +176,8 @@ msgstr "" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -189,47 +196,46 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." +"The parser will reformat the value entered to conform to the expected format." msgstr "" #: models.py:78 msgid "Parser" msgstr "" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "" -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "" -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "" -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "Jenis dokumen" -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "" -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "" @@ -269,133 +275,170 @@ msgstr "" msgid "View metadata types" msgstr "" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "" -#: serializers.py:40 -msgid "Primary key of the document metadata type." +#: serializers.py:130 +msgid "Primary key of the metadata type to be added to the document." msgstr "" -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." +#: views.py:41 +#, python-format +msgid "Metadata add request performed on %(count)d document" msgstr "" -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "Harus memberikan setidaknya satu dokumen." - -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." +#: views.py:43 +#, python-format +msgid "Metadata add request performed on %(count)d documents" msgstr "" -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." +#: views.py:56 views.py:192 views.py:358 +msgid "Selected documents must be of the same type." +msgstr "" + +#: views.py:95 +msgid "Add" +msgstr "" + +#: views.py:97 +msgid "Add metadata types to document" +msgid_plural "Add metadata types to documents" msgstr[0] "" -#: views.py:139 -#, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." -msgstr "" +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Add metadata types to document: %s" +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" -#: views.py:150 -#, python-format -msgid "Metadata for document %s edited successfully." -msgstr "" - -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "" - -#: views.py:256 +#: views.py:152 #, python-format msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" +"Metadata type: %(metadata_type)s successfully added to document %(document)s." msgstr "" -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." -msgstr "" - -#: views.py:282 +#: views.py:162 #, python-format msgid "" "Metadata type: %(metadata_type)s already present in document %(document)s." msgstr "" -#: views.py:313 -msgid "Add metadata types to document" -msgid_plural "Add metadata types to documents" +#: views.py:176 +#, python-format +msgid "Metadata edit request performed on %(count)d document" +msgstr "" + +#: views.py:179 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Metadata edit request performed on %(count)d documents" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" msgstr[0] "" -#: views.py:429 +#: views.py:242 +#, fuzzy, python-format +#| msgid "Edit metadata for document: %(document)s" +#| msgid_plural "Edit metadata for the %(count)d selected documents" +msgid "Edit metadata for document: %s" +msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "" + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "" + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 +msgid "Remove metadata types from the document" +msgid_plural "Remove metadata types from the documents" +msgstr[0] "" + +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Remove metadata types from the document: %s" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:455 #, python-format msgid "" "Successfully remove metadata type \"%(metadata_type)s\" from document: " "%(document)s." msgstr "" -#: views.py:439 +#: views.py:465 #, python-format msgid "" "Error removing metadata type \"%(metadata_type)s\" from document: " "%(document)s; %(exception)s" msgstr "" -#: views.py:461 -msgid "Remove metadata types from the document" -msgid_plural "Remove metadata types from the documents" -msgstr[0] "" - -#: views.py:504 -#, python-format -msgid "Metadata for document: %s" -msgstr "" - -#: views.py:513 +#: views.py:476 msgid "Create metadata type" msgstr "" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Harus memberikan setidaknya satu dokumen." + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -429,18 +472,6 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" -#~ msgid "Edit metadata for document: %(document)s" -#~ msgid_plural "Edit metadata for the %(count)d selected documents" -#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" - -#~ msgid "Add metadata types to document: %(document)s" -#~ msgid_plural "Add metadata types to the %(count)d selected documents" -#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" - -#~ msgid "Remove metadata types from document: %(document)s" -#~ msgid_plural "Remove metadata types from the %(count)d selected documents" -#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" - #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -553,47 +584,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/it/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/it/LC_MESSAGES/django.po index 83cc6837ee..39ecb89af3 100644 --- a/mayan/apps/metadata/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Marco Camplese , 2016 @@ -10,63 +10,66 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-30 21:18+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "Metadati" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "Nel documento manca un metadato obbligatorio" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "Nel documento mancano metadati opzionali" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" -msgstr "Queryset che contiene il riferimento all'istanza MetadataType e il valore " +msgstr "" +"Queryset che contiene il riferimento all'istanza MetadataType e il valore " -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "Nome tipo metadato" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "Valore del tipo metadato" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "Valore del metadato" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "Ritorna il valore di un metadato specifico del documento" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "Valore" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "Obbligatorio" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "Tipo di metadato" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "Valore metadata" @@ -102,12 +105,17 @@ msgstr "Valore di default errore: %s" msgid "\"%s\" is required for this document type." msgstr "\"%s\" è richiesto per questo tipo di documento.." -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Metadata type is not valid for this document type." +msgid "Metadata types to be added to the selected documents." +msgstr "Il metadato non è valido per il tipo di documento" + +#: forms.py:141 msgid " Available template context variables: " msgstr "Variabili di contesto template disponibili:" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "Revoca" @@ -139,20 +147,21 @@ msgstr "Crea nuovo" msgid "Delete" msgstr "Cancella" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "Modifica" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "Tipi di Metadati" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." -msgstr "Nome usato dalle altre app per riferirsi a questo valore. Non utilizzare parole riservate di python o spazi." +msgstr "" +"Nome usato dalle altre app per riferirsi a questo valore. Non utilizzare " +"parole riservate di python o spazi." #: models.py:47 msgid "Label" @@ -162,7 +171,9 @@ msgstr "Etichetta" msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -msgstr "Inserisci il template da renderizzare. Usa il linguaggio di template di Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" +msgstr "" +"Inserisci il template da renderizzare. Usa il linguaggio di template di " +"Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" #: models.py:55 msgid "Default" @@ -171,9 +182,12 @@ msgstr "Default" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." -msgstr "Inserisci il template da renderizzare. Deve essere una stringa separata da virgole. Usa il linguaggio di template di Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." +msgstr "" +"Inserisci il template da renderizzare. Deve essere una stringa separata da " +"virgole. Usa il linguaggio di template di Django (https://docs.djangoproject." +"com/en/1.7/ref/templates/builtins/)" #: models.py:65 msgid "Lookup" @@ -183,7 +197,9 @@ msgstr "Ricerca" msgid "" "The validator will reject data entry if the value entered does not conform " "to the expected format." -msgstr "Il validatore rifiuterà l'inserimento se il valore immesso non è conforme al formato richiesto." +msgstr "" +"Il validatore rifiuterà l'inserimento se il valore immesso non è conforme al " +"formato richiesto." #: models.py:72 msgid "Validator" @@ -191,47 +207,48 @@ msgstr "Validatore" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." -msgstr "Il parser riformatta il valore immesso per renderlo conforme al formato voluto." +"The parser will reformat the value entered to conform to the expected format." +msgstr "" +"Il parser riformatta il valore immesso per renderlo conforme al formato " +"voluto." #: models.py:78 msgid "Parser" msgstr "Parser" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "Il valore non è compreso tra i valori ammessi." -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "Documento" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "Tipo" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "Tipo di metadati è necessario per questo tipo di documento." -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "Il metadato non è valido per il tipo di documento" -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "Metadata documento" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "Tipo documento " -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "Opzione per tipo documento del tipo metadato" -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "Opzioni per tipo documento del tipo metadato" @@ -271,137 +288,202 @@ msgstr "Cancella il tipo di metadato" msgid "View metadata types" msgstr "Visualizza il tipo di metadato" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "Chiave primaria del tipo metadato da aggiungere." -#: serializers.py:40 -msgid "Primary key of the document metadata type." -msgstr "Chiave primaria del tipo metadato del documento" +#: serializers.py:130 +#, fuzzy +#| msgid "Primary key of the metadata type to be added." +msgid "Primary key of the metadata type to be added to the document." +msgstr "Chiave primaria del tipo metadato da aggiungere." -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." -msgstr "Valore dell'istanza corrispondente del tipo metadato." +#: views.py:41 +#, python-format +msgid "Metadata add request performed on %(count)d document" +msgstr "" -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "Devi fornire almeno un documento." +#: views.py:43 +#, python-format +msgid "Metadata add request performed on %(count)d documents" +msgstr "" -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." +#: views.py:56 views.py:192 views.py:358 +#, fuzzy +#| msgid "Only select documents of the same type." +msgid "Selected documents must be of the same type." msgstr "Selezionare solo documenti dello stesso tipo." -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." -msgstr[0] "Il documento selezionato non ha nessun tipo di metadato." -msgstr[1] "I documenti selezionati non hanno nessun tipo di metadato." +#: views.py:95 +msgid "Add" +msgstr "" -#: views.py:139 -#, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." -msgstr "Errore modifica metadato per il documento: %(document)s; %(exception)s." - -#: views.py:150 -#, python-format -msgid "Metadata for document %s edited successfully." -msgstr "Metadata per il documento %s modificato con successo." - -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "Modifica metadato documento" -msgstr[1] "Modifica metadato documenti" - -#: views.py:256 -#, python-format -msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" -msgstr "Errore aggiungendo il tipo metadato \"%(metadata_type)s\" al documento: %(document)s; %(exception)s" - -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." -msgstr "Tipo metadata: %(metadata_type)s aggiunto con successo al documento %(document)s." - -#: views.py:282 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "Tipo Metadata: %(metadata_type)s già presente per il documento %(document)s." - -#: views.py:313 +#: views.py:97 msgid "Add metadata types to document" msgid_plural "Add metadata types to documents" msgstr[0] "Aggiungi tipo metadato al documento" msgstr[1] "Aggiungi tipo metadati ai documenti " -#: views.py:429 +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document" +#| msgid_plural "Add metadata types to documents" +msgid "Add metadata types to document: %s" +msgstr "Aggiungi tipo metadato al documento" + +#: views.py:152 #, python-format msgid "" -"Successfully remove metadata type \"%(metadata_type)s\" from document: " +"Metadata type: %(metadata_type)s successfully added to document %(document)s." +msgstr "" +"Tipo metadata: %(metadata_type)s aggiunto con successo al documento " "%(document)s." -msgstr "Rimosso con successo il tipo metadato \"%(metadata_type)s\" dal documento: %(document)s." -#: views.py:439 +#: views.py:162 #, python-format msgid "" -"Error removing metadata type \"%(metadata_type)s\" from document: " -"%(document)s; %(exception)s" -msgstr "Errore rimuovendo il tipo metadato \"%(metadata_type)s\" dal documento: %(document)s; %(exception)s" +"Metadata type: %(metadata_type)s already present in document %(document)s." +msgstr "" +"Tipo Metadata: %(metadata_type)s già presente per il documento %(document)s." -#: views.py:461 +#: views.py:176 +#, fuzzy, python-format +#| msgid "Metadata type is required for this document type." +msgid "Metadata edit request performed on %(count)d document" +msgstr "Tipo di metadati è necessario per questo tipo di documento." + +#: views.py:179 +#, fuzzy, python-format +#| msgid "Metadata type is required for this document type." +msgid "Metadata edit request performed on %(count)d documents" +msgstr "Tipo di metadati è necessario per questo tipo di documento." + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" +msgstr[0] "Modifica metadato documento" +msgstr[1] "Modifica metadato documenti" + +#: views.py:242 +#, fuzzy, python-format +#| msgid "Metadata for document: %s" +msgid "Edit metadata for document: %s" +msgstr "Metadati per il documento: %s" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "" +"Errore modifica metadato per il documento: %(document)s; %(exception)s." + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "Metadata per il documento %s modificato con successo." + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "Metadati per il documento: %s" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 msgid "Remove metadata types from the document" msgid_plural "Remove metadata types from the documents" msgstr[0] "Rimuovi tipi matadato dal documento" msgstr[1] "Rimuovi tipi matadato dai documenti" -#: views.py:504 -#, python-format -msgid "Metadata for document: %s" -msgstr "Metadati per il documento: %s" +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from the document" +#| msgid_plural "Remove metadata types from the documents" +msgid "Remove metadata types from the document: %s" +msgstr "Rimuovi tipi matadato dal documento" -#: views.py:513 +#: views.py:455 +#, python-format +msgid "" +"Successfully remove metadata type \"%(metadata_type)s\" from document: " +"%(document)s." +msgstr "" +"Rimosso con successo il tipo metadato \"%(metadata_type)s\" dal documento: " +"%(document)s." + +#: views.py:465 +#, python-format +msgid "" +"Error removing metadata type \"%(metadata_type)s\" from document: " +"%(document)s; %(exception)s" +msgstr "" +"Errore rimuovendo il tipo metadato \"%(metadata_type)s\" dal documento: " +"%(document)s; %(exception)s" + +#: views.py:476 msgid "Create metadata type" msgstr "Crea tipo metadato" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "Cancellare il tipo metadato: %s?" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "Modifica il tipo metadato: %s" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "Nome interno" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "Tipo metadato disponibili" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "Tipi metadato assegnati" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "Tipi metadati opzionali per il tipo documento: %s" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "Tipi metadati obbligatori per il tipo documento: %s" +#~ msgid "Primary key of the document metadata type." +#~ msgstr "Chiave primaria del tipo metadato del documento" + +#~ msgid "Value of the corresponding metadata type instance." +#~ msgstr "Valore dell'istanza corrispondente del tipo metadato." + +#~ msgid "Must provide at least one document." +#~ msgstr "Devi fornire almeno un documento." + +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "Il documento selezionato non ha nessun tipo di metadato." +#~ msgstr[1] "I documenti selezionati non hanno nessun tipo di metadato." + +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: " +#~ "%(document)s; %(exception)s" +#~ msgstr "" +#~ "Errore aggiungendo il tipo metadato \"%(metadata_type)s\" al documento: " +#~ "%(document)s; %(exception)s" + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -562,47 +644,47 @@ msgstr "Tipi metadati obbligatori per il tipo documento: %s" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/nl_NL/LC_MESSAGES/django.po index f64596bedd..7875891511 100644 --- a/mayan/apps/metadata/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -9,63 +9,65 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-09 16:41+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "Metadata" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "Documenten missen vereiste metadata" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" msgstr "" -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "Metadata soortnaam" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "Metadata typenaam" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "Waarde van een metadata" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "Waarde" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "Verplicht" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "Metadata type" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "Metadata waarde" @@ -101,12 +103,18 @@ msgstr "Standaard waardefout: %s" msgid "\"%s\" is required for this document type." msgstr "\"%s\" is vereist voor deze documentsoort." -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Metadata types to be added to the selected documents." +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: forms.py:141 msgid " Available template context variables: " msgstr "" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "Verwijder" @@ -138,16 +146,15 @@ msgstr "Maak nieuwe aan" msgid "Delete" msgstr "Verwijder" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "bewerken" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "Metadatasoorten" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -170,8 +177,8 @@ msgstr "Verstekwaarde" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -190,47 +197,46 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." +"The parser will reformat the value entered to conform to the expected format." msgstr "" #: models.py:78 msgid "Parser" msgstr "" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "" -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "Document" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "Type" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "" -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "" -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "Documentsoort" -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "" -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "" @@ -270,137 +276,173 @@ msgstr "" msgid "View metadata types" msgstr "" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "" -#: serializers.py:40 -msgid "Primary key of the document metadata type." +#: serializers.py:130 +msgid "Primary key of the metadata type to be added to the document." msgstr "" -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." -msgstr "" - -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "U dient minstens 1 document aan te geven." - -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." -msgstr "" - -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." -msgstr[0] "" -msgstr[1] "" - -#: views.py:139 +#: views.py:41 #, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgid "Metadata add request performed on %(count)d document" msgstr "" -#: views.py:150 +#: views.py:43 #, python-format -msgid "Metadata for document %s edited successfully." +msgid "Metadata add request performed on %(count)d documents" msgstr "" -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "" -msgstr[1] "" - -#: views.py:256 -#, python-format -msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" +#: views.py:56 views.py:192 views.py:358 +msgid "Selected documents must be of the same type." msgstr "" -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." +#: views.py:95 +msgid "Add" msgstr "" -#: views.py:282 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "" - -#: views.py:313 +#: views.py:97 msgid "Add metadata types to document" msgid_plural "Add metadata types to documents" msgstr[0] "" msgstr[1] "" -#: views.py:429 +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Add metadata types to document: %s" +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: views.py:152 +#, python-format +msgid "" +"Metadata type: %(metadata_type)s successfully added to document %(document)s." +msgstr "" + +#: views.py:162 +#, python-format +msgid "" +"Metadata type: %(metadata_type)s already present in document %(document)s." +msgstr "" + +#: views.py:176 +#, python-format +msgid "Metadata edit request performed on %(count)d document" +msgstr "" + +#: views.py:179 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Metadata edit request performed on %(count)d documents" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" +msgstr[0] "" +msgstr[1] "" + +#: views.py:242 +#, fuzzy, python-format +#| msgid "Edit metadata for document: %(document)s" +#| msgid_plural "Edit metadata for the %(count)d selected documents" +msgid "Edit metadata for document: %s" +msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "" + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "" + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 +msgid "Remove metadata types from the document" +msgid_plural "Remove metadata types from the documents" +msgstr[0] "" +msgstr[1] "" + +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Remove metadata types from the document: %s" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:455 #, python-format msgid "" "Successfully remove metadata type \"%(metadata_type)s\" from document: " "%(document)s." msgstr "" -#: views.py:439 +#: views.py:465 #, python-format msgid "" "Error removing metadata type \"%(metadata_type)s\" from document: " "%(document)s; %(exception)s" msgstr "" -#: views.py:461 -msgid "Remove metadata types from the document" -msgid_plural "Remove metadata types from the documents" -msgstr[0] "" -msgstr[1] "" - -#: views.py:504 -#, python-format -msgid "Metadata for document: %s" -msgstr "" - -#: views.py:513 +#: views.py:476 msgid "Create metadata type" msgstr "" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "U dient minstens 1 document aan te geven." + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -434,21 +476,6 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" -#~ msgid "Edit metadata for document: %(document)s" -#~ msgid_plural "Edit metadata for the %(count)d selected documents" -#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" -#~ msgstr[1] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_1" - -#~ msgid "Add metadata types to document: %(document)s" -#~ msgid_plural "Add metadata types to the %(count)d selected documents" -#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" -#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" - -#~ msgid "Remove metadata types from document: %(document)s" -#~ msgid_plural "Remove metadata types from the %(count)d selected documents" -#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" -#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" - #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -561,47 +588,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/pl/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/pl/LC_MESSAGES/django.po index cc9d5d1219..db6051d1f0 100644 --- a/mayan/apps/metadata/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Annunnaky , 2015 @@ -12,63 +12,68 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-28 07:35+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "Metadane" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "Dokumenty, w których brak jest wymaganych metadanych" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "Dokumenty, w których brak jest opcjonalnych metadanych" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" -msgstr "Queryset zawierający referencję do instancji MetadataType i wartość dla tego typu metadanych" +msgstr "" +"Queryset zawierający referencję do instancji MetadataType i wartość dla tego " +"typu metadanych" -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "Nazwa typu metadanych" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "Wartość typu metadanych" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "Wartość metadanych" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "Wartość" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "Wymagane" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "Typ metadanych" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "Wartość metadanych" @@ -104,12 +109,17 @@ msgstr "Błąd dotyczący domyślnej wartości: %s" msgid "\"%s\" is required for this document type." msgstr "" -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Metadata type is not valid for this document type." +msgid "Metadata types to be added to the selected documents." +msgstr "Typ metadanej jest niewłaściwy dla tego typu dokumentu." + +#: forms.py:141 msgid " Available template context variables: " msgstr "Dostępne zmienne kontekstowe szablonu:" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "Usuń" @@ -141,16 +151,15 @@ msgstr "Utwórz nowy" msgid "Delete" msgstr "Usuń" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "Edytuj" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "Typy metadanych" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -164,7 +173,9 @@ msgstr "Etykieta" msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -msgstr "Podaj szablon do wyrenderowania. Użyj domyślnego języka szablonów Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" +msgstr "" +"Podaj szablon do wyrenderowania. Użyj domyślnego języka szablonów Django " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" #: models.py:55 msgid "Default" @@ -173,9 +184,12 @@ msgstr "Domyślny" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." -msgstr "Podaj szablon do wyrenderowania. Wynikiem szablonu musi być łańcuch rozdzielony przecinkami. Użyj domyślnego języka szablonów Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." +msgstr "" +"Podaj szablon do wyrenderowania. Wynikiem szablonu musi być łańcuch " +"rozdzielony przecinkami. Użyj domyślnego języka szablonów Django (https://" +"docs.djangoproject.com/en/1.7/ref/templates/builtins/)." #: models.py:65 msgid "Lookup" @@ -185,7 +199,9 @@ msgstr "Wyszukanie" msgid "" "The validator will reject data entry if the value entered does not conform " "to the expected format." -msgstr "Walidator odrzuci dane jeśli podana wartość nie będzie zgodna z oczekiwanym formatem." +msgstr "" +"Walidator odrzuci dane jeśli podana wartość nie będzie zgodna z oczekiwanym " +"formatem." #: models.py:72 msgid "Validator" @@ -193,47 +209,46 @@ msgstr "Walidator" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." +"The parser will reformat the value entered to conform to the expected format." msgstr "Parser zmieni format podanej wartości na format oczekiwany." #: models.py:78 msgid "Parser" msgstr "Parser" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "Wartość nie jest jedną z dostępnych opcji." -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "Dokument" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "Typ" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "Typ metadanych jest wymagany dla tego typu dokumentu." -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "Typ metadanej jest niewłaściwy dla tego typu dokumentu." -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "Metadane dokumentów" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "Typ dokumentu" -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "Opcje typu metadanych dla typu dokumentów" -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "Opcje typów metadanych dla typu dokumentów" @@ -273,141 +288,179 @@ msgstr "Usuń typy metadanych" msgid "View metadata types" msgstr "Przeglądaj typy metadanych" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "" -#: serializers.py:40 -msgid "Primary key of the document metadata type." +#: serializers.py:130 +msgid "Primary key of the metadata type to be added to the document." msgstr "" -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." -msgstr "" - -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "Musisz dodać co najmniej jeden dokument." - -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." -msgstr "" - -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." -msgstr[0] "Wybrany dokument nie ma żadnych metadanych." -msgstr[1] "Wybrane dokumenty nie mają żadnych metadanych." -msgstr[2] "Wybrane dokumenty nie mają żadnych metadanych." - -#: views.py:139 +#: views.py:41 #, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." -msgstr "Błąd podczas edycji metadanych dla dokumentu: %(document)s; %(exception)s." - -#: views.py:150 -#, python-format -msgid "Metadata for document %s edited successfully." -msgstr "Metadane dla dokumentu %s zostały pomyślnie zmodyfikowane." - -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#: views.py:256 -#, python-format -msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" +msgid "Metadata add request performed on %(count)d document" msgstr "" -#: views.py:272 +#: views.py:43 #, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." +msgid "Metadata add request performed on %(count)d documents" msgstr "" -#: views.py:282 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s already present in document %(document)s." +#: views.py:56 views.py:192 views.py:358 +#, fuzzy +#| msgid "The selected document doesn't have any metadata." +#| msgid_plural "The selected documents don't have any metadata." +msgid "Selected documents must be of the same type." +msgstr "Wybrany dokument nie ma żadnych metadanych." + +#: views.py:95 +msgid "Add" msgstr "" -#: views.py:313 +#: views.py:97 msgid "Add metadata types to document" msgid_plural "Add metadata types to documents" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: views.py:429 +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Add metadata types to document: %s" +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: views.py:152 #, python-format msgid "" -"Successfully remove metadata type \"%(metadata_type)s\" from document: " -"%(document)s." +"Metadata type: %(metadata_type)s successfully added to document %(document)s." msgstr "" -#: views.py:439 +#: views.py:162 #, python-format msgid "" -"Error removing metadata type \"%(metadata_type)s\" from document: " -"%(document)s; %(exception)s" +"Metadata type: %(metadata_type)s already present in document %(document)s." msgstr "" -#: views.py:461 +#: views.py:176 +#, fuzzy, python-format +#| msgid "Metadata type is required for this document type." +msgid "Metadata edit request performed on %(count)d document" +msgstr "Typ metadanych jest wymagany dla tego typu dokumentu." + +#: views.py:179 +#, fuzzy, python-format +#| msgid "Metadata type is required for this document type." +msgid "Metadata edit request performed on %(count)d documents" +msgstr "Typ metadanych jest wymagany dla tego typu dokumentu." + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: views.py:242 +#, fuzzy, python-format +#| msgid "Metadata for document: %s" +msgid "Edit metadata for document: %s" +msgstr "Metadane dokumentu: %s" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "" +"Błąd podczas edycji metadanych dla dokumentu: %(document)s; %(exception)s." + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "Metadane dla dokumentu %s zostały pomyślnie zmodyfikowane." + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "Metadane dokumentu: %s" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 msgid "Remove metadata types from the document" msgid_plural "Remove metadata types from the documents" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: views.py:504 -#, python-format -msgid "Metadata for document: %s" -msgstr "Metadane dokumentu: %s" +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Remove metadata types from the document: %s" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" -#: views.py:513 +#: views.py:455 +#, python-format +msgid "" +"Successfully remove metadata type \"%(metadata_type)s\" from document: " +"%(document)s." +msgstr "" + +#: views.py:465 +#, python-format +msgid "" +"Error removing metadata type \"%(metadata_type)s\" from document: " +"%(document)s; %(exception)s" +msgstr "" + +#: views.py:476 msgid "Create metadata type" msgstr "" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Musisz dodać co najmniej jeden dokument." + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -447,18 +500,6 @@ msgstr "" #~ msgstr[1] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_1" #~ msgstr[2] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_2" -#~ msgid "Add metadata types to document: %(document)s" -#~ msgid_plural "Add metadata types to the %(count)d selected documents" -#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" -#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" -#~ msgstr[2] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_2" - -#~ msgid "Remove metadata types from document: %(document)s" -#~ msgid_plural "Remove metadata types from the %(count)d selected documents" -#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" -#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" -#~ msgstr[2] "6ecb682bfaa127b9e56a8036a602ccf4_pl_2" - #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -571,47 +612,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/pt/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/pt/LC_MESSAGES/django.po index fd1c9fc7f3..267672d678 100644 --- a/mayan/apps/metadata/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Emerson Soares , 2011 @@ -11,63 +11,65 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-28 07:35+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "Metadados" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" msgstr "" -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "Valor" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "Tipo de metadados" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "Valor de metadados" @@ -103,12 +105,18 @@ msgstr "" msgid "\"%s\" is required for this document type." msgstr "" -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Metadata types to be added to the selected documents." +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: forms.py:141 msgid " Available template context variables: " msgstr "" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "Remover" @@ -140,16 +148,15 @@ msgstr "" msgid "Delete" msgstr "Eliminar" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "Editar" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "Tipos de metadados" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -172,8 +179,8 @@ msgstr "Padrão" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -192,47 +199,46 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." +"The parser will reformat the value entered to conform to the expected format." msgstr "" #: models.py:78 msgid "Parser" msgstr "" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "" -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "" -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "" -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "Tipo de documento" -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "" -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "" @@ -272,137 +278,176 @@ msgstr "Excluir tipos de metadados" msgid "View metadata types" msgstr "Ver tipos de metadados" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "" -#: serializers.py:40 -msgid "Primary key of the document metadata type." +#: serializers.py:130 +msgid "Primary key of the metadata type to be added to the document." msgstr "" -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." +#: views.py:41 +#, python-format +msgid "Metadata add request performed on %(count)d document" msgstr "" -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "Deve fornecer pelo menos um documento." - -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." +#: views.py:43 +#, python-format +msgid "Metadata add request performed on %(count)d documents" msgstr "" -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." -msgstr[0] "" -msgstr[1] "" - -#: views.py:139 -#, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." +#: views.py:56 views.py:192 views.py:358 +msgid "Selected documents must be of the same type." msgstr "" -#: views.py:150 -#, python-format -msgid "Metadata for document %s edited successfully." -msgstr "Metadados do documento %s alterados com sucesso." - -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "" -msgstr[1] "" - -#: views.py:256 -#, python-format -msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" +#: views.py:95 +msgid "Add" msgstr "" -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." -msgstr "Tipo de metadados: %(metadata_type)s adicionado com sucesso ao documento %(document)s." - -#: views.py:282 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "Tipo de metadados: %(metadata_type)s já existe no documento %(document)s ." - -#: views.py:313 +#: views.py:97 msgid "Add metadata types to document" msgid_plural "Add metadata types to documents" msgstr[0] "" msgstr[1] "" -#: views.py:429 +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Add metadata types to document: %s" +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: views.py:152 +#, python-format +msgid "" +"Metadata type: %(metadata_type)s successfully added to document %(document)s." +msgstr "" +"Tipo de metadados: %(metadata_type)s adicionado com sucesso ao documento " +"%(document)s." + +#: views.py:162 +#, python-format +msgid "" +"Metadata type: %(metadata_type)s already present in document %(document)s." +msgstr "" +"Tipo de metadados: %(metadata_type)s já existe no documento %(document)s ." + +#: views.py:176 +#, python-format +msgid "Metadata edit request performed on %(count)d document" +msgstr "" + +#: views.py:179 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Metadata edit request performed on %(count)d documents" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" +msgstr[0] "" +msgstr[1] "" + +#: views.py:242 +#, fuzzy, python-format +#| msgid "Edit metadata for document: %(document)s" +#| msgid_plural "Edit metadata for the %(count)d selected documents" +msgid "Edit metadata for document: %s" +msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "" + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "Metadados do documento %s alterados com sucesso." + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 +msgid "Remove metadata types from the document" +msgid_plural "Remove metadata types from the documents" +msgstr[0] "" +msgstr[1] "" + +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Remove metadata types from the document: %s" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:455 #, python-format msgid "" "Successfully remove metadata type \"%(metadata_type)s\" from document: " "%(document)s." msgstr "" -#: views.py:439 +#: views.py:465 #, python-format msgid "" "Error removing metadata type \"%(metadata_type)s\" from document: " "%(document)s; %(exception)s" msgstr "" -#: views.py:461 -msgid "Remove metadata types from the document" -msgid_plural "Remove metadata types from the documents" -msgstr[0] "" -msgstr[1] "" - -#: views.py:504 -#, python-format -msgid "Metadata for document: %s" -msgstr "" - -#: views.py:513 +#: views.py:476 msgid "Create metadata type" msgstr "" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Deve fornecer pelo menos um documento." + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -436,21 +481,6 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" -#~ msgid "Edit metadata for document: %(document)s" -#~ msgid_plural "Edit metadata for the %(count)d selected documents" -#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" -#~ msgstr[1] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_1" - -#~ msgid "Add metadata types to document: %(document)s" -#~ msgid_plural "Add metadata types to the %(count)d selected documents" -#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" -#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" - -#~ msgid "Remove metadata types from document: %(document)s" -#~ msgid_plural "Remove metadata types from the %(count)d selected documents" -#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" -#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" - #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -563,47 +593,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/pt_BR/LC_MESSAGES/django.po index af31537046..68994c1801 100644 --- a/mayan/apps/metadata/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -12,63 +12,67 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-17 23:07+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "Metadados" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "Documentos em falta metadados necessários" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "Documentos sem metadados opcionais" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" -msgstr "Contendo queryset para MetadataType, referência de instância e um valor para esse tipo de metadados" +msgstr "" +"Contendo queryset para MetadataType, referência de instância e um valor para " +"esse tipo de metadados" -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "Metadados nome do tipo" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "Metadados valor do tipo" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "Valor do metadata" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "Devolver o valor de um documento específico de metadados" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "Valor" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "exigido" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "Tipo de metadados" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "Valor de metadados" @@ -104,12 +108,17 @@ msgstr "Erro de valor padrão: %s" msgid "\"%s\" is required for this document type." msgstr "\"%s\" é necessário para este tipo de documento." -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Metadata type is not valid for this document type." +msgid "Metadata types to be added to the selected documents." +msgstr "Tipo de Metadados é necessário para o tipo de documento" + +#: forms.py:141 msgid " Available template context variables: " msgstr "Variáveis de contexto do modelo disponíveis:" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "Remover" @@ -141,20 +150,21 @@ msgstr "Criar novo" msgid "Delete" msgstr "Excluir" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "Editar" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "Tipos de metadados" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." -msgstr "Nome usado por outros aplicativos em referência a este valor. Não usar palavras reservadas de python, ou espaços." +msgstr "" +"Nome usado por outros aplicativos em referência a este valor. Não usar " +"palavras reservadas de python, ou espaços." #: models.py:47 msgid "Label" @@ -164,7 +174,9 @@ msgstr "Label" msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -msgstr "Insira um modelo para renderizar. Use a linguagem de modelo padrão do Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" +msgstr "" +"Insira um modelo para renderizar. Use a linguagem de modelo padrão do Django " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" #: models.py:55 msgid "Default" @@ -173,9 +185,12 @@ msgstr "Padrão" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." -msgstr "Insira um modelo para renderizar. Precisa resultar em uma seqüência de caracteres delimitada por vírgulas. Use a linguagem de modelo padrão do Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." +msgstr "" +"Insira um modelo para renderizar. Precisa resultar em uma seqüência de " +"caracteres delimitada por vírgulas. Use a linguagem de modelo padrão do " +"Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" #: models.py:65 msgid "Lookup" @@ -185,7 +200,9 @@ msgstr "Tipo de metadados não é válido, para o tipo de documento" msgid "" "The validator will reject data entry if the value entered does not conform " "to the expected format." -msgstr "O validador rejeitará a entrada de dados se o valor inserido não estiver de acordo com o formato esperado." +msgstr "" +"O validador rejeitará a entrada de dados se o valor inserido não estiver de " +"acordo com o formato esperado." #: models.py:72 msgid "Validator" @@ -193,47 +210,48 @@ msgstr "Validador" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." -msgstr "O analisador irá reformatar o valor inserido para estar em conformidade com o formato esperado." +"The parser will reformat the value entered to conform to the expected format." +msgstr "" +"O analisador irá reformatar o valor inserido para estar em conformidade com " +"o formato esperado." #: models.py:78 msgid "Parser" msgstr "Analisador" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "O valor não é uma das opções fornecidas." -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "Documentos" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "Tipo" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "Faltando metadados necessários" -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "Tipo de Metadados é necessário para o tipo de documento" -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "Documento Metadado" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "Tipo de Documento" -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "Tipo de Documento - Opções de tipo de metadados" -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "Tipo de Documento - Opções de tipo de metadado" @@ -273,137 +291,201 @@ msgstr "Excluir tipos de metadados" msgid "View metadata types" msgstr "Ver tipos de metadados" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "Chave primária do tipo de metadados a ser adicionado." -#: serializers.py:40 -msgid "Primary key of the document metadata type." +#: serializers.py:130 +#, fuzzy +#| msgid "Primary key of the metadata type to be added." +msgid "Primary key of the metadata type to be added to the document." msgstr "Chave primária do tipo de metadados a ser adicionado." -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." -msgstr "Valor da instância tipo de metadados correspondente." +#: views.py:41 +#, python-format +msgid "Metadata add request performed on %(count)d document" +msgstr "" -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "Deve fornecer pelo menos um documento." +#: views.py:43 +#, python-format +msgid "Metadata add request performed on %(count)d documents" +msgstr "" -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." +#: views.py:56 views.py:192 views.py:358 +#, fuzzy +#| msgid "Only select documents of the same type." +msgid "Selected documents must be of the same type." msgstr "Apenas selecionar documentos do mesmo tipo." -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." -msgstr[0] "O documento selecionado não possui metadados." -msgstr[1] "Os documentos selecionados não possuem metadados." +#: views.py:95 +msgid "Add" +msgstr "" -#: views.py:139 -#, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." -msgstr "Erro editando metadados para o documento: %(document)s; %(exception)s." - -#: views.py:150 -#, python-format -msgid "Metadata for document %s edited successfully." -msgstr "Metadados para o documento %s alterados com sucesso." - -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "Editar metadado do documento" -msgstr[1] "Editar metadados dos documentos" - -#: views.py:256 -#, python-format -msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" -msgstr "Erro ao adicionar metadados de tipo \"%(metadata_type)s\" para o documento: %(document)s; %(exception)s" - -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." -msgstr "Tipo Metadado %(metadata_type)s adicionado com sucesso para o documento %(document)s." - -#: views.py:282 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "Tipo Metadado: %(metadata_type)s já está presente no documento%(document)s." - -#: views.py:313 +#: views.py:97 msgid "Add metadata types to document" msgid_plural "Add metadata types to documents" msgstr[0] "Adicionar tipos de metadados para o documento" msgstr[1] "Adicionar tipos de metadados para os documentos" -#: views.py:429 +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document" +#| msgid_plural "Add metadata types to documents" +msgid "Add metadata types to document: %s" +msgstr "Adicionar tipos de metadados para o documento" + +#: views.py:152 #, python-format msgid "" -"Successfully remove metadata type \"%(metadata_type)s\" from document: " +"Metadata type: %(metadata_type)s successfully added to document %(document)s." +msgstr "" +"Tipo Metadado %(metadata_type)s adicionado com sucesso para o documento " "%(document)s." -msgstr "Removido com sucesso o Stipo de metadato \"%(metadata_type)s\" do documento: %(document)s." -#: views.py:439 +#: views.py:162 #, python-format msgid "" -"Error removing metadata type \"%(metadata_type)s\" from document: " -"%(document)s; %(exception)s" -msgstr "Erro para remover o tipo de metadado \"%(metadata_type)s\" do documento: %(document)s; %(exception)s" +"Metadata type: %(metadata_type)s already present in document %(document)s." +msgstr "" +"Tipo Metadado: %(metadata_type)s já está presente no documento%(document)s." -#: views.py:461 +#: views.py:176 +#, fuzzy, python-format +#| msgid "Metadata type is required for this document type." +msgid "Metadata edit request performed on %(count)d document" +msgstr "Faltando metadados necessários" + +#: views.py:179 +#, fuzzy, python-format +#| msgid "Metadata type is required for this document type." +msgid "Metadata edit request performed on %(count)d documents" +msgstr "Faltando metadados necessários" + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" +msgstr[0] "Editar metadado do documento" +msgstr[1] "Editar metadados dos documentos" + +#: views.py:242 +#, fuzzy, python-format +#| msgid "Metadata for document: %s" +msgid "Edit metadata for document: %s" +msgstr "Metadados para documento: %s" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "Erro editando metadados para o documento: %(document)s; %(exception)s." + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "Metadados para o documento %s alterados com sucesso." + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "Metadados para documento: %s" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 msgid "Remove metadata types from the document" msgid_plural "Remove metadata types from the documents" msgstr[0] "Remover tipos de metadados do documento" msgstr[1] "Remover tipos de metadados dos documentos" -#: views.py:504 -#, python-format -msgid "Metadata for document: %s" -msgstr "Metadados para documento: %s" +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from the document" +#| msgid_plural "Remove metadata types from the documents" +msgid "Remove metadata types from the document: %s" +msgstr "Remover tipos de metadados do documento" -#: views.py:513 +#: views.py:455 +#, python-format +msgid "" +"Successfully remove metadata type \"%(metadata_type)s\" from document: " +"%(document)s." +msgstr "" +"Removido com sucesso o Stipo de metadato \"%(metadata_type)s\" do " +"documento: %(document)s." + +#: views.py:465 +#, python-format +msgid "" +"Error removing metadata type \"%(metadata_type)s\" from document: " +"%(document)s; %(exception)s" +msgstr "" +"Erro para remover o tipo de metadado \"%(metadata_type)s\" do documento: " +"%(document)s; %(exception)s" + +#: views.py:476 msgid "Create metadata type" msgstr "Criar Tipo de documento" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "Apagar o tipo de metadados: %s?" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "Editar o tipo de documento: %s" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "nome interno" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "Tipos de metadados disponíveis" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "Tipos de metadados atribuídos" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "Tipo de metadado opicional para os tipos de documentos : %s" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "Tipos de metadados requeridos para documento do tipo: %s" +#~ msgid "Primary key of the document metadata type." +#~ msgstr "Chave primária do tipo de metadados a ser adicionado." + +#~ msgid "Value of the corresponding metadata type instance." +#~ msgstr "Valor da instância tipo de metadados correspondente." + +#~ msgid "Must provide at least one document." +#~ msgstr "Deve fornecer pelo menos um documento." + +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "O documento selecionado não possui metadados." +#~ msgstr[1] "Os documentos selecionados não possuem metadados." + +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: " +#~ "%(document)s; %(exception)s" +#~ msgstr "" +#~ "Erro ao adicionar metadados de tipo \"%(metadata_type)s\" para o " +#~ "documento: %(document)s; %(exception)s" + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -564,47 +646,47 @@ msgstr "Tipos de metadados requeridos para documento do tipo: %s" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/ro_RO/LC_MESSAGES/django.po index 89d368ad7c..01b8a2da7a 100644 --- a/mayan/apps/metadata/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Badea Gabriel , 2013 @@ -9,63 +9,66 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-28 07:35+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "Metadate" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" msgstr "" -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "Valoare" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "Metadate de tip" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "Valoare metadate " @@ -101,12 +104,18 @@ msgstr "" msgid "\"%s\" is required for this document type." msgstr "" -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Metadata types to be added to the selected documents." +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: forms.py:141 msgid " Available template context variables: " msgstr "" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "Scoate" @@ -138,16 +147,15 @@ msgstr "" msgid "Delete" msgstr "Șterge" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "Editează" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "Metadate tipuri de" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -170,8 +178,8 @@ msgstr "Iniţial" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -190,47 +198,46 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." +"The parser will reformat the value entered to conform to the expected format." msgstr "" #: models.py:78 msgid "Parser" msgstr "" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "" -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "Tip" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "" -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "" -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "Tip document" -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "" -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "" @@ -270,141 +277,180 @@ msgstr "Ștergeți tipuri de metadate" msgid "View metadata types" msgstr "Vezi tipuri de metadate" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "" -#: serializers.py:40 -msgid "Primary key of the document metadata type." +#: serializers.py:130 +msgid "Primary key of the metadata type to be added to the document." msgstr "" -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." +#: views.py:41 +#, python-format +msgid "Metadata add request performed on %(count)d document" msgstr "" -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "Trebuie să furnizeze cel puțin un document." - -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." +#: views.py:43 +#, python-format +msgid "Metadata add request performed on %(count)d documents" msgstr "" -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#: views.py:139 -#, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." +#: views.py:56 views.py:192 views.py:358 +msgid "Selected documents must be of the same type." msgstr "" -#: views.py:150 -#, python-format -msgid "Metadata for document %s edited successfully." -msgstr "Metadate pentru documentul %s editat cu succes." - -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#: views.py:256 -#, python-format -msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" +#: views.py:95 +msgid "Add" msgstr "" -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." -msgstr "Tipul de metadate:%(metadata_type)s au fost adăugate cu succes documentul %(document)s." - -#: views.py:282 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "Tipul de metadate:%(metadata_type)s e deja prezent în documentul %(document)s." - -#: views.py:313 +#: views.py:97 msgid "Add metadata types to document" msgid_plural "Add metadata types to documents" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: views.py:429 +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Add metadata types to document: %s" +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: views.py:152 #, python-format msgid "" -"Successfully remove metadata type \"%(metadata_type)s\" from document: " +"Metadata type: %(metadata_type)s successfully added to document %(document)s." +msgstr "" +"Tipul de metadate:%(metadata_type)s au fost adăugate cu succes documentul " "%(document)s." -msgstr "" -#: views.py:439 +#: views.py:162 #, python-format msgid "" -"Error removing metadata type \"%(metadata_type)s\" from document: " -"%(document)s; %(exception)s" +"Metadata type: %(metadata_type)s already present in document %(document)s." +msgstr "" +"Tipul de metadate:%(metadata_type)s e deja prezent în documentul " +"%(document)s." + +#: views.py:176 +#, python-format +msgid "Metadata edit request performed on %(count)d document" msgstr "" -#: views.py:461 +#: views.py:179 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Metadata edit request performed on %(count)d documents" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: views.py:242 +#, fuzzy, python-format +#| msgid "Edit metadata for document: %(document)s" +#| msgid_plural "Edit metadata for the %(count)d selected documents" +msgid "Edit metadata for document: %s" +msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "" + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "Metadate pentru documentul %s editat cu succes." + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 msgid "Remove metadata types from the document" msgid_plural "Remove metadata types from the documents" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: views.py:504 +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Remove metadata types from the document: %s" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:455 #, python-format -msgid "Metadata for document: %s" +msgid "" +"Successfully remove metadata type \"%(metadata_type)s\" from document: " +"%(document)s." msgstr "" -#: views.py:513 +#: views.py:465 +#, python-format +msgid "" +"Error removing metadata type \"%(metadata_type)s\" from document: " +"%(document)s; %(exception)s" +msgstr "" + +#: views.py:476 msgid "Create metadata type" msgstr "" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Trebuie să furnizeze cel puțin un document." + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -438,24 +484,6 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" -#~ msgid "Edit metadata for document: %(document)s" -#~ msgid_plural "Edit metadata for the %(count)d selected documents" -#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" -#~ msgstr[1] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_1" -#~ msgstr[2] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_2" - -#~ msgid "Add metadata types to document: %(document)s" -#~ msgid_plural "Add metadata types to the %(count)d selected documents" -#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" -#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" -#~ msgstr[2] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_2" - -#~ msgid "Remove metadata types from document: %(document)s" -#~ msgid_plural "Remove metadata types from the %(count)d selected documents" -#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" -#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" -#~ msgstr[2] "6ecb682bfaa127b9e56a8036a602ccf4_pl_2" - #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -568,47 +596,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/ru/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/ru/LC_MESSAGES/django.po index 4b031aa240..6c402fcd18 100644 --- a/mayan/apps/metadata/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -9,63 +9,67 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-02 04:15+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "Метаданные" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" msgstr "" -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "Значение" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "Требуется" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "Тип метаданных" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "Значение метаданных" @@ -101,12 +105,18 @@ msgstr "" msgid "\"%s\" is required for this document type." msgstr "" -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Metadata types to be added to the selected documents." +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: forms.py:141 msgid " Available template context variables: " msgstr "" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "Удалить" @@ -138,16 +148,15 @@ msgstr "Создать новые" msgid "Delete" msgstr "Удалить" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "Редактировать" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "Типы метаданных" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -170,8 +179,8 @@ msgstr "Умолчание" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -190,47 +199,48 @@ msgstr "Валидатор" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." -msgstr "Введённое значение будет переформатировано парсером так, чтобы удовлетворять требованиям формата." +"The parser will reformat the value entered to conform to the expected format." +msgstr "" +"Введённое значение будет переформатировано парсером так, чтобы удовлетворять " +"требованиям формата." #: models.py:78 msgid "Parser" msgstr "Парсер" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "" -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "Документ" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "Тип" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "" -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "" -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "Метаданные документа" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "Тип документа" -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "" -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "" @@ -270,73 +280,37 @@ msgstr "Удаление типов метаданных" msgid "View metadata types" msgstr "Просмотр типов метаданных" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "Первичный ключ добавляемого типа метаданных." -#: serializers.py:40 -msgid "Primary key of the document metadata type." +#: serializers.py:130 +#, fuzzy +#| msgid "Primary key of the metadata type to be added." +msgid "Primary key of the metadata type to be added to the document." +msgstr "Первичный ключ добавляемого типа метаданных." + +#: views.py:41 +#, python-format +msgid "Metadata add request performed on %(count)d document" msgstr "" -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." +#: views.py:43 +#, python-format +msgid "Metadata add request performed on %(count)d documents" msgstr "" -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "Необходимо предоставить хотя бы один документ." - -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." +#: views.py:56 views.py:192 views.py:358 +#, fuzzy +#| msgid "Only select documents of the same type." +msgid "Selected documents must be of the same type." msgstr "Выберите документы одного типа." -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." -msgstr[0] "Выбранный документ не имеет никаких метаданных." -msgstr[1] "Выбранные документы не имеют никаких метаданных." -msgstr[2] "Выбранные документы не имеют никаких метаданных." -msgstr[3] "Выбранные документы не имеют никаких метаданных." +#: views.py:95 +msgid "Add" +msgstr "" -#: views.py:139 -#, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." -msgstr "Ошибка при редактировании метаданных документа: %(document)s; %(exception)s." - -#: views.py:150 -#, python-format -msgid "Metadata for document %s edited successfully." -msgstr "Метаданные для документов %s изменены." - -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "Редактировать метаданные документа." -msgstr[1] "Редактировать метаданные документов." -msgstr[2] "Редактировать метаданные документов." -msgstr[3] "Редактировать метаданные документов." - -#: views.py:256 -#, python-format -msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" -msgstr "Ошибка добавления метаданных типа %(metadata_type)s к документу: %(document)s; %(exception)s" - -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." -msgstr "Тип метаданных: %(metadata_type)s успешно добавлены к документу %(document)s." - -#: views.py:282 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "Тип метаданных: %(metadata_type)s уже есть в документе %(document)s." - -#: views.py:313 +#: views.py:97 msgid "Add metadata types to document" msgid_plural "Add metadata types to documents" msgstr[0] "Добавить тип метаданных к документам" @@ -344,21 +318,79 @@ msgstr[1] "Добавить типы метаданных к документа msgstr[2] "Добавить типы метаданных к документам" msgstr[3] "Добавить типы метаданных к документам" -#: views.py:429 +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document" +#| msgid_plural "Add metadata types to documents" +msgid "Add metadata types to document: %s" +msgstr "Добавить тип метаданных к документам" + +#: views.py:152 #, python-format msgid "" -"Successfully remove metadata type \"%(metadata_type)s\" from document: " -"%(document)s." -msgstr "Успешно удалён тип метаданных \"%(metadata_type)s\" из документа %(document)s." +"Metadata type: %(metadata_type)s successfully added to document %(document)s." +msgstr "" +"Тип метаданных: %(metadata_type)s успешно добавлены к документу %(document)s." -#: views.py:439 +#: views.py:162 #, python-format msgid "" -"Error removing metadata type \"%(metadata_type)s\" from document: " -"%(document)s; %(exception)s" -msgstr "Ошибка удаления метаданных типа \"%(metadata_type)s\" от документа: %(document)s; %(exception)s" +"Metadata type: %(metadata_type)s already present in document %(document)s." +msgstr "Тип метаданных: %(metadata_type)s уже есть в документе %(document)s." -#: views.py:461 +#: views.py:176 +#, python-format +msgid "Metadata edit request performed on %(count)d document" +msgstr "" + +#: views.py:179 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Metadata edit request performed on %(count)d documents" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" +msgstr[0] "Редактировать метаданные документа." +msgstr[1] "Редактировать метаданные документов." +msgstr[2] "Редактировать метаданные документов." +msgstr[3] "Редактировать метаданные документов." + +#: views.py:242 +#, fuzzy, python-format +#| msgid "Metadata for document: %s" +msgid "Edit metadata for document: %s" +msgstr "Метаданные документа: %s" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "" +"Ошибка при редактировании метаданных документа: %(document)s; %(exception)s." + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "Метаданные для документов %s изменены." + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "Метаданные документа: %s" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 msgid "Remove metadata types from the document" msgid_plural "Remove metadata types from the documents" msgstr[0] "Удалить тип метаданных из документов" @@ -366,49 +398,84 @@ msgstr[1] "Удалить типы метаданных из документо msgstr[2] "Удалить типы метаданных из документов" msgstr[3] "Удалить типы метаданных из документов" -#: views.py:504 -#, python-format -msgid "Metadata for document: %s" -msgstr "Метаданные документа: %s" +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from the document" +#| msgid_plural "Remove metadata types from the documents" +msgid "Remove metadata types from the document: %s" +msgstr "Удалить тип метаданных из документов" -#: views.py:513 +#: views.py:455 +#, python-format +msgid "" +"Successfully remove metadata type \"%(metadata_type)s\" from document: " +"%(document)s." +msgstr "" +"Успешно удалён тип метаданных \"%(metadata_type)s\" из документа " +"%(document)s." + +#: views.py:465 +#, python-format +msgid "" +"Error removing metadata type \"%(metadata_type)s\" from document: " +"%(document)s; %(exception)s" +msgstr "" +"Ошибка удаления метаданных типа \"%(metadata_type)s\" от документа: " +"%(document)s; %(exception)s" + +#: views.py:476 msgid "Create metadata type" msgstr "Создать тип метаданных" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "Удалить тип метаданных: %s?" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "Редактировать тип метаданных: %s" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "Внутреннее имя" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "Доступные типы метаданных" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "Назначенные типы метаданных" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "Дополнительные типы метаданных для типов документов: %s" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "Обязательные типы метаданных для типов документов: %s" +#~ msgid "Must provide at least one document." +#~ msgstr "Необходимо предоставить хотя бы один документ." + +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "Выбранный документ не имеет никаких метаданных." +#~ msgstr[1] "Выбранные документы не имеют никаких метаданных." +#~ msgstr[2] "Выбранные документы не имеют никаких метаданных." +#~ msgstr[3] "Выбранные документы не имеют никаких метаданных." + +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: " +#~ "%(document)s; %(exception)s" +#~ msgstr "" +#~ "Ошибка добавления метаданных типа %(metadata_type)s к документу: " +#~ "%(document)s; %(exception)s" + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -449,20 +516,6 @@ msgstr "Обязательные типы метаданных для типов #~ msgstr[2] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_2" #~ msgstr[3] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_3" -#~ msgid "Add metadata types to document: %(document)s" -#~ msgid_plural "Add metadata types to the %(count)d selected documents" -#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" -#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" -#~ msgstr[2] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_2" -#~ msgstr[3] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_3" - -#~ msgid "Remove metadata types from document: %(document)s" -#~ msgid_plural "Remove metadata types from the %(count)d selected documents" -#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" -#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" -#~ msgstr[2] "6ecb682bfaa127b9e56a8036a602ccf4_pl_2" -#~ msgstr[3] "6ecb682bfaa127b9e56a8036a602ccf4_pl_3" - #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -575,47 +628,47 @@ msgstr "Обязательные типы метаданных для типов #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/sl_SI/LC_MESSAGES/django.po index 5cffd068be..b3711e6bf5 100644 --- a/mayan/apps/metadata/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/sl_SI/LC_MESSAGES/django.po @@ -1,70 +1,73 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-17 08:59+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" msgstr "" -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "Tip metapodatkov" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "Vrednost metapodatkov" @@ -100,12 +103,18 @@ msgstr "" msgid "\"%s\" is required for this document type." msgstr "" -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Metadata types to be added to the selected documents." +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: forms.py:141 msgid " Available template context variables: " msgstr "" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "" @@ -137,16 +146,15 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -169,8 +177,8 @@ msgstr "" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -189,47 +197,46 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." +"The parser will reformat the value entered to conform to the expected format." msgstr "" #: models.py:78 msgid "Parser" msgstr "" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "" -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "" -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "" -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "Tip dokumenta" -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "" -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "" @@ -269,73 +276,33 @@ msgstr "" msgid "View metadata types" msgstr "" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "" -#: serializers.py:40 -msgid "Primary key of the document metadata type." +#: serializers.py:130 +msgid "Primary key of the metadata type to be added to the document." msgstr "" -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." -msgstr "" - -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "Potrebno je podati vsaj en dokument" - -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." -msgstr "" - -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#: views.py:139 +#: views.py:41 #, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgid "Metadata add request performed on %(count)d document" msgstr "" -#: views.py:150 +#: views.py:43 #, python-format -msgid "Metadata for document %s edited successfully." +msgid "Metadata add request performed on %(count)d documents" msgstr "" -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#: views.py:256 -#, python-format -msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" +#: views.py:56 views.py:192 views.py:358 +msgid "Selected documents must be of the same type." msgstr "" -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." +#: views.py:95 +msgid "Add" msgstr "" -#: views.py:282 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "" - -#: views.py:313 +#: views.py:97 msgid "Add metadata types to document" msgid_plural "Add metadata types to documents" msgstr[0] "" @@ -343,21 +310,78 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: views.py:429 +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Add metadata types to document: %s" +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: views.py:152 #, python-format msgid "" -"Successfully remove metadata type \"%(metadata_type)s\" from document: " -"%(document)s." +"Metadata type: %(metadata_type)s successfully added to document %(document)s." msgstr "" -#: views.py:439 +#: views.py:162 #, python-format msgid "" -"Error removing metadata type \"%(metadata_type)s\" from document: " -"%(document)s; %(exception)s" +"Metadata type: %(metadata_type)s already present in document %(document)s." msgstr "" -#: views.py:461 +#: views.py:176 +#, python-format +msgid "Metadata edit request performed on %(count)d document" +msgstr "" + +#: views.py:179 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Metadata edit request performed on %(count)d documents" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: views.py:242 +#, fuzzy, python-format +#| msgid "Edit metadata for document: %(document)s" +#| msgid_plural "Edit metadata for the %(count)d selected documents" +msgid "Edit metadata for document: %s" +msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "" + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "" + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 msgid "Remove metadata types from the document" msgid_plural "Remove metadata types from the documents" msgstr[0] "" @@ -365,49 +389,66 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: views.py:504 +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Remove metadata types from the document: %s" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:455 #, python-format -msgid "Metadata for document: %s" +msgid "" +"Successfully remove metadata type \"%(metadata_type)s\" from document: " +"%(document)s." msgstr "" -#: views.py:513 +#: views.py:465 +#, python-format +msgid "" +"Error removing metadata type \"%(metadata_type)s\" from document: " +"%(document)s; %(exception)s" +msgstr "" + +#: views.py:476 msgid "Create metadata type" msgstr "" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Potrebno je podati vsaj en dokument" + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -441,27 +482,6 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" -#~ msgid "Edit metadata for document: %(document)s" -#~ msgid_plural "Edit metadata for the %(count)d selected documents" -#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" -#~ msgstr[1] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_1" -#~ msgstr[2] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_2" -#~ msgstr[3] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_3" - -#~ msgid "Add metadata types to document: %(document)s" -#~ msgid_plural "Add metadata types to the %(count)d selected documents" -#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" -#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" -#~ msgstr[2] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_2" -#~ msgstr[3] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_3" - -#~ msgid "Remove metadata types from document: %(document)s" -#~ msgid_plural "Remove metadata types from the %(count)d selected documents" -#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" -#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" -#~ msgstr[2] "6ecb682bfaa127b9e56a8036a602ccf4_pl_2" -#~ msgstr[3] "6ecb682bfaa127b9e56a8036a602ccf4_pl_3" - #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -574,47 +594,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/vi_VN/LC_MESSAGES/django.po index cb8bfc085e..3dccfd2656 100644 --- a/mayan/apps/metadata/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Trung Phan Minh , 2013 @@ -9,63 +9,65 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-28 07:35+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "Siêu dữ liệu" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" msgstr "" -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "Giá trị" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "Loại siêu dữ liệu" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "" @@ -101,12 +103,18 @@ msgstr "" msgid "\"%s\" is required for this document type." msgstr "" -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Metadata types to be added to the selected documents." +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: forms.py:141 msgid " Available template context variables: " msgstr "" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "Xóa" @@ -138,16 +146,15 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "Sửa" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -170,8 +177,8 @@ msgstr "Mặc định" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -190,47 +197,46 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." +"The parser will reformat the value entered to conform to the expected format." msgstr "" #: models.py:78 msgid "Parser" msgstr "" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "" -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "" -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "" -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "Kiểu tài liệu" -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "" -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "" @@ -270,133 +276,170 @@ msgstr "Xóa loại siêu dữ liệu" msgid "View metadata types" msgstr "Xem các loại siêu dữ liệu" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "" -#: serializers.py:40 -msgid "Primary key of the document metadata type." +#: serializers.py:130 +msgid "Primary key of the metadata type to be added to the document." msgstr "" -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." +#: views.py:41 +#, python-format +msgid "Metadata add request performed on %(count)d document" msgstr "" -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "Cần cung cấp ít nhất một tài liệu." - -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." +#: views.py:43 +#, python-format +msgid "Metadata add request performed on %(count)d documents" msgstr "" -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." +#: views.py:56 views.py:192 views.py:358 +msgid "Selected documents must be of the same type." +msgstr "" + +#: views.py:95 +msgid "Add" +msgstr "" + +#: views.py:97 +msgid "Add metadata types to document" +msgid_plural "Add metadata types to documents" msgstr[0] "" -#: views.py:139 -#, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." -msgstr "" +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Add metadata types to document: %s" +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" -#: views.py:150 -#, python-format -msgid "Metadata for document %s edited successfully." -msgstr "" - -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "" - -#: views.py:256 +#: views.py:152 #, python-format msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" +"Metadata type: %(metadata_type)s successfully added to document %(document)s." msgstr "" -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." -msgstr "" - -#: views.py:282 +#: views.py:162 #, python-format msgid "" "Metadata type: %(metadata_type)s already present in document %(document)s." msgstr "" -#: views.py:313 -msgid "Add metadata types to document" -msgid_plural "Add metadata types to documents" +#: views.py:176 +#, python-format +msgid "Metadata edit request performed on %(count)d document" +msgstr "" + +#: views.py:179 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Metadata edit request performed on %(count)d documents" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" msgstr[0] "" -#: views.py:429 +#: views.py:242 +#, fuzzy, python-format +#| msgid "Edit metadata for document: %(document)s" +#| msgid_plural "Edit metadata for the %(count)d selected documents" +msgid "Edit metadata for document: %s" +msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "" + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "" + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 +msgid "Remove metadata types from the document" +msgid_plural "Remove metadata types from the documents" +msgstr[0] "" + +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Remove metadata types from the document: %s" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:455 #, python-format msgid "" "Successfully remove metadata type \"%(metadata_type)s\" from document: " "%(document)s." msgstr "" -#: views.py:439 +#: views.py:465 #, python-format msgid "" "Error removing metadata type \"%(metadata_type)s\" from document: " "%(document)s; %(exception)s" msgstr "" -#: views.py:461 -msgid "Remove metadata types from the document" -msgid_plural "Remove metadata types from the documents" -msgstr[0] "" - -#: views.py:504 -#, python-format -msgid "Metadata for document: %s" -msgstr "" - -#: views.py:513 +#: views.py:476 msgid "Create metadata type" msgstr "" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Cần cung cấp ít nhất một tài liệu." + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -430,18 +473,6 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" -#~ msgid "Edit metadata for document: %(document)s" -#~ msgid_plural "Edit metadata for the %(count)d selected documents" -#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" - -#~ msgid "Add metadata types to document: %(document)s" -#~ msgid_plural "Add metadata types to the %(count)d selected documents" -#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" - -#~ msgid "Remove metadata types from document: %(document)s" -#~ msgid_plural "Remove metadata types from the %(count)d selected documents" -#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" - #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -554,47 +585,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/zh_CN/LC_MESSAGES/django.po index 9fbb6e817a..120aca6f41 100644 --- a/mayan/apps/metadata/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -9,63 +9,65 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-28 07:35+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:52 apps.py:142 links.py:39 permissions.py:7 settings.py:10 +#: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 +#: settings.py:10 msgid "Metadata" msgstr "元数据" -#: apps.py:76 +#: apps.py:79 msgid "Documents missing required metadata" msgstr "" -#: apps.py:93 +#: apps.py:96 msgid "Documents missing optional metadata" msgstr "" -#: apps.py:112 +#: apps.py:115 msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" msgstr "" -#: apps.py:118 +#: apps.py:121 msgid "Metadata type name" msgstr "" -#: apps.py:121 +#: apps.py:124 msgid "Metadata type value" msgstr "" -#: apps.py:125 +#: apps.py:128 msgid "Value of a metadata" msgstr "" -#: apps.py:127 +#: apps.py:130 msgid "Return the value of a specific document metadata" msgstr "" -#: apps.py:147 forms.py:19 models.py:158 +#: apps.py:157 forms.py:19 models.py:159 msgid "Value" msgstr "值" -#: apps.py:151 forms.py:39 models.py:208 +#: apps.py:161 forms.py:39 models.py:209 msgid "Required" msgstr "" -#: apps.py:173 forms.py:112 models.py:91 models.py:206 +#: apps.py:183 apps.py:191 forms.py:113 models.py:91 models.py:207 msgid "Metadata type" msgstr "元数据类型" -#: apps.py:176 +#: apps.py:186 apps.py:195 msgid "Metadata value" msgstr "Metadata值" @@ -101,12 +103,18 @@ msgstr "" msgid "\"%s\" is required for this document type." msgstr "" -#: forms.py:130 -#| msgid " Available models: %s" +#: forms.py:112 +#, fuzzy +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Metadata types to be added to the selected documents." +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#: forms.py:141 msgid " Available template context variables: " msgstr "" -#: forms.py:141 +#: forms.py:152 views.py:395 msgid "Remove" msgstr "移除" @@ -138,16 +146,15 @@ msgstr "" msgid "Delete" msgstr "" -#: links.py:59 +#: links.py:59 views.py:229 msgid "Edit" msgstr "" -#: links.py:64 models.py:92 views.py:561 +#: links.py:64 models.py:92 views.py:524 msgid "Metadata types" msgstr "元数据类型" #: models.py:42 -#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -170,8 +177,8 @@ msgstr "" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +"Django's default templating language (https://docs.djangoproject.com/en/1.7/" +"ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -190,47 +197,46 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected " -"format." +"The parser will reformat the value entered to conform to the expected format." msgstr "" #: models.py:78 msgid "Parser" msgstr "" -#: models.py:131 +#: models.py:132 msgid "Value is not one of the provided options." msgstr "" -#: models.py:153 +#: models.py:154 msgid "Document" msgstr "" -#: models.py:155 +#: models.py:156 msgid "Type" msgstr "" -#: models.py:167 +#: models.py:168 msgid "Metadata type is required for this document type." msgstr "" -#: models.py:175 +#: models.py:176 msgid "Metadata type is not valid for this document type." msgstr "" -#: models.py:189 models.py:190 +#: models.py:190 models.py:191 msgid "Document metadata" msgstr "" -#: models.py:203 +#: models.py:204 msgid "Document type" msgstr "文档类型" -#: models.py:215 +#: models.py:216 msgid "Document type metadata type options" msgstr "" -#: models.py:216 +#: models.py:217 msgid "Document type metadata types options" msgstr "" @@ -270,133 +276,170 @@ msgstr "删除元数据类型" msgid "View metadata types" msgstr "查看元数据类型" -#: serializers.py:33 serializers.py:61 +#: serializers.py:49 msgid "Primary key of the metadata type to be added." msgstr "" -#: serializers.py:40 -msgid "Primary key of the document metadata type." +#: serializers.py:130 +msgid "Primary key of the metadata type to be added to the document." msgstr "" -#: serializers.py:46 -msgid "Value of the corresponding metadata type instance." +#: views.py:41 +#, python-format +msgid "Metadata add request performed on %(count)d document" msgstr "" -#: views.py:58 views.py:217 views.py:353 -msgid "Must provide at least one document." -msgstr "必须至少提供一个文档" - -#: views.py:66 views.py:196 views.py:361 -msgid "Only select documents of the same type." +#: views.py:43 +#, python-format +msgid "Metadata add request performed on %(count)d documents" msgstr "" -#: views.py:75 views.py:370 -msgid "The selected document doesn't have any metadata." -msgid_plural "The selected documents don't have any metadata." +#: views.py:56 views.py:192 views.py:358 +msgid "Selected documents must be of the same type." +msgstr "" + +#: views.py:95 +msgid "Add" +msgstr "" + +#: views.py:97 +msgid "Add metadata types to document" +msgid_plural "Add metadata types to documents" msgstr[0] "" -#: views.py:139 -#, python-format -msgid "Error editing metadata for document: %(document)s; %(exception)s." -msgstr "" +#: views.py:108 +#, fuzzy, python-format +#| msgid "Add metadata types to document: %(document)s" +#| msgid_plural "Add metadata types to the %(count)d selected documents" +msgid "Add metadata types to document: %s" +msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" -#: views.py:150 -#, python-format -msgid "Metadata for document %s edited successfully." -msgstr "文档 %s 的元数据编辑成功。" - -#: views.py:168 -msgid "Edit document metadata" -msgid_plural "Edit documents metadata" -msgstr[0] "" - -#: views.py:256 +#: views.py:152 #, python-format msgid "" -"Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " -"%(exception)s" -msgstr "" - -#: views.py:272 -#, python-format -msgid "" -"Metadata type: %(metadata_type)s successfully added to document " -"%(document)s." +"Metadata type: %(metadata_type)s successfully added to document %(document)s." msgstr "元数据类型: %(metadata_type)s成功加入到文档%(document)s" -#: views.py:282 +#: views.py:162 #, python-format msgid "" "Metadata type: %(metadata_type)s already present in document %(document)s." msgstr "元数据类型: %(metadata_type)s 已经存在于文档%(document)s." -#: views.py:313 -msgid "Add metadata types to document" -msgid_plural "Add metadata types to documents" +#: views.py:176 +#, python-format +msgid "Metadata edit request performed on %(count)d document" +msgstr "" + +#: views.py:179 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Metadata edit request performed on %(count)d documents" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:231 +msgid "Edit document metadata" +msgid_plural "Edit documents metadata" msgstr[0] "" -#: views.py:429 +#: views.py:242 +#, fuzzy, python-format +#| msgid "Edit metadata for document: %(document)s" +#| msgid_plural "Edit metadata for the %(count)d selected documents" +msgid "Edit metadata for document: %s" +msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" + +#: views.py:295 +#, python-format +msgid "Error editing metadata for document: %(document)s; %(exception)s." +msgstr "" + +#: views.py:306 +#, python-format +msgid "Metadata for document %s edited successfully." +msgstr "文档 %s 的元数据编辑成功。" + +#: views.py:330 +#, python-format +msgid "Metadata for document: %s" +msgstr "" + +#: views.py:342 +#, python-format +msgid "Metadata remove request performed on %(count)d document" +msgstr "" + +#: views.py:345 +#, python-format +msgid "Metadata remove request performed on %(count)d documents" +msgstr "" + +#: views.py:397 +msgid "Remove metadata types from the document" +msgid_plural "Remove metadata types from the documents" +msgstr[0] "" + +#: views.py:408 +#, fuzzy, python-format +#| msgid "Remove metadata types from document: %(document)s" +#| msgid_plural "Remove metadata types from the %(count)d selected documents" +msgid "Remove metadata types from the document: %s" +msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + +#: views.py:455 #, python-format msgid "" "Successfully remove metadata type \"%(metadata_type)s\" from document: " "%(document)s." msgstr "" -#: views.py:439 +#: views.py:465 #, python-format msgid "" "Error removing metadata type \"%(metadata_type)s\" from document: " "%(document)s; %(exception)s" msgstr "" -#: views.py:461 -msgid "Remove metadata types from the document" -msgid_plural "Remove metadata types from the documents" -msgstr[0] "" - -#: views.py:504 -#, python-format -msgid "Metadata for document: %s" -msgstr "" - -#: views.py:513 +#: views.py:476 msgid "Create metadata type" msgstr "" -#: views.py:529 +#: views.py:492 #, python-format -#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" -#: views.py:542 +#: views.py:505 #, python-format msgid "Edit metadata type: %s" msgstr "" -#: views.py:556 +#: views.py:519 msgid "Internal name" msgstr "" -#: views.py:568 -#| msgid "View metadata types" +#: views.py:531 msgid "Available metadata types" msgstr "" -#: views.py:569 +#: views.py:532 msgid "Metadata types assigned" msgstr "" -#: views.py:600 +#: views.py:563 #, python-format msgid "Optional metadata types for document type: %s" msgstr "" -#: views.py:618 +#: views.py:581 #, python-format msgid "Required metadata types for document type: %s" msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "必须至少提供一个文档" + #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -430,18 +473,6 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" -#~ msgid "Edit metadata for document: %(document)s" -#~ msgid_plural "Edit metadata for the %(count)d selected documents" -#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" - -#~ msgid "Add metadata types to document: %(document)s" -#~ msgid_plural "Add metadata types to the %(count)d selected documents" -#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" - -#~ msgid "Remove metadata types from document: %(document)s" -#~ msgid_plural "Remove metadata types from the %(count)d selected documents" -#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" - #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -554,47 +585,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets are " -#~ "useful when creating new documents; selecing a metadata set automatically " -#~ "attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets " +#~ "are useful when creating new documents; selecing a metadata set " +#~ "automatically attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that can" -#~ " be attached to a document. Examples of metadata types are: a client name, " -#~ "a date, or a project to which several documents belong. A metadata type's " -#~ "name is the internal identifier with which it can be referenced to by other " -#~ "modules such as the indexing module, the title is the value that is shown to" -#~ " the users, the default value is the value an instance of this metadata type" -#~ " will have initially, and the lookup value turns an instance of a metadata " -#~ "of this type into a choice list which options are the result of the lookup's" -#~ " code execution." +#~ "A metadata type defines the characteristics of a value of some kind that " +#~ "can be attached to a document. Examples of metadata types are: a client " +#~ "name, a date, or a project to which several documents belong. A metadata " +#~ "type's name is the internal identifier with which it can be referenced to " +#~ "by other modules such as the indexing module, the title is the value that " +#~ "is shown to the users, the default value is the value an instance of this " +#~ "metadata type will have initially, and the lookup value turns an instance " +#~ "of a metadata of this type into a choice list which options are the " +#~ "result of the lookup's code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " -#~ "User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " +#~ "in User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/mirroring/locale/ar/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/ar/LC_MESSAGES/django.po index c92fce1501..2d03879dcb 100644 --- a/mayan/apps/mirroring/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/ar/LC_MESSAGES/django.po @@ -1,21 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:11+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:9 settings.py:7 msgid "Mirroring" diff --git a/mayan/apps/mirroring/locale/bg/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/bg/LC_MESSAGES/django.po index 07bec77092..0884e7c0cb 100644 --- a/mayan/apps/mirroring/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/bg/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:11+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:9 settings.py:7 diff --git a/mayan/apps/mirroring/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/bs_BA/LC_MESSAGES/django.po index ac177fba8f..a483a6a193 100644 --- a/mayan/apps/mirroring/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/bs_BA/LC_MESSAGES/django.po @@ -1,21 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:11+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:9 settings.py:7 msgid "Mirroring" diff --git a/mayan/apps/mirroring/locale/da/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/da/LC_MESSAGES/django.po index 234d769840..d1a8793d47 100644 --- a/mayan/apps/mirroring/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/da/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:11+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:9 settings.py:7 diff --git a/mayan/apps/mirroring/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/de_DE/LC_MESSAGES/django.po index b087316afb..02e62013f1 100644 --- a/mayan/apps/mirroring/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/de_DE/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Berny , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:08+0000\n" "Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:9 settings.py:7 @@ -24,8 +25,12 @@ msgstr "Spiegelung" #: settings.py:11 msgid "Time in seconds to cache the path lookup to a document." -msgstr "Zeit in Sekunden, die ein Pfad zu einem Dokument zwischengespeichert werden soll." +msgstr "" +"Zeit in Sekunden, die ein Pfad zu einem Dokument zwischengespeichert werden " +"soll." #: settings.py:15 msgid "Time in seconds to cache the path lookup to an index node." -msgstr "Zeit in Sekunden, die ein Pfad zu einem zu einem Indexknotenpunkt zwischengespeichert werden soll." +msgstr "" +"Zeit in Sekunden, die ein Pfad zu einem zu einem Indexknotenpunkt " +"zwischengespeichert werden soll." diff --git a/mayan/apps/mirroring/locale/en/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/en/LC_MESSAGES/django.po index 4de25c13e7..4596731f3c 100644 --- a/mayan/apps/mirroring/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mayan/apps/mirroring/locale/es/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/es/LC_MESSAGES/django.po index bb26ad0ebc..dae36e103a 100644 --- a/mayan/apps/mirroring/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/es/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Roberto Rosario, 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:21+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:9 settings.py:7 @@ -24,8 +25,12 @@ msgstr "Reflejado" #: settings.py:11 msgid "Time in seconds to cache the path lookup to a document." -msgstr "Tiempo en segundos durante los cuales se almacenará en caché la ruta de búsqueda de acceso a un documento." +msgstr "" +"Tiempo en segundos durante los cuales se almacenará en caché la ruta de " +"búsqueda de acceso a un documento." #: settings.py:15 msgid "Time in seconds to cache the path lookup to an index node." -msgstr "Tiempo en segundos durante los cuales se almacenará en caché la ruta de búsqueda de acceso a un nodo de índice." +msgstr "" +"Tiempo en segundos durante los cuales se almacenará en caché la ruta de " +"búsqueda de acceso a un nodo de índice." diff --git a/mayan/apps/mirroring/locale/fa/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/fa/LC_MESSAGES/django.po index cca30de7cb..a103f3337f 100644 --- a/mayan/apps/mirroring/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/fa/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:11+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:9 settings.py:7 diff --git a/mayan/apps/mirroring/locale/fr/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/fr/LC_MESSAGES/django.po index 0d80bc74a1..b2d307b2fb 100644 --- a/mayan/apps/mirroring/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/fr/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Thierry Schott , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:08+0000\n" "Last-Translator: Thierry Schott \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:9 settings.py:7 @@ -24,8 +25,10 @@ msgstr "Duplication" #: settings.py:11 msgid "Time in seconds to cache the path lookup to a document." -msgstr "Temps en secondes de rétention en cache du chemin d'accès à un document." +msgstr "" +"Temps en secondes de rétention en cache du chemin d'accès à un document." #: settings.py:15 msgid "Time in seconds to cache the path lookup to an index node." -msgstr "Temps en seconde de rétention en cache du chemin d'accès à un noeud d'index." +msgstr "" +"Temps en seconde de rétention en cache du chemin d'accès à un noeud d'index." diff --git a/mayan/apps/mirroring/locale/hu/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/hu/LC_MESSAGES/django.po index 12c85511a0..c7c45fb143 100644 --- a/mayan/apps/mirroring/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/hu/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:11+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:9 settings.py:7 diff --git a/mayan/apps/mirroring/locale/id/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/id/LC_MESSAGES/django.po index d2676a954c..7115c5f959 100644 --- a/mayan/apps/mirroring/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/id/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:11+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:9 settings.py:7 diff --git a/mayan/apps/mirroring/locale/it/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/it/LC_MESSAGES/django.po index 0d44e378d7..d9a42f4da9 100644 --- a/mayan/apps/mirroring/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Giovanni Tricarico , 2016 # Marco Camplese , 2016 @@ -9,14 +9,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-09-24 08:52+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:9 settings.py:7 @@ -25,8 +26,11 @@ msgstr "Mirroring " #: settings.py:11 msgid "Time in seconds to cache the path lookup to a document." -msgstr "Tempo in secondi per mettere in cache il percorso di ricerca del documento." +msgstr "" +"Tempo in secondi per mettere in cache il percorso di ricerca del documento." #: settings.py:15 msgid "Time in seconds to cache the path lookup to an index node." -msgstr "Tempo in secondi per mettere in cache il percorso di ricerca del nodo indice.." +msgstr "" +"Tempo in secondi per mettere in cache il percorso di ricerca del nodo " +"indice.." diff --git a/mayan/apps/mirroring/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/nl_NL/LC_MESSAGES/django.po index efb5a083f6..9e7d481941 100644 --- a/mayan/apps/mirroring/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/nl_NL/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Evelijn Saaltink , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-09 16:40+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:9 settings.py:7 diff --git a/mayan/apps/mirroring/locale/pl/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/pl/LC_MESSAGES/django.po index 050c8c3a01..6089c39d15 100644 --- a/mayan/apps/mirroring/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/pl/LC_MESSAGES/django.po @@ -1,21 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:11+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" #: apps.py:9 settings.py:7 msgid "Mirroring" diff --git a/mayan/apps/mirroring/locale/pt/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/pt/LC_MESSAGES/django.po index 5102d6b7c7..36ae2bff34 100644 --- a/mayan/apps/mirroring/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/pt/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:11+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:9 settings.py:7 diff --git a/mayan/apps/mirroring/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/pt_BR/LC_MESSAGES/django.po index 8996463034..a460b47537 100644 --- a/mayan/apps/mirroring/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/pt_BR/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Aline Freitas , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-04 19:01+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:9 settings.py:7 @@ -24,8 +25,12 @@ msgstr "Espelhamento" #: settings.py:11 msgid "Time in seconds to cache the path lookup to a document." -msgstr "Tempo em segundos durante o qual se armazenará no cache a rota de busca de acesso a um documento." +msgstr "" +"Tempo em segundos durante o qual se armazenará no cache a rota de busca de " +"acesso a um documento." #: settings.py:15 msgid "Time in seconds to cache the path lookup to an index node." -msgstr "Tempo em segundos durante o qual se armazenará em cache a rota de busca de acesso a um nó de índice." +msgstr "" +"Tempo em segundos durante o qual se armazenará em cache a rota de busca de " +"acesso a um nó de índice." diff --git a/mayan/apps/mirroring/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/ro_RO/LC_MESSAGES/django.po index e90bbb5f3c..405b036997 100644 --- a/mayan/apps/mirroring/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/ro_RO/LC_MESSAGES/django.po @@ -1,21 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:11+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" #: apps.py:9 settings.py:7 msgid "Mirroring" diff --git a/mayan/apps/mirroring/locale/ru/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/ru/LC_MESSAGES/django.po index eac7a5d1cd..01da6fbf90 100644 --- a/mayan/apps/mirroring/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/ru/LC_MESSAGES/django.po @@ -1,22 +1,25 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # lilo.panic, 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-07-19 20:05+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:9 settings.py:7 msgid "Mirroring" diff --git a/mayan/apps/mirroring/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/sl_SI/LC_MESSAGES/django.po index 393a1b22b8..a0ecdd98f7 100644 --- a/mayan/apps/mirroring/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/sl_SI/LC_MESSAGES/django.po @@ -1,21 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:11+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" #: apps.py:9 settings.py:7 msgid "Mirroring" diff --git a/mayan/apps/mirroring/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/vi_VN/LC_MESSAGES/django.po index 8378a062d1..ecca978578 100644 --- a/mayan/apps/mirroring/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/vi_VN/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:11+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:9 settings.py:7 diff --git a/mayan/apps/mirroring/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/mirroring/locale/zh_CN/LC_MESSAGES/django.po index 90012aad6d..a165021041 100644 --- a/mayan/apps/mirroring/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/mirroring/locale/zh_CN/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:11+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:9 settings.py:7 diff --git a/mayan/apps/motd/locale/ar/LC_MESSAGES/django.po b/mayan/apps/motd/locale/ar/LC_MESSAGES/django.po index 324015cb62..4f0735753b 100644 --- a/mayan/apps/motd/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/ar/LC_MESSAGES/django.po @@ -1,39 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 20:55+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "لا شيء" -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "" diff --git a/mayan/apps/motd/locale/bg/LC_MESSAGES/django.po b/mayan/apps/motd/locale/bg/LC_MESSAGES/django.po index b1ff9522f6..f8bddbde73 100644 --- a/mayan/apps/motd/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/bg/LC_MESSAGES/django.po @@ -1,39 +1,40 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 20:55+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "Няма" -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "" diff --git a/mayan/apps/motd/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/motd/locale/bs_BA/LC_MESSAGES/django.po index 05d1f0a9c5..ead89c3596 100644 --- a/mayan/apps/motd/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/bs_BA/LC_MESSAGES/django.po @@ -1,39 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 20:55+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "Nijedno" -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "" diff --git a/mayan/apps/motd/locale/da/LC_MESSAGES/django.po b/mayan/apps/motd/locale/da/LC_MESSAGES/django.po index da83d65c8a..9b446f4d6b 100644 --- a/mayan/apps/motd/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/da/LC_MESSAGES/django.po @@ -1,39 +1,40 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 20:55+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "Ingen" -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "" diff --git a/mayan/apps/motd/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/motd/locale/de_DE/LC_MESSAGES/django.po index 39006d95d2..43c3cd5c22 100644 --- a/mayan/apps/motd/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Berny , 2016 # Tobias Paepke , 2016 @@ -9,33 +9,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-05-20 21:31+0000\n" "Last-Translator: Tobias Paepke \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "Nachricht des Tages" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "Aktiviert" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "Startdatum und Uhrzeit" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "Keine" -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "Enddatum und Uhrzeit" diff --git a/mayan/apps/motd/locale/en/LC_MESSAGES/django.po b/mayan/apps/motd/locale/en/LC_MESSAGES/django.po index 0db8de404c..63eb94a3af 100644 --- a/mayan/apps/motd/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,23 +17,23 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "" -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "" diff --git a/mayan/apps/motd/locale/es/LC_MESSAGES/django.po b/mayan/apps/motd/locale/es/LC_MESSAGES/django.po index 34c363de35..c0262658a1 100644 --- a/mayan/apps/motd/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/es/LC_MESSAGES/django.po @@ -1,40 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Roberto Rosario, 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:13+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "Mensaje del día " -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "Habilitado" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "Fecha y hora de comienzo" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "Ninguno" -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "Fecha y hora cancelación" @@ -68,7 +69,8 @@ msgstr "Mensaje" #: models.py:23 msgid "Date and time after which this message will be displayed." -msgstr "Fecha y hora después de la cual este mensaje comenzara a ser desplegado." +msgstr "" +"Fecha y hora después de la cual este mensaje comenzara a ser desplegado." #: models.py:28 msgid "Date and time until when this message is to be displayed." diff --git a/mayan/apps/motd/locale/fa/LC_MESSAGES/django.po b/mayan/apps/motd/locale/fa/LC_MESSAGES/django.po index c0c7967e4b..d994d3fab7 100644 --- a/mayan/apps/motd/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/fa/LC_MESSAGES/django.po @@ -1,39 +1,40 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 20:55+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "فعال شده" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "هیچکدام." -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "" diff --git a/mayan/apps/motd/locale/fr/LC_MESSAGES/django.po b/mayan/apps/motd/locale/fr/LC_MESSAGES/django.po index ebf659b44c..e534da5a12 100644 --- a/mayan/apps/motd/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/fr/LC_MESSAGES/django.po @@ -1,39 +1,40 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-04-26 07:54+0000\n" "Last-Translator: Baptiste GAILLET \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "Message du jour" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "Activé" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "Date de début" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "Aucun" -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "Date de fin" diff --git a/mayan/apps/motd/locale/hu/LC_MESSAGES/django.po b/mayan/apps/motd/locale/hu/LC_MESSAGES/django.po index e39f06cc30..d2cbe38244 100644 --- a/mayan/apps/motd/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/hu/LC_MESSAGES/django.po @@ -1,39 +1,40 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 20:55+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "Semmi" -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "" diff --git a/mayan/apps/motd/locale/id/LC_MESSAGES/django.po b/mayan/apps/motd/locale/id/LC_MESSAGES/django.po index d86531e352..fe23084fc6 100644 --- a/mayan/apps/motd/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/id/LC_MESSAGES/django.po @@ -1,39 +1,40 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 20:55+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "" -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "" diff --git a/mayan/apps/motd/locale/it/LC_MESSAGES/django.po b/mayan/apps/motd/locale/it/LC_MESSAGES/django.po index c94b91b5a2..b43f7df690 100644 --- a/mayan/apps/motd/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/it/LC_MESSAGES/django.po @@ -1,40 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Marco Camplese , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-09-24 10:04+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "Messaggio del giorno" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "Abilitato" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "Data e ora inizio" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "Nessuna " -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "Data e ora fine" diff --git a/mayan/apps/motd/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/motd/locale/nl_NL/LC_MESSAGES/django.po index afed4b1605..427bbb0dc0 100644 --- a/mayan/apps/motd/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/nl_NL/LC_MESSAGES/django.po @@ -1,40 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Evelijn Saaltink , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-01 09:04+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "Bericht van de dag" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "Ingeschakeld" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "Geen" -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "" diff --git a/mayan/apps/motd/locale/pl/LC_MESSAGES/django.po b/mayan/apps/motd/locale/pl/LC_MESSAGES/django.po index b549ae513d..9d62bcc214 100644 --- a/mayan/apps/motd/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/pl/LC_MESSAGES/django.po @@ -1,39 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 20:55+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "Włączone" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "Brak" -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "" diff --git a/mayan/apps/motd/locale/pt/LC_MESSAGES/django.po b/mayan/apps/motd/locale/pt/LC_MESSAGES/django.po index 5b789a953d..58c4ace6bb 100644 --- a/mayan/apps/motd/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/pt/LC_MESSAGES/django.po @@ -1,39 +1,40 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 20:55+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "Nenhum" -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "" diff --git a/mayan/apps/motd/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/motd/locale/pt_BR/LC_MESSAGES/django.po index 3312d49b26..2e51a30120 100644 --- a/mayan/apps/motd/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/pt_BR/LC_MESSAGES/django.po @@ -1,40 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Aline Freitas , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-17 23:07+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "Mensagem do dia" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "habilitado" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "Data inicial" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "Nenhum" -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "Data final" diff --git a/mayan/apps/motd/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/motd/locale/ro_RO/LC_MESSAGES/django.po index 829432e60a..d6329c1e58 100644 --- a/mayan/apps/motd/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/ro_RO/LC_MESSAGES/django.po @@ -1,39 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 20:55+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "Nici unul" -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "" diff --git a/mayan/apps/motd/locale/ru/LC_MESSAGES/django.po b/mayan/apps/motd/locale/ru/LC_MESSAGES/django.po index 508e21c03d..d4fafb8c08 100644 --- a/mayan/apps/motd/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/ru/LC_MESSAGES/django.po @@ -1,40 +1,43 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # lilo.panic, 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-02 04:15+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "Объявление дня" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "Доступно" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "Дата и время начала" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "Ни один" -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "Дата и время окончания" diff --git a/mayan/apps/motd/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/motd/locale/sl_SI/LC_MESSAGES/django.po index 6d986669c1..dd665d9979 100644 --- a/mayan/apps/motd/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/sl_SI/LC_MESSAGES/django.po @@ -1,39 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 20:55+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "Brez" -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "" diff --git a/mayan/apps/motd/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/motd/locale/vi_VN/LC_MESSAGES/django.po index e1fd1f8136..c474bcd629 100644 --- a/mayan/apps/motd/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/vi_VN/LC_MESSAGES/django.po @@ -1,39 +1,40 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 20:55+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "None" -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "" diff --git a/mayan/apps/motd/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/motd/locale/zh_CN/LC_MESSAGES/django.po index 82766ee890..127daaba1d 100644 --- a/mayan/apps/motd/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/motd/locale/zh_CN/LC_MESSAGES/django.po @@ -1,39 +1,40 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:55-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 20:55+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:21 links.py:25 permissions.py:7 +#: apps.py:22 links.py:25 permissions.py:7 msgid "Message of the day" msgstr "" -#: apps.py:29 models.py:20 +#: apps.py:32 models.py:20 msgid "Enabled" msgstr "" -#: apps.py:32 models.py:24 +#: apps.py:35 models.py:24 msgid "Start date time" msgstr "" -#: apps.py:33 apps.py:37 +#: apps.py:36 apps.py:40 msgid "None" msgstr "无" -#: apps.py:36 models.py:29 +#: apps.py:39 models.py:29 msgid "End date time" msgstr "" diff --git a/mayan/apps/navigation/locale/ar/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/ar/LC_MESSAGES/django.po index 90e3c66bb5..4f59a71548 100644 --- a/mayan/apps/navigation/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/ar/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" diff --git a/mayan/apps/navigation/locale/bg/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/bg/LC_MESSAGES/django.po index 4ed1f660e6..133c854968 100644 --- a/mayan/apps/navigation/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/bg/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" diff --git a/mayan/apps/navigation/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/bs_BA/LC_MESSAGES/django.po index eca126c1e4..dd5ff2cdd0 100644 --- a/mayan/apps/navigation/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/bs_BA/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" diff --git a/mayan/apps/navigation/locale/da/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/da/LC_MESSAGES/django.po index 492ce519af..c2c9f5c48e 100644 --- a/mayan/apps/navigation/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/da/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" diff --git a/mayan/apps/navigation/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/de_DE/LC_MESSAGES/django.po index c8499968d3..6eb3c6e100 100644 --- a/mayan/apps/navigation/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/de_DE/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" diff --git a/mayan/apps/navigation/locale/en/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/en/LC_MESSAGES/django.po index 54e1532594..bd7336d7ce 100644 --- a/mayan/apps/navigation/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2012-12-12 06:06+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" diff --git a/mayan/apps/navigation/locale/es/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/es/LC_MESSAGES/django.po index 816e9c1c62..07f9c8aa3e 100644 --- a/mayan/apps/navigation/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/es/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" diff --git a/mayan/apps/navigation/locale/fa/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/fa/LC_MESSAGES/django.po index 023065c1d0..ae41b5fa5d 100644 --- a/mayan/apps/navigation/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/fa/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" diff --git a/mayan/apps/navigation/locale/fr/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/fr/LC_MESSAGES/django.po index 66797f1fd8..d3b61dce6f 100644 --- a/mayan/apps/navigation/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/fr/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" diff --git a/mayan/apps/navigation/locale/hu/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/hu/LC_MESSAGES/django.po index 4c26fa24b9..e36c8a7559 100644 --- a/mayan/apps/navigation/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/hu/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" diff --git a/mayan/apps/navigation/locale/id/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/id/LC_MESSAGES/django.po index 701886ab8a..9b0826b391 100644 --- a/mayan/apps/navigation/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/id/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" diff --git a/mayan/apps/navigation/locale/it/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/it/LC_MESSAGES/django.po index cbc196ffd4..4fe0a41779 100644 --- a/mayan/apps/navigation/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/it/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" diff --git a/mayan/apps/navigation/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/nl_NL/LC_MESSAGES/django.po index 9de0e5af88..4eb3539b13 100644 --- a/mayan/apps/navigation/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/nl_NL/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" diff --git a/mayan/apps/navigation/locale/pl/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/pl/LC_MESSAGES/django.po index 2c703eb33b..93e55ebba9 100644 --- a/mayan/apps/navigation/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/pl/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" diff --git a/mayan/apps/navigation/locale/pt/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/pt/LC_MESSAGES/django.po index 2f743c7cba..49ab323d9e 100644 --- a/mayan/apps/navigation/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/pt/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" diff --git a/mayan/apps/navigation/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/pt_BR/LC_MESSAGES/django.po index 4287d93437..edc53e72c0 100644 --- a/mayan/apps/navigation/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/pt_BR/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" diff --git a/mayan/apps/navigation/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/ro_RO/LC_MESSAGES/django.po index 63dac74d94..3bf1e4f7d0 100644 --- a/mayan/apps/navigation/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/ro_RO/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" diff --git a/mayan/apps/navigation/locale/ru/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/ru/LC_MESSAGES/django.po index ff3317c211..bdb338f31e 100644 --- a/mayan/apps/navigation/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/ru/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" diff --git a/mayan/apps/navigation/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/sl_SI/LC_MESSAGES/django.po index fa7649e64e..16b74281e7 100644 --- a/mayan/apps/navigation/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/sl_SI/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" diff --git a/mayan/apps/navigation/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/vi_VN/LC_MESSAGES/django.po index 121a78f3f1..d026e72ab4 100644 --- a/mayan/apps/navigation/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/vi_VN/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" diff --git a/mayan/apps/navigation/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/navigation/locale/zh_CN/LC_MESSAGES/django.po index 7d201b248b..15098ae2b3 100644 --- a/mayan/apps/navigation/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/navigation/locale/zh_CN/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:15+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" diff --git a/mayan/apps/ocr/locale/ar/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/ar/LC_MESSAGES/django.po index b0206f7384..4ef17d35c5 100644 --- a/mayan/apps/ocr/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -9,49 +9,35 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "OCR" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "pdftotext version" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "not found" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "error getting version" - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "tesseract version" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -62,7 +48,6 @@ msgid "Contents" msgstr "المحتويات" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -78,7 +63,7 @@ msgstr "" msgid "OCR documents per type" msgstr "" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "" @@ -127,16 +112,15 @@ msgid "Document page content" msgstr "" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "" @@ -153,71 +137,75 @@ msgstr "" msgid "Change document type OCR settings" msgstr "" -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "" - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " -"files." -msgstr "File path to poppler's pdftotext program used to extract text from PDF files." +"File path to poppler's pdftotext program used to extract text from PDF files." +msgstr "" +"File path to poppler's pdftotext program used to extract text from PDF files." -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "" -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." msgstr "" -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "" -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "" -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" +#~ msgid "pdftotext version" +#~ msgstr "pdftotext version" + +#~ msgid "not found" +#~ msgstr "not found" + +#~ msgid "error getting version" +#~ msgstr "error getting version" + +#~ msgid "tesseract version" +#~ msgstr "tesseract version" + #~ msgid "Delete" #~ msgstr "delete" @@ -394,11 +382,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -455,9 +443,11 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/bg/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/bg/LC_MESSAGES/django.po index 8271504913..c7bb2f9d6e 100644 --- a/mayan/apps/ocr/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pavlin Koldamov , 2012 @@ -9,49 +9,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "OCR" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "не е намерен" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "" - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "tesseract версия" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -62,7 +47,6 @@ msgid "Contents" msgstr "Съдържание" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -78,7 +62,7 @@ msgstr "" msgid "OCR documents per type" msgstr "" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "" @@ -127,16 +111,15 @@ msgid "Document page content" msgstr "" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "" @@ -153,71 +136,68 @@ msgstr "" msgid "Change document type OCR settings" msgstr "" -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "" - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " -"files." +"File path to poppler's pdftotext program used to extract text from PDF files." msgstr "" -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "" -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." msgstr "" -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "" -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "" -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" +#~ msgid "not found" +#~ msgstr "не е намерен" + +#~ msgid "tesseract version" +#~ msgstr "tesseract версия" + #~ msgid "Delete" #~ msgstr "delete" @@ -386,11 +366,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -447,9 +427,11 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/bs_BA/LC_MESSAGES/django.po index 4e6ec93fad..6f87249542 100644 --- a/mayan/apps/ocr/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -9,49 +9,35 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "OCR" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "verzija pdftotext" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "nije pronađeno" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "greška pribavljanja verzije" - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "verzija tesseract-a" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -62,7 +48,6 @@ msgid "Contents" msgstr "Sadržaj" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -78,7 +63,7 @@ msgstr "" msgid "OCR documents per type" msgstr "" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "" @@ -127,16 +112,15 @@ msgid "Document page content" msgstr "" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "" @@ -153,71 +137,75 @@ msgstr "" msgid "Change document type OCR settings" msgstr "" -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "" - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " -"files." -msgstr "Staza do popplerovog programa pdftotext za vađenje teksta iz PDF datoteka." +"File path to poppler's pdftotext program used to extract text from PDF files." +msgstr "" +"Staza do popplerovog programa pdftotext za vađenje teksta iz PDF datoteka." -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "" -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." msgstr "" -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "" -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "" -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" +#~ msgid "pdftotext version" +#~ msgstr "verzija pdftotext" + +#~ msgid "not found" +#~ msgstr "nije pronađeno" + +#~ msgid "error getting version" +#~ msgstr "greška pribavljanja verzije" + +#~ msgid "tesseract version" +#~ msgstr "verzija tesseract-a" + #~ msgid "Delete" #~ msgstr "delete" @@ -388,11 +376,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -449,9 +437,11 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/da/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/da/LC_MESSAGES/django.po index b133f3f72f..48c813b210 100644 --- a/mayan/apps/ocr/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/da/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mads L. Nielsen , 2013 @@ -10,49 +10,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "OCR" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "pdftotext version" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "Ej fundet" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "Fejl ved versionssøgning" - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "Tesseract version" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -63,7 +48,6 @@ msgid "Contents" msgstr "Indhold" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -79,7 +63,7 @@ msgstr "" msgid "OCR documents per type" msgstr "" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "" @@ -128,16 +112,15 @@ msgid "Document page content" msgstr "" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "" @@ -154,71 +137,76 @@ msgstr "" msgid "Change document type OCR settings" msgstr "" -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "" - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " -"files." -msgstr "Fil sti til poppler's pdftotext program, brugt til at identificere tekst fra PDF filer." +"File path to poppler's pdftotext program used to extract text from PDF files." +msgstr "" +"Fil sti til poppler's pdftotext program, brugt til at identificere tekst fra " +"PDF filer." -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "" -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." msgstr "" -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "" -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "" -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" +#~ msgid "pdftotext version" +#~ msgstr "pdftotext version" + +#~ msgid "not found" +#~ msgstr "Ej fundet" + +#~ msgid "error getting version" +#~ msgstr "Fejl ved versionssøgning" + +#~ msgid "tesseract version" +#~ msgstr "Tesseract version" + #~ msgid "Delete" #~ msgstr "delete" @@ -387,11 +375,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -448,9 +436,11 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/de_DE/LC_MESSAGES/django.po index 2ebf6dad14..56f1b676f1 100644 --- a/mayan/apps/ocr/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Berny , 2015-2016 @@ -13,49 +13,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-05-20 21:32+0000\n" "Last-Translator: Tobias Paepke \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "OCR-Schrifterkennung" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "Dokument" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "Hinzugefügt" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "Ergebnis" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "pdftotext Version" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "nicht gefunden" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "Fehler beim Auslesen der Version" - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "Tesseract Version" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -66,7 +51,6 @@ msgid "Contents" msgstr "Inhalte" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "In die OCR-Verarbeitung einstellen" @@ -82,7 +66,7 @@ msgstr "OCR Einrichtung" msgid "OCR documents per type" msgstr "Texterkennung pro Dokumententyp durchführen" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "OCR Fehler" @@ -131,16 +115,15 @@ msgid "Document page content" msgstr "Seiteninhalt" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "Seiteninhalt" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "Ausnahme bei der Verarbeitung einer Seite: %s" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "Programm pdftotext nicht gefunden in %s" @@ -157,71 +140,86 @@ msgstr "Verarbeiteten Text des Dokuments anzeigen" msgid "Change document type OCR settings" msgstr "OCR-Einstellungen für Dokumententyp beabeiten" -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "Pfad zum 'tesseract'-Programm" - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " -"files." -msgstr "Pfad zum \"pdftotext\"-Programm (bereitgestellt von poppler), das benutzt wird, um Text aus PDF-Dateien zu extrahieren." +"File path to poppler's pdftotext program used to extract text from PDF files." +msgstr "" +"Pfad zum \"pdftotext\"-Programm (bereitgestellt von poppler), das benutzt " +"wird, um Text aus PDF-Dateien zu extrahieren." -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." -msgstr "Vollständiger Pfad zum Backend, das für die OCR-Schrifterkennung verwendet werden soll." +msgstr "" +"Vollständiger Pfad zum Backend, das für die OCR-Schrifterkennung verwendet " +"werden soll." -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." -msgstr "Neue Dokumententypen definieren, für die die OCR-Texterkennung automatisch durchgeführt werden soll." +msgstr "" +"Neue Dokumententypen definieren, für die die OCR-Texterkennung automatisch " +"durchgeführt werden soll." -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "Dokumente in die OCR-Verarbeitung einstellen?" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "%d Dokumente in OCR-Warteschlange eingereiht" -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "\"%s\" in die OCR-Warteschlange einreihen?" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "Dokument %(document)s in OCR-Warteschlange eingereiht" -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "Ausgewählte Dokumente in die OCR-Warteschlange einreihen?" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "Alle Dokumente eines Typs in die OCR-Verarbeitung einstellen" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." -msgstr "%(count)d Dokumente vom Typ \"%(document_type)s\" in OCR-Warteschlange eingereiht" +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgstr "" +"%(count)d Dokumente vom Typ \"%(document_type)s\" in OCR-Warteschlange " +"eingereiht" -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "OCR-Einstellungen für Dokumententyp %s bearbeiten" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "Ergebnis der OCR-Texterkennung für Dokument %s" +#~ msgid "pdftotext version" +#~ msgstr "pdftotext Version" + +#~ msgid "not found" +#~ msgstr "nicht gefunden" + +#~ msgid "error getting version" +#~ msgstr "Fehler beim Auslesen der Version" + +#~ msgid "tesseract version" +#~ msgstr "Tesseract Version" + +#~| msgid "File path to unpaper program." +#~ msgid "File path to tesseract program." +#~ msgstr "Pfad zum 'tesseract'-Programm" + #~ msgid "Delete" #~ msgstr "delete" @@ -390,11 +388,11 @@ msgstr "Ergebnis der OCR-Texterkennung für Dokument %s" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -451,9 +449,11 @@ msgstr "Ergebnis der OCR-Texterkennung für Dokument %s" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/en/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/en/LC_MESSAGES/django.po index 3fcac13e17..dfae51bcbd 100644 --- a/mayan/apps/ocr/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2012-06-17 22:12+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" @@ -18,43 +18,25 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "OCR" -#: apps.py:91 +#: apps.py:86 #, fuzzy msgid "Document" msgstr "document" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 #, fuzzy msgid "Result" msgstr "result" -#: apps.py:160 apps.py:165 apps.py:170 -#, fuzzy -msgid "pdftotext version" -msgstr "document queues" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "" - -#: apps.py:178 apps.py:183 apps.py:188 -#, fuzzy -msgid "tesseract version" -msgstr "document queues" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -84,7 +66,7 @@ msgstr "" msgid "OCR documents per type" msgstr "document" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 #, fuzzy msgid "OCR errors" msgstr "error" @@ -146,12 +128,12 @@ msgstr "clean up pages content" msgid "Document pages contents" msgstr "Document pages content clean up error: %s" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "" @@ -168,76 +150,83 @@ msgstr "" msgid "Change document type OCR settings" msgstr "" -#: settings.py:10 -#, fuzzy -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "File path to unpaper program." - -#: settings.py:15 +#: settings.py:12 msgid "" "File path to poppler's pdftotext program used to extract text from PDF files." msgstr "" "File path to poppler's pdftotext program used to extract text from PDF files." -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "" -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." msgstr "" -#: views.py:28 +#: views.py:26 #, fuzzy #| msgid "Submit documents for OCR" msgid "Submit all documents for OCR?" msgstr "Submit documents for OCR" -#: views.py:40 +#: views.py:38 #, fuzzy, python-format msgid "%d documents added to the OCR queue." msgstr "Document: %(document)s was added to the OCR queue: %(queue)s." -#: views.py:48 +#: views.py:46 #, fuzzy, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "submit to OCR queue" -#: views.py:73 +#: views.py:67 #, fuzzy, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "Document: %(document)s was added to the OCR queue: %(queue)s." -#: views.py:87 +#: views.py:81 #, fuzzy #| msgid "Submit documents for OCR" msgid "Submit the selected documents to the OCR queue?" msgstr "Submit documents for OCR" -#: views.py:94 +#: views.py:88 #, fuzzy #| msgid "Submit documents for OCR" msgid "Submit all documents of a type for OCR" msgstr "Submit documents for OCR" -#: views.py:109 +#: views.py:102 #, fuzzy, python-format msgid "" "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "Document: %(document)s was added to the OCR queue: %(queue)s." -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "" -#: views.py:154 +#: views.py:147 #, fuzzy, python-format #| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "Queued documents: %d" +#, fuzzy +#~ msgid "pdftotext version" +#~ msgstr "document queues" + +#, fuzzy +#~ msgid "tesseract version" +#~ msgstr "document queues" + +#, fuzzy +#~| msgid "File path to unpaper program." +#~ msgid "File path to tesseract program." +#~ msgstr "File path to unpaper program." + #, fuzzy #~ msgid "Delete" #~ msgstr "delete" diff --git a/mayan/apps/ocr/locale/es/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/es/LC_MESSAGES/django.po index e415ac73d5..6c90bb7a94 100644 --- a/mayan/apps/ocr/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 @@ -11,49 +11,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-23 06:34+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "OCR" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "Documento" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "Añadido" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "Resultado" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "versión de pdftotext" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "No encontrado" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "error al obtener la versión" - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "Versión de tesseract" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -64,7 +49,6 @@ msgid "Contents" msgstr "Contenido" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "Enviar para OCR" @@ -80,7 +64,7 @@ msgstr "Configurar OCR" msgid "OCR documents per type" msgstr "Realizar OCR por tipo de documento" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "Errores de OCR" @@ -129,16 +113,15 @@ msgid "Document page content" msgstr "Contenido de página de documento" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "Contenido de página de documento" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "Error interpretando página: %s " -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "Si no encontró el ejecutable pdftotext en: %s" @@ -155,71 +138,80 @@ msgstr "Ver el texto transcrito de los documentos" msgid "Change document type OCR settings" msgstr "Cambiar opciones OCR por tipo de documento" -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "La ruta de archivo del programa tesseract." - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " -"files." -msgstr "Ruta de acceso al programa de poppler llamado pdftotext utilizado para extraer texto de archivos PDF." +"File path to poppler's pdftotext program used to extract text from PDF files." +msgstr "" +"Ruta de acceso al programa de poppler llamado pdftotext utilizado para " +"extraer texto de archivos PDF." -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "Ruta completa a la aplicación que se usará para OCR." -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." msgstr "Realizar OCR a nuevo tipos de documentos por defecto." -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "¿Enviar todos los documentos para OCR?" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "%d documentos enviados para OCR." -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "¿Enviar \"%s\" para OCR?" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "Documento: %(document)s fue añadido a la lista de espera de OCR" -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "¿Enviar los documentos seleccionados para OCR?" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "Enviar todos los documentos de un tipo para OCR" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "%(count)d documentos de tipo \"%(document_type)s\" enviados para OCR." -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "Editar opciones OCR para el tipo de documento: %s" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "Resultados del OCR para documento: %s" +#~ msgid "pdftotext version" +#~ msgstr "versión de pdftotext" + +#~ msgid "not found" +#~ msgstr "No encontrado" + +#~ msgid "error getting version" +#~ msgstr "error al obtener la versión" + +#~ msgid "tesseract version" +#~ msgstr "Versión de tesseract" + +#~| msgid "File path to unpaper program." +#~ msgid "File path to tesseract program." +#~ msgstr "La ruta de archivo del programa tesseract." + #~ msgid "Delete" #~ msgstr "delete" @@ -388,11 +380,11 @@ msgstr "Resultados del OCR para documento: %s" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -449,9 +441,11 @@ msgstr "Resultados del OCR para documento: %s" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/fa/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/fa/LC_MESSAGES/django.po index e5e8354592..bbf2198ed9 100644 --- a/mayan/apps/ocr/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/fa/LC_MESSAGES/django.po @@ -1,56 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "OCR" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "سند" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "اضافه شده" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "جواب" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "نسخه تبدیل pdf به text" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "پیدا نشد" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "خطا در تشخیص نسخه" - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "نسخه tesseract" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -61,7 +46,6 @@ msgid "Contents" msgstr "محتوا" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -77,7 +61,7 @@ msgstr "" msgid "OCR documents per type" msgstr "" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "خطای OCR " @@ -126,16 +110,15 @@ msgid "Document page content" msgstr "" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "" @@ -152,71 +135,74 @@ msgstr "" msgid "Change document type OCR settings" msgstr "" -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "" - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " -"files." +"File path to poppler's pdftotext program used to extract text from PDF files." msgstr "محل فایل POPPLER جهت استخراج TEXT از PDF" -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "محل اجرای نرم افزار OCR" -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." msgstr "" -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "" -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "سند : %(document)s جهت ocr وارد صف شد." -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" +#~ msgid "pdftotext version" +#~ msgstr "نسخه تبدیل pdf به text" + +#~ msgid "not found" +#~ msgstr "پیدا نشد" + +#~ msgid "error getting version" +#~ msgstr "خطا در تشخیص نسخه" + +#~ msgid "tesseract version" +#~ msgstr "نسخه tesseract" + #~ msgid "Delete" #~ msgstr "delete" @@ -383,11 +369,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -444,9 +430,11 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/fr/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/fr/LC_MESSAGES/django.po index fd803f0095..b72eebc467 100644 --- a/mayan/apps/ocr/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Bruno CAPELETO , 2016 @@ -13,49 +13,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-05-23 19:55+0000\n" "Last-Translator: Bruno CAPELETO \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "OCR - Reconnaissance de caractères" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "Document" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "Ajouté" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "Résultat" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "version de pdftotext" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "non trouvé" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "erreur de récupération de version" - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "version de tesseract" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -66,7 +51,6 @@ msgid "Contents" msgstr "Contenus" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "Soumettre à l'OCR" @@ -82,7 +66,7 @@ msgstr "Paramétrage de l'OCR" msgid "OCR documents per type" msgstr "OCR documents par type" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "Erreurs OCR" @@ -92,7 +76,8 @@ msgstr "Type de document" #: models.py:20 msgid "Automatically queue newly created documents for OCR." -msgstr "Ajouter automatiquement les nouveaux documents créés à la file d'attente OCR." +msgstr "" +"Ajouter automatiquement les nouveaux documents créés à la file d'attente OCR." #: models.py:24 msgid "Document type settings" @@ -131,16 +116,15 @@ msgid "Document page content" msgstr "Contenu de la page du document" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "Contenu des pages du document" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "Exception lors de l'analyse de la page : %s" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "Impossible de trouver l'exécutable pdftotext dans : %s" @@ -157,71 +141,82 @@ msgstr "Afficher la transcription du texte depuis le document" msgid "Change document type OCR settings" msgstr "Modifier les paramétrages OCR du type de document" -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "Chemin vers l'exécutable tesseract." - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " -"files." -msgstr "Chemin vers l'exécutable poppler pdftotext, utilisé pour extraire du texte à partir des fichiers PDF." +"File path to poppler's pdftotext program used to extract text from PDF files." +msgstr "" +"Chemin vers l'exécutable poppler pdftotext, utilisé pour extraire du texte à " +"partir des fichiers PDF." -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "Chemin complet pour l'interface utilisée pour faire de l'OCR" -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." msgstr "Traiter automatiquement les nouveaux types de document par l'OCR." -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "Soumettre tous les documents à l'OCR ?" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "%d documents ajoutés à la file d'attente de l'OCR." -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "Soumettre \"%s\" à la file d'attente OCR ?" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "Le document : %(document)s a été ajouté à la file d'attente OCR." -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "Soumettre les documents sélectionnés à la file d'attente OCR ?" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "Soumettre tous les documents d'un type à l'OCR" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." -msgstr "%(count)d documents de type \"%(document_type)s\" ajoutés à la file d'attente OCR" +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgstr "" +"%(count)d documents de type \"%(document_type)s\" ajoutés à la file " +"d'attente OCR" -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "Modifier les paramètres OCR pour le type de document : %s" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "Résultats de l'OCR pour le document: %s" +#~ msgid "pdftotext version" +#~ msgstr "version de pdftotext" + +#~ msgid "not found" +#~ msgstr "non trouvé" + +#~ msgid "error getting version" +#~ msgstr "erreur de récupération de version" + +#~ msgid "tesseract version" +#~ msgstr "version de tesseract" + +#~| msgid "File path to unpaper program." +#~ msgid "File path to tesseract program." +#~ msgstr "Chemin vers l'exécutable tesseract." + #~ msgid "Delete" #~ msgstr "delete" @@ -390,11 +385,11 @@ msgstr "Résultats de l'OCR pour le document: %s" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -451,9 +446,11 @@ msgstr "Résultats de l'OCR pour le document: %s" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/hu/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/hu/LC_MESSAGES/django.po index 26322a1865..09b7a1f6a2 100644 --- a/mayan/apps/ocr/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/hu/LC_MESSAGES/django.po @@ -1,56 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "" - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -61,7 +46,6 @@ msgid "Contents" msgstr "Tartalom" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -77,7 +61,7 @@ msgstr "" msgid "OCR documents per type" msgstr "" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "" @@ -126,16 +110,15 @@ msgid "Document page content" msgstr "" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "" @@ -152,68 +135,59 @@ msgstr "" msgid "Change document type OCR settings" msgstr "" -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "" - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " -"files." +"File path to poppler's pdftotext program used to extract text from PDF files." msgstr "" -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "" -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." msgstr "" -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "" -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "" -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" @@ -385,11 +359,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -446,9 +420,11 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/id/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/id/LC_MESSAGES/django.po index 63c65aae45..9b6ee13d53 100644 --- a/mayan/apps/ocr/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/id/LC_MESSAGES/django.po @@ -1,56 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "" - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -61,7 +46,6 @@ msgid "Contents" msgstr "Isi" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -77,7 +61,7 @@ msgstr "" msgid "OCR documents per type" msgstr "" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "" @@ -126,16 +110,15 @@ msgid "Document page content" msgstr "" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "" @@ -152,68 +135,59 @@ msgstr "" msgid "Change document type OCR settings" msgstr "" -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "" - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " -"files." +"File path to poppler's pdftotext program used to extract text from PDF files." msgstr "" -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "" -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." msgstr "" -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "" -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "" -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" @@ -383,11 +357,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -444,9 +418,11 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/it/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/it/LC_MESSAGES/django.po index d2dec0e5e8..ce731db557 100644 --- a/mayan/apps/ocr/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Marco Camplese , 2016 @@ -10,49 +10,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-09-24 10:33+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "OCR" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "Documento" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "Aggiunto" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "Risultato" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "versione pdftotext" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "non trovato" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "errore recupero versione" - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "versione tesseract" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -63,7 +48,6 @@ msgid "Contents" msgstr "Contenuti" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "Invia per l'OCR" @@ -79,7 +63,7 @@ msgstr "Configura OCR" msgid "OCR documents per type" msgstr "OCR per tipo documento" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "Errori OCR" @@ -128,16 +112,15 @@ msgid "Document page content" msgstr "Contenuto pagina del documento" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "Contenuti pagine documento" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "Eccezione durante il parsing della pagina: %s" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "Non trovo l'eseguibile pdftotext in: %s" @@ -154,71 +137,83 @@ msgstr "Vedi il testo trascritto dal documento" msgid "Change document type OCR settings" msgstr "Cambia impostazioni OCR per tipo documento " -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "Percorso del programma tesseract." - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " -"files." -msgstr "Percorso del programma poppler pdftotext.usato per estrarre il testo dai file PDF." +"File path to poppler's pdftotext program used to extract text from PDF files." +msgstr "" +"Percorso del programma poppler pdftotext.usato per estrarre il testo dai " +"file PDF." -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "Percorso completo al backend utilizzato per eseguire l'OCR." -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." -msgstr "Imposta i nuovi tipi documento per eseguire automaticamente l'OCR per default." +msgstr "" +"Imposta i nuovi tipi documento per eseguire automaticamente l'OCR per " +"default." -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "Inviare tutti i documenti per l'OCR?" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "%d documenti aggiunti alla coda OCR." -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "Inviare \"%s\" alla coda OCR?" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "Documento: %(document)s è stato aggiunto alla coda OCR.." -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "Inviare i documenti selezionati alla coda OCR?" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "Invia tutti i documenti del tipo alla coda OCR" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." -msgstr "%(count)d documenti di tipo \"%(document_type)s\" aggiunti alla coda OCR." +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgstr "" +"%(count)d documenti di tipo \"%(document_type)s\" aggiunti alla coda OCR." -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "Modifica le impostazioni OCR per il tipo documento: %s" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "Risultati OCR per il documento: %s" +#~ msgid "pdftotext version" +#~ msgstr "versione pdftotext" + +#~ msgid "not found" +#~ msgstr "non trovato" + +#~ msgid "error getting version" +#~ msgstr "errore recupero versione" + +#~ msgid "tesseract version" +#~ msgstr "versione tesseract" + +#~| msgid "File path to unpaper program." +#~ msgid "File path to tesseract program." +#~ msgstr "Percorso del programma tesseract." + #~ msgid "Delete" #~ msgstr "delete" @@ -387,11 +382,11 @@ msgstr "Risultati OCR per il documento: %s" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -448,9 +443,11 @@ msgstr "Risultati OCR per il documento: %s" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/nl_NL/LC_MESSAGES/django.po index 942a2120c8..fa1f07a7cc 100644 --- a/mayan/apps/ocr/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -10,49 +10,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-01 09:05+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "OCR" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "Document" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "Toegevoegd" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "Resultaat" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "niet gevonden" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "fout bij het ophalen van de versie" - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -63,7 +48,6 @@ msgid "Contents" msgstr "Inhoud" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -79,7 +63,7 @@ msgstr "" msgid "OCR documents per type" msgstr "" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "OCR-fouten" @@ -128,16 +112,15 @@ msgid "Document page content" msgstr "" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "" @@ -154,71 +137,70 @@ msgstr "" msgid "Change document type OCR settings" msgstr "" -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "" - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " +"File path to poppler's pdftotext program used to extract text from PDF files." +msgstr "" +"Bestandspad naar 'poppler's' pdftotext programma voor het extraheren van PDF " "files." -msgstr "Bestandspad naar 'poppler's' pdftotext programma voor het extraheren van PDF files." -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "" -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." msgstr "" -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "" -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "" -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" +#~ msgid "not found" +#~ msgstr "niet gevonden" + +#~ msgid "error getting version" +#~ msgstr "fout bij het ophalen van de versie" + #~ msgid "Delete" #~ msgstr "delete" @@ -387,11 +369,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -448,9 +430,11 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/pl/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/pl/LC_MESSAGES/django.po index 0976e91217..0c2e73665b 100644 --- a/mayan/apps/ocr/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Annunnaky , 2015 @@ -10,49 +10,35 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-22 07:14+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "OCR" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "Dokument" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "Dodano" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "Wynik" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "wersja pdftotext" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "nie znaleziono" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "błąd pobierania wersji" - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -63,7 +49,6 @@ msgid "Contents" msgstr "Zawartość" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "Zgłoś do OCR" @@ -79,7 +64,7 @@ msgstr "" msgid "OCR documents per type" msgstr "" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "Błędy OCR" @@ -128,16 +113,15 @@ msgid "Document page content" msgstr "" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "" @@ -154,71 +138,71 @@ msgstr "" msgid "Change document type OCR settings" msgstr "" -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "" - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " -"files." +"File path to poppler's pdftotext program used to extract text from PDF files." msgstr "" -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "" -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." msgstr "" -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "" -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "Dokument : %(document)s dodany do kolejki OCR" -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" +#~ msgid "pdftotext version" +#~ msgstr "wersja pdftotext" + +#~ msgid "not found" +#~ msgstr "nie znaleziono" + +#~ msgid "error getting version" +#~ msgstr "błąd pobierania wersji" + #~ msgid "Delete" #~ msgstr "delete" @@ -389,11 +373,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -450,9 +434,11 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/pt/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/pt/LC_MESSAGES/django.po index f627db3c80..b08d5df601 100644 --- a/mayan/apps/ocr/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Emerson Soares , 2011 @@ -11,49 +11,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "OCR" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "Versão de pdttotex" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "não encontrado" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "" - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "Versão de tesseract" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -64,7 +49,6 @@ msgid "Contents" msgstr "Conteúdos" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -80,7 +64,7 @@ msgstr "" msgid "OCR documents per type" msgstr "" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "" @@ -129,16 +113,15 @@ msgid "Document page content" msgstr "" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "" @@ -155,71 +138,73 @@ msgstr "" msgid "Change document type OCR settings" msgstr "" -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "" - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " -"files." -msgstr "Caminho para o programa pdftotext de poppler, usado para extrair texto de ficheiros PDF." +"File path to poppler's pdftotext program used to extract text from PDF files." +msgstr "" +"Caminho para o programa pdftotext de poppler, usado para extrair texto de " +"ficheiros PDF." -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "" -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." msgstr "" -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "" -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "" -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" +#~ msgid "pdftotext version" +#~ msgstr "Versão de pdttotex" + +#~ msgid "not found" +#~ msgstr "não encontrado" + +#~ msgid "tesseract version" +#~ msgstr "Versão de tesseract" + #~ msgid "Delete" #~ msgstr "delete" @@ -388,11 +373,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -449,9 +434,11 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/pt_BR/LC_MESSAGES/django.po index 7f235b14eb..c4a083671a 100644 --- a/mayan/apps/ocr/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -11,49 +11,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-17 22:54+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "Enviar para a fila de OCR" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "Documento" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "adicionado" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "resultado" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "Versão do pdftotext" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "Não encontrada" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "Erro ao receber a versão." - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "Versão do tesseract" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -64,7 +49,6 @@ msgid "Contents" msgstr "Conteúdos" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "Enviar para OCR" @@ -80,7 +64,7 @@ msgstr "Configurar OCR" msgid "OCR documents per type" msgstr "Realizar OCR de documentos por tipo" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "Erros de OCR" @@ -129,16 +113,15 @@ msgid "Document page content" msgstr "Conteúdo de página de documento" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "Conteúdo de páginas de documento" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "Erro interpretando página; %s" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "Executável pdftotext não foi encontrado em: %s" @@ -155,71 +138,80 @@ msgstr "Ver o texto transcrito dos documentos" msgid "Change document type OCR settings" msgstr "Alterar configurações de OCR para tipo de documento" -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "Caminho de acesso para o programa tesseract" - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " -"files." -msgstr "Caminho para o programa poppler pdftotext usado para extrair texto de arquivos PDF." +"File path to poppler's pdftotext program used to extract text from PDF files." +msgstr "" +"Caminho para o programa poppler pdftotext usado para extrair texto de " +"arquivos PDF." -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "Caminho completo para o servidor a ser usado para fazer OCR." -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." msgstr "Definir novos tipos de documentos para realizar OCR automaticamente" -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "Enviar todos os documentos para OCR?" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "%d documentos enviados para OCR." -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "Enviar \"%s\" para OCR?" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "Documento: %(document)s foi adicionado à fila de OCR." -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "Enviar os documentos selecionados para OCR?" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "Enviar todos os documentos do tipo para OCR" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "%(count)d documentos do tipo \"%(document_type)s\" enviados para OCR." -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "Editar configurações de OCR para documento de tipo: %s" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "Resultados de OCR para documento: %s" +#~ msgid "pdftotext version" +#~ msgstr "Versão do pdftotext" + +#~ msgid "not found" +#~ msgstr "Não encontrada" + +#~ msgid "error getting version" +#~ msgstr "Erro ao receber a versão." + +#~ msgid "tesseract version" +#~ msgstr "Versão do tesseract" + +#~| msgid "File path to unpaper program." +#~ msgid "File path to tesseract program." +#~ msgstr "Caminho de acesso para o programa tesseract" + #~ msgid "Delete" #~ msgstr "delete" @@ -388,11 +380,11 @@ msgstr "Resultados de OCR para documento: %s" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -449,9 +441,11 @@ msgstr "Resultados de OCR para documento: %s" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/ro_RO/LC_MESSAGES/django.po index 542997cb74..c0f94f8b0b 100644 --- a/mayan/apps/ocr/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Badea Gabriel , 2013 @@ -9,49 +9,35 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-04-17 13:17+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "OCR" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "pdftotext versiune" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "nu a fost găsit" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "eroare la obținerea versiune" - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "Tesseract versiune" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -62,7 +48,6 @@ msgid "Contents" msgstr "Conţinut" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -78,7 +63,7 @@ msgstr "" msgid "OCR documents per type" msgstr "" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "" @@ -127,16 +112,15 @@ msgid "Document page content" msgstr "" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "" @@ -153,71 +137,76 @@ msgstr "" msgid "Change document type OCR settings" msgstr "" -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "" - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " -"files." -msgstr "Calea de fișier pentru programul pdftotext folosit pentru a extrage textul din fișiere PDF." +"File path to poppler's pdftotext program used to extract text from PDF files." +msgstr "" +"Calea de fișier pentru programul pdftotext folosit pentru a extrage textul " +"din fișiere PDF." -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "" -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." msgstr "" -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "" -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "" -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" +#~ msgid "pdftotext version" +#~ msgstr "pdftotext versiune" + +#~ msgid "not found" +#~ msgstr "nu a fost găsit" + +#~ msgid "error getting version" +#~ msgstr "eroare la obținerea versiune" + +#~ msgid "tesseract version" +#~ msgstr "Tesseract versiune" + #~ msgid "Delete" #~ msgstr "delete" @@ -388,11 +377,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -449,9 +438,11 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/ru/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/ru/LC_MESSAGES/django.po index 858dd949f5..4a1847f937 100644 --- a/mayan/apps/ocr/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -9,49 +9,36 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-07-13 21:33+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "Распознавание текста" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "Документ" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "Добавлено" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "Результат" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "версия pdftotext" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "не найдено" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "Ошибка при получении версии" - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "tesseract version" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -62,7 +49,6 @@ msgid "Contents" msgstr "Содержание" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "Отправить на распознавание" @@ -78,7 +64,7 @@ msgstr "Настройки распознавания" msgid "OCR documents per type" msgstr "Распознавание документов с определенным типом" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "Ошибки распознавания" @@ -127,16 +113,15 @@ msgid "Document page content" msgstr "Содержимое страницы документа" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "Содержимое страниц документа" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "Ошибка при чтении страницы; %s" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "Не удаётся найти исполняемый файл pdftotext: %s" @@ -153,71 +138,84 @@ msgstr "Просмотр распознанного текста докумен msgid "Change document type OCR settings" msgstr "Изменить настройки распознавания документа" -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "Путь до программы tesseract." - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " -"files." -msgstr "Путь к файлу программы pdftotext Poppler, используемой для извлечения текста из PDF файлов." +"File path to poppler's pdftotext program used to extract text from PDF files." +msgstr "" +"Путь к файлу программы pdftotext Poppler, используемой для извлечения текста " +"из PDF файлов." -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "Полный путь до бекенда, выполняющего OCR." -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." -msgstr "Задать новые типы документов для которых распознавание будет запускаться по умолчанию. " +msgstr "" +"Задать новые типы документов для которых распознавание будет запускаться по " +"умолчанию. " -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "Отправить все документы на распознавание?" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "%d документов помещено в очередь распознавания." -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "Отправить \"%s\" в очередь распознавания?" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "Документ: %(document)s добавлен в очередь распознавания." -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "Отправить выделенные документы в очедерь распознавания?" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "Отправить все документы определённого типа на распознавание" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." -msgstr "%(count)d документов с типом \"%(document_type)s\" помещены в очередь распознавания." +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgstr "" +"%(count)d документов с типом \"%(document_type)s\" помещены в очередь " +"распознавания." -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "Редактировать настройки распознавания для типа документов: %s" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "Результат распозанвания для документа: %s" +#~ msgid "pdftotext version" +#~ msgstr "версия pdftotext" + +#~ msgid "not found" +#~ msgstr "не найдено" + +#~ msgid "error getting version" +#~ msgstr "Ошибка при получении версии" + +#~ msgid "tesseract version" +#~ msgstr "tesseract version" + +#~| msgid "File path to unpaper program." +#~ msgid "File path to tesseract program." +#~ msgstr "Путь до программы tesseract." + #~ msgid "Delete" #~ msgstr "delete" @@ -390,11 +388,11 @@ msgstr "Результат распозанвания для документа: #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -451,9 +449,11 @@ msgstr "Результат распозанвания для документа: #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/sl_SI/LC_MESSAGES/django.po index 5f2edb3248..d52d834ca6 100644 --- a/mayan/apps/ocr/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/sl_SI/LC_MESSAGES/django.po @@ -1,56 +1,42 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "" - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -61,7 +47,6 @@ msgid "Contents" msgstr "Vsebina" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -77,7 +62,7 @@ msgstr "" msgid "OCR documents per type" msgstr "" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "" @@ -126,16 +111,15 @@ msgid "Document page content" msgstr "" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "" @@ -152,68 +136,59 @@ msgstr "" msgid "Change document type OCR settings" msgstr "" -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "" - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " -"files." +"File path to poppler's pdftotext program used to extract text from PDF files." msgstr "" -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "" -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." msgstr "" -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "" -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "" -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" @@ -389,11 +364,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -450,9 +425,11 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/vi_VN/LC_MESSAGES/django.po index e112f9d5e1..308e6caf4c 100644 --- a/mayan/apps/ocr/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Trung Phan Minh , 2013 @@ -9,49 +9,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "OCR" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "" - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -62,7 +47,6 @@ msgid "Contents" msgstr "Nội dung" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -78,7 +62,7 @@ msgstr "" msgid "OCR documents per type" msgstr "" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "" @@ -127,16 +111,15 @@ msgid "Document page content" msgstr "" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "" @@ -153,68 +136,59 @@ msgstr "" msgid "Change document type OCR settings" msgstr "" -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "" - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " -"files." +"File path to poppler's pdftotext program used to extract text from PDF files." msgstr "" -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "" -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." msgstr "" -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "" -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "" -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" @@ -384,11 +358,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -445,9 +419,11 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/zh_CN/LC_MESSAGES/django.po index 0f89ee503c..35f76fda2b 100644 --- a/mayan/apps/ocr/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -9,49 +9,34 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:58 apps.py:116 apps.py:154 links.py:14 permissions.py:7 +#: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 msgid "OCR" msgstr "扫描输入" -#: apps.py:91 +#: apps.py:86 msgid "Document" msgstr "" -#: apps.py:95 +#: apps.py:90 msgid "Added" msgstr "" -#: apps.py:99 models.py:36 +#: apps.py:94 models.py:36 msgid "Result" msgstr "" -#: apps.py:160 apps.py:165 apps.py:170 -msgid "pdftotext version" -msgstr "pdftotext版本" - -#: apps.py:160 apps.py:178 -msgid "not found" -msgstr "未发现" - -#: apps.py:166 apps.py:184 -msgid "error getting version" -msgstr "获取版本出错" - -#: apps.py:178 apps.py:183 apps.py:188 -msgid "tesseract version" -msgstr "tesseract版本" - #: forms.py:40 #, python-format msgid "Page %(page_number)d" @@ -62,7 +47,6 @@ msgid "Contents" msgstr "内容" #: links.py:18 links.py:25 -#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -78,7 +62,7 @@ msgstr "" msgid "OCR documents per type" msgstr "" -#: links.py:37 views.py:161 +#: links.py:37 views.py:154 msgid "OCR errors" msgstr "" @@ -127,16 +111,15 @@ msgid "Document page content" msgstr "" #: models.py:63 -#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" -#: parsers.py:102 +#: parsers.py:101 #, python-format msgid "Exception parsing page; %s" msgstr "" -#: parsers.py:129 +#: parsers.py:128 #, python-format msgid "Cannot find pdftotext executable at: %s" msgstr "" @@ -153,71 +136,74 @@ msgstr "" msgid "Change document type OCR settings" msgstr "" -#: settings.py:10 -#| msgid "File path to unpaper program." -msgid "File path to tesseract program." -msgstr "" - -#: settings.py:15 +#: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF " -"files." +"File path to poppler's pdftotext program used to extract text from PDF files." msgstr "程序pdftotext文件路径,用以从PDF文件中提取文本。" -#: settings.py:22 +#: settings.py:19 msgid "Full path to the backend to be used to do OCR." msgstr "用于执行OCR后台应用的全路径。" -#: settings.py:27 +#: settings.py:24 msgid "Set new document types to perform OCR automatically by default." msgstr "" -#: views.py:28 -#| msgid "Submit documents for OCR" +#: views.py:26 msgid "Submit all documents for OCR?" msgstr "" -#: views.py:40 +#: views.py:38 #, python-format msgid "%d documents added to the OCR queue." msgstr "" -#: views.py:48 +#: views.py:46 #, python-format msgid "Submit \"%s\" to the OCR queue?" msgstr "" -#: views.py:73 +#: views.py:67 #, python-format msgid "Document: %(document)s was added to the OCR queue." msgstr "" -#: views.py:87 -#| msgid "Submit documents for OCR" +#: views.py:81 msgid "Submit the selected documents to the OCR queue?" msgstr "" -#: views.py:94 -#| msgid "Submit documents for OCR" +#: views.py:88 msgid "Submit all documents of a type for OCR" msgstr "" -#: views.py:109 +#: views.py:102 #, python-format -msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "" +"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" -#: views.py:132 +#: views.py:125 #, python-format msgid "Edit OCR settings for document type: %s" msgstr "" -#: views.py:154 +#: views.py:147 #, python-format -#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" +#~ msgid "pdftotext version" +#~ msgstr "pdftotext版本" + +#~ msgid "not found" +#~ msgstr "未发现" + +#~ msgid "error getting version" +#~ msgstr "获取版本出错" + +#~ msgid "tesseract version" +#~ msgstr "tesseract版本" + #~ msgid "Delete" #~ msgstr "delete" @@ -384,11 +370,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " -#~ "replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's " +#~ "storage replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -445,9 +431,11 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" +#~ "\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/permissions/locale/ar/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/ar/LC_MESSAGES/django.po index 0d4107d58e..d6d765d0e9 100644 --- a/mayan/apps/permissions/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -9,21 +9,23 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:03+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "الصلاحيات" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "صلاحيات غير كافية." @@ -47,7 +49,7 @@ msgstr "" msgid "Edit" msgstr "تحرير" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "Roles" @@ -59,27 +61,27 @@ msgstr "" msgid "Role permissions" msgstr "" -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "اسم" -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "" -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "مجموعات" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "" @@ -107,6 +109,22 @@ msgstr "منح الصلاحيات" msgid "Revoke permissions" msgstr "إبطال الصلاحيات" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Has permission" +msgid "No such permission: %s" +msgstr "has permission" + #: views.py:45 msgid "Available groups" msgstr "" @@ -125,7 +143,6 @@ msgid "Available permissions" msgstr "" #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -150,9 +167,6 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" -#~ msgid "Has permission" -#~ msgstr "has permission" - #~ msgid " and " #~ msgstr " and " @@ -162,8 +176,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -179,13 +195,17 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/bg/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/bg/LC_MESSAGES/django.po index 7bfa05a31b..9734a10f20 100644 --- a/mayan/apps/permissions/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Iliya Georgiev , 2012 @@ -9,21 +9,22 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-06-13 13:45+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "Разрешения" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "Недостатъчни разрешения." @@ -47,7 +48,7 @@ msgstr "" msgid "Edit" msgstr "Редактиране" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "Роли" @@ -59,27 +60,27 @@ msgstr "" msgid "Role permissions" msgstr "" -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "Име" -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "Разрешение" -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "Групи" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "" @@ -107,6 +108,22 @@ msgstr "Издаване на разрешения" msgid "Revoke permissions" msgstr "Отмяна на разрешения" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Has permission" +msgid "No such permission: %s" +msgstr "has permission" + #: views.py:45 msgid "Available groups" msgstr "" @@ -125,7 +142,6 @@ msgid "Available permissions" msgstr "" #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -150,9 +166,6 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" -#~ msgid "Has permission" -#~ msgstr "has permission" - #~ msgid " and " #~ msgstr " and " @@ -162,8 +175,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -179,13 +194,17 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/bs_BA/LC_MESSAGES/django.po index 54108716e4..8e46dd79ca 100644 --- a/mayan/apps/permissions/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -9,21 +9,23 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:03+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "Dozvole" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "Nedovoljne dozvole." @@ -47,7 +49,7 @@ msgstr "" msgid "Edit" msgstr "Urediti" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "Role" @@ -59,27 +61,27 @@ msgstr "" msgid "Role permissions" msgstr "" -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "Ime" -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "" -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "Grupe" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "" @@ -107,6 +109,22 @@ msgstr "Odobri dozvole" msgid "Revoke permissions" msgstr "Ukini dozvole" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Has permission" +msgid "No such permission: %s" +msgstr "has permission" + #: views.py:45 msgid "Available groups" msgstr "" @@ -125,7 +143,6 @@ msgid "Available permissions" msgstr "" #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -150,9 +167,6 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" -#~ msgid "Has permission" -#~ msgstr "has permission" - #~ msgid " and " #~ msgstr " and " @@ -162,8 +176,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -179,13 +195,17 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/da/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/da/LC_MESSAGES/django.po index 1b2106a20e..11e82396f7 100644 --- a/mayan/apps/permissions/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/da/LC_MESSAGES/django.po @@ -1,28 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:03+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "" @@ -46,7 +47,7 @@ msgstr "" msgid "Edit" msgstr "" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "" @@ -58,27 +59,27 @@ msgstr "" msgid "Role permissions" msgstr "" -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "Navn" -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "" -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "" @@ -106,6 +107,22 @@ msgstr "" msgid "Revoke permissions" msgstr "" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Has permission" +msgid "No such permission: %s" +msgstr "has permission" + #: views.py:45 msgid "Available groups" msgstr "" @@ -124,7 +141,6 @@ msgid "Available permissions" msgstr "" #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -149,9 +165,6 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" -#~ msgid "Has permission" -#~ msgstr "has permission" - #~ msgid " and " #~ msgstr " and " @@ -161,8 +174,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -178,13 +193,17 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/de_DE/LC_MESSAGES/django.po index 1ff5bc00e7..b2cb05aca3 100644 --- a/mayan/apps/permissions/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Berny , 2015 @@ -11,21 +11,22 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:03+0000\n" "Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "Berechtigungen" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "Unzureichende Berechtigungen" @@ -49,7 +50,7 @@ msgstr "Löschen" msgid "Edit" msgstr "Bearbeiten" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "Rollen" @@ -61,27 +62,27 @@ msgstr "Mitglieder" msgid "Role permissions" msgstr "Berechtigungen" -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "Namensraum" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "Name" -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "Berechtigung" -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "Bezeichnung" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "Gruppen" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "Rolle" @@ -109,6 +110,22 @@ msgstr "Berechtigungen gewähren" msgid "Revoke permissions" msgstr "Berechtigungen widerrufen" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Role permissions" +msgid "No such permission: %s" +msgstr "Berechtigungen" + #: views.py:45 msgid "Available groups" msgstr "Verfügbare Gruppen" @@ -127,7 +144,6 @@ msgid "Available permissions" msgstr "Verfügbare Berechtigungen" #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "Erteilte Berechtigungen" @@ -164,8 +180,10 @@ msgstr "Berechtigungen der Rolle %s" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -181,13 +199,17 @@ msgstr "Berechtigungen der Rolle %s" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/en/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/en/LC_MESSAGES/django.po index f62e6c72fb..f2e5188106 100644 --- a/mayan/apps/permissions/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2012-02-02 18:18+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" @@ -18,11 +18,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "Permissions" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "Insufficient permissions." @@ -48,7 +48,7 @@ msgstr "delete" msgid "Edit" msgstr "" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 #, fuzzy msgid "Roles" msgstr "roles" @@ -63,30 +63,30 @@ msgstr "members" msgid "Role permissions" msgstr "role permissions" -#: models.py:18 +#: models.py:19 #, fuzzy msgid "Namespace" msgstr "namespace" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "" -#: models.py:46 +#: models.py:45 #, fuzzy msgid "Permission" msgstr "Permissions" -#: models.py:67 +#: models.py:74 #, fuzzy msgid "Label" msgstr "label" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "Groups" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "" @@ -114,6 +114,21 @@ msgstr "Grant permissions" msgid "Revoke permissions" msgstr "Revoke permissions" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +msgid "No such permission: %s" +msgstr "role permissions" + #: views.py:45 msgid "Available groups" msgstr "" diff --git a/mayan/apps/permissions/locale/es/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/es/LC_MESSAGES/django.po index 860f19069c..857bfe174d 100644 --- a/mayan/apps/permissions/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 @@ -11,21 +11,22 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-23 06:40+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "Permisos" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "Permisos insuficientes." @@ -49,7 +50,7 @@ msgstr "Borrar" msgid "Edit" msgstr "Editar" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "Roles" @@ -61,27 +62,27 @@ msgstr "Miembros" msgid "Role permissions" msgstr "Autorizaciones por rol" -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "Espacio nombrado" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "Nombre" -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "Permiso" -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "Etiqueta" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "Grupos" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "Rol" @@ -109,6 +110,22 @@ msgstr "Conceder permisos" msgid "Revoke permissions" msgstr "Revocar permisos" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Role permissions" +msgid "No such permission: %s" +msgstr "Autorizaciones por rol" + #: views.py:45 msgid "Available groups" msgstr "Grupos disponibles" @@ -127,7 +144,6 @@ msgid "Available permissions" msgstr "Permisos disponibles" #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "Permisos otorgados" @@ -164,8 +180,10 @@ msgstr "Permisos para el rol: %s" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -181,13 +199,17 @@ msgstr "Permisos para el rol: %s" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/fa/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/fa/LC_MESSAGES/django.po index 390ff7b3c3..20568c4f1f 100644 --- a/mayan/apps/permissions/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mehdi Amani , 2014 @@ -10,21 +10,22 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:03+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "مجوزها" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "اجازه ناکافی" @@ -48,7 +49,7 @@ msgstr "حذف" msgid "Edit" msgstr "ویرایش" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "نقش ها" @@ -60,27 +61,27 @@ msgstr "اعضا" msgid "Role permissions" msgstr "مجوزهای نقش" -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "فضای نام" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "نام" -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "مجوز" -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "برچسب" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "گروه‌ها" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "نقش" @@ -108,6 +109,22 @@ msgstr "دادن مجوز" msgid "Revoke permissions" msgstr "لغو مجوز" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Role permissions" +msgid "No such permission: %s" +msgstr "مجوزهای نقش" + #: views.py:45 msgid "Available groups" msgstr "" @@ -126,7 +143,6 @@ msgid "Available permissions" msgstr "" #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -163,8 +179,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -180,13 +198,17 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/fr/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/fr/LC_MESSAGES/django.po index d5bc7867c6..05b056b156 100644 --- a/mayan/apps/permissions/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Christophe CHAUVET , 2014 @@ -11,21 +11,22 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:03+0000\n" "Last-Translator: Thierry Schott \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "Droits" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "Droits insuffisants" @@ -49,7 +50,7 @@ msgstr "Supprimer" msgid "Edit" msgstr "Modifier" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "Rôles" @@ -61,27 +62,27 @@ msgstr "Membres" msgid "Role permissions" msgstr "Autorisations du rôle" -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "Espace de nommage" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "Nom" -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "Autorisation" -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "Étiquette" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "Groupes" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "Rôle" @@ -109,6 +110,22 @@ msgstr "Donner des droits" msgid "Revoke permissions" msgstr "Retirer des droits" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Role permissions" +msgid "No such permission: %s" +msgstr "Autorisations du rôle" + #: views.py:45 msgid "Available groups" msgstr "Groupes disponibles" @@ -127,7 +144,6 @@ msgid "Available permissions" msgstr "Permissions disponibles" #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "Permissions accordées" @@ -164,8 +180,10 @@ msgstr "Permissions pour le rôle : %s" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -181,13 +199,17 @@ msgstr "Permissions pour le rôle : %s" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/hu/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/hu/LC_MESSAGES/django.po index 08650b0d58..1da0d46a8f 100644 --- a/mayan/apps/permissions/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/hu/LC_MESSAGES/django.po @@ -1,28 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-24 05:21+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "" @@ -46,7 +47,7 @@ msgstr "" msgid "Edit" msgstr "" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "" @@ -58,27 +59,27 @@ msgstr "" msgid "Role permissions" msgstr "" -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "" -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "" -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "" @@ -106,6 +107,22 @@ msgstr "" msgid "Revoke permissions" msgstr "" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Has permission" +msgid "No such permission: %s" +msgstr "has permission" + #: views.py:45 msgid "Available groups" msgstr "" @@ -124,7 +141,6 @@ msgid "Available permissions" msgstr "" #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -149,9 +165,6 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" -#~ msgid "Has permission" -#~ msgstr "has permission" - #~ msgid " and " #~ msgstr " and " @@ -161,8 +174,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -178,13 +193,17 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/id/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/id/LC_MESSAGES/django.po index 3306082a3a..86861eee14 100644 --- a/mayan/apps/permissions/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/id/LC_MESSAGES/django.po @@ -1,28 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-24 05:21+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "" @@ -46,7 +47,7 @@ msgstr "" msgid "Edit" msgstr "" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "" @@ -58,27 +59,27 @@ msgstr "" msgid "Role permissions" msgstr "" -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "" -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "" -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "" @@ -106,6 +107,22 @@ msgstr "" msgid "Revoke permissions" msgstr "" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Has permission" +msgid "No such permission: %s" +msgstr "has permission" + #: views.py:45 msgid "Available groups" msgstr "" @@ -124,7 +141,6 @@ msgid "Available permissions" msgstr "" #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -149,9 +165,6 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" -#~ msgid "Has permission" -#~ msgstr "has permission" - #~ msgid " and " #~ msgstr " and " @@ -161,8 +174,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -178,13 +193,17 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/it/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/it/LC_MESSAGES/django.po index 96c545f732..4e4ff6158f 100644 --- a/mayan/apps/permissions/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Giovanni Tricarico , 2016 @@ -10,21 +10,22 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-09-24 10:09+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "Permessi" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "Permessi insufficienti" @@ -48,7 +49,7 @@ msgstr "Cancella " msgid "Edit" msgstr "Modifica " -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "Ruoli " @@ -60,27 +61,27 @@ msgstr "Membri " msgid "Role permissions" msgstr "Autorizzazioni ruolo " -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "Namespace" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "Nome " -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "Autorizzazione " -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "Etichetta " -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "Gruppi" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "Ruolo" @@ -108,6 +109,22 @@ msgstr "Concedere le autorizzazioni" msgid "Revoke permissions" msgstr "Revoca le autorizzazioni" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Role permissions" +msgid "No such permission: %s" +msgstr "Autorizzazioni ruolo " + #: views.py:45 msgid "Available groups" msgstr "Gruppi disponibili " @@ -126,7 +143,6 @@ msgid "Available permissions" msgstr "Autorizzazioni disponibili " #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "Autorizzazioni concesse " @@ -163,8 +179,10 @@ msgstr "Autorizzazioni per ruolo: %s" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -180,13 +198,17 @@ msgstr "Autorizzazioni per ruolo: %s" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/nl_NL/LC_MESSAGES/django.po index 99ea11a0f2..a03623c9c7 100644 --- a/mayan/apps/permissions/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -10,21 +10,22 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-28 12:44+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "Permissies" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "Permissies zijn ontoereikend" @@ -48,7 +49,7 @@ msgstr "Verwijder" msgid "Edit" msgstr "bewerken" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "gebruikersrollen" @@ -60,27 +61,27 @@ msgstr "Leden" msgid "Role permissions" msgstr "Permissies gebruikersro" -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "Namespace" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "Naam" -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "Permissies" -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "Label" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "Groepen" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "Gebruikersrol" @@ -108,6 +109,22 @@ msgstr "permissies toestaan" msgid "Revoke permissions" msgstr "permissies intrekken" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Role permissions" +msgid "No such permission: %s" +msgstr "Permissies gebruikersro" + #: views.py:45 msgid "Available groups" msgstr "Beschikbare groepen" @@ -126,7 +143,6 @@ msgid "Available permissions" msgstr "Beschikbare permissies" #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "Toegekende permissies" @@ -163,8 +179,10 @@ msgstr "Permissies voor gebruikersrol: %s" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -180,13 +198,17 @@ msgstr "Permissies voor gebruikersrol: %s" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/pl/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/pl/LC_MESSAGES/django.po index 773fb3e624..b8099bf13e 100644 --- a/mayan/apps/permissions/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # mic , 2012,2015 @@ -9,21 +9,23 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-08-04 09:54+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "Uprawnienia" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "Niewystarczające uprawnienia." @@ -47,7 +49,7 @@ msgstr "Usunąć" msgid "Edit" msgstr "Edytuj" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "Role" @@ -59,27 +61,27 @@ msgstr "Członkowie" msgid "Role permissions" msgstr "" -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "Nazwa" -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "Uprawnienia" -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "Etykieta" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "Grupy" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "Rola" @@ -107,6 +109,22 @@ msgstr "Grant uprawnienia" msgid "Revoke permissions" msgstr "" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Has permission" +msgid "No such permission: %s" +msgstr "has permission" + #: views.py:45 msgid "Available groups" msgstr "Dostępne grupy" @@ -125,7 +143,6 @@ msgid "Available permissions" msgstr "Dostępne uprawnienia" #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "Przyznane uprawnienia" @@ -150,9 +167,6 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" -#~ msgid "Has permission" -#~ msgstr "has permission" - #~ msgid " and " #~ msgstr " and " @@ -162,8 +176,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -179,13 +195,17 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/pt/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/pt/LC_MESSAGES/django.po index d31394dbd0..4eb23bd59b 100644 --- a/mayan/apps/permissions/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Emerson Soares , 2011 @@ -11,21 +11,22 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:03+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "Permissões" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "Permissões insuficientes." @@ -49,7 +50,7 @@ msgstr "Eliminar" msgid "Edit" msgstr "Editar" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "Funções" @@ -61,27 +62,27 @@ msgstr "Membros" msgid "Role permissions" msgstr "" -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "Nome" -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "" -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "Nome" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "Grupos" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "" @@ -109,6 +110,22 @@ msgstr "Conceder permissões" msgid "Revoke permissions" msgstr "Revogar permissões" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Has permission" +msgid "No such permission: %s" +msgstr "has permission" + #: views.py:45 msgid "Available groups" msgstr "Grupos disponíveis" @@ -127,7 +144,6 @@ msgid "Available permissions" msgstr "" #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -152,9 +168,6 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" -#~ msgid "Has permission" -#~ msgstr "has permission" - #~ msgid " and " #~ msgstr " and " @@ -164,8 +177,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -181,13 +196,17 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/pt_BR/LC_MESSAGES/django.po index 1429b5c836..87ff3218cb 100644 --- a/mayan/apps/permissions/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -12,21 +12,22 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-17 23:07+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "Permissões" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "Permissões insuficientes." @@ -50,7 +51,7 @@ msgstr "Excluir" msgid "Edit" msgstr "Editar" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "Regras" @@ -62,27 +63,27 @@ msgstr "Membros" msgid "Role permissions" msgstr "Regra de permissão" -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "namespace" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "Nome" -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "permissão" -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "Label" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "Grupos" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "Regras" @@ -110,6 +111,22 @@ msgstr "Conceder permissões" msgid "Revoke permissions" msgstr "Revogar as permissões" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Role permissions" +msgid "No such permission: %s" +msgstr "Regra de permissão" + #: views.py:45 msgid "Available groups" msgstr "Grupos disponíveis" @@ -128,7 +145,6 @@ msgid "Available permissions" msgstr "Permissões disponíveis" #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "Permissões outorgadas" @@ -165,8 +181,10 @@ msgstr "Permissões para papel: %s" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -182,13 +200,17 @@ msgstr "Permissões para papel: %s" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/ro_RO/LC_MESSAGES/django.po index 4361fc6aae..a9d3fe8f6b 100644 --- a/mayan/apps/permissions/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Badea Gabriel , 2013 @@ -9,21 +9,23 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-04-17 09:43+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "Permisiuni" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "Permisiuni insuficiente." @@ -47,7 +49,7 @@ msgstr "Șterge" msgid "Edit" msgstr "Editează" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "Roluri" @@ -59,27 +61,27 @@ msgstr "Membri" msgid "Role permissions" msgstr "" -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "Nume" -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "" -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "Etichetă" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "Grupuri" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "" @@ -107,6 +109,22 @@ msgstr "Grant permisiuni" msgid "Revoke permissions" msgstr "Revocați permisiunile" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Has permission" +msgid "No such permission: %s" +msgstr "has permission" + #: views.py:45 msgid "Available groups" msgstr "Grupuri disponibile" @@ -125,7 +143,6 @@ msgid "Available permissions" msgstr "" #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -150,9 +167,6 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" -#~ msgid "Has permission" -#~ msgstr "has permission" - #~ msgid " and " #~ msgstr " and " @@ -162,8 +176,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -179,13 +195,17 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/ru/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/ru/LC_MESSAGES/django.po index b41872d643..37f5fcdcd7 100644 --- a/mayan/apps/permissions/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -9,21 +9,24 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-02 04:15+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "Разрешения" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "Недостаточно разрешений." @@ -47,7 +50,7 @@ msgstr "Удалить" msgid "Edit" msgstr "Редактировать" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "Роли" @@ -59,27 +62,27 @@ msgstr "Участники" msgid "Role permissions" msgstr "Разрешения роли" -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "Пространство имен" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "Имя" -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "Разрешение" -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "Надпись" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "Группы" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "Роль" @@ -107,6 +110,22 @@ msgstr "Предоставление разрешений" msgid "Revoke permissions" msgstr "Отмена разрешений" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Role permissions" +msgid "No such permission: %s" +msgstr "Разрешения роли" + #: views.py:45 msgid "Available groups" msgstr "Доступные группы" @@ -125,7 +144,6 @@ msgid "Available permissions" msgstr "Доступные разрешения" #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "Предоставленные разрешения" @@ -162,8 +180,10 @@ msgstr "Разрешения роли: %s" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -179,13 +199,17 @@ msgstr "Разрешения роли: %s" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/sl_SI/LC_MESSAGES/django.po index dbb75c4e17..a8bac712dc 100644 --- a/mayan/apps/permissions/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/sl_SI/LC_MESSAGES/django.po @@ -1,28 +1,30 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-17 08:59+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "Pravice" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "" @@ -46,7 +48,7 @@ msgstr "" msgid "Edit" msgstr "" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "Vloge" @@ -58,27 +60,27 @@ msgstr "" msgid "Role permissions" msgstr "" -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "Imenski prostor" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "Ime" -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "Pravice" -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "Oznaka" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "Skupine" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "" @@ -106,6 +108,22 @@ msgstr "" msgid "Revoke permissions" msgstr "" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Has permission" +msgid "No such permission: %s" +msgstr "has permission" + #: views.py:45 msgid "Available groups" msgstr "" @@ -124,7 +142,6 @@ msgid "Available permissions" msgstr "" #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -149,9 +166,6 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" -#~ msgid "Has permission" -#~ msgstr "has permission" - #~ msgid " and " #~ msgstr " and " @@ -161,8 +175,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -178,13 +194,17 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/vi_VN/LC_MESSAGES/django.po index bfb5279281..a6d5e5b094 100644 --- a/mayan/apps/permissions/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Trung Phan Minh , 2013 @@ -9,21 +9,22 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:03+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "" @@ -47,7 +48,7 @@ msgstr "" msgid "Edit" msgstr "Sửa" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "" @@ -59,27 +60,27 @@ msgstr "" msgid "Role permissions" msgstr "" -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "Tên" -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "" -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "" @@ -107,6 +108,22 @@ msgstr "" msgid "Revoke permissions" msgstr "" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Has permission" +msgid "No such permission: %s" +msgstr "has permission" + #: views.py:45 msgid "Available groups" msgstr "" @@ -125,7 +142,6 @@ msgid "Available permissions" msgstr "" #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -150,9 +166,6 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" -#~ msgid "Has permission" -#~ msgstr "has permission" - #~ msgid " and " #~ msgstr " and " @@ -162,8 +175,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -179,13 +194,17 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/zh_CN/LC_MESSAGES/django.po index 3d2e04cb1a..7a74692ca5 100644 --- a/mayan/apps/permissions/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -9,21 +9,22 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:03+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:22 models.py:47 models.py:70 permissions.py:7 +#: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" msgstr "权限" -#: classes.py:63 +#: classes.py:72 msgid "Insufficient permissions." msgstr "权限不足" @@ -47,7 +48,7 @@ msgstr "" msgid "Edit" msgstr "" -#: links.py:35 models.py:91 views.py:134 +#: links.py:35 models.py:98 views.py:136 msgid "Roles" msgstr "角色" @@ -59,27 +60,27 @@ msgstr "" msgid "Role permissions" msgstr "" -#: models.py:18 +#: models.py:19 msgid "Namespace" msgstr "" -#: models.py:19 +#: models.py:20 msgid "Name" msgstr "名称" -#: models.py:46 +#: models.py:45 msgid "Permission" msgstr "许可" -#: models.py:67 +#: models.py:74 msgid "Label" msgstr "" -#: models.py:73 +#: models.py:80 msgid "Groups" msgstr "用户组" -#: models.py:90 +#: models.py:97 msgid "Role" msgstr "" @@ -107,6 +108,22 @@ msgstr "权限授权" msgid "Revoke permissions" msgstr "撤销权限" +#: serializers.py:46 +msgid "" +"Comma separated list of groups primary keys to add to, or replace in this " +"role." +msgstr "" + +#: serializers.py:53 +msgid "Comma separated list of permission primary keys to grant to this role." +msgstr "" + +#: serializers.py:92 +#, fuzzy, python-format +#| msgid "Has permission" +msgid "No such permission: %s" +msgstr "has permission" + #: views.py:45 msgid "Available groups" msgstr "" @@ -125,7 +142,6 @@ msgid "Available permissions" msgstr "" #: views.py:80 -#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -150,9 +166,6 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" -#~ msgid "Has permission" -#~ msgstr "has permission" - #~ msgid " and " #~ msgstr " and " @@ -162,8 +175,10 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -179,13 +194,17 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "" +#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s " +#~ "%(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/rest_api/locale/ar/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/ar/LC_MESSAGES/django.po index 39117fe29c..ec1890395b 100644 --- a/mayan/apps/rest_api/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/ar/LC_MESSAGES/django.po @@ -1,26 +1,33 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:18+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "" diff --git a/mayan/apps/rest_api/locale/bg/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/bg/LC_MESSAGES/django.po index 700454133b..f97880c07d 100644 --- a/mayan/apps/rest_api/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/bg/LC_MESSAGES/django.po @@ -1,26 +1,32 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:18+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "" diff --git a/mayan/apps/rest_api/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/bs_BA/LC_MESSAGES/django.po index 8930dea0d3..58ac30ba2b 100644 --- a/mayan/apps/rest_api/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/bs_BA/LC_MESSAGES/django.po @@ -1,26 +1,33 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:18+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "" diff --git a/mayan/apps/rest_api/locale/da/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/da/LC_MESSAGES/django.po index 41c74e859c..76e295503d 100644 --- a/mayan/apps/rest_api/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/da/LC_MESSAGES/django.po @@ -1,26 +1,32 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:18+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "" diff --git a/mayan/apps/rest_api/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/de_DE/LC_MESSAGES/django.po index e4faadae74..9c711415cb 100644 --- a/mayan/apps/rest_api/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/de_DE/LC_MESSAGES/django.po @@ -1,26 +1,32 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "REST API" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "API Dokumentation" diff --git a/mayan/apps/rest_api/locale/en/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/en/LC_MESSAGES/django.po index 2440018fb8..631414cab3 100644 --- a/mayan/apps/rest_api/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,6 +21,11 @@ msgstr "" msgid "REST API" msgstr "" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "" diff --git a/mayan/apps/rest_api/locale/es/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/es/LC_MESSAGES/django.po index 070f7a296c..388d114986 100644 --- a/mayan/apps/rest_api/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Roberto Rosario, 2015 # Roberto Rosario, 2015 @@ -9,20 +9,26 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "API REST" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "Documentación de la API" diff --git a/mayan/apps/rest_api/locale/fa/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/fa/LC_MESSAGES/django.po index 946928e0ed..6402794666 100644 --- a/mayan/apps/rest_api/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/fa/LC_MESSAGES/django.po @@ -1,27 +1,33 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Mehdi Amani , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "API را متوقف کنید" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "" diff --git a/mayan/apps/rest_api/locale/fr/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/fr/LC_MESSAGES/django.po index 641340ed59..db2c17158f 100644 --- a/mayan/apps/rest_api/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/fr/LC_MESSAGES/django.po @@ -1,27 +1,33 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Christophe CHAUVET , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Christophe CHAUVET \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "API REST" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "Documentation de l'API" diff --git a/mayan/apps/rest_api/locale/hu/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/hu/LC_MESSAGES/django.po index 38c56de033..422e093d40 100644 --- a/mayan/apps/rest_api/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/hu/LC_MESSAGES/django.po @@ -1,26 +1,32 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:18+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "" diff --git a/mayan/apps/rest_api/locale/id/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/id/LC_MESSAGES/django.po index 8372c7714a..d6ca96be0e 100644 --- a/mayan/apps/rest_api/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/id/LC_MESSAGES/django.po @@ -1,26 +1,32 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:18+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "" diff --git a/mayan/apps/rest_api/locale/it/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/it/LC_MESSAGES/django.po index cd69ac28a6..5402d20db9 100644 --- a/mayan/apps/rest_api/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/it/LC_MESSAGES/django.po @@ -1,27 +1,33 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Giovanni Tricarico , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Giovanni Tricarico \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "REST API" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "Documentazione API" diff --git a/mayan/apps/rest_api/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/nl_NL/LC_MESSAGES/django.po index 7325b55273..7c0a29749b 100644 --- a/mayan/apps/rest_api/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/nl_NL/LC_MESSAGES/django.po @@ -1,27 +1,33 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Evelijn Saaltink , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-28 09:43+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "REST API" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "API-documentatie" diff --git a/mayan/apps/rest_api/locale/pl/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/pl/LC_MESSAGES/django.po index 229ee8c7d3..bca3eb0d18 100644 --- a/mayan/apps/rest_api/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/pl/LC_MESSAGES/django.po @@ -1,27 +1,34 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Annunnaky , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "REST API" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "" diff --git a/mayan/apps/rest_api/locale/pt/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/pt/LC_MESSAGES/django.po index d421fbffad..1aae53cce2 100644 --- a/mayan/apps/rest_api/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/pt/LC_MESSAGES/django.po @@ -1,26 +1,32 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:18+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "Documentação API" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "" diff --git a/mayan/apps/rest_api/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/pt_BR/LC_MESSAGES/django.po index 96ec65c16a..11705def74 100644 --- a/mayan/apps/rest_api/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Aline Freitas , 2016 # Rogerio Falcone , 2015 @@ -9,20 +9,26 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-04 19:55+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "REST API" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "Documentação da API" diff --git a/mayan/apps/rest_api/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/ro_RO/LC_MESSAGES/django.po index 3773630648..fc222023e3 100644 --- a/mayan/apps/rest_api/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/ro_RO/LC_MESSAGES/django.po @@ -1,26 +1,33 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:18+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "" diff --git a/mayan/apps/rest_api/locale/ru/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/ru/LC_MESSAGES/django.po index 1b75decbe2..75bf33b4f6 100644 --- a/mayan/apps/rest_api/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/ru/LC_MESSAGES/django.po @@ -1,27 +1,35 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # lilo.panic, 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-07-19 20:05+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "REST API" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "Документация API" diff --git a/mayan/apps/rest_api/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/sl_SI/LC_MESSAGES/django.po index 8b4263f7c0..494265408f 100644 --- a/mayan/apps/rest_api/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/sl_SI/LC_MESSAGES/django.po @@ -1,26 +1,33 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:18+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "" diff --git a/mayan/apps/rest_api/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/vi_VN/LC_MESSAGES/django.po index 8f5c85b32b..bd4c433e90 100644 --- a/mayan/apps/rest_api/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/vi_VN/LC_MESSAGES/django.po @@ -1,26 +1,32 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:18+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "" diff --git a/mayan/apps/rest_api/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/zh_CN/LC_MESSAGES/django.po index 1d781e7003..6fd7d041e5 100644 --- a/mayan/apps/rest_api/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/zh_CN/LC_MESSAGES/django.po @@ -1,26 +1,32 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:18+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:16 links.py:8 msgid "REST API" msgstr "" +#: fields.py:30 +#, python-format +msgid "Unable to find serializer class for: %s" +msgstr "" + #: links.py:12 msgid "API Documentation" msgstr "" diff --git a/mayan/apps/smart_settings/locale/ar/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/ar/LC_MESSAGES/django.po index e88d7ea2cb..a73f72295a 100644 --- a/mayan/apps/smart_settings/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/ar/LC_MESSAGES/django.po @@ -1,22 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:18 permissions.py:7 msgid "Smart settings" @@ -34,14 +36,6 @@ msgstr "اسم" msgid "Value" msgstr "قيمة" -#: apps.py:37 -msgid "Found in path" -msgstr "" - -#: apps.py:40 -msgid "n/a" -msgstr "" - #: links.py:11 links.py:14 msgid "Settings" msgstr "" diff --git a/mayan/apps/smart_settings/locale/bg/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/bg/LC_MESSAGES/django.po index 2be7dd9758..4bd566029d 100644 --- a/mayan/apps/smart_settings/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/bg/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:18 permissions.py:7 @@ -34,14 +35,6 @@ msgstr "Име" msgid "Value" msgstr "Стойност" -#: apps.py:37 -msgid "Found in path" -msgstr "" - -#: apps.py:40 -msgid "n/a" -msgstr "" - #: links.py:11 links.py:14 msgid "Settings" msgstr "" diff --git a/mayan/apps/smart_settings/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/bs_BA/LC_MESSAGES/django.po index 92d79599ca..c2d75a3c66 100644 --- a/mayan/apps/smart_settings/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/bs_BA/LC_MESSAGES/django.po @@ -1,22 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:18 permissions.py:7 msgid "Smart settings" @@ -34,14 +36,6 @@ msgstr "Ime" msgid "Value" msgstr "Vrijednost" -#: apps.py:37 -msgid "Found in path" -msgstr "" - -#: apps.py:40 -msgid "n/a" -msgstr "" - #: links.py:11 links.py:14 msgid "Settings" msgstr "" diff --git a/mayan/apps/smart_settings/locale/da/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/da/LC_MESSAGES/django.po index ebae68cbfa..9c1a6c91f6 100644 --- a/mayan/apps/smart_settings/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/da/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:18 permissions.py:7 @@ -34,14 +35,6 @@ msgstr "Navn" msgid "Value" msgstr "" -#: apps.py:37 -msgid "Found in path" -msgstr "" - -#: apps.py:40 -msgid "n/a" -msgstr "" - #: links.py:11 links.py:14 msgid "Settings" msgstr "" diff --git a/mayan/apps/smart_settings/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/de_DE/LC_MESSAGES/django.po index 1c3d4ab687..c2b0d4d213 100644 --- a/mayan/apps/smart_settings/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mathias Behrle , 2014 @@ -11,14 +11,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:18 permissions.py:7 @@ -37,14 +38,6 @@ msgstr "Name" msgid "Value" msgstr "Wert" -#: apps.py:37 -msgid "Found in path" -msgstr "Gefunden in Pfad" - -#: apps.py:40 -msgid "n/a" -msgstr "unbekannt" - #: links.py:11 links.py:14 msgid "Settings" msgstr "Einstellungen" @@ -67,6 +60,12 @@ msgstr "Einstellungen für Bereich %s" msgid "Namespace: %s, not found" msgstr "Bereich %s nicht gefunden" +#~ msgid "Found in path" +#~ msgstr "Gefunden in Pfad" + +#~ msgid "n/a" +#~ msgstr "unbekannt" + #~ msgid "Default" #~ msgstr "default" diff --git a/mayan/apps/smart_settings/locale/en/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/en/LC_MESSAGES/django.po index df4424f65f..8065ba6911 100644 --- a/mayan/apps/smart_settings/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2012-12-12 06:06+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" @@ -37,14 +37,6 @@ msgstr "" msgid "Value" msgstr "value" -#: apps.py:37 -msgid "Found in path" -msgstr "" - -#: apps.py:40 -msgid "n/a" -msgstr "" - #: links.py:11 links.py:14 #, fuzzy msgid "Settings" diff --git a/mayan/apps/smart_settings/locale/es/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/es/LC_MESSAGES/django.po index 9a222e2fe9..bf655f80b2 100644 --- a/mayan/apps/smart_settings/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Lory977 , 2015 @@ -11,14 +11,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-05-09 01:32+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:18 permissions.py:7 @@ -37,14 +38,6 @@ msgstr "Nombre" msgid "Value" msgstr "Valor" -#: apps.py:37 -msgid "Found in path" -msgstr "Existe en ruta" - -#: apps.py:40 -msgid "n/a" -msgstr "n/a" - #: links.py:11 links.py:14 msgid "Settings" msgstr "Ajustes" @@ -67,6 +60,12 @@ msgstr "Ajustes en la categoría: %s" msgid "Namespace: %s, not found" msgstr "Categoría: %s, no encontrada" +#~ msgid "Found in path" +#~ msgstr "Existe en ruta" + +#~ msgid "n/a" +#~ msgstr "n/a" + #~ msgid "Default" #~ msgstr "default" diff --git a/mayan/apps/smart_settings/locale/fa/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/fa/LC_MESSAGES/django.po index 176d446380..094e5a9a97 100644 --- a/mayan/apps/smart_settings/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mehdi Amani , 2014 @@ -10,14 +10,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:18 permissions.py:7 @@ -36,14 +37,6 @@ msgstr "نام" msgid "Value" msgstr "مقدار" -#: apps.py:37 -msgid "Found in path" -msgstr "" - -#: apps.py:40 -msgid "n/a" -msgstr "" - #: links.py:11 links.py:14 msgid "Settings" msgstr "تنظیمات" diff --git a/mayan/apps/smart_settings/locale/fr/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/fr/LC_MESSAGES/django.po index 4c31ff39f7..521d73b29d 100644 --- a/mayan/apps/smart_settings/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Christophe CHAUVET , 2014 @@ -11,14 +11,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Thierry Schott \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:18 permissions.py:7 @@ -37,14 +38,6 @@ msgstr "Nom" msgid "Value" msgstr "Valeur" -#: apps.py:37 -msgid "Found in path" -msgstr "Trouvé dans le chemin" - -#: apps.py:40 -msgid "n/a" -msgstr "n/a" - #: links.py:11 links.py:14 msgid "Settings" msgstr "Paramètres" @@ -67,6 +60,12 @@ msgstr "Paramètres dans l'espace de noms : %s" msgid "Namespace: %s, not found" msgstr "Espace de nom : %s non trouvé" +#~ msgid "Found in path" +#~ msgstr "Trouvé dans le chemin" + +#~ msgid "n/a" +#~ msgstr "n/a" + #~ msgid "Default" #~ msgstr "default" diff --git a/mayan/apps/smart_settings/locale/hu/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/hu/LC_MESSAGES/django.po index f361f4b040..645258c109 100644 --- a/mayan/apps/smart_settings/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/hu/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-27 05:24+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:18 permissions.py:7 @@ -34,14 +35,6 @@ msgstr "" msgid "Value" msgstr "" -#: apps.py:37 -msgid "Found in path" -msgstr "" - -#: apps.py:40 -msgid "n/a" -msgstr "" - #: links.py:11 links.py:14 msgid "Settings" msgstr "" diff --git a/mayan/apps/smart_settings/locale/id/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/id/LC_MESSAGES/django.po index 18ae6163e3..6b4321a97a 100644 --- a/mayan/apps/smart_settings/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/id/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-27 05:24+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:18 permissions.py:7 @@ -34,14 +35,6 @@ msgstr "" msgid "Value" msgstr "" -#: apps.py:37 -msgid "Found in path" -msgstr "" - -#: apps.py:40 -msgid "n/a" -msgstr "" - #: links.py:11 links.py:14 msgid "Settings" msgstr "" diff --git a/mayan/apps/smart_settings/locale/it/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/it/LC_MESSAGES/django.po index 0f9e090c04..0f85fe1b1d 100644 --- a/mayan/apps/smart_settings/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Marco Camplese , 2016 @@ -9,14 +9,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-09-24 09:38+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:18 permissions.py:7 @@ -35,14 +36,6 @@ msgstr "Nome " msgid "Value" msgstr "Valore" -#: apps.py:37 -msgid "Found in path" -msgstr "Trovato nel percorso" - -#: apps.py:40 -msgid "n/a" -msgstr "n/a" - #: links.py:11 links.py:14 msgid "Settings" msgstr "Impostazioni" @@ -65,6 +58,12 @@ msgstr "Impostazioni nello spazio dei nomi: %s" msgid "Namespace: %s, not found" msgstr "Spazio dei nomi: %s, non trovato" +#~ msgid "Found in path" +#~ msgstr "Trovato nel percorso" + +#~ msgid "n/a" +#~ msgstr "n/a" + #~ msgid "Default" #~ msgstr "default" diff --git a/mayan/apps/smart_settings/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/nl_NL/LC_MESSAGES/django.po index 4493fc2ae5..e2c8448853 100644 --- a/mayan/apps/smart_settings/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -9,14 +9,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-28 10:23+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:18 permissions.py:7 @@ -35,14 +36,6 @@ msgstr "Naam" msgid "Value" msgstr "Waarde" -#: apps.py:37 -msgid "Found in path" -msgstr "Gevonden in pad" - -#: apps.py:40 -msgid "n/a" -msgstr "" - #: links.py:11 links.py:14 msgid "Settings" msgstr "Instellingen" @@ -65,6 +58,9 @@ msgstr "" msgid "Namespace: %s, not found" msgstr "" +#~ msgid "Found in path" +#~ msgstr "Gevonden in pad" + #~ msgid "Default" #~ msgstr "default" diff --git a/mayan/apps/smart_settings/locale/pl/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/pl/LC_MESSAGES/django.po index e18088ef25..9c81759799 100644 --- a/mayan/apps/smart_settings/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Annunnaky , 2015 @@ -12,15 +12,17 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Wojtek Warczakowski \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" #: apps.py:18 permissions.py:7 msgid "Smart settings" @@ -38,14 +40,6 @@ msgstr "Nazwa" msgid "Value" msgstr "Wartość" -#: apps.py:37 -msgid "Found in path" -msgstr "Znaleziono ścieżkę" - -#: apps.py:40 -msgid "n/a" -msgstr "n/d" - #: links.py:11 links.py:14 msgid "Settings" msgstr "Ustawienia" @@ -68,6 +62,12 @@ msgstr "Ustawienia w przestrzeni nazw: %s" msgid "Namespace: %s, not found" msgstr "Przestrzeń nazw: %s, nie znaleziono" +#~ msgid "Found in path" +#~ msgstr "Znaleziono ścieżkę" + +#~ msgid "n/a" +#~ msgstr "n/d" + #~ msgid "Default" #~ msgstr "default" diff --git a/mayan/apps/smart_settings/locale/pt/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/pt/LC_MESSAGES/django.po index 50dce019e6..0e69ebb32f 100644 --- a/mayan/apps/smart_settings/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/pt/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:18 permissions.py:7 @@ -34,14 +35,6 @@ msgstr "Nome" msgid "Value" msgstr "Valor" -#: apps.py:37 -msgid "Found in path" -msgstr "" - -#: apps.py:40 -msgid "n/a" -msgstr "" - #: links.py:11 links.py:14 msgid "Settings" msgstr "" diff --git a/mayan/apps/smart_settings/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/pt_BR/LC_MESSAGES/django.po index 51a2e080a9..dc32c565fb 100644 --- a/mayan/apps/smart_settings/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -11,14 +11,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-04 19:09+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:18 permissions.py:7 @@ -37,14 +38,6 @@ msgstr "Nome" msgid "Value" msgstr "Valor" -#: apps.py:37 -msgid "Found in path" -msgstr "Existe no caminho" - -#: apps.py:40 -msgid "n/a" -msgstr "n/a" - #: links.py:11 links.py:14 msgid "Settings" msgstr "Definições" @@ -67,6 +60,12 @@ msgstr "Ajustes na categoria: %s" msgid "Namespace: %s, not found" msgstr "Categoria: %s, não encontrada" +#~ msgid "Found in path" +#~ msgstr "Existe no caminho" + +#~ msgid "n/a" +#~ msgstr "n/a" + #~ msgid "Default" #~ msgstr "default" diff --git a/mayan/apps/smart_settings/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/ro_RO/LC_MESSAGES/django.po index 36a97d72ee..5f53cff6ef 100644 --- a/mayan/apps/smart_settings/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/ro_RO/LC_MESSAGES/django.po @@ -1,22 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" #: apps.py:18 permissions.py:7 msgid "Smart settings" @@ -34,14 +36,6 @@ msgstr "Nume" msgid "Value" msgstr "Valoare" -#: apps.py:37 -msgid "Found in path" -msgstr "" - -#: apps.py:40 -msgid "n/a" -msgstr "" - #: links.py:11 links.py:14 msgid "Settings" msgstr "" diff --git a/mayan/apps/smart_settings/locale/ru/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/ru/LC_MESSAGES/django.po index 3e8cdb176a..64959bfefa 100644 --- a/mayan/apps/smart_settings/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -9,15 +9,18 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-07-19 20:00+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:18 permissions.py:7 msgid "Smart settings" @@ -35,14 +38,6 @@ msgstr "Имя" msgid "Value" msgstr "Значение" -#: apps.py:37 -msgid "Found in path" -msgstr "Найдено в пути" - -#: apps.py:40 -msgid "n/a" -msgstr "не задано" - #: links.py:11 links.py:14 msgid "Settings" msgstr "Настройки" @@ -65,6 +60,12 @@ msgstr "Параметры в пространстве имён: %s" msgid "Namespace: %s, not found" msgstr "Пространство имён: %s, не найдено" +#~ msgid "Found in path" +#~ msgstr "Найдено в пути" + +#~ msgid "n/a" +#~ msgstr "не задано" + #~ msgid "Default" #~ msgstr "default" diff --git a/mayan/apps/smart_settings/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/sl_SI/LC_MESSAGES/django.po index 755c80bf6d..855dacaef9 100644 --- a/mayan/apps/smart_settings/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/sl_SI/LC_MESSAGES/django.po @@ -1,22 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" #: apps.py:18 permissions.py:7 msgid "Smart settings" @@ -34,14 +36,6 @@ msgstr "Ime" msgid "Value" msgstr "" -#: apps.py:37 -msgid "Found in path" -msgstr "" - -#: apps.py:40 -msgid "n/a" -msgstr "" - #: links.py:11 links.py:14 msgid "Settings" msgstr "" diff --git a/mayan/apps/smart_settings/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/vi_VN/LC_MESSAGES/django.po index ae3860801d..0d10511603 100644 --- a/mayan/apps/smart_settings/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/vi_VN/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:18 permissions.py:7 @@ -34,14 +35,6 @@ msgstr "Tên" msgid "Value" msgstr "Giá trị" -#: apps.py:37 -msgid "Found in path" -msgstr "" - -#: apps.py:40 -msgid "n/a" -msgstr "" - #: links.py:11 links.py:14 msgid "Settings" msgstr "" diff --git a/mayan/apps/smart_settings/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/zh_CN/LC_MESSAGES/django.po index de302b6284..812332c971 100644 --- a/mayan/apps/smart_settings/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/zh_CN/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:18 permissions.py:7 @@ -34,14 +35,6 @@ msgstr "名称" msgid "Value" msgstr "值" -#: apps.py:37 -msgid "Found in path" -msgstr "" - -#: apps.py:40 -msgid "n/a" -msgstr "" - #: links.py:11 links.py:14 msgid "Settings" msgstr "" diff --git a/mayan/apps/sources/locale/ar/LC_MESSAGES/django.po b/mayan/apps/sources/locale/ar/LC_MESSAGES/django.po index 41c790b791..eeb0d0a8c7 100644 --- a/mayan/apps/sources/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -9,37 +9,38 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." msgstr "" -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "" @@ -63,7 +64,7 @@ msgstr "فك الملفات المضغوطة" msgid "Upload a compressed file's contained files as individual documents" msgstr "تحميل الملفات في ملف مضغوط كوثائق منفردة" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "ملف الاعداد" @@ -71,54 +72,58 @@ msgstr "ملف الاعداد" msgid "File" msgstr "ملف" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "Default" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "تحرير" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "مصادر الوثائق" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "دائما" @@ -155,7 +160,7 @@ msgstr "" msgid "Label" msgstr "" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "" @@ -305,7 +310,6 @@ msgid "" msgstr "" #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -408,7 +412,6 @@ msgstr "" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -416,27 +419,26 @@ msgstr "" msgid "Clear" msgstr "" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." msgstr "" -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." msgstr "" @@ -445,65 +447,72 @@ msgstr "" msgid "Upload a local document from source: %s" msgstr "" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." msgstr "" -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "" -#: views.py:460 +#: views.py:458 +#, python-format +msgid "Trigger check for source \"%s\"?" +msgstr "" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "انشاء مصدر جديد من النوع: %s" -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "الخطوة التالية" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -586,9 +595,11 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/bg/LC_MESSAGES/django.po b/mayan/apps/sources/locale/bg/LC_MESSAGES/django.po index c5e0b1135e..95a73e02d4 100644 --- a/mayan/apps/sources/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Iliya Georgiev , 2012 @@ -9,37 +9,37 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." msgstr "" -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "" @@ -63,7 +63,7 @@ msgstr "" msgid "Upload a compressed file's contained files as individual documents" msgstr "" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "" @@ -71,54 +71,58 @@ msgstr "" msgid "File" msgstr "Файл" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "По подразбиране" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "Редактиране" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "Източници на документи" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "Винаги" @@ -155,7 +159,7 @@ msgstr "" msgid "Label" msgstr "" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "" @@ -305,7 +309,6 @@ msgid "" msgstr "" #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -408,7 +411,6 @@ msgstr "" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -416,27 +418,26 @@ msgstr "" msgid "Clear" msgstr "" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." msgstr "" -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." msgstr "" @@ -445,65 +446,72 @@ msgstr "" msgid "Upload a local document from source: %s" msgstr "" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." msgstr "" -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "" -#: views.py:460 +#: views.py:458 +#, python-format +msgid "Trigger check for source \"%s\"?" +msgstr "" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "" -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "Следваща стъпка" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -586,9 +594,11 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/sources/locale/bs_BA/LC_MESSAGES/django.po index 0230eb46f0..197431cbed 100644 --- a/mayan/apps/sources/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -9,37 +9,38 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." msgstr "" -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "" @@ -63,7 +64,7 @@ msgstr "Otpakuj kompresovane datoteke" msgid "Upload a compressed file's contained files as individual documents" msgstr "Upload kompresovane datoteke koja sadrži individualne dokumente" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "Osnovna datoteka" @@ -71,54 +72,58 @@ msgstr "Osnovna datoteka" msgid "File" msgstr "Datoteka" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "default" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "Urediti" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "izvori dokumenata" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "Uvijek" @@ -155,7 +160,7 @@ msgstr "" msgid "Label" msgstr "" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "" @@ -305,7 +310,6 @@ msgid "" msgstr "" #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -408,7 +412,6 @@ msgstr "" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -416,27 +419,26 @@ msgstr "" msgid "Clear" msgstr "" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." msgstr "" -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." msgstr "" @@ -445,65 +447,72 @@ msgstr "" msgid "Upload a local document from source: %s" msgstr "" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." msgstr "" -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "" -#: views.py:460 +#: views.py:458 +#, python-format +msgid "Trigger check for source \"%s\"?" +msgstr "" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "Kreiraj novi tip izvora: %s" -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "Sljedeći korak" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -586,9 +595,11 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/da/LC_MESSAGES/django.po b/mayan/apps/sources/locale/da/LC_MESSAGES/django.po index 681b2a1908..3bc967bd04 100644 --- a/mayan/apps/sources/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/da/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mads L. Nielsen , 2013 @@ -9,37 +9,37 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." msgstr "" -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "" @@ -63,7 +63,7 @@ msgstr "Udpak komprimerede filer" msgid "Upload a compressed file's contained files as individual documents" msgstr "Upload individuelle filer fra komprimeret arkiv" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "Staging fil" @@ -71,54 +71,58 @@ msgstr "Staging fil" msgid "File" msgstr "Fil" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "Standard" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "Document kilder" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "Altid" @@ -155,7 +159,7 @@ msgstr "" msgid "Label" msgstr "" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "" @@ -305,7 +309,6 @@ msgid "" msgstr "" #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -408,7 +411,6 @@ msgstr "" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -416,27 +418,26 @@ msgstr "" msgid "Clear" msgstr "" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." msgstr "" -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." msgstr "" @@ -445,65 +446,72 @@ msgstr "" msgid "Upload a local document from source: %s" msgstr "" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." msgstr "" -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "" -#: views.py:460 +#: views.py:458 +#, python-format +msgid "Trigger check for source \"%s\"?" +msgstr "" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "Dan en ny kilde af typen: %s" -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "Næste skridt" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -586,9 +594,11 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/sources/locale/de_DE/LC_MESSAGES/django.po index 4235d01a05..40a6be7602 100644 --- a/mayan/apps/sources/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Berny , 2015-2016 @@ -14,37 +14,40 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-31 18:57+0000\n" "Last-Translator: Tobias Paepke \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "Quellen" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "Quelle definieren" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." -msgstr "Dokumentenquellen definieren verschiedene Möglichkeiten für die Einspeisung in Mayan EDMS. Minimal ein Webformular für das Hochladen mittels Browser ist erforderlich." +msgstr "" +"Dokumentenquellen definieren verschiedene Möglichkeiten für die Einspeisung " +"in Mayan EDMS. Minimal ein Webformular für das Hochladen mittels Browser ist " +"erforderlich." -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "Erstellt" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "Bild" @@ -68,7 +71,7 @@ msgstr "Komprimierte Dateien entpacken" msgid "Upload a compressed file's contained files as individual documents" msgstr "Ein komprimiertes Archiv hochladen, das einzelne Dokumente enthält" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "Arbeitsdatei" @@ -76,54 +79,58 @@ msgstr "Arbeitsdatei" msgid "File" msgstr "Datei" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "Standard" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "Neues Dokument" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "Neue IMAP Quelle hinzufügen" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "Neue POP3 Quelle hinzufügen" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "Neuen Staging-Ordner hinzufügen" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "Neuen Beobachtungs-Ordner hinzufügen" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "Neue Quelle für Webformular hinzufügen" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "Löschen" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "Bearbeiten" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "Dokumentenquelle" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "Neue Version hochladen" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "Protokolle" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "Immer" @@ -160,7 +167,7 @@ msgstr "IMAP" msgid "Label" msgstr "Bezeichner" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "Aktiviert" @@ -278,7 +285,9 @@ msgstr "SSL" msgid "" "Typical choices are 110 for POP3, 995 for POP3 over SSL, 143 for IMAP, 993 " "for IMAP over SSL." -msgstr "Typische Werte sind 110 für POP3, 995 für POP3 über SSL, 143 für IMAP, 993 für IMAP über SSL" +msgstr "" +"Typische Werte sind 110 für POP3, 995 für POP3 über SSL, 143 für IMAP, 993 " +"für IMAP über SSL" #: models.py:338 msgid "Port" @@ -297,7 +306,10 @@ msgid "" "Name of the attachment that will contains the metadata type names and value " "pairs to be assigned to the rest of the downloaded attachments. Note: This " "attachment has to be the first attachment." -msgstr "Name des Anhangs, der die Metadatentypen (Paare von Namen und Werten) für die folgenden Anhänge enthält (Bemerkung: dieser Anhang muss der erste Anhang sein)." +msgstr "" +"Name des Anhangs, der die Metadatentypen (Paare von Namen und Werten) für " +"die folgenden Anhänge enthält (Bemerkung: dieser Anhang muss der erste " +"Anhang sein)." #: models.py:349 msgid "Metadata attachment name" @@ -307,10 +319,11 @@ msgstr "Name Metadatenattachment" msgid "" "Select a metadata type valid for the document type selected in which to " "store the email's subject." -msgstr "Wählen Sie einen Metadatentyp zur Speicherung des E-Mail-Betreffs, der für den ausgewählten Dokumententyp zulässig ist" +msgstr "" +"Wählen Sie einen Metadatentyp zur Speicherung des E-Mail-Betreffs, der für " +"den ausgewählten Dokumententyp zulässig ist" #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "Metadatentyp des Betreffs" @@ -318,7 +331,9 @@ msgstr "Metadatentyp des Betreffs" msgid "" "Select a metadata type valid for the document type selected in which to " "store the email's \"from\" value." -msgstr "Wählen Sie einen Metadatentyp zur Speicherung des E-Mail-Absenders, der für den ausgewählten Dokumententyp zulässig ist" +msgstr "" +"Wählen Sie einen Metadatentyp zur Speicherung des E-Mail-Absenders, der für " +"den ausgewählten Dokumententyp zulässig ist" #: models.py:363 msgid "From metadata type" @@ -337,14 +352,18 @@ msgstr "Textkörper der E-Mail speichern" msgid "" "Subject metadata type \"%(metadata_type)s\" is not valid for the document " "type: %(document_type)s" -msgstr "Metadatentyp \"%(metadata_type)s\" des Betreffs ist für den Dokumententyp \"%(document_type)s\" nicht zulässig." +msgstr "" +"Metadatentyp \"%(metadata_type)s\" des Betreffs ist für den Dokumententyp " +"\"%(document_type)s\" nicht zulässig." #: models.py:391 #, python-format msgid "" "\"From\" metadata type \"%(metadata_type)s\" is not valid for the document " "type: %(document_type)s" -msgstr "Metadatentyp \"%(metadata_type)s\" des Absenders ist für den Dokumententyp \"%(document_type)s\" nicht zulässig." +msgstr "" +"Metadatentyp \"%(metadata_type)s\" des Absenders ist für den Dokumententyp " +"\"%(document_type)s\" nicht zulässig." #: models.py:441 #, python-format @@ -413,7 +432,6 @@ msgstr "Staging-Datei löschen" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "Fehler bei der Verarbeitung der Quelle %s" @@ -421,94 +439,109 @@ msgstr "Fehler bei der Verarbeitung der Quelle %s" msgid "Clear" msgstr "Löschen" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "Logeinträge für Quelle %s" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." -msgstr "Es wurden keine interaktiven Dokumentenquellen konfiguriert. Bitte erstellen oder aktivieren Sie eine bevor Sie fortsetzen." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." +msgstr "" +"Es wurden keine interaktiven Dokumentenquellen konfiguriert. Bitte erstellen " +"oder aktivieren Sie eine bevor Sie fortsetzen." -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "Dokumenteneigenschaften" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "Dateien im Staging Pfad" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." -msgstr "Neues Dokument in die Upload-Warteschlange eingereiht und demnächst verfügbar" +msgstr "" +"Neues Dokument in die Upload-Warteschlange eingereiht und demnächst verfügbar" #: views.py:302 #, python-format msgid "Upload a local document from source: %s" msgstr "Ein Dokument aus Quelle %s hochladen" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "Vom Dokument \"%s\" können keine neuen Versionen hochgeladen werden." -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." -msgstr "Neue Dokumentenvrsion in die Upload-Warteschlange eingereiht und demnächst verfügbar" +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." +msgstr "" +"Neue Dokumentenvrsion in die Upload-Warteschlange eingereiht und demnächst " +"verfügbar" -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "Eine neue Version von Quelle %s hochladen" -#: views.py:460 +#: views.py:458 +#, fuzzy, python-format +#| msgid "Log entries for source: %s" +msgid "Trigger check for source \"%s\"?" +msgstr "Logeinträge für Quelle %s" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "Quelle des Typs %s erstellen" -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "Quelle %s wirklich löschen?" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "Quelle %s bearbeiten" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "Typ" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "Seitenbild Stagingdatei" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "Schritt 1 von 3: Dokumententyp auswählen" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "Schritt 2 von 3: Metadaten des Dokuments eingeben" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "Schritt 3 von 3: Tags auswählen" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "Nächster Schritt" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "Uploadassistent" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + +#~ msgid "Staging file page image" +#~ msgstr "Seitenbild Stagingdatei" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -591,9 +624,11 @@ msgstr "Uploadassistent" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/en/LC_MESSAGES/django.po b/mayan/apps/sources/locale/en/LC_MESSAGES/django.po index 4b311ed4d1..2c876a7f30 100644 --- a/mayan/apps/sources/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2013-11-20 13:14+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" @@ -18,29 +18,29 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 #, fuzzy msgid "Sources" msgstr "sources" -#: apps.py:53 +#: apps.py:54 #, fuzzy #| msgid "Create new document sources" msgid "Create a document source" msgstr "Create new document sources" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." msgstr "" -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "" -#: apps.py:71 +#: apps.py:73 #, fuzzy msgid "Thumbnail" msgstr "thumbnail" @@ -65,7 +65,7 @@ msgstr "Expand compressed files" msgid "Upload a compressed file's contained files as individual documents" msgstr "Upload a compressed file's contained files as individual documents" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "Staging file" @@ -73,60 +73,64 @@ msgstr "Staging file" msgid "File" msgstr "File" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "" -#: links.py:26 +#: links.py:30 #, fuzzy msgid "New document" msgstr "upload new version" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "" -#: links.py:45 +#: links.py:49 #, fuzzy msgid "Add new staging folder" msgstr "server staging folders" -#: links.py:50 +#: links.py:54 #, fuzzy msgid "Add new watch folder" msgstr "server watch folders" -#: links.py:55 +#: links.py:59 #, fuzzy msgid "Add new webform source" msgstr "add new source" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 #, fuzzy msgid "Delete" msgstr "delete" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "Document sources" -#: links.py:80 +#: links.py:84 #, fuzzy msgid "Upload new version" msgstr "upload new version" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "Always" @@ -166,7 +170,7 @@ msgstr "" msgid "Label" msgstr "" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 #, fuzzy msgid "Enabled" msgstr "enabled" @@ -450,12 +454,12 @@ msgstr "Error creating source; %s" msgid "Clear" msgstr "" -#: views.py:64 +#: views.py:63 #, fuzzy, python-format msgid "Log entries for source: %s" msgstr "upload a new version from source: %s" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 #, fuzzy msgid "" "No interactive document sources have been defined or none have been enabled, " @@ -463,18 +467,18 @@ msgid "" msgstr "" "No interactive document sources have been defined or none have been enabled." -#: views.py:155 views.py:173 +#: views.py:154 views.py:172 #, fuzzy #| msgid "Document sources" msgid "Document properties" msgstr "Document sources" -#: views.py:163 +#: views.py:162 #, fuzzy msgid "Files in staging path" msgstr "files in staging path" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." msgstr "" @@ -483,66 +487,78 @@ msgstr "" msgid "Upload a local document from source: %s" msgstr "upload a local document from source: %s" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" -#: views.py:381 +#: views.py:380 #, fuzzy msgid "New document version queued for uploaded and will be available shortly." msgstr "New document version uploaded successfully." -#: views.py:419 +#: views.py:418 #, fuzzy, python-format msgid "Upload a new version from source: %s" msgstr "upload a new version from source: %s" -#: views.py:460 +#: views.py:458 +#, fuzzy, python-format +msgid "Trigger check for source \"%s\"?" +msgstr "upload a new version from source: %s" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "Create new source of type: %s" -#: views.py:480 +#: views.py:505 #, fuzzy, python-format #| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "Delete document sources" -#: views.py:499 +#: views.py:524 #, fuzzy, python-format msgid "Edit source: %s" msgstr "edit source: %s" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "" -#: widgets.py:26 -#, fuzzy -msgid "Staging file page image" -msgstr "Staging file" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + +#, fuzzy +#~ msgid "Staging file page image" +#~ msgstr "Staging file" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." diff --git a/mayan/apps/sources/locale/es/LC_MESSAGES/django.po b/mayan/apps/sources/locale/es/LC_MESSAGES/django.po index 5baae4eb66..66434047ee 100644 --- a/mayan/apps/sources/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 @@ -12,37 +12,40 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-23 06:42+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "Fuentes" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "Crear una nueva fuente de documentos" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." -msgstr "Las fuentes de documentos son la manera en la que se almacenan nuevos documentos en Mayan EDMS. Crea por lo menos una fuente del tipo formulario web para poder cargar documentos desde un navegador." +msgstr "" +"Las fuentes de documentos son la manera en la que se almacenan nuevos " +"documentos en Mayan EDMS. Crea por lo menos una fuente del tipo formulario " +"web para poder cargar documentos desde un navegador." -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "Creado" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "Foto miniatura" @@ -64,9 +67,10 @@ msgstr "Expandir archivos comprimidos" #: forms.py:46 msgid "Upload a compressed file's contained files as individual documents" -msgstr "Subir los archivos de un archivo comprimido como documentos individuales" +msgstr "" +"Subir los archivos de un archivo comprimido como documentos individuales" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "Archivo provisional" @@ -74,54 +78,58 @@ msgstr "Archivo provisional" msgid "File" msgstr "Archivo" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "Por defecto" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "Nuevo documento" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "Añadir nuevo correo electrónico IMAP" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "Añadir nuevo correo electrónico POP3" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "Añadir nueva carpeta de ensayo" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "Añadir nueva carpeta observada" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "Añadir nueva fuente en formato web" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "Borrar" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "Editar" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "Fuentes de documentos" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "Subir versión nueva" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "Bitácoras" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "Siempre" @@ -158,7 +166,7 @@ msgstr "Correo electrónico IMAP" msgid "Label" msgstr "Etiqueta" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "Habilitado" @@ -246,7 +254,8 @@ msgstr "Intérvalo" #: models.py:273 msgid "Assign a document type to documents uploaded from this source." -msgstr "Asignar un tipo de documento a los documentos subidos desde esta fuente" +msgstr "" +"Asignar un tipo de documento a los documentos subidos desde esta fuente" #: models.py:275 msgid "Document type" @@ -276,7 +285,9 @@ msgstr "SSL" msgid "" "Typical choices are 110 for POP3, 995 for POP3 over SSL, 143 for IMAP, 993 " "for IMAP over SSL." -msgstr "Las opciones típicas son 110 para POP3, 995 para POP3 sobre SSL, 143 para IMAP, 993 para IMAP sobre SSL." +msgstr "" +"Las opciones típicas son 110 para POP3, 995 para POP3 sobre SSL, 143 para " +"IMAP, 993 para IMAP sobre SSL." #: models.py:338 msgid "Port" @@ -295,7 +306,11 @@ msgid "" "Name of the attachment that will contains the metadata type names and value " "pairs to be assigned to the rest of the downloaded attachments. Note: This " "attachment has to be the first attachment." -msgstr "Nombre del archivo adjunto que contiene los nombres de los tipos de metadatos y los pares de valores que se asignará al resto de los archivos adjuntos descargados. Nota: Este anejo tiene que ser el primer archivo adjunto." +msgstr "" +"Nombre del archivo adjunto que contiene los nombres de los tipos de " +"metadatos y los pares de valores que se asignará al resto de los archivos " +"adjuntos descargados. Nota: Este anejo tiene que ser el primer archivo " +"adjunto." #: models.py:349 msgid "Metadata attachment name" @@ -308,7 +323,6 @@ msgid "" msgstr "" #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "Tipo de metadatos de asunto " @@ -411,7 +425,6 @@ msgstr "Borrar archivos provisionales" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "Error procesando fuente: %s" @@ -419,27 +432,28 @@ msgstr "Error procesando fuente: %s" msgid "Clear" msgstr "" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "Entradas de bitácora para fuente: %s" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." -msgstr "No se han definido fuentes de documentos interactivos o no hay ninguna habilitada, cree una antes de continuar." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." +msgstr "" +"No se han definido fuentes de documentos interactivos o no hay ninguna " +"habilitada, cree una antes de continuar." -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "Propiedades de documento" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "Archivos en ruta de ensayo" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." msgstr "Nuevo documento en cola para ser cargado, estará disponible en breve." @@ -448,65 +462,78 @@ msgstr "Nuevo documento en cola para ser cargado, estará disponible en breve." msgid "Upload a local document from source: %s" msgstr "Subir documento local desde la fuente: %s" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." -msgstr "Nueva versión del documento en cola para ser cargado, estará disponible en breve." +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." +msgstr "" +"Nueva versión del documento en cola para ser cargado, estará disponible en " +"breve." -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "Subir una nueva versión de la fuente: %s" -#: views.py:460 +#: views.py:458 +#, fuzzy, python-format +#| msgid "Log entries for source: %s" +msgid "Trigger check for source \"%s\"?" +msgstr "Entradas de bitácora para fuente: %s" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "Crear nuevo tipo de fuente: %s" -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "¿Eliminar la fuente: %s?" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "Editar fuente: %s" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "Tipo" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "Imagen de página de archivo provisional" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "Paso 1 de 3: Seleccione tipo de documento" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "Paso 2 de 3: Entre la metadata del documento" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "Pago 3 de 3: Seleccione las etiquetas" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "Siguiente paso" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "Asistente de carga de documentos" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + +#~ msgid "Staging file page image" +#~ msgstr "Imagen de página de archivo provisional" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -589,9 +616,11 @@ msgstr "Asistente de carga de documentos" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/fa/LC_MESSAGES/django.po b/mayan/apps/sources/locale/fa/LC_MESSAGES/django.po index 732e2b8877..5514e2864d 100644 --- a/mayan/apps/sources/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammad Dashtizadeh , 2013 @@ -9,37 +9,37 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "سورس" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." msgstr "" -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "ساخته‌شده" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "اندازه کوچک" @@ -63,7 +63,7 @@ msgstr "بازگشایی فایلهای فشرده" msgid "Upload a compressed file's contained files as individual documents" msgstr "آپلود فایل فشرده شامل فایل اصلی سند." -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "پرونده مرحله ای" @@ -71,54 +71,58 @@ msgstr "پرونده مرحله ای" msgid "File" msgstr "پرونده" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "پیش فرض" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "اضافه کردن IMAP جدید" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "اضافه کردن pop3 جدید" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "ایجتد پرونده مرحله ای" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "ایجاد پرونده تحت نظر" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "اضافه کردن سورس جدید یک وب فرم" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "حذف" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "ویرایش" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "سورسهای سند" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "آپلود نسخه دید" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "همیشه" @@ -133,7 +137,9 @@ msgstr "پرسیدن از کاربر" #: literals.py:27 models.py:252 msgid "Web form" -msgstr "وب فرم ا " +msgstr "" +"وب فرم " +"ا " #: literals.py:28 models.py:232 msgid "Staging folder" @@ -155,7 +161,7 @@ msgstr "ایمیل IMAP" msgid "Label" msgstr "برچسب" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "فعال شده" @@ -273,7 +279,9 @@ msgstr "SSL" msgid "" "Typical choices are 110 for POP3, 995 for POP3 over SSL, 143 for IMAP, 993 " "for IMAP over SSL." -msgstr "Typical choices are 110 for POP3, 995 for POP3 over SSL, 143 for IMAP, 993 for IMAP over SSL." +msgstr "" +"Typical choices are 110 for POP3, 995 for POP3 over SSL, 143 for IMAP, 993 " +"for IMAP over SSL." #: models.py:338 msgid "Port" @@ -305,7 +313,6 @@ msgid "" msgstr "" #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -408,7 +415,6 @@ msgstr "" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -416,27 +422,28 @@ msgstr "" msgid "Clear" msgstr "" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." -msgstr "هیچ منبع محاوره ای سند تعریف و یا فعال نشده، قبل از ادامه دادن یک منبع بسازید." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." +msgstr "" +"هیچ منبع محاوره ای سند تعریف و یا فعال نشده، قبل از ادامه دادن یک منبع " +"بسازید." -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "فایلهای درون راه مرحله ای" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." msgstr "سند جدیدی که در صف آپلود است بزودی قابل دسترس خواهد بود." @@ -445,65 +452,75 @@ msgstr "سند جدیدی که در صف آپلود است بزودی قابل msgid "Upload a local document from source: %s" msgstr "آپلود کردن فایل محلی از اصل:%s" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." msgstr "نسخه سند جدید که جهت آپلود وارد صف شد بزودی قابل دسترس خواهد بود." -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "آپلود نسخه ای جدید از اصل : %s" -#: views.py:460 +#: views.py:458 +#, python-format +msgid "Trigger check for source \"%s\"?" +msgstr "" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "ایجاد سورس جدید از نوع %s." -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "ویرایش اصل : %s" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "نوع" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "تصویر صفحه فایل مرحله ای" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "مرحله بعدی" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + +#~ msgid "Staging file page image" +#~ msgstr "تصویر صفحه فایل مرحله ای" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -586,9 +603,11 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/fr/LC_MESSAGES/django.po b/mayan/apps/sources/locale/fr/LC_MESSAGES/django.po index 301d826e7a..257555c26e 100644 --- a/mayan/apps/sources/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Bruno CAPELETO , 2016 @@ -12,37 +12,40 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-05-23 20:06+0000\n" "Last-Translator: Bruno CAPELETO \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "Sources" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "Créer un document source" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." -msgstr "Les sources de document seront la façon pour lesquels les nouveaux documents seront suivis dans Mayan EDMS, créer par au moins un formulaire web pour téléverser le document depuis le navigateur" +msgstr "" +"Les sources de document seront la façon pour lesquels les nouveaux documents " +"seront suivis dans Mayan EDMS, créer par au moins un formulaire web pour " +"téléverser le document depuis le navigateur" -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "Créé" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "Vignette" @@ -64,9 +67,11 @@ msgstr "Décompresser les fichiers" #: forms.py:46 msgid "Upload a compressed file's contained files as individual documents" -msgstr "Importer le contenu d'un ensemble de fichiers compressés comme fichiers individuels" +msgstr "" +"Importer le contenu d'un ensemble de fichiers compressés comme fichiers " +"individuels" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "fichier en cours de modification" @@ -74,54 +79,58 @@ msgstr "fichier en cours de modification" msgid "File" msgstr "Fichier" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "Défaut" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "Nouveau document" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "Ajouter un nouveau compte mail IMAP" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "Ajouter un nouveau compte mail POP3" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "Ajouter un nouveau répertoire d'indexation" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "Ajouter une nouvelle surveillance de dossier" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "Ajouter une nouvelle source de formulaire web" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "Supprimer" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "Modifier" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "Sources du document" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "Importer une nouvelle version" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "Journaux évènement" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "Toujours" @@ -158,7 +167,7 @@ msgstr "email IMAP" msgid "Label" msgstr "Libellé" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "Activé" @@ -246,7 +255,8 @@ msgstr "Intervalle" #: models.py:273 msgid "Assign a document type to documents uploaded from this source." -msgstr "Assigner un type de document aux documents importés à partir de cette source." +msgstr "" +"Assigner un type de document aux documents importés à partir de cette source." #: models.py:275 msgid "Document type" @@ -276,7 +286,9 @@ msgstr "SSL" msgid "" "Typical choices are 110 for POP3, 995 for POP3 over SSL, 143 for IMAP, 993 " "for IMAP over SSL." -msgstr "Les choix typiques sont 110 pour le POP3, 995 pour le POP3 over SSL, 143 pour l'IMAP, 993 pour l'IMAP over SSL." +msgstr "" +"Les choix typiques sont 110 pour le POP3, 995 pour le POP3 over SSL, 143 " +"pour l'IMAP, 993 pour l'IMAP over SSL." #: models.py:338 msgid "Port" @@ -295,7 +307,10 @@ msgid "" "Name of the attachment that will contains the metadata type names and value " "pairs to be assigned to the rest of the downloaded attachments. Note: This " "attachment has to be the first attachment." -msgstr "Le nom de la pièce jointe qui contiendra les noms des type de métadonnée et aux couple de valeur qui seront assignés au reste des documents téléversés. Noter que cette pièce jointe sera la première." +msgstr "" +"Le nom de la pièce jointe qui contiendra les noms des type de métadonnée et " +"aux couple de valeur qui seront assignés au reste des documents téléversés. " +"Noter que cette pièce jointe sera la première." #: models.py:349 msgid "Metadata attachment name" @@ -305,10 +320,11 @@ msgstr "Métadonnées de la pièce jointe" msgid "" "Select a metadata type valid for the document type selected in which to " "store the email's subject." -msgstr "Sélectionner un type de métadonnée correct pour le type de document sélectionné, dans lequel enregistrer le sujet de l'email" +msgstr "" +"Sélectionner un type de métadonnée correct pour le type de document " +"sélectionné, dans lequel enregistrer le sujet de l'email" #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "Type de métadonnée du sujet" @@ -316,7 +332,9 @@ msgstr "Type de métadonnée du sujet" msgid "" "Select a metadata type valid for the document type selected in which to " "store the email's \"from\" value." -msgstr "Sélectionner un type de métadonnée correct pour le type de document sélectionné, dans lequel enregistrer la valeur du champs \"de\"" +msgstr "" +"Sélectionner un type de métadonnée correct pour le type de document " +"sélectionné, dans lequel enregistrer la valeur du champs \"de\"" #: models.py:363 msgid "From metadata type" @@ -335,14 +353,18 @@ msgstr "Sauvegarder le corps de l'email" msgid "" "Subject metadata type \"%(metadata_type)s\" is not valid for the document " "type: %(document_type)s" -msgstr "Le type de métadonnée du sujet \"%(metadata_type)s\" n'est pas correct pour le document de type: %(document_type)s" +msgstr "" +"Le type de métadonnée du sujet \"%(metadata_type)s\" n'est pas correct pour " +"le document de type: %(document_type)s" #: models.py:391 #, python-format msgid "" "\"From\" metadata type \"%(metadata_type)s\" is not valid for the document " "type: %(document_type)s" -msgstr "Le type de métadonnée du champs \"de\" \"%(metadata_type)s\" n'est pas correct pour le document de type: %(document_type)s" +msgstr "" +"Le type de métadonnée du champs \"de\" \"%(metadata_type)s\" n'est pas " +"correct pour le document de type: %(document_type)s" #: models.py:441 #, python-format @@ -411,7 +433,6 @@ msgstr "Supprimer les fichiers en attente" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "Erreur lors du traitement de la source: %s" @@ -419,94 +440,110 @@ msgstr "Erreur lors du traitement de la source: %s" msgid "Clear" msgstr "Effacer" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "Entrée du journal pour la source: %s" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." -msgstr "Aucune source de document interactifs n'a été définie ou/ni activée, créer en une avant de continuer." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." +msgstr "" +"Aucune source de document interactifs n'a été définie ou/ni activée, créer " +"en une avant de continuer." -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "Propriété du document" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "Fichiers dans l'index, en cours de modification" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." -msgstr "Nouveau document ajouter dans la file d'attente pour transfert et disponible dans les plus bref délai." +msgstr "" +"Nouveau document ajouter dans la file d'attente pour transfert et disponible " +"dans les plus bref délai." #: views.py:302 #, python-format msgid "Upload a local document from source: %s" msgstr "importer un document local à partir de la source: %s" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "L'ajout d'une nouvelle version pour le document \"%s\" est bloqué." -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." -msgstr "Une nouvelle version du document mis en fille d'attente pour importation qui sera disponible dans les plus brefs délai." +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." +msgstr "" +"Une nouvelle version du document mis en fille d'attente pour importation qui " +"sera disponible dans les plus brefs délai." -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "Importer une nouvelle version à partir de la source: %s" -#: views.py:460 +#: views.py:458 +#, fuzzy, python-format +#| msgid "Log entries for source: %s" +msgid "Trigger check for source \"%s\"?" +msgstr "Entrée du journal pour la source: %s" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "Créer une nouvelle source de type:%s" -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "Supprimer la source: %s?" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "Modifier la source: %s" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "Type" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "Affichage sous forme d'image de la page de fichier" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "Etape 1 sur 3: Sélectionner le type du document" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "Etape 2 sur 3: Entrer les metadonnées" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "Etape 3 sur 3: Sélectionner les tags" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "Prochaine étape" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "Assistant d'envoi de document" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + +#~ msgid "Staging file page image" +#~ msgstr "Affichage sous forme d'image de la page de fichier" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -589,9 +626,11 @@ msgstr "Assistant d'envoi de document" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/hu/LC_MESSAGES/django.po b/mayan/apps/sources/locale/hu/LC_MESSAGES/django.po index 1ffec0bb11..8711913b2d 100644 --- a/mayan/apps/sources/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/hu/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Dezső József , 2014 @@ -9,37 +9,37 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." msgstr "" -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "" @@ -63,7 +63,7 @@ msgstr "Tömörített fájlok kibontása" msgid "Upload a compressed file's contained files as individual documents" msgstr "Tömörített fájlokat feltöltése önálló dokumentumként" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "Átmeneti fájl" @@ -71,54 +71,58 @@ msgstr "Átmeneti fájl" msgid "File" msgstr "" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "Dokumentum források" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "Mindig" @@ -155,7 +159,7 @@ msgstr "" msgid "Label" msgstr "" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "" @@ -305,7 +309,6 @@ msgid "" msgstr "" #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -408,7 +411,6 @@ msgstr "" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -416,27 +418,26 @@ msgstr "" msgid "Clear" msgstr "" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." msgstr "" -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." msgstr "" @@ -445,65 +446,72 @@ msgstr "" msgid "Upload a local document from source: %s" msgstr "" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." msgstr "" -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "" -#: views.py:460 +#: views.py:458 +#, python-format +msgid "Trigger check for source \"%s\"?" +msgstr "" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "" -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "Következő lépés" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -586,9 +594,11 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/id/LC_MESSAGES/django.po b/mayan/apps/sources/locale/id/LC_MESSAGES/django.po index acadcb0714..153fc3b335 100644 --- a/mayan/apps/sources/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/id/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Sehat , 2013 @@ -9,37 +9,37 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." msgstr "" -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "" @@ -61,9 +61,11 @@ msgstr "Kembangkan berkas-berkas terkompresi" #: forms.py:46 msgid "Upload a compressed file's contained files as individual documents" -msgstr "Unggah berkas terkompresi yang mengandung berkas-berkas sebagai dokumen-dokumen individual" +msgstr "" +"Unggah berkas terkompresi yang mengandung berkas-berkas sebagai dokumen-" +"dokumen individual" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "" @@ -71,54 +73,58 @@ msgstr "" msgid "File" msgstr "File" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "Sumber-sumber dokumen" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "Selalu" @@ -155,7 +161,7 @@ msgstr "" msgid "Label" msgstr "" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "" @@ -305,7 +311,6 @@ msgid "" msgstr "" #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -408,7 +413,6 @@ msgstr "" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -416,27 +420,26 @@ msgstr "" msgid "Clear" msgstr "" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." msgstr "" -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." msgstr "" @@ -445,65 +448,72 @@ msgstr "" msgid "Upload a local document from source: %s" msgstr "" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." msgstr "" -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "" -#: views.py:460 +#: views.py:458 +#, python-format +msgid "Trigger check for source \"%s\"?" +msgstr "" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "Membuat sumber baru dengan jenis: %s" -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "Langkah selanjutnya" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -586,9 +596,11 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/it/LC_MESSAGES/django.po b/mayan/apps/sources/locale/it/LC_MESSAGES/django.po index 445c620dae..da214de981 100644 --- a/mayan/apps/sources/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Giovanni Tricarico , 2014 @@ -11,37 +11,39 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-09-24 13:19+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "Sorgenti" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "Crea una sorgente documento" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." -msgstr "Sorgenti documento è il mezzo con cui i nuovi documenti alimentano Mayan EDMS, crea almeno una modulo web per poter caricare documenti da un browser." +msgstr "" +"Sorgenti documento è il mezzo con cui i nuovi documenti alimentano Mayan " +"EDMS, crea almeno una modulo web per poter caricare documenti da un browser." -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "Creato" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "Miniatura" @@ -65,7 +67,7 @@ msgstr "Espandi" msgid "Upload a compressed file's contained files as individual documents" msgstr "Pubblicare un file compresso contenente singoli documenti" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "Mostra file" @@ -73,54 +75,58 @@ msgstr "Mostra file" msgid "File" msgstr "File" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "Default" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "Nuovo documento" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "Aggiungi nuova email IMAP" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "Aggiungi nuova Email POP3" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "Aggiungi una nuova cartella di stage" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "Aggiungi una nuova cartella monitorata" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "Aggiungi nuova sorgente webform" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "Cancella" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "Modifica" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "Sorgente del documento" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "Carica nuova versione" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "Log" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "Sempre" @@ -157,7 +163,7 @@ msgstr "Email IMAP" msgid "Label" msgstr "Etichetta" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "Abilitato" @@ -183,7 +189,8 @@ msgstr "Percorso cartella" #: models.py:165 msgid "Width value to be passed to the converter backend." -msgstr "valore della larghezza da passare per le operazioni di conversione in backend" +msgstr "" +"valore della larghezza da passare per le operazioni di conversione in backend" #: models.py:166 msgid "Preview width" @@ -191,7 +198,8 @@ msgstr "Larghezza anteprima" #: models.py:170 msgid "Height value to be passed to the converter backend." -msgstr "valore dell'altezza da passare per le operazioni di conversione in backend" +msgstr "" +"valore dell'altezza da passare per le operazioni di conversione in backend" #: models.py:171 msgid "Preview height" @@ -275,7 +283,9 @@ msgstr "SSL" msgid "" "Typical choices are 110 for POP3, 995 for POP3 over SSL, 143 for IMAP, 993 " "for IMAP over SSL." -msgstr "Le scelte tipiche sono 110 per POP3, 995 per POP3 su SSL, 143 per IMAP, 993 per IMAP su SSL." +msgstr "" +"Le scelte tipiche sono 110 per POP3, 995 per POP3 su SSL, 143 per IMAP, 993 " +"per IMAP su SSL." #: models.py:338 msgid "Port" @@ -294,7 +304,10 @@ msgid "" "Name of the attachment that will contains the metadata type names and value " "pairs to be assigned to the rest of the downloaded attachments. Note: This " "attachment has to be the first attachment." -msgstr "Nome degli allegati che possono contenere i nomi dei tipi metadati e le coppie di valori che saranno assegnate al resto degli allegati caricati. Nota: Questo allegato sarà il primo degli allegati." +msgstr "" +"Nome degli allegati che possono contenere i nomi dei tipi metadati e le " +"coppie di valori che saranno assegnate al resto degli allegati caricati. " +"Nota: Questo allegato sarà il primo degli allegati." #: models.py:349 msgid "Metadata attachment name" @@ -304,10 +317,11 @@ msgstr "Nome allegato metadati" msgid "" "Select a metadata type valid for the document type selected in which to " "store the email's subject." -msgstr "Selezionare il tipo metadato valido per il documento selezionato dove impostare l'oggetto della mail." +msgstr "" +"Selezionare il tipo metadato valido per il documento selezionato dove " +"impostare l'oggetto della mail." #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "Tipo metadato oggetto" @@ -315,7 +329,9 @@ msgstr "Tipo metadato oggetto" msgid "" "Select a metadata type valid for the document type selected in which to " "store the email's \"from\" value." -msgstr "Selezionare il tipo metadato valido per il documento selezionato dove impostare il mittente della mail." +msgstr "" +"Selezionare il tipo metadato valido per il documento selezionato dove " +"impostare il mittente della mail." #: models.py:363 msgid "From metadata type" @@ -334,14 +350,18 @@ msgstr "Salva il contenuto della mail" msgid "" "Subject metadata type \"%(metadata_type)s\" is not valid for the document " "type: %(document_type)s" -msgstr "Il tipo metadato \"oggetto\" \"%(metadata_type)s\" non è valido per il tipo documento: %(document_type)s" +msgstr "" +"Il tipo metadato \"oggetto\" \"%(metadata_type)s\" non è valido per il tipo " +"documento: %(document_type)s" #: models.py:391 #, python-format msgid "" "\"From\" metadata type \"%(metadata_type)s\" is not valid for the document " "type: %(document_type)s" -msgstr "Il tipo metadato \"mittente\" \"%(metadata_type)s\" non è valido per il tipo documento: %(document_type)s" +msgstr "" +"Il tipo metadato \"mittente\" \"%(metadata_type)s\" non è valido per il tipo " +"documento: %(document_type)s" #: models.py:441 #, python-format @@ -410,7 +430,6 @@ msgstr "Cancella i file temporanei" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "Errore processando la sorgente: %s" @@ -418,94 +437,109 @@ msgstr "Errore processando la sorgente: %s" msgid "Clear" msgstr "Pulisci" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "Log per la sorgente: %s" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." -msgstr "Nessuna fonte interattiva dei documenti è stata definita o non ne sono state attivate." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." +msgstr "" +"Nessuna fonte interattiva dei documenti è stata definita o non ne sono state " +"attivate." -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "Proprietà documento" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "File nel percorso di stage" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." -msgstr "Il nuovo documento pronto in coda per il carico e sarà disponibile a breve." +msgstr "" +"Il nuovo documento pronto in coda per il carico e sarà disponibile a breve." #: views.py:302 #, python-format msgid "Upload a local document from source: %s" msgstr "Carica un documento locale dalla sorgente: %s" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "Il documento \"%s\" è bloccato per il caricamento di nuove versioni." -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." -msgstr "La nuova versione del documento è in coda per il caricamento e sarà disponibile a breve." +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." +msgstr "" +"La nuova versione del documento è in coda per il caricamento e sarà " +"disponibile a breve." -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "Carica la nuova versione dalla sorgente: %s" -#: views.py:460 +#: views.py:458 +#, fuzzy, python-format +#| msgid "Log entries for source: %s" +msgid "Trigger check for source \"%s\"?" +msgstr "Log per la sorgente: %s" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "Crea nuovo tipo di sorgente:%s" -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "Cancellare la sorgente: %s?" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "Modifica sorgente: %s" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "Tipo" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "Immagine pagina file di stage" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "Passo 1 di 3: Seleziona il tipo documento" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "Passo 2 di 3: Inserisci i metadati del documento" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "Passo 3 di 3: Seleziona i tag" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "Prossimo passo " -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "Procedura guidata carico documenti" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + +#~ msgid "Staging file page image" +#~ msgstr "Immagine pagina file di stage" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -588,9 +622,11 @@ msgstr "Procedura guidata carico documenti" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/sources/locale/nl_NL/LC_MESSAGES/django.po index 0d55ab1878..c8b978d9c7 100644 --- a/mayan/apps/sources/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -10,37 +10,37 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-09 15:57+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "Bronnen" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "Maak een documentbron aan" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." msgstr "" -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "Aangemaakt" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "Thumbnail" @@ -62,9 +62,10 @@ msgstr "Uitpakken gecomprimeerde bestanden" #: forms.py:46 msgid "Upload a compressed file's contained files as individual documents" -msgstr "Upload een gecomprimeerd archief van bestanden als individuele documenten" +msgstr "" +"Upload een gecomprimeerd archief van bestanden als individuele documenten" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "Tijdelijk bestand" @@ -72,54 +73,58 @@ msgstr "Tijdelijk bestand" msgid "File" msgstr "Bestand" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "Verstekwaarde" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "Nieuw document" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "Voeg nieuwe IMAP-email toe." -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "Verwijder" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "bewerken" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "Documentbronnen" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "Nieuwe versie uploaden" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "Logs" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "Altijd" @@ -156,7 +161,7 @@ msgstr "IMAP e-mail" msgid "Label" msgstr "Label" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "Ingeschakeld" @@ -215,7 +220,9 @@ msgstr "" #: models.py:207 #, python-format msgid "Unable get list of staging files: %s" -msgstr "Het is niet mogelijk om een lijst met tijdelijke bestanden aan te maken. Foutmelding: %s" +msgstr "" +"Het is niet mogelijk om een lijst met tijdelijke bestanden aan te maken. " +"Foutmelding: %s" #: models.py:228 #, python-format @@ -244,7 +251,8 @@ msgstr "" #: models.py:273 msgid "Assign a document type to documents uploaded from this source." -msgstr "Wijs een documentsoort toe voor documenten die worden geüpload van deze bron." +msgstr "" +"Wijs een documentsoort toe voor documenten die worden geüpload van deze bron." #: models.py:275 msgid "Document type" @@ -306,7 +314,6 @@ msgid "" msgstr "" #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -409,7 +416,6 @@ msgstr "" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -417,27 +423,26 @@ msgstr "" msgid "Clear" msgstr "" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." msgstr "" -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." msgstr "" @@ -446,65 +451,72 @@ msgstr "" msgid "Upload a local document from source: %s" msgstr "" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." msgstr "" -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "" -#: views.py:460 +#: views.py:458 +#, python-format +msgid "Trigger check for source \"%s\"?" +msgstr "" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "Aanmaken van nieuw documentbron van type: %s" -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "Type" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "Volgende stap" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -587,9 +599,11 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/pl/LC_MESSAGES/django.po b/mayan/apps/sources/locale/pl/LC_MESSAGES/django.po index 888e95601b..a6bb70e727 100644 --- a/mayan/apps/sources/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # mic , 2012-2013 @@ -11,37 +11,38 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-23 13:44+0000\n" "Last-Translator: Wojtek Warczakowski \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." msgstr "" -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "Utworzony" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "Miniaturka" @@ -65,7 +66,7 @@ msgstr "" msgid "Upload a compressed file's contained files as individual documents" msgstr "" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "" @@ -73,54 +74,58 @@ msgstr "" msgid "File" msgstr "Plik" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "Domyślne" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "Nowy dokument" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "Usuń" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "Edytuj" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "Prześlij nową wersję" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "Zawsze" @@ -157,7 +162,7 @@ msgstr "" msgid "Label" msgstr "Etykieta" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "Włączone" @@ -307,7 +312,6 @@ msgid "" msgstr "" #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -410,7 +414,6 @@ msgstr "" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -418,27 +421,26 @@ msgstr "" msgid "Clear" msgstr "" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." msgstr "" -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "Właściwości dokumentu" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." msgstr "" @@ -447,65 +449,72 @@ msgstr "" msgid "Upload a local document from source: %s" msgstr "" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." msgstr "" -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "" -#: views.py:460 +#: views.py:458 +#, python-format +msgid "Trigger check for source \"%s\"?" +msgstr "" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "Utwórz nowe typ źródło:%s" -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "Typ" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "Krok 1 z 3: Wybierz typ dokumentu" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "Krok 2 z 3: Wprowadź metadane dokumentu" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "Krok 3 z 3: Wybierz tagi" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "Następny krok" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "Kreator przesyłania dokumentu" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -588,9 +597,11 @@ msgstr "Kreator przesyłania dokumentu" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/pt/LC_MESSAGES/django.po b/mayan/apps/sources/locale/pt/LC_MESSAGES/django.po index f51f73f634..dd585f56b5 100644 --- a/mayan/apps/sources/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Emerson Soares , 2011 @@ -11,37 +11,37 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." msgstr "" -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "" @@ -63,9 +63,11 @@ msgstr "Expandir ficheiros comprimidos" #: forms.py:46 msgid "Upload a compressed file's contained files as individual documents" -msgstr "Enviar os ficheiros contidos num ficheiro comprimido como documentos individuais" +msgstr "" +"Enviar os ficheiros contidos num ficheiro comprimido como documentos " +"individuais" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "Ficheiro de preparação" @@ -73,54 +75,58 @@ msgstr "Ficheiro de preparação" msgid "File" msgstr "Ficheiro" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "Padrão" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "Eliminar" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "Editar" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "Fontes de documentoo" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "Sempre" @@ -157,7 +163,7 @@ msgstr "" msgid "Label" msgstr "Nome" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "" @@ -307,7 +313,6 @@ msgid "" msgstr "" #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -410,7 +415,6 @@ msgstr "" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -418,27 +422,26 @@ msgstr "" msgid "Clear" msgstr "" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." msgstr "" -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." msgstr "" @@ -447,65 +450,72 @@ msgstr "" msgid "Upload a local document from source: %s" msgstr "" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." msgstr "" -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "" -#: views.py:460 +#: views.py:458 +#, python-format +msgid "Trigger check for source \"%s\"?" +msgstr "" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "Criar nova fonte do tipo: %s" -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "Próximo passo" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -588,9 +598,11 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/sources/locale/pt_BR/LC_MESSAGES/django.po index 043157c177..8f4812a6c3 100644 --- a/mayan/apps/sources/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -11,37 +11,40 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-17 23:07+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "Fontes" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "Criar uma nova fonte de documentos" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." -msgstr "Fontes de documentos são a forma como os novos documentos são alimentados ao Mayan EDMS, crie pelo menos uma fonte de formulário da web para poder carregar documentos a partir de um navegador." +msgstr "" +"Fontes de documentos são a forma como os novos documentos são alimentados ao " +"Mayan EDMS, crie pelo menos uma fonte de formulário da web para poder " +"carregar documentos a partir de um navegador." -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "Criando" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "miniatura" @@ -63,9 +66,10 @@ msgstr "Expandir arquivos compactados" #: forms.py:46 msgid "Upload a compressed file's contained files as individual documents" -msgstr "Upload de um arquivo compactado contendo arquivos como documentos individuais" +msgstr "" +"Upload de um arquivo compactado contendo arquivos como documentos individuais" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "Preparação de arquivo" @@ -73,54 +77,58 @@ msgstr "Preparação de arquivo" msgid "File" msgstr "Arquivo" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "Padrão" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "Novo documento" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "Adicionar um novo email IMAP" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "Adicionar um novo email POP3" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "Adicionar nova pasta de teste" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "Adicionar uma nova pasta temporária" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "Adicionar nova fonte webform" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "Excluir" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "Editar" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "Fontes de documentos" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "Upload de uma nova versão" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "Logs" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "Sempre" @@ -157,7 +165,7 @@ msgstr "E-mail IMAP" msgid "Label" msgstr "Label" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "habilitado" @@ -245,7 +253,8 @@ msgstr "intervalo" #: models.py:273 msgid "Assign a document type to documents uploaded from this source." -msgstr "Atribuir um tipo de documento para documentos enviados a partir desta fonte." +msgstr "" +"Atribuir um tipo de documento para documentos enviados a partir desta fonte." #: models.py:275 msgid "Document type" @@ -275,7 +284,9 @@ msgstr "SSL" msgid "" "Typical choices are 110 for POP3, 995 for POP3 over SSL, 143 for IMAP, 993 " "for IMAP over SSL." -msgstr "Escolhas típicas : 110 para POP3, 995 para POP3 sobre SSL, 143 para IMAP, 993 para IMAP sobre SSL." +msgstr "" +"Escolhas típicas : 110 para POP3, 995 para POP3 sobre SSL, 143 para IMAP, " +"993 para IMAP sobre SSL." #: models.py:338 msgid "Port" @@ -294,7 +305,10 @@ msgid "" "Name of the attachment that will contains the metadata type names and value " "pairs to be assigned to the rest of the downloaded attachments. Note: This " "attachment has to be the first attachment." -msgstr "Nome do anexo que contém os nomes de tipo de metadados e os pares de valores a serem atribuídos ao restante dos anexos transferidos. Nota: Este anexo tem de ser o primeiro anexo." +msgstr "" +"Nome do anexo que contém os nomes de tipo de metadados e os pares de valores " +"a serem atribuídos ao restante dos anexos transferidos. Nota: Este anexo tem " +"de ser o primeiro anexo." #: models.py:349 msgid "Metadata attachment name" @@ -304,10 +318,11 @@ msgstr "Nome do metadado anexado" msgid "" "Select a metadata type valid for the document type selected in which to " "store the email's subject." -msgstr "Selecione um tipo de metadados válido para o tipo de documento selecionado para armazenar o assunto do e-mail." +msgstr "" +"Selecione um tipo de metadados válido para o tipo de documento selecionado " +"para armazenar o assunto do e-mail." #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "Tipo de metadado do assunto" @@ -315,7 +330,9 @@ msgstr "Tipo de metadado do assunto" msgid "" "Select a metadata type valid for the document type selected in which to " "store the email's \"from\" value." -msgstr "Selecione um tipo de metadados válido para o tipo de documento selecionado para armazenar o valor \"de\" do e-mail." +msgstr "" +"Selecione um tipo de metadados válido para o tipo de documento selecionado " +"para armazenar o valor \"de\" do e-mail." #: models.py:363 msgid "From metadata type" @@ -334,14 +351,18 @@ msgstr "Armazenar o corpo do e-mail" msgid "" "Subject metadata type \"%(metadata_type)s\" is not valid for the document " "type: %(document_type)s" -msgstr "Tipo de metadado do assunto \"%(metadata_type)s\" não é válido para o documento do tipo: %(document_type)s" +msgstr "" +"Tipo de metadado do assunto \"%(metadata_type)s\" não é válido para o " +"documento do tipo: %(document_type)s" #: models.py:391 #, python-format msgid "" "\"From\" metadata type \"%(metadata_type)s\" is not valid for the document " "type: %(document_type)s" -msgstr "Tipo de metadados do campo \"de\" \"%(metadata_type)s\" não é válido para o tipo de documento: %(document_type)s" +msgstr "" +"Tipo de metadados do campo \"de\" \"%(metadata_type)s\" não é válido para o " +"tipo de documento: %(document_type)s" #: models.py:441 #, python-format @@ -410,7 +431,6 @@ msgstr "Apagar arquivos temporários" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "Erro processando fonte: %s" @@ -418,27 +438,28 @@ msgstr "Erro processando fonte: %s" msgid "Clear" msgstr "Limpar" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "Registrar entradas para fonte: %s" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." -msgstr "Nenhuma fonte interativa de documentos fora definida ou nenhum foi ativada. Criar uma antes de prosseguir." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." +msgstr "" +"Nenhuma fonte interativa de documentos fora definida ou nenhum foi ativada. " +"Criar uma antes de prosseguir." -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "Propriedades do documento" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "Os arquivos no caminho de preparo" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." msgstr "Novo documento na fila para carregados e estará disponível em breve." @@ -447,65 +468,78 @@ msgstr "Novo documento na fila para carregados e estará disponível em breve." msgid "Upload a local document from source: %s" msgstr "Carregar um documento no local de origem:%s " -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "Documento \"%s\" está bloqueado para carregar novas versões." -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." -msgstr "Nova versão do documento na fila para carregados e estará disponível em breve." +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." +msgstr "" +"Nova versão do documento na fila para carregados e estará disponível em " +"breve." -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "Carregar uma nova versão da Origem: %s" -#: views.py:460 +#: views.py:458 +#, fuzzy, python-format +#| msgid "Log entries for source: %s" +msgid "Trigger check for source \"%s\"?" +msgstr "Registrar entradas para fonte: %s" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "Criar nova fonte do tipo: %s" -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "Apagar a fonte: %s?" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "Editar fonte: %s" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "Tipo" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "Imagem da página do arquivo temporário" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "Passo 1 de 3: Selecione o tipo de documento" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "Passo 2 de 3: Insira metadados do documento" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "Passo 3 de 3: Selecione etiquetas" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "Próximo passo" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "Assistente de upload de documentos" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + +#~ msgid "Staging file page image" +#~ msgstr "Imagem da página do arquivo temporário" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -588,9 +622,11 @@ msgstr "Assistente de upload de documentos" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/sources/locale/ro_RO/LC_MESSAGES/django.po index 3ce1f3146d..ce9fe01494 100644 --- a/mayan/apps/sources/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Abalaru Paul , 2013 @@ -10,37 +10,38 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-04-17 13:16+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." msgstr "" -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "Iconiță" @@ -62,9 +63,11 @@ msgstr "Dezarhivare fișiere comprimate" #: forms.py:46 msgid "Upload a compressed file's contained files as individual documents" -msgstr "Încărcați fișiere de fișier comprimat care sunt incluse ca documente individuale" +msgstr "" +"Încărcați fișiere de fișier comprimat care sunt incluse ca documente " +"individuale" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "Structura fisier" @@ -72,54 +75,58 @@ msgstr "Structura fisier" msgid "File" msgstr "Fișier" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "Iniţial" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "Șterge" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "Editează" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "Sursa documentului" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "Mereu" @@ -156,7 +163,7 @@ msgstr "" msgid "Label" msgstr "Etichetă" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "" @@ -306,7 +313,6 @@ msgid "" msgstr "" #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -409,7 +415,6 @@ msgstr "" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -417,27 +422,26 @@ msgstr "" msgid "Clear" msgstr "" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." msgstr "" -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." msgstr "" @@ -446,65 +450,72 @@ msgstr "" msgid "Upload a local document from source: %s" msgstr "" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." msgstr "" -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "" -#: views.py:460 +#: views.py:458 +#, python-format +msgid "Trigger check for source \"%s\"?" +msgstr "" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "Creați o nouă sursă de tipul:% s" -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "Tip" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "Următorul pas" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -587,9 +598,11 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/ru/LC_MESSAGES/django.po b/mayan/apps/sources/locale/ru/LC_MESSAGES/django.po index bc8fe338a7..76ce5bb119 100644 --- a/mayan/apps/sources/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -9,37 +9,42 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-02 04:15+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "Источники" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "Создать источник документов" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." -msgstr "Источники документов - это способы получения Mayan EDMS новых документов. Как минимум, чтобы можно было загружать документы из браузера, создайте веб-форму." +msgstr "" +"Источники документов - это способы получения Mayan EDMS новых документов. " +"Как минимум, чтобы можно было загружать документы из браузера, создайте веб-" +"форму." -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "Создано" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "Миниатюра" @@ -63,7 +68,7 @@ msgstr "Извлекать из архивов?" msgid "Upload a compressed file's contained files as individual documents" msgstr "Загрузить файлы, содержащиеся в архиве в качестве отдельных документов" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "Промежуточный файл" @@ -71,54 +76,58 @@ msgstr "Промежуточный файл" msgid "File" msgstr "Файл" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "Умолчание" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "Новый документ" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "Удалить" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "Редактировать" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "Источники документов" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "Загрузить новую версию" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "Журналы" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "Всегда" @@ -155,7 +164,7 @@ msgstr "почтовый ящик IMAP" msgid "Label" msgstr "Надпись" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "Доступно" @@ -243,7 +252,8 @@ msgstr "Интервал" #: models.py:273 msgid "Assign a document type to documents uploaded from this source." -msgstr "Назначить тип документов для документов, загружаемых из этого источника." +msgstr "" +"Назначить тип документов для документов, загружаемых из этого источника." #: models.py:275 msgid "Document type" @@ -305,7 +315,6 @@ msgid "" msgstr "" #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -408,7 +417,6 @@ msgstr "" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "Ошибка обработки источника: %s" @@ -416,27 +424,28 @@ msgstr "Ошибка обработки источника: %s" msgid "Clear" msgstr "Очистить" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "Записи журнала для источника: %s" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." -msgstr "Интерактивные источники документов не были определены или включены, создайте один для продолжения." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." +msgstr "" +"Интерактивные источники документов не были определены или включены, создайте " +"один для продолжения." -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "Свойства документа" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." msgstr "" @@ -445,65 +454,73 @@ msgstr "" msgid "Upload a local document from source: %s" msgstr "" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." msgstr "" -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "Загрузка новой версии из источника %s" -#: views.py:460 +#: views.py:458 +#, fuzzy, python-format +#| msgid "Log entries for source: %s" +msgid "Trigger check for source \"%s\"?" +msgstr "Записи журнала для источника: %s" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "Создать новый источник типа: %s" -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "Тип" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "Шаг 1 из 3: Выбор типа документа" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "Шаг 2 из 3: Заполните метаданные документа" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "Шаг 3 из 3%: выберите метки" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "Далее" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "Мастер загрузки документов" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -586,9 +603,11 @@ msgstr "Мастер загрузки документов" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/sources/locale/sl_SI/LC_MESSAGES/django.po index 8c9c5da189..3241827aa6 100644 --- a/mayan/apps/sources/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/sl_SI/LC_MESSAGES/django.po @@ -1,44 +1,45 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-17 08:59+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." msgstr "" -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "" @@ -62,7 +63,7 @@ msgstr "" msgid "Upload a compressed file's contained files as individual documents" msgstr "" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "" @@ -70,54 +71,58 @@ msgstr "" msgid "File" msgstr "" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "" @@ -154,7 +159,7 @@ msgstr "" msgid "Label" msgstr "Oznaka" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "" @@ -304,7 +309,6 @@ msgid "" msgstr "" #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -407,7 +411,6 @@ msgstr "" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -415,27 +418,26 @@ msgstr "" msgid "Clear" msgstr "" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." msgstr "" -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." msgstr "" @@ -444,65 +446,72 @@ msgstr "" msgid "Upload a local document from source: %s" msgstr "" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." msgstr "" -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "" -#: views.py:460 +#: views.py:458 +#, python-format +msgid "Trigger check for source \"%s\"?" +msgstr "" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "" -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "Naslednji korak" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -585,9 +594,11 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/sources/locale/vi_VN/LC_MESSAGES/django.po index 252393531c..153ded37dc 100644 --- a/mayan/apps/sources/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Trung Phan Minh , 2013 @@ -9,37 +9,37 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." msgstr "" -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "" @@ -63,7 +63,7 @@ msgstr "Giải nén" msgid "Upload a compressed file's contained files as individual documents" msgstr "Upload một file nén chứa các file tài liệu riêng biệt" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "" @@ -71,54 +71,58 @@ msgstr "" msgid "File" msgstr "File" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "Mặc định" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "Sửa" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "Các nguồn tài liệu" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "Luôn luôn" @@ -155,7 +159,7 @@ msgstr "" msgid "Label" msgstr "" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "" @@ -305,7 +309,6 @@ msgid "" msgstr "" #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -408,7 +411,6 @@ msgstr "" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -416,27 +418,26 @@ msgstr "" msgid "Clear" msgstr "" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." msgstr "" -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." msgstr "" @@ -445,65 +446,72 @@ msgstr "" msgid "Upload a local document from source: %s" msgstr "" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." msgstr "" -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "" -#: views.py:460 +#: views.py:458 +#, python-format +msgid "Trigger check for source \"%s\"?" +msgstr "" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "" -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "Bước tiếp theo" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -586,9 +594,11 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/sources/locale/zh_CN/LC_MESSAGES/django.po index fe5203d4a6..256ebd3b52 100644 --- a/mayan/apps/sources/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -10,37 +10,37 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:56-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:11+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:37 links.py:31 models.py:145 views.py:521 +#: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "" -#: apps.py:53 -#| msgid "Create new document sources" +#: apps.py:54 msgid "Create a document source" msgstr "" -#: apps.py:55 +#: apps.py:56 msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." msgstr "" -#: apps.py:65 +#: apps.py:66 msgid "Created" msgstr "" -#: apps.py:71 +#: apps.py:73 msgid "Thumbnail" msgstr "" @@ -64,7 +64,7 @@ msgstr "展开压缩文件" msgid "Upload a compressed file's contained files as individual documents" msgstr "上传一个压缩文件的包含文件作为单个文档" -#: forms.py:67 views.py:432 +#: forms.py:67 views.py:431 msgid "Staging file" msgstr "临时文件" @@ -72,54 +72,58 @@ msgstr "临时文件" msgid "File" msgstr "文件" -#: handlers.py:14 +#: handlers.py:16 msgid "Default" msgstr "" -#: links.py:26 +#: links.py:30 msgid "New document" msgstr "" -#: links.py:35 +#: links.py:39 msgid "Add new IMAP email" msgstr "" -#: links.py:40 +#: links.py:44 msgid "Add new POP3 email" msgstr "" -#: links.py:45 +#: links.py:49 msgid "Add new staging folder" msgstr "" -#: links.py:50 +#: links.py:54 msgid "Add new watch folder" msgstr "" -#: links.py:55 +#: links.py:59 msgid "Add new webform source" msgstr "" -#: links.py:60 links.py:74 +#: links.py:64 links.py:78 msgid "Delete" msgstr "" -#: links.py:64 +#: links.py:68 msgid "Edit" msgstr "" -#: links.py:68 +#: links.py:72 msgid "Document sources" msgstr "文档数据源" -#: links.py:80 +#: links.py:84 msgid "Upload new version" msgstr "" -#: links.py:83 +#: links.py:87 msgid "Logs" msgstr "" +#: links.py:91 +msgid "Check now" +msgstr "" + #: literals.py:10 literals.py:15 msgid "Always" msgstr "总是" @@ -156,7 +160,7 @@ msgstr "" msgid "Label" msgstr "" -#: models.py:49 views.py:514 +#: models.py:49 views.py:536 msgid "Enabled" msgstr "" @@ -306,7 +310,6 @@ msgid "" msgstr "" #: models.py:356 -#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -409,7 +412,6 @@ msgstr "" #: tasks.py:31 #, python-format -#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -417,27 +419,26 @@ msgstr "" msgid "Clear" msgstr "" -#: views.py:64 +#: views.py:63 #, python-format msgid "Log entries for source: %s" msgstr "" -#: views.py:129 wizards.py:49 +#: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled," -" create one before proceeding." +"No interactive document sources have been defined or none have been enabled, " +"create one before proceeding." msgstr "" -#: views.py:155 views.py:173 -#| msgid "Document sources" +#: views.py:154 views.py:172 msgid "Document properties" msgstr "" -#: views.py:163 +#: views.py:162 msgid "Files in staging path" msgstr "" -#: views.py:262 +#: views.py:256 msgid "New document queued for uploaded and will be available shortly." msgstr "" @@ -446,65 +447,72 @@ msgstr "" msgid "Upload a local document from source: %s" msgstr "" -#: views.py:327 +#: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" -#: views.py:381 -msgid "" -"New document version queued for uploaded and will be available shortly." +#: views.py:380 +msgid "New document version queued for uploaded and will be available shortly." msgstr "" -#: views.py:419 +#: views.py:418 #, python-format msgid "Upload a new version from source: %s" msgstr "" -#: views.py:460 +#: views.py:458 +#, python-format +msgid "Trigger check for source \"%s\"?" +msgstr "" + +#: views.py:471 +msgid "Source check queued." +msgstr "" + +#: views.py:485 #, python-format msgid "Create new source of type: %s" msgstr "新建数据源类型:%s" -#: views.py:480 +#: views.py:505 #, python-format -#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" -#: views.py:499 +#: views.py:524 #, python-format msgid "Edit source: %s" msgstr "" -#: views.py:510 +#: views.py:532 msgid "Type" msgstr "" -#: widgets.py:26 -msgid "Staging file page image" -msgstr "" - -#: wizards.py:38 +#: wizards.py:41 msgid "Step 1 of 3: Select document type" msgstr "" -#: wizards.py:39 +#: wizards.py:42 msgid "Step 2 of 3: Enter document metadata" msgstr "" -#: wizards.py:40 +#: wizards.py:43 msgid "Step 3 of 3: Select tags" msgstr "" -#: wizards.py:66 +#: wizards.py:69 msgid "Next step" msgstr "下一步" -#: wizards.py:68 +#: wizards.py:71 msgid "Document upload wizard" msgstr "" +#: wizards.py:98 +msgid "Tags to be attached." +msgstr "" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -587,9 +595,11 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s" +#~ "\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/statistics/locale/ar/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/ar/LC_MESSAGES/django.po index a3f0cc2abf..82642815c9 100644 --- a/mayan/apps/statistics/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/ar/LC_MESSAGES/django.po @@ -1,22 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Mohammed ALDOUB , 2013 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:05+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:24 links.py:28 permissions.py:7 msgid "Statistics" @@ -24,7 +26,7 @@ msgstr "إحصائيات" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "" diff --git a/mayan/apps/statistics/locale/bg/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/bg/LC_MESSAGES/django.po index 0f4cea307c..8635250034 100644 --- a/mayan/apps/statistics/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/bg/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Iliya Georgiev , 2012 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:05+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:24 links.py:28 permissions.py:7 @@ -24,7 +25,7 @@ msgstr "Статистика" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "" diff --git a/mayan/apps/statistics/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/bs_BA/LC_MESSAGES/django.po index eb470c7b54..d3c3b541ae 100644 --- a/mayan/apps/statistics/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/bs_BA/LC_MESSAGES/django.po @@ -1,22 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # www.ping.ba , 2013 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:05+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:24 links.py:28 permissions.py:7 msgid "Statistics" @@ -24,7 +26,7 @@ msgstr "Statistika" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "" diff --git a/mayan/apps/statistics/locale/da/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/da/LC_MESSAGES/django.po index ec47a54150..517664da89 100644 --- a/mayan/apps/statistics/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/da/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Mads L. Nielsen , 2013 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:05+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:24 links.py:28 permissions.py:7 @@ -24,7 +25,7 @@ msgstr "Statistik" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "" diff --git a/mayan/apps/statistics/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/de_DE/LC_MESSAGES/django.po index 0e1eb1f3f8..12e77f2736 100644 --- a/mayan/apps/statistics/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Berny , 2015 # Mathias Behrle , 2014 @@ -10,14 +10,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:05+0000\n" "Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:24 links.py:28 permissions.py:7 @@ -26,7 +27,7 @@ msgstr "Statistiken" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "Plan" diff --git a/mayan/apps/statistics/locale/en/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/en/LC_MESSAGES/django.po index 56b621f2bb..821888df12 100644 --- a/mayan/apps/statistics/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,7 +23,7 @@ msgstr "" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "" diff --git a/mayan/apps/statistics/locale/es/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/es/LC_MESSAGES/django.po index 01e6577cec..fe0d4466ba 100644 --- a/mayan/apps/statistics/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Lory977 , 2015 # Roberto Rosario, 2014 @@ -10,14 +10,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:23+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:24 links.py:28 permissions.py:7 @@ -26,7 +27,7 @@ msgstr "Estadísticas" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "Programa" diff --git a/mayan/apps/statistics/locale/fa/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/fa/LC_MESSAGES/django.po index 267d8a8785..a5edf31980 100644 --- a/mayan/apps/statistics/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Mehdi Amani , 2014 # Mohammad Dashtizadeh , 2013 @@ -9,14 +9,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:05+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:24 links.py:28 permissions.py:7 @@ -25,7 +26,7 @@ msgstr "آمار" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "" diff --git a/mayan/apps/statistics/locale/fr/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/fr/LC_MESSAGES/django.po index 1f00d53b03..6ee6974e21 100644 --- a/mayan/apps/statistics/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Pierre Lhoste , 2012 # Thierry Schott , 2016 @@ -9,14 +9,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:05+0000\n" "Last-Translator: Thierry Schott \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:24 links.py:28 permissions.py:7 @@ -25,7 +26,7 @@ msgstr "Statistiques" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "Planification" diff --git a/mayan/apps/statistics/locale/hu/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/hu/LC_MESSAGES/django.po index 0b0b18df86..0a3eea6a70 100644 --- a/mayan/apps/statistics/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/hu/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Dezső József , 2013 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:05+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:24 links.py:28 permissions.py:7 @@ -24,7 +25,7 @@ msgstr "Statisztika" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "" diff --git a/mayan/apps/statistics/locale/id/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/id/LC_MESSAGES/django.po index 1cf0504186..fc217980dc 100644 --- a/mayan/apps/statistics/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/id/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Sehat , 2013 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:05+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:24 links.py:28 permissions.py:7 @@ -24,7 +25,7 @@ msgstr "Statistik-statistik" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "" diff --git a/mayan/apps/statistics/locale/it/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/it/LC_MESSAGES/django.po index c169cd9b98..be1b2fdfb3 100644 --- a/mayan/apps/statistics/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Giovanni Tricarico , 2016 # Marco Camplese , 2016 @@ -9,14 +9,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-09-24 10:01+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:24 links.py:28 permissions.py:7 @@ -25,7 +26,7 @@ msgstr "Statistiche " #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "Programma " diff --git a/mayan/apps/statistics/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/nl_NL/LC_MESSAGES/django.po index ef3ef753ce..50a7ae81b4 100644 --- a/mayan/apps/statistics/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Evelijn Saaltink , 2016 # Lucas Weel , 2012 @@ -9,14 +9,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-09 16:41+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:24 links.py:28 permissions.py:7 @@ -25,7 +26,7 @@ msgstr "Statistiek" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "Schema" diff --git a/mayan/apps/statistics/locale/pl/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/pl/LC_MESSAGES/django.po index 7a2c9ae962..c7818e0de6 100644 --- a/mayan/apps/statistics/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/pl/LC_MESSAGES/django.po @@ -1,22 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Wojtek Warczakowski , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:05+0000\n" "Last-Translator: Wojtek Warczakowski \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" #: apps.py:24 links.py:28 permissions.py:7 msgid "Statistics" @@ -24,7 +26,7 @@ msgstr "Statystyki" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "Harmonogram" diff --git a/mayan/apps/statistics/locale/pt/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/pt/LC_MESSAGES/django.po index 06ad1b0ba4..ca5ff735a4 100644 --- a/mayan/apps/statistics/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/pt/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Manuela Silva , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:05+0000\n" "Last-Translator: Manuela Silva \n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:24 links.py:28 permissions.py:7 @@ -24,7 +25,7 @@ msgstr "Estatísticas" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "Agenda" diff --git a/mayan/apps/statistics/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/pt_BR/LC_MESSAGES/django.po index f0f3d14b3b..7f42309f14 100644 --- a/mayan/apps/statistics/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Aline Freitas , 2016 # Rogerio Falcone , 2015 @@ -9,14 +9,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-11-17 23:07+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:24 links.py:28 permissions.py:7 @@ -25,7 +26,7 @@ msgstr "Estatísticas" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "Programação" diff --git a/mayan/apps/statistics/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/ro_RO/LC_MESSAGES/django.po index 1660cf993b..e2f99d62d6 100644 --- a/mayan/apps/statistics/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Badea Gabriel , 2013 # Stefaniu Criste , 2016 @@ -9,15 +9,17 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-04-17 12:06+0000\n" "Last-Translator: Stefaniu Criste \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" #: apps.py:24 links.py:28 permissions.py:7 msgid "Statistics" @@ -25,7 +27,7 @@ msgstr "Statistică" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "" diff --git a/mayan/apps/statistics/locale/ru/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/ru/LC_MESSAGES/django.po index 1c9f5a96f4..c69f6e020b 100644 --- a/mayan/apps/statistics/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # lilo.panic, 2016 # Sergey Glita , 2013 @@ -9,15 +9,18 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-07-19 20:06+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:24 links.py:28 permissions.py:7 msgid "Statistics" @@ -25,7 +28,7 @@ msgstr "Статистика" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "Запланировать" diff --git a/mayan/apps/statistics/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/sl_SI/LC_MESSAGES/django.po index e98b40d96e..737f2d598c 100644 --- a/mayan/apps/statistics/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/sl_SI/LC_MESSAGES/django.po @@ -1,21 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-09-24 05:16+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" #: apps.py:24 links.py:28 permissions.py:7 msgid "Statistics" @@ -23,7 +25,7 @@ msgstr "" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "" diff --git a/mayan/apps/statistics/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/vi_VN/LC_MESSAGES/django.po index ca427b5d39..1a7f463d66 100644 --- a/mayan/apps/statistics/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/vi_VN/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Trung Phan Minh , 2013 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:05+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:24 links.py:28 permissions.py:7 @@ -24,7 +25,7 @@ msgstr "Thống kê" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "" diff --git a/mayan/apps/statistics/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/statistics/locale/zh_CN/LC_MESSAGES/django.po index ecc16c85c2..ddbb8a664f 100644 --- a/mayan/apps/statistics/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/statistics/locale/zh_CN/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Ford Guo , 2014 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:05+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:24 links.py:28 permissions.py:7 @@ -24,7 +25,7 @@ msgstr "统计" #. Translators: Schedule here is a verb, the 'schedule' at which the #. statistic will be updated -#: apps.py:43 +#: apps.py:33 msgid "Schedule" msgstr "" diff --git a/mayan/apps/storage/locale/ar/LC_MESSAGES/django.po b/mayan/apps/storage/locale/ar/LC_MESSAGES/django.po index 1d98a945f3..72cce45419 100644 --- a/mayan/apps/storage/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/ar/LC_MESSAGES/django.po @@ -1,21 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:23+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:9 settings.py:10 msgid "Storage" diff --git a/mayan/apps/storage/locale/bg/LC_MESSAGES/django.po b/mayan/apps/storage/locale/bg/LC_MESSAGES/django.po index d9cbff3beb..130716e82b 100644 --- a/mayan/apps/storage/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/bg/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:23+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:9 settings.py:10 diff --git a/mayan/apps/storage/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/storage/locale/bs_BA/LC_MESSAGES/django.po index 1ab354e68d..a28baebb55 100644 --- a/mayan/apps/storage/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/bs_BA/LC_MESSAGES/django.po @@ -1,21 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:23+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:9 settings.py:10 msgid "Storage" diff --git a/mayan/apps/storage/locale/da/LC_MESSAGES/django.po b/mayan/apps/storage/locale/da/LC_MESSAGES/django.po index 22e6558343..86b1f77607 100644 --- a/mayan/apps/storage/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/da/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:23+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:9 settings.py:10 diff --git a/mayan/apps/storage/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/storage/locale/de_DE/LC_MESSAGES/django.po index 7869c00e46..041d2a2849 100644 --- a/mayan/apps/storage/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/de_DE/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Berny , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:9 settings.py:10 diff --git a/mayan/apps/storage/locale/en/LC_MESSAGES/django.po b/mayan/apps/storage/locale/en/LC_MESSAGES/django.po index 5619954167..a2d4f94c89 100644 --- a/mayan/apps/storage/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mayan/apps/storage/locale/es/LC_MESSAGES/django.po b/mayan/apps/storage/locale/es/LC_MESSAGES/django.po index 253e1a3c28..e9685be276 100644 --- a/mayan/apps/storage/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/es/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Roberto Rosario, 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:9 settings.py:10 diff --git a/mayan/apps/storage/locale/fa/LC_MESSAGES/django.po b/mayan/apps/storage/locale/fa/LC_MESSAGES/django.po index e89f7ea07a..eb9a61124a 100644 --- a/mayan/apps/storage/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/fa/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:23+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:9 settings.py:10 diff --git a/mayan/apps/storage/locale/fr/LC_MESSAGES/django.po b/mayan/apps/storage/locale/fr/LC_MESSAGES/django.po index 4b63a94262..3b0980dabe 100644 --- a/mayan/apps/storage/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/fr/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Christophe CHAUVET , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Christophe CHAUVET \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:9 settings.py:10 diff --git a/mayan/apps/storage/locale/hu/LC_MESSAGES/django.po b/mayan/apps/storage/locale/hu/LC_MESSAGES/django.po index 66572c9709..e6ab3deeab 100644 --- a/mayan/apps/storage/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/hu/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:23+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:9 settings.py:10 diff --git a/mayan/apps/storage/locale/id/LC_MESSAGES/django.po b/mayan/apps/storage/locale/id/LC_MESSAGES/django.po index c9a9dc72dc..f6cf9606fa 100644 --- a/mayan/apps/storage/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/id/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2015-08-20 19:23+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:9 settings.py:10 diff --git a/mayan/apps/storage/locale/it/LC_MESSAGES/django.po b/mayan/apps/storage/locale/it/LC_MESSAGES/django.po index 71410927b8..66edda388c 100644 --- a/mayan/apps/storage/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/it/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Giovanni Tricarico , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Giovanni Tricarico \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:9 settings.py:10 diff --git a/mayan/apps/storage/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/storage/locale/nl_NL/LC_MESSAGES/django.po index 79a3599d17..d880dd1e54 100644 --- a/mayan/apps/storage/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/nl_NL/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Evelijn Saaltink , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-10-28 09:41+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:9 settings.py:10 diff --git a/mayan/apps/storage/locale/pl/LC_MESSAGES/django.po b/mayan/apps/storage/locale/pl/LC_MESSAGES/django.po index d2f4362e47..7a2d8a19d6 100644 --- a/mayan/apps/storage/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/pl/LC_MESSAGES/django.po @@ -1,22 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Daniel Winiarski , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-08-04 09:32+0000\n" "Last-Translator: Daniel Winiarski \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" #: apps.py:9 settings.py:10 msgid "Storage" diff --git a/mayan/apps/storage/locale/pt/LC_MESSAGES/django.po b/mayan/apps/storage/locale/pt/LC_MESSAGES/django.po index c85879a8dd..00e565c9e4 100644 --- a/mayan/apps/storage/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/pt/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Manuela Silva , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" "PO-Revision-Date: 2016-03-21 21:10+0000\n" "Last-Translator: Manuela Silva \n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:9 settings.py:10 diff --git a/mayan/apps/storage/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/storage/locale/pt_BR/LC_MESSAGES/django.po index 38d7c664bb..6614237034 100644 --- a/mayan/apps/storage/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/pt_BR/LC_MESSAGES/django.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Aline Freitas , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-11-04 19:03+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:9 settings.py:10 diff --git a/mayan/apps/storage/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/storage/locale/ro_RO/LC_MESSAGES/django.po index 9d3cfcac89..167ca15f53 100644 --- a/mayan/apps/storage/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/ro_RO/LC_MESSAGES/django.po @@ -1,22 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Stefaniu Criste , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-04-17 09:42+0000\n" "Last-Translator: Stefaniu Criste \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" #: apps.py:9 settings.py:10 msgid "Storage" diff --git a/mayan/apps/storage/locale/ru/LC_MESSAGES/django.po b/mayan/apps/storage/locale/ru/LC_MESSAGES/django.po index b18fe918d9..172ff24c8a 100644 --- a/mayan/apps/storage/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/ru/LC_MESSAGES/django.po @@ -1,22 +1,25 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # lilo.panic, 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-07-14 01:15+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:9 settings.py:10 msgid "Storage" diff --git a/mayan/apps/storage/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/storage/locale/sl_SI/LC_MESSAGES/django.po index 82331b5c0d..1d6c20d803 100644 --- a/mayan/apps/storage/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/sl_SI/LC_MESSAGES/django.po @@ -1,21 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2015-08-20 19:23+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" #: apps.py:9 settings.py:10 msgid "Storage" diff --git a/mayan/apps/storage/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/storage/locale/vi_VN/LC_MESSAGES/django.po index 8645d1e283..1568f60725 100644 --- a/mayan/apps/storage/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/vi_VN/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2015-08-20 19:23+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:9 settings.py:10 diff --git a/mayan/apps/storage/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/storage/locale/zh_CN/LC_MESSAGES/django.po index 163d16dc06..bb225abab9 100644 --- a/mayan/apps/storage/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/storage/locale/zh_CN/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2015-08-20 19:23+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:9 settings.py:10 diff --git a/mayan/apps/tags/locale/ar/LC_MESSAGES/django.po b/mayan/apps/tags/locale/ar/LC_MESSAGES/django.po index 2ef5e5d294..5da1f47fdb 100644 --- a/mayan/apps/tags/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -9,50 +9,50 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "الكلمات الاستدلالية" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "الوثائق" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "" - #: links.py:14 msgid "Remove tag" msgstr "" #: links.py:17 links.py:24 -msgid "Attach tag" -msgstr "" +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags" +msgstr "إضافة كلمات استدلالية للوثائق" #: links.py:20 msgid "Remove tags" msgstr "" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "" @@ -60,23 +60,27 @@ msgstr "" msgid "Edit" msgstr "تحرير" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "اللون" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "" -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "" -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "" @@ -104,57 +108,91 @@ msgstr "إضافة كلمات استدلالية للوثائق" msgid "Remove tags from documents" msgstr "إزالة الكلمات الاستدلالية من الوثائق" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "" -#: views.py:34 -msgid "Create tag" +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" msgstr "" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "يجب توفير وثيقة واحدة عالاقل." +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:86 +#: views.py:42 +msgid "Attach" +msgstr "" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "إضافة كلمات استدلالية للوثائق" +msgstr[1] "إضافة كلمات استدلالية للوثائق" +msgstr[2] "إضافة كلمات استدلالية للوثائق" +msgstr[3] "إضافة كلمات استدلالية للوثائق" +msgstr[4] "إضافة كلمات استدلالية للوثائق" +msgstr[5] "إضافة كلمات استدلالية للوثائق" + +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +msgid "Tags to be attached." +msgstr "" + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "الوثيقة \"%(document)s\" مربوطة مسبقاً بالكلمات الاستدلالية \"%(tag)s\"" -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." msgstr "تم ربط الكلمة الاستدلالية \"%(tag)s\" بالوثيقة \"%(document)s\" ." -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" -msgstr[5] "" +#: views.py:108 +msgid "Create tag" +msgstr "" -#: views.py:160 -msgid "Must provide at least one tag." -msgstr "يجب توفير كلمة استدلالية واحدة عالاقل" - -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." -msgstr "الكلمة الاستدلالية \"%s\" مسحت بنجاح." +msgid "Tag delete request performed on %(count)d tag" +msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" -msgstr "خطأ أثناء مسح الكلمة الاستدلالية \"%(tag)s\": %(error)s" +msgid "Tag delete request performed on %(count)d tags" +msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "ستتم الإزالة من جميع الوثائق." -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "" @@ -164,70 +202,96 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: views.py:231 +#: views.py:142 +#, fuzzy, python-format +#| msgid "Delete tags" +msgid "Delete tag: %s" +msgstr "حذف الكلمات الاستدلالية" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "الكلمة الاستدلالية \"%s\" مسحت بنجاح." + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "خطأ أثناء مسح الكلمة الاستدلالية \"%(tag)s\": %(error)s" + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "يجب توفير وثيقة واحد عالاقل مربوطة بكلمات استدلالية" - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" +msgstr "" + +#: views.py:237 +#, python-format +msgid "Tag remove request performed on %(count)d documents" +msgstr "" + +#: views.py:244 +msgid "Remove" +msgstr "" + +#: views.py:246 +#, fuzzy +#| msgid "Remove tags from documents" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "إزالة الكلمات الاستدلالية من الوثائق" +msgstr[1] "إزالة الكلمات الاستدلالية من الوثائق" +msgstr[2] "إزالة الكلمات الاستدلالية من الوثائق" +msgstr[3] "إزالة الكلمات الاستدلالية من الوثائق" +msgstr[4] "إزالة الكلمات الاستدلالية من الوثائق" +msgstr[5] "إزالة الكلمات الاستدلالية من الوثائق" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Remove tag from document: %s." +msgid "Remove tags from document: %s" msgstr "ازالة الكلمة الاستدلالية من الوثيقة: %s" -#: views.py:336 -#, python-format -msgid "Remove tag from documents: %s." -msgstr "ازالة الكلمة الاستدلالية من الوثائق: %s" - -#: views.py:344 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#: views.py:265 +msgid "Tags to be removed." msgstr "" -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +#: views.py:290 +#, fuzzy, python-format +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "الوثيقة \"%(document)s\" لم تربط مع: \"%(tag)s\"" -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." -msgstr "الكلمة الاستدلالية \"%(tag)s\" أزيلت بنجاح من الوثيقة \"%(document)s\"." +msgstr "" +"الكلمة الاستدلالية \"%(tag)s\" أزيلت بنجاح من الوثيقة \"%(document)s\"." + +#~ msgid "Must provide at least one document." +#~ msgstr "يجب توفير وثيقة واحدة عالاقل." + +#~ msgid "Must provide at least one tag." +#~ msgstr "يجب توفير كلمة استدلالية واحدة عالاقل" + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "يجب توفير وثيقة واحد عالاقل مربوطة بكلمات استدلالية" + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "ازالة الكلمة الاستدلالية من الوثائق: %s" #~ msgid "remove tags" #~ msgstr "remove tags" @@ -280,9 +344,6 @@ msgstr "الكلمة الاستدلالية \"%(tag)s\" أزيلت بنجاح م #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/bg/LC_MESSAGES/django.po b/mayan/apps/tags/locale/bg/LC_MESSAGES/django.po index 5b2a818072..59bb619d9b 100644 --- a/mayan/apps/tags/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pavlin Koldamov , 2012 @@ -9,50 +9,49 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "Етикети" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "Документи" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "" - #: links.py:14 msgid "Remove tag" msgstr "" #: links.py:17 links.py:24 -msgid "Attach tag" -msgstr "" +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags" +msgstr "Закачане етикет към документи" #: links.py:20 msgid "Remove tags" msgstr "" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "" @@ -60,23 +59,27 @@ msgstr "" msgid "Edit" msgstr "Редактиране" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "Цвят" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "" -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "" -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "" @@ -104,123 +107,171 @@ msgstr "Закачане етикет към документи" msgid "Remove tags from documents" msgstr "Премахване на етикети от документи" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "" -#: views.py:34 -msgid "Create tag" +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" msgstr "" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "Трябва да посочите поне един документ." +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:86 +#: views.py:42 +msgid "Attach" +msgstr "" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "Закачане етикет към документи" +msgstr[1] "Закачане етикет към документи" + +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +msgid "Tags to be attached." +msgstr "" + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "" -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." msgstr "" -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "" -msgstr[1] "" +#: views.py:108 +msgid "Create tag" +msgstr "" -#: views.py:160 -msgid "Must provide at least one tag." -msgstr "Трябва да се осигури най-малко един етикет." - -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." -msgstr "Етикет \"%s\" е изтрит успешно." +msgid "Tag delete request performed on %(count)d tag" +msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" -msgstr "Грешка при изтриване на етикет \"%(tag)s\": %(error)s" +msgid "Tag delete request performed on %(count)d tags" +msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "Ще бъде премахнат от всички документи." -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "" msgstr[1] "" -#: views.py:231 +#: views.py:142 +#, fuzzy, python-format +#| msgid "Delete tags" +msgid "Delete tag: %s" +msgstr "Изтриване етикети" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "Етикет \"%s\" е изтрит успешно." + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "Грешка при изтриване на етикет \"%(tag)s\": %(error)s" + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "" - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" msgstr "" -#: views.py:336 +#: views.py:237 #, python-format -msgid "Remove tag from documents: %s." +msgid "Tag remove request performed on %(count)d documents" msgstr "" -#: views.py:344 +#: views.py:244 +msgid "Remove" +msgstr "" + +#: views.py:246 +#, fuzzy +#| msgid "Remove tags from documents" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "Премахване на етикети от документи" +msgstr[1] "Премахване на етикети от документи" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Remove tags from documents" +msgid "Remove tags from document: %s" +msgstr "Премахване на етикети от документи" + +#: views.py:265 +msgid "Tags to be removed." +msgstr "" + +#: views.py:290 #, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "" -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" -msgstr "" - -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Трябва да посочите поне един документ." + +#~ msgid "Must provide at least one tag." +#~ msgstr "Трябва да се осигури най-малко един етикет." + #~ msgid "remove tags" #~ msgstr "remove tags" @@ -272,9 +323,6 @@ msgstr "" #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/tags/locale/bs_BA/LC_MESSAGES/django.po index 9d58d5d9e3..9d5b2b589f 100644 --- a/mayan/apps/tags/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -9,50 +9,50 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "Tagovi" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "Dokumenti" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "" - #: links.py:14 msgid "Remove tag" msgstr "" #: links.py:17 links.py:24 -msgid "Attach tag" -msgstr "" +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags" +msgstr "Prikači tagove na dokumente" #: links.py:20 msgid "Remove tags" msgstr "" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "" @@ -60,23 +60,27 @@ msgstr "" msgid "Edit" msgstr "Urediti" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "Boja" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "" -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "" -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "" @@ -104,125 +108,181 @@ msgstr "Prikači tagove na dokumente" msgid "Remove tags from documents" msgstr "Ukloni tagove iz dokumenta" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "" -#: views.py:34 -msgid "Create tag" +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" msgstr "" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "Mora biti obezbjeđen bar jedan dokument." +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:86 +#: views.py:42 +msgid "Attach" +msgstr "" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "Prikači tagove na dokumente" +msgstr[1] "Prikači tagove na dokumente" +msgstr[2] "Prikači tagove na dokumente" + +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +msgid "Tags to be attached." +msgstr "" + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "Dokument \"%(document)s\" je već tagovan kao \"%(tag)s\"" -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." msgstr "Tag \"%(tag)s\" uspješno prikačen na dokument \"%(document)s\"." -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +#: views.py:108 +msgid "Create tag" +msgstr "" -#: views.py:160 -msgid "Must provide at least one tag." -msgstr "Mora biti obezbjeđen bar jedan tag." - -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." -msgstr "Tag \"%s\" uspješno izbrisan." +msgid "Tag delete request performed on %(count)d tag" +msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" -msgstr "Greška brisanja taga \"%(tag)s\": %(error)s" +msgid "Tag delete request performed on %(count)d tags" +msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "Bit će uklonjen iz svih dokumenata." -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: views.py:231 +#: views.py:142 +#, fuzzy, python-format +#| msgid "Delete tags" +msgid "Delete tag: %s" +msgstr "Obriši tagove" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "Tag \"%s\" uspješno izbrisan." + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "Greška brisanja taga \"%(tag)s\": %(error)s" + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "Mora biti obezbjeđen bar jedan tagovani dokument." - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" +msgstr "" + +#: views.py:237 +#, python-format +msgid "Tag remove request performed on %(count)d documents" +msgstr "" + +#: views.py:244 +msgid "Remove" +msgstr "" + +#: views.py:246 +#, fuzzy +#| msgid "Remove tags from documents" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "Ukloni tagove iz dokumenta" +msgstr[1] "Ukloni tagove iz dokumenta" +msgstr[2] "Ukloni tagove iz dokumenta" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Remove tag from document: %s." +msgid "Remove tags from document: %s" msgstr "Ukloni tag iz dokumenta: %s." -#: views.py:336 -#, python-format -msgid "Remove tag from documents: %s." -msgstr "Ukloni tag iz dokumenata: %s." - -#: views.py:344 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#: views.py:265 +msgid "Tags to be removed." msgstr "" -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +#: views.py:290 +#, fuzzy, python-format +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "Dokument \"%(document)s\" nije tagovan kao \"%(tag)s\"" -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "Tag \"%(tag)s\" uspješno uklonjen iz dokumenta \"%(document)s\"." +#~ msgid "Must provide at least one document." +#~ msgstr "Mora biti obezbjeđen bar jedan dokument." + +#~ msgid "Must provide at least one tag." +#~ msgstr "Mora biti obezbjeđen bar jedan tag." + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "Mora biti obezbjeđen bar jedan tagovani dokument." + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "Ukloni tag iz dokumenata: %s." + #~ msgid "remove tags" #~ msgstr "remove tags" @@ -274,9 +334,6 @@ msgstr "Tag \"%(tag)s\" uspješno uklonjen iz dokumenta \"%(document)s\"." #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/da/LC_MESSAGES/django.po b/mayan/apps/tags/locale/da/LC_MESSAGES/django.po index fa43de7037..a499c81924 100644 --- a/mayan/apps/tags/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/da/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mads L. Nielsen , 2013 @@ -9,50 +9,49 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "Tags" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "Dokumenter" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "" - #: links.py:14 msgid "Remove tag" msgstr "" #: links.py:17 links.py:24 -msgid "Attach tag" -msgstr "" +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags" +msgstr "Vedhæft tags til dokumenter" #: links.py:20 msgid "Remove tags" msgstr "" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "" @@ -60,23 +59,27 @@ msgstr "" msgid "Edit" msgstr "" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "Farve" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "" -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "" -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "" @@ -104,123 +107,178 @@ msgstr "Vedhæft tags til dokumenter" msgid "Remove tags from documents" msgstr "Fjern tags fra dokumenter" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "" -#: views.py:34 -msgid "Create tag" +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" msgstr "" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "Skal angive mindst ét ​​dokument." +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:86 +#: views.py:42 +msgid "Attach" +msgstr "" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "Vedhæft tags til dokumenter" +msgstr[1] "Vedhæft tags til dokumenter" + +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +msgid "Tags to be attached." +msgstr "" + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "Dokumentet \"%(document)s\" er allerede mærket som \"%(tag)s\"" -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." msgstr "Tag \"%(tag)s\" vedhæftet til at dokumentet \"%(document)s\"." -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "" -msgstr[1] "" +#: views.py:108 +msgid "Create tag" +msgstr "" -#: views.py:160 -msgid "Must provide at least one tag." -msgstr "Der skal angives mindst én tag." - -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." -msgstr "Tag \"%s\" slettet." +msgid "Tag delete request performed on %(count)d tag" +msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" -msgstr "Fejl ved sletning af tag \"%(tag)s\": %(error)s" +msgid "Tag delete request performed on %(count)d tags" +msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "Vil blive fjernet fra alle dokumenter." -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "" msgstr[1] "" -#: views.py:231 +#: views.py:142 +#, fuzzy, python-format +#| msgid "Delete tags" +msgid "Delete tag: %s" +msgstr "Slet tags" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "Tag \"%s\" slettet." + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "Fejl ved sletning af tag \"%(tag)s\": %(error)s" + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "Skal angive mindst ét tagget dokument." - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" +msgstr "" + +#: views.py:237 +#, python-format +msgid "Tag remove request performed on %(count)d documents" +msgstr "" + +#: views.py:244 +msgid "Remove" +msgstr "" + +#: views.py:246 +#, fuzzy +#| msgid "Remove tags from documents" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "Fjern tags fra dokumenter" +msgstr[1] "Fjern tags fra dokumenter" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Remove tag from document: %s." +msgid "Remove tags from document: %s" msgstr "Fjern tag fra dokument: %s." -#: views.py:336 -#, python-format -msgid "Remove tag from documents: %s." -msgstr "Fjern tag fra dokumenter: %s." - -#: views.py:344 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#: views.py:265 +msgid "Tags to be removed." msgstr "" -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +#: views.py:290 +#, fuzzy, python-format +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "Dokumentet \"%(document)s\" ikke blev kodet som \"%(tag)s\"" -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "Tag \"%(tag)s\" blev fjernet fra dokumentet \"%(document)s\"." +#~ msgid "Must provide at least one document." +#~ msgstr "Skal angive mindst ét ​​dokument." + +#~ msgid "Must provide at least one tag." +#~ msgstr "Der skal angives mindst én tag." + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "Skal angive mindst ét tagget dokument." + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "Fjern tag fra dokumenter: %s." + #~ msgid "remove tags" #~ msgstr "remove tags" @@ -272,9 +330,6 @@ msgstr "Tag \"%(tag)s\" blev fjernet fra dokumentet \"%(document)s\"." #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/tags/locale/de_DE/LC_MESSAGES/django.po index 66b1952f91..b89fb8e32b 100644 --- a/mayan/apps/tags/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Berny , 2015-2016 @@ -9,50 +9,49 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-05-20 21:33+0000\n" "Last-Translator: Tobias Paepke \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "Tags" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "Vorschau" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "Dokumente" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "Dem Dokument hinzuzufügende Tags." - #: links.py:14 msgid "Remove tag" msgstr "Tag entfernen" #: links.py:17 links.py:24 -msgid "Attach tag" +#, fuzzy +#| msgid "Attach tag" +msgid "Attach tags" msgstr "Tag anhängen" #: links.py:20 msgid "Remove tags" msgstr "Tags entfernen" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "Neuen Tag erstellen" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "Löschen" @@ -60,23 +59,27 @@ msgstr "Löschen" msgid "Edit" msgstr "Bearbeiten" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Text" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "Farbe" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "Tag" -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "Tag" -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "Tags" @@ -104,123 +107,211 @@ msgstr "Tags zu Dokumenten hinzufügen" msgid "Remove tags from documents" msgstr "Tags von Dokumenten entfernen" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "Primärschlüssel des hinzuzufügenden Tags" -#: views.py:34 -msgid "Create tag" -msgstr "Tag erstellen" +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" +msgstr "" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "Es muss mindestens ein Dokument angegeben werden." +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:86 +#: views.py:42 +#, fuzzy +#| msgid "Attach tag" +msgid "Attach" +msgstr "Tag anhängen" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "Tags zu Dokumenten hinzufügen" +msgstr[1] "Tags zu Dokumenten hinzufügen" + +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +#, fuzzy +#| msgid "Tags to attach to the document." +msgid "Tags to be attached." +msgstr "Dem Dokument hinzuzufügende Tags." + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "Dokument \"%(document)s\" ist schon mit \"%(tag)s\" markiert" -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." msgstr "Tag \"%(tag)s\" erfolgreich an Dokument \"%(document)s\" angehängt" -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "Tag an Dokument anhängen" -msgstr[1] "Tag an Dokumente anhängen" +#: views.py:108 +msgid "Create tag" +msgstr "Tag erstellen" -#: views.py:160 -msgid "Must provide at least one tag." -msgstr "Es muss Mindestens einen Tag angeben werden" - -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." -msgstr "Tag \"%s\" erfolgreich gelöscht" +msgid "Tag delete request performed on %(count)d tag" +msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" -msgstr "Fehler beim Löschen des Tags \"%(tag)s\": %(error)s" +msgid "Tag delete request performed on %(count)d tags" +msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "Wird von allen Dokumenten entfernt" -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "Den ausgwählten Tag löschen?" msgstr[1] "Die ausgwählten Tags löschen?" -#: views.py:231 +#: views.py:142 +#, fuzzy, python-format +#| msgid "Delete tags" +msgid "Delete tag: %s" +msgstr "Tags löschen" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "Tag \"%s\" erfolgreich gelöscht" + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "Fehler beim Löschen des Tags \"%(tag)s\": %(error)s" + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "Tag %s bearbeiten" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "Dokumente mit Tag %s" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "Tags für Dokument %s" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "Es muss mindestens ein markiertes Dokument angegeben werden" - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" +msgstr "" + +#: views.py:237 +#, python-format +msgid "Tag remove request performed on %(count)d documents" +msgstr "" + +#: views.py:244 +#, fuzzy +#| msgid "Remove tag" +msgid "Remove" +msgstr "Tag entfernen" + +#: views.py:246 +#, fuzzy +#| msgid "Remove tags from documents" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "Tags von Dokumenten entfernen" +msgstr[1] "Tags von Dokumenten entfernen" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Remove tag from document: %s." +msgid "Remove tags from document: %s" msgstr "Tag von Dokument %s entfernen" -#: views.py:336 -#, python-format -msgid "Remove tag from documents: %s." -msgstr "Tag von Dokumenten %s entfernen." +#: views.py:265 +msgid "Tags to be removed." +msgstr "" -#: views.py:344 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" -msgstr "Wollen Sie den Tag %(tag)s wirklich vom Dokument %(document)s entfernen?" - -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "Tag \"%(tag)s\" wirklich von den Dokumenten %(documents)s entfernen?" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "Wollen Sie die Tags %(tags)s vom Dokument %(document)s entfernen?" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "Tags \"%(tags)s\" wirklich von den Dokumenten %(documents)s entfernen?" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +#: views.py:290 +#, fuzzy, python-format +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "Dokument \"%(document)s war nicht mit \"%(tag)s\" markiert" -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "Tag \"%(tag)s\" erfolgreich von Dokument \"%(document)s\" entfernt." +#~ msgid "Must provide at least one document." +#~ msgstr "Es muss mindestens ein Dokument angegeben werden." + +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "Tag an Dokument anhängen" +#~ msgstr[1] "Tag an Dokumente anhängen" + +#~ msgid "Must provide at least one tag." +#~ msgstr "Es muss Mindestens einen Tag angeben werden" + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "Es muss mindestens ein markiertes Dokument angegeben werden" + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "Tag von Dokumenten %s entfernen." + +#~| msgid "" +#~| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "" +#~ "Wollen Sie den Tag %(tag)s wirklich vom Dokument %(document)s entfernen?" + +#~| msgid "" +#~| "u sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~| "ments)s?" +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "" +#~ "Tag \"%(tag)s\" wirklich von den Dokumenten %(documents)s entfernen?" + +#~| msgid "" +#~| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "Wollen Sie die Tags %(tags)s vom Dokument %(document)s entfernen?" + +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "" +#~ "Tags \"%(tags)s\" wirklich von den Dokumenten %(documents)s entfernen?" + #~ msgid "remove tags" #~ msgstr "remove tags" @@ -272,9 +363,6 @@ msgstr "Tag \"%(tag)s\" erfolgreich von Dokument \"%(document)s\" entfernt." #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/en/LC_MESSAGES/django.po b/mayan/apps/tags/locale/en/LC_MESSAGES/django.po index acae517c0b..deb130b780 100644 --- a/mayan/apps/tags/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2012-12-12 06:07+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" @@ -18,26 +18,21 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "Tags" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 #, fuzzy msgid "Preview" msgstr "preview" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 #, fuzzy msgid "Documents" msgstr "document" -#: forms.py:53 -#, fuzzy -msgid "Tags to attach to the document." -msgstr "Attach tags to documents" - #: links.py:14 #, fuzzy msgid "Remove tag" @@ -45,7 +40,7 @@ msgstr "remove tag" #: links.py:17 links.py:24 #, fuzzy -msgid "Attach tag" +msgid "Attach tags" msgstr "attach tag" #: links.py:20 @@ -53,12 +48,12 @@ msgstr "attach tag" msgid "Remove tags" msgstr "remove tag" -#: links.py:28 +#: links.py:29 #, fuzzy msgid "Create new tag" msgstr "Create new tags" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 #, fuzzy msgid "Delete" msgstr "delete" @@ -68,25 +63,29 @@ msgstr "delete" msgid "Edit" msgstr "Edit tags" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "Color" -#: models.py:34 +#: models.py:33 #, fuzzy msgid "Tag" msgstr "Tags" -#: models.py:53 +#: models.py:47 #, fuzzy msgid "Document tag" msgstr "document" -#: models.py:54 +#: models.py:48 #, fuzzy msgid "Document tags" msgstr "document" @@ -115,137 +114,222 @@ msgstr "Attach tags to documents" msgid "Remove tags from documents" msgstr "Remove tags from documents" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "" -#: views.py:34 +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" +msgstr "" + +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" + +#: views.py:42 #, fuzzy -msgid "Create tag" -msgstr "create tag" +msgid "Attach" +msgstr "attach tag" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "Must provide at least one document." +#: views.py:44 +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "Attach tags to documents" +msgstr[1] "Attach tags to documents" -#: views.py:86 +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +#, fuzzy +msgid "Tags to be attached." +msgstr "Attach tags to documents" + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "Document \"%(document)s\" is already tagged as \"%(tag)s\"" -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." msgstr "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." -#: views.py:110 +#: views.py:108 #, fuzzy -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "Attach tags to documents" -msgstr[1] "Attach tags to documents" +msgid "Create tag" +msgstr "create tag" -#: views.py:160 -msgid "Must provide at least one tag." -msgstr "Must provide at least one tag." - -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." -msgstr "Tag \"%s\" deleted successfully." +msgid "Tag delete request performed on %(count)d tag" +msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" -msgstr "Error deleting tag \"%(tag)s\": %(error)s" +msgid "Tag delete request performed on %(count)d tags" +msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "Will be removed from all documents." -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 #, fuzzy msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "Are you sure you wish to delete the tag: %s?" msgstr[1] "Are you sure you wish to delete the tag: %s?" -#: views.py:231 +#: views.py:142 +#, fuzzy, python-format +#| msgid "Delete tags" +msgid "Delete tag: %s" +msgstr "Delete tags" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "Tag \"%s\" deleted successfully." + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "Error deleting tag \"%(tag)s\": %(error)s" + +#: views.py:171 #, fuzzy, python-format msgid "Edit tag: %s" msgstr "edit tag: %s" -#: views.py:244 +#: views.py:201 #, fuzzy, python-format msgid "Documents with the tag: %s" msgstr "documents with the tag \"%s\"" -#: views.py:271 +#: views.py:224 #, fuzzy, python-format msgid "Tags for document: %s" msgstr "tags for: %s" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "Must provide at least one tagged document." - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" +msgstr "" + +#: views.py:237 +#, python-format +msgid "Tag remove request performed on %(count)d documents" +msgstr "" + +#: views.py:244 +#, fuzzy +msgid "Remove" +msgstr "remove tag" + +#: views.py:246 +#, fuzzy +#| msgid "Remove tags from documents" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "Remove tags from documents" +msgstr[1] "Remove tags from documents" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Remove tag from document: %s." +msgid "Remove tags from document: %s" msgstr "Remove tag from document: %s." -#: views.py:336 -#, python-format -msgid "Remove tag from documents: %s." -msgstr "Remove tag from documents: %s." - -#: views.py:344 -#, fuzzy, python-format -#| msgid "" -#| "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " -#| "%(document)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#: views.py:265 +msgid "Tags to be removed." msgstr "" -"Are you sure you wish to remove the tag \"%(tag)s\" from the document: " -"%(document)s?" -#: views.py:351 +#: views.py:290 #, fuzzy, python-format -#| msgid "" -#| "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " -#| "%(documents)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "" -"Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " -"%(documents)s?" - -#: views.py:360 -#, fuzzy, python-format -#| msgid "" -#| "Are you sure you wish to remove the tags: %(tags)s from the document: " -#| "%(document)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "" -"Are you sure you wish to remove the tags: %(tags)s from the document: " -"%(document)s?" - -#: views.py:367 -#, fuzzy, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "" -"Are you sure you wish to remove the tags %(tag)s from the documents: " -"%(documents)s?" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." +#~ msgid "Must provide at least one document." +#~ msgstr "Must provide at least one document." + +#, fuzzy +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "Attach tags to documents" +#~ msgstr[1] "Attach tags to documents" + +#~ msgid "Must provide at least one tag." +#~ msgstr "Must provide at least one tag." + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "Must provide at least one tagged document." + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "Remove tag from documents: %s." + +#, fuzzy +#~| msgid "" +#~| "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~| "%(document)s?" +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" + +#, fuzzy +#~| msgid "" +#~| "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~| "%(documents)s?" +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" + +#, fuzzy +#~| msgid "" +#~| "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~| "%(document)s?" +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" + +#, fuzzy +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" + #, fuzzy #~ msgid "remove tags" #~ msgstr "remove tags" @@ -300,9 +384,6 @@ msgstr "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/es/LC_MESSAGES/django.po b/mayan/apps/tags/locale/es/LC_MESSAGES/django.po index 97ace02593..a5e116dcd7 100644 --- a/mayan/apps/tags/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 @@ -11,50 +11,49 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-05-09 01:32+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "Etiquetas" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "Presentación preliminar" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "Documentos" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "Etiquetas para anejar al documento." - #: links.py:14 msgid "Remove tag" msgstr "Remover etiqueta" #: links.py:17 links.py:24 -msgid "Attach tag" +#, fuzzy +#| msgid "Attach tag" +msgid "Attach tags" msgstr "Adjuntar etiqueta" #: links.py:20 msgid "Remove tags" msgstr "Remover etiquetas" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "Crear nueva etiqueta" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "Eliminar" @@ -62,23 +61,27 @@ msgstr "Eliminar" msgid "Edit" msgstr "Editar" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Etiqueta" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "Color" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "Etiqueta" -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "Etiqueta de documento" -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "Etiquetas de documentos" @@ -106,122 +109,208 @@ msgstr "Etiquetar documentos" msgid "Remove tags from documents" msgstr "Quitar etiquetas de los documentos" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "Llave primaria de la etiqueta a ser agregada." -#: views.py:34 -msgid "Create tag" -msgstr "Crear etiqueta" +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" +msgstr "" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "Debe proporcionar al menos un documento." +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:86 +#: views.py:42 +#, fuzzy +#| msgid "Attach tag" +msgid "Attach" +msgstr "Adjuntar etiqueta" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "Etiquetar documentos" +msgstr[1] "Etiquetar documentos" + +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +#, fuzzy +#| msgid "Tags to attach to the document." +msgid "Tags to be attached." +msgstr "Etiquetas para anejar al documento." + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "Documento \"%(document)s \" ya está etiquetado como \"%(tag)s\"" -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." msgstr "Etiqueta \"%(tag)s\" puesta al documento \"%(document)s\"." -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "Adjuntar etiqueta al documento" -msgstr[1] "Adjuntar etiqueta a los documentos" +#: views.py:108 +msgid "Create tag" +msgstr "Crear etiqueta" -#: views.py:160 -msgid "Must provide at least one tag." -msgstr "Debe indicar al menos una etiqueta." - -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." -msgstr "Etiqueta \"%s\" borrada con éxito." +msgid "Tag delete request performed on %(count)d tag" +msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" -msgstr "Error al eliminar la etiqueta \"%(tag)s\": %(error)s" +msgid "Tag delete request performed on %(count)d tags" +msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "Se eliminará de todos los documentos." -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "¿Eliminar la etiqueta seleccionada?" msgstr[1] "¿Eliminar las etiquetas seleccionadas?" -#: views.py:231 +#: views.py:142 +#, fuzzy, python-format +#| msgid "Delete tags" +msgid "Delete tag: %s" +msgstr "Borrar etiquetas" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "Etiqueta \"%s\" borrada con éxito." + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "Error al eliminar la etiqueta \"%(tag)s\": %(error)s" + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "Editar etiqueta: %s" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "Documentos con la etiqueta: %s" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "Etiquetas del documento: %s" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "Debe proporcionar al menos un documento etiquetado." - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" +msgstr "" + +#: views.py:237 +#, python-format +msgid "Tag remove request performed on %(count)d documents" +msgstr "" + +#: views.py:244 +#, fuzzy +#| msgid "Remove tag" +msgid "Remove" +msgstr "Remover etiqueta" + +#: views.py:246 +#, fuzzy +#| msgid "Remove tags from documents" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "Quitar etiquetas de los documentos" +msgstr[1] "Quitar etiquetas de los documentos" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Remove tag from document: %s." +msgid "Remove tags from document: %s" msgstr "Quitar etiqueta del documento: %s." -#: views.py:336 -#, python-format -msgid "Remove tag from documents: %s." -msgstr "Quitar etiqueta de los documentos: %s." +#: views.py:265 +msgid "Tags to be removed." +msgstr "" -#: views.py:344 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" -msgstr "¿Remover la etiqueta \"%(tag)s\" del documento: %(document)s?" - -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "¿Remover la etiqueta \"%(tag)s\" de los documentos: %(documents)s?" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "¿Remover las etiquetas: %(tags)s del documento: %(document)s?" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "¿Remover las etiquetas %(tags)s de los documentos: %(documents)s?" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +#: views.py:290 +#, fuzzy, python-format +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "Documento \"%(document)s\" no estaba etiquetado como \"%(tag)s \"" -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." -msgstr "Etiqueta \"%(tag)s\" eliminada con éxito del documento \"%(document)s\"." +msgstr "" +"Etiqueta \"%(tag)s\" eliminada con éxito del documento \"%(document)s\"." + +#~ msgid "Must provide at least one document." +#~ msgstr "Debe proporcionar al menos un documento." + +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "Adjuntar etiqueta al documento" +#~ msgstr[1] "Adjuntar etiqueta a los documentos" + +#~ msgid "Must provide at least one tag." +#~ msgstr "Debe indicar al menos una etiqueta." + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "Debe proporcionar al menos un documento etiquetado." + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "Quitar etiqueta de los documentos: %s." + +#~| msgid "" +#~| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "¿Remover la etiqueta \"%(tag)s\" del documento: %(document)s?" + +#~| msgid "" +#~| "u sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~| "ments)s?" +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "¿Remover la etiqueta \"%(tag)s\" de los documentos: %(documents)s?" + +#~| msgid "" +#~| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "¿Remover las etiquetas: %(tags)s del documento: %(document)s?" + +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "¿Remover las etiquetas %(tags)s de los documentos: %(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" @@ -274,9 +363,6 @@ msgstr "Etiqueta \"%(tag)s\" eliminada con éxito del documento \"%(document)s\" #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/fa/LC_MESSAGES/django.po b/mayan/apps/tags/locale/fa/LC_MESSAGES/django.po index 5280182912..d591c2164f 100644 --- a/mayan/apps/tags/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammad Dashtizadeh , 2013 @@ -9,50 +9,49 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "برچسبها" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "پیش دید ویا دیدن" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "اسناد" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "" - #: links.py:14 msgid "Remove tag" msgstr "برداشتن برچسب" #: links.py:17 links.py:24 -msgid "Attach tag" +#, fuzzy +#| msgid "Attach tag" +msgid "Attach tags" msgstr "الصاق برچسب" #: links.py:20 msgid "Remove tags" msgstr "برداشتن برچسبها" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "برچسب جدید" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "حذف" @@ -60,23 +59,27 @@ msgstr "حذف" msgid "Edit" msgstr "ویرایش" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "برچسب" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "رنگ" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "برچسب" -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "" -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "" @@ -104,121 +107,183 @@ msgstr "الصاق برچسبها به اسناد" msgid "Remove tags from documents" msgstr "حذف برچسبهای سند" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "" -#: views.py:34 -msgid "Create tag" -msgstr "ایجادبرچسب" +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" +msgstr "" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "حداقل یک سند باید ارایه شود" +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:86 +#: views.py:42 +#, fuzzy +#| msgid "Attach tag" +msgid "Attach" +msgstr "الصاق برچسب" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "الصاق برچسبها به اسناد" + +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +msgid "Tags to be attached." +msgstr "" + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "سند \"%(document)s\" دارای برچسب \"%(tag)s\" میباشد." -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." msgstr "برچسب \"%(tag)s\" با موفقیت به سند \"%(document)s\" متصل شد." -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "اتصال برچسب به سند" +#: views.py:108 +msgid "Create tag" +msgstr "ایجادبرچسب" -#: views.py:160 -msgid "Must provide at least one tag." -msgstr "حداقل یک برچسب باید ارایه شود." - -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." -msgstr "حذف موفق برچسب \"%s\" " +msgid "Tag delete request performed on %(count)d tag" +msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" -msgstr "خطا در زمان حذف برچسب: \"%(tag)s\": %(error)s" +msgid "Tag delete request performed on %(count)d tags" +msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "از کلیه اسناد حذف خواهد شد." -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "" -#: views.py:231 +#: views.py:142 +#, fuzzy, python-format +#| msgid "Delete tags" +msgid "Delete tag: %s" +msgstr "حذف برچسبها" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "حذف موفق برچسب \"%s\" " + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "خطا در زمان حذف برچسب: \"%(tag)s\": %(error)s" + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "ویرایش برچسب: %s" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "اسناد دارای برچسب : %s" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "برچسب سند : %s" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "باید حداقل یک سند برچسب دار ارایه شود." - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" +msgstr "" + +#: views.py:237 +#, python-format +msgid "Tag remove request performed on %(count)d documents" +msgstr "" + +#: views.py:244 +#, fuzzy +#| msgid "Remove tag" +msgid "Remove" +msgstr "برداشتن برچسب" + +#: views.py:246 +#, fuzzy +#| msgid "Remove tags from documents" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "حذف برچسبهای سند" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Remove tag from document: %s." +msgid "Remove tags from document: %s" msgstr "حذف برچسب از سند: %s" -#: views.py:336 -#, python-format -msgid "Remove tag from documents: %s." -msgstr "حذف برچسب از اسناد: %s" - -#: views.py:344 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#: views.py:265 +msgid "Tags to be removed." msgstr "" -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +#: views.py:290 +#, fuzzy, python-format +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "سند \"%(document)s\" دارای برچسب \"%(tag)s\" نمیباشد." -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "برچسب \"%(tag)s\" با موفقیت از سند \"%(document)s\" برداشته شد." +#~ msgid "Must provide at least one document." +#~ msgstr "حداقل یک سند باید ارایه شود" + +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "اتصال برچسب به سند" + +#~ msgid "Must provide at least one tag." +#~ msgstr "حداقل یک برچسب باید ارایه شود." + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "باید حداقل یک سند برچسب دار ارایه شود." + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "حذف برچسب از اسناد: %s" + #~ msgid "remove tags" #~ msgstr "remove tags" @@ -270,9 +335,6 @@ msgstr "برچسب \"%(tag)s\" با موفقیت از سند \"%(document)s\" #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/fr/LC_MESSAGES/django.po b/mayan/apps/tags/locale/fr/LC_MESSAGES/django.po index 85164ca4c7..822520439d 100644 --- a/mayan/apps/tags/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Christophe CHAUVET , 2015 @@ -12,50 +12,49 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-04-25 12:07+0000\n" "Last-Translator: Baptiste GAILLET \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "Etiquettes" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "Prévisualiser" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "Documents" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "Tags a attacher au document" - #: links.py:14 msgid "Remove tag" msgstr "Supprimer une étiquette" #: links.py:17 links.py:24 -msgid "Attach tag" +#, fuzzy +#| msgid "Attach tag" +msgid "Attach tags" msgstr "Rattacher une étiquette" #: links.py:20 msgid "Remove tags" msgstr "Supprimer des étiquettes" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "Créer une nouvelle étiquette" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "Supprimer" @@ -63,23 +62,27 @@ msgstr "Supprimer" msgid "Edit" msgstr "Modifier" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Étiquette" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "Couleur" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "Étiquette" -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "Étiquette de document" -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "Étiquettes de document" @@ -107,122 +110,211 @@ msgstr "Rattacher des étiquettes aux documents" msgid "Remove tags from documents" msgstr "Retirer des étiquettes au document" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "La clé primaire pour l'étiquette sera ajoutée." -#: views.py:34 -msgid "Create tag" -msgstr "Créer une étiquette" +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" +msgstr "" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "Il est nécessaire d'indiquer au moins un document." +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:86 +#: views.py:42 +#, fuzzy +#| msgid "Attach tag" +msgid "Attach" +msgstr "Rattacher une étiquette" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "Rattacher des étiquettes aux documents" +msgstr[1] "Rattacher des étiquettes aux documents" + +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +#, fuzzy +#| msgid "Tags to attach to the document." +msgid "Tags to be attached." +msgstr "Tags a attacher au document" + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "Le document \"%(document)s\" est déjà étiqueté comme \"%(tag)s\"" -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." -msgstr "L'étiquette \"%(tag)s\" a été attachée avec succès au document \"%(document)s\"." +msgstr "" +"L'étiquette \"%(tag)s\" a été attachée avec succès au document \"%(document)s" +"\"." -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "Rattacher une étiquette au document" -msgstr[1] "Rattacher une étiquette aux documents" +#: views.py:108 +msgid "Create tag" +msgstr "Créer une étiquette" -#: views.py:160 -msgid "Must provide at least one tag." -msgstr "Vous devez fournir au moins une étiquette" - -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." -msgstr "Etiquette \"%s\" supprimée avec succès" +msgid "Tag delete request performed on %(count)d tag" +msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" -msgstr "Erreur lors de la suppression de l'étiquette \"%(tag)s\": %(error)s" +msgid "Tag delete request performed on %(count)d tags" +msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "Sera supprimée de tous les documents" -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "Supprimer l'étiquette sélectionnée?" msgstr[1] "Supprimer les étiquettes sélectionnées?" -#: views.py:231 +#: views.py:142 +#, fuzzy, python-format +#| msgid "Delete tags" +msgid "Delete tag: %s" +msgstr "Supprimer des étiquettes" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "Etiquette \"%s\" supprimée avec succès" + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "Erreur lors de la suppression de l'étiquette \"%(tag)s\": %(error)s" + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "Modifier l'étiquette:%s" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "Documents avec l'étiquette: %s" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "Étiquettes du document: %s" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "Il est nécessaire d'indiquer au moins un document étiqueté." - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" +msgstr "" + +#: views.py:237 +#, python-format +msgid "Tag remove request performed on %(count)d documents" +msgstr "" + +#: views.py:244 +#, fuzzy +#| msgid "Remove tag" +msgid "Remove" +msgstr "Supprimer une étiquette" + +#: views.py:246 +#, fuzzy +#| msgid "Remove tags from documents" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "Retirer des étiquettes au document" +msgstr[1] "Retirer des étiquettes au document" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Remove tag from document: %s." +msgid "Remove tags from document: %s" msgstr "Supprimer l'étiquette du document: %s" -#: views.py:336 -#, python-format -msgid "Remove tag from documents: %s." -msgstr "Supprimer l'étiquette des documents: %s" +#: views.py:265 +msgid "Tags to be removed." +msgstr "" -#: views.py:344 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" -msgstr "Supprimer l'étiquette \"%(tag)s\" du document %(document)s?" - -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "Supprimer l'étiquette \"%(tag)s\" des documents %(documents)s?" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "Supprimer les étiquettes \"%(tags)s\" du document %(document)s?" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "Supprimer les étiquettes \"%(tags)s\" des documents %(documents)s?" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +#: views.py:290 +#, fuzzy, python-format +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "Le document \"%(document)s\" n'a pas été étiqueté avec \"%(tag)s\"" -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." -msgstr "L'étiquette \"%(tag)s\" à été supprimée avec succès du document \"%(document)s\"." +msgstr "" +"L'étiquette \"%(tag)s\" à été supprimée avec succès du document " +"\"%(document)s\"." + +#~ msgid "Must provide at least one document." +#~ msgstr "Il est nécessaire d'indiquer au moins un document." + +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "Rattacher une étiquette au document" +#~ msgstr[1] "Rattacher une étiquette aux documents" + +#~ msgid "Must provide at least one tag." +#~ msgstr "Vous devez fournir au moins une étiquette" + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "Il est nécessaire d'indiquer au moins un document étiqueté." + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "Supprimer l'étiquette des documents: %s" + +#~| msgid "" +#~| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "Supprimer l'étiquette \"%(tag)s\" du document %(document)s?" + +#~| msgid "" +#~| "u sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~| "ments)s?" +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "Supprimer l'étiquette \"%(tag)s\" des documents %(documents)s?" + +#~| msgid "" +#~| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "Supprimer les étiquettes \"%(tags)s\" du document %(document)s?" + +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "Supprimer les étiquettes \"%(tags)s\" des documents %(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" @@ -275,9 +367,6 @@ msgstr "L'étiquette \"%(tag)s\" à été supprimée avec succès du document \" #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/hu/LC_MESSAGES/django.po b/mayan/apps/tags/locale/hu/LC_MESSAGES/django.po index f5610de111..3844803509 100644 --- a/mayan/apps/tags/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/hu/LC_MESSAGES/django.po @@ -1,57 +1,54 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "Címkék" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "dokumentumok" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "" - #: links.py:14 msgid "Remove tag" msgstr "" #: links.py:17 links.py:24 -msgid "Attach tag" +msgid "Attach tags" msgstr "" #: links.py:20 msgid "Remove tags" msgstr "" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "" @@ -59,23 +56,27 @@ msgstr "" msgid "Edit" msgstr "" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "" -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "" -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "" @@ -103,123 +104,167 @@ msgstr "" msgid "Remove tags from documents" msgstr "" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "" -#: views.py:34 -msgid "Create tag" +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" msgstr "" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "Adjon meg legalább egy dokumentumot." +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:86 +#: views.py:42 +msgid "Attach" +msgstr "" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "Attach tag to document: %s." +msgstr[1] "Attach tag to document: %s." + +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +msgid "Tags to be attached." +msgstr "" + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "" -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." msgstr "" -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "" -msgstr[1] "" - -#: views.py:160 -msgid "Must provide at least one tag." +#: views.py:108 +msgid "Create tag" msgstr "" -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." +msgid "Tag delete request performed on %(count)d tag" msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgid "Tag delete request performed on %(count)d tags" msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "" -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "" msgstr[1] "" -#: views.py:231 +#: views.py:142 +#, python-format +msgid "Delete tag: %s" +msgstr "" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "" + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "" + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "" - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" msgstr "" -#: views.py:336 +#: views.py:237 #, python-format -msgid "Remove tag from documents: %s." +msgid "Tag remove request performed on %(count)d documents" msgstr "" -#: views.py:344 +#: views.py:244 +msgid "Remove" +msgstr "" + +#: views.py:246 +#, fuzzy +#| msgid "Add tag to document" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "Add tag to document" +msgstr[1] "Add tag to document" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Remove tags from document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:265 +msgid "Tags to be removed." +msgstr "" + +#: views.py:290 #, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "" -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" -msgstr "" - -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Adjon meg legalább egy dokumentumot." + #~ msgid "remove tags" #~ msgstr "remove tags" @@ -265,15 +310,9 @@ msgstr "" #~ msgid "Tag updated succesfully." #~ msgstr "Tag updated succesfully." -#~ msgid "Add tag to document" -#~ msgstr "Add tag to document" - #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/id/LC_MESSAGES/django.po b/mayan/apps/tags/locale/id/LC_MESSAGES/django.po index 8a895fd530..ae400e34f5 100644 --- a/mayan/apps/tags/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/id/LC_MESSAGES/django.po @@ -1,57 +1,54 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "Dokumen" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "" - #: links.py:14 msgid "Remove tag" msgstr "" #: links.py:17 links.py:24 -msgid "Attach tag" +msgid "Attach tags" msgstr "" #: links.py:20 msgid "Remove tags" msgstr "" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "" @@ -59,23 +56,27 @@ msgstr "" msgid "Edit" msgstr "" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "" -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "" -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "" @@ -103,121 +104,164 @@ msgstr "" msgid "Remove tags from documents" msgstr "" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "" -#: views.py:34 -msgid "Create tag" +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" msgstr "" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "Harus memberikan setidaknya satu dokumen." +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:86 +#: views.py:42 +msgid "Attach" +msgstr "" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "Attach tag to document: %s." + +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +msgid "Tags to be attached." +msgstr "" + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "" -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." msgstr "" -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "" - -#: views.py:160 -msgid "Must provide at least one tag." +#: views.py:108 +msgid "Create tag" msgstr "" -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." +msgid "Tag delete request performed on %(count)d tag" msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgid "Tag delete request performed on %(count)d tags" msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "" -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "" -#: views.py:231 +#: views.py:142 +#, python-format +msgid "Delete tag: %s" +msgstr "" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "" + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "" + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "" - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" msgstr "" -#: views.py:336 +#: views.py:237 #, python-format -msgid "Remove tag from documents: %s." +msgid "Tag remove request performed on %(count)d documents" msgstr "" -#: views.py:344 +#: views.py:244 +msgid "Remove" +msgstr "" + +#: views.py:246 +#, fuzzy +#| msgid "Add tag to document" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "Add tag to document" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Remove tags from document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:265 +msgid "Tags to be removed." +msgstr "" + +#: views.py:290 #, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "" -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" -msgstr "" - -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Harus memberikan setidaknya satu dokumen." + #~ msgid "remove tags" #~ msgstr "remove tags" @@ -263,15 +307,9 @@ msgstr "" #~ msgid "Tag updated succesfully." #~ msgstr "Tag updated succesfully." -#~ msgid "Add tag to document" -#~ msgstr "Add tag to document" - #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/it/LC_MESSAGES/django.po b/mayan/apps/tags/locale/it/LC_MESSAGES/django.po index 63be8e09fd..8741eb05a5 100644 --- a/mayan/apps/tags/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Giovanni Tricarico , 2016 @@ -12,50 +12,49 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-09-24 10:31+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "Etichette" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "Anteprima " -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "Documenti" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "Tag da attaccare al documento." - #: links.py:14 msgid "Remove tag" msgstr "Rimuovi etichetta" #: links.py:17 links.py:24 -msgid "Attach tag" +#, fuzzy +#| msgid "Attach tag" +msgid "Attach tags" msgstr "Allega etichetta" #: links.py:20 msgid "Remove tags" msgstr "Rimuovi etichette" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "Crea nuova etichetta" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "Cancella" @@ -63,23 +62,27 @@ msgstr "Cancella" msgid "Edit" msgstr "Modifica" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Etichetta" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "Colori" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "Etichetta " -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "Etichetta documento " -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "Etichette documento " @@ -107,122 +110,210 @@ msgstr "Applicare i tag ai documenti" msgid "Remove tags from documents" msgstr "Rimuovi etichetta dal documento" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "Chiave primaria dell'etichetta da aggiungere " -#: views.py:34 -msgid "Create tag" -msgstr "Crea etichetta " +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" +msgstr "" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "Fornire almeno un documento " +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:86 +#: views.py:42 +#, fuzzy +#| msgid "Attach tag" +msgid "Attach" +msgstr "Allega etichetta" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "Applicare i tag ai documenti" +msgstr[1] "Applicare i tag ai documenti" + +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +#, fuzzy +#| msgid "Tags to attach to the document." +msgid "Tags to be attached." +msgstr "Tag da attaccare al documento." + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "Il documento \"%(document)s\" è stato già etichettato come \"%(tag)s\"" -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." -msgstr "L'etichetta \"%(tag)s\" è stata allegata con successo al documento \"%(document)s\"" +msgstr "" +"L'etichetta \"%(tag)s\" è stata allegata con successo al documento " +"\"%(document)s\"" -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "Aggiungi tag al documento" -msgstr[1] "Aggiungi tag ai documenti" +#: views.py:108 +msgid "Create tag" +msgstr "Crea etichetta " -#: views.py:160 -msgid "Must provide at least one tag." -msgstr "Devi fornire almeno un'etichetta" - -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." -msgstr "Etichetta \"%s\" cancellata con successo." +msgid "Tag delete request performed on %(count)d tag" +msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" -msgstr "Errore nel cancellare l'etichetta \"%(tag)s\": %(error)s" +msgid "Tag delete request performed on %(count)d tags" +msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "Sarà rimossa da tutti i documenti" -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "Cancellare il tag selezionato?" msgstr[1] "Cancellare i tag selezionati?" -#: views.py:231 +#: views.py:142 +#, fuzzy, python-format +#| msgid "Delete tags" +msgid "Delete tag: %s" +msgstr "Eliminare i tag" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "Etichetta \"%s\" cancellata con successo." + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "Errore nel cancellare l'etichetta \"%(tag)s\": %(error)s" + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "Modifica etichetta: %s" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "Documenti con l'etichetta: %s" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "Etichette per il documento: %s" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "Fornire almeno un documento etichettato " - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" +msgstr "" + +#: views.py:237 +#, python-format +msgid "Tag remove request performed on %(count)d documents" +msgstr "" + +#: views.py:244 +#, fuzzy +#| msgid "Remove tag" +msgid "Remove" +msgstr "Rimuovi etichetta" + +#: views.py:246 +#, fuzzy +#| msgid "Remove tags from documents" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "Rimuovi etichetta dal documento" +msgstr[1] "Rimuovi etichetta dal documento" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Remove tag from document: %s." +msgid "Remove tags from document: %s" msgstr "Rimuovi l'etichetta dal documento: %s" -#: views.py:336 -#, python-format -msgid "Remove tag from documents: %s." -msgstr "Rimuovi l'etichetta dai documenti: %s" +#: views.py:265 +msgid "Tags to be removed." +msgstr "" -#: views.py:344 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" -msgstr "Rimuovere l'etichetta \"%(tag)s\" dal documento %(document)s?" - -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "Rimuovere l'etichetta \"%(tag)s\" dai documenti: %(documents)s?" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "Rimuovere le etichette: %(tags)s dal documento: %(document)s?" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "Rimuovere le etichette %(tags)s dai documenti: %(documents)s?" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +#: views.py:290 +#, fuzzy, python-format +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "Il documento \"%(document)s\" non è stato etichettato come \"%(tag)s\"" -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." -msgstr "Etichetta \"%(tag)s\" rimossa con successo dal documento \"%(document)s\"." +msgstr "" +"Etichetta \"%(tag)s\" rimossa con successo dal documento \"%(document)s\"." + +#~ msgid "Must provide at least one document." +#~ msgstr "Fornire almeno un documento " + +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "Aggiungi tag al documento" +#~ msgstr[1] "Aggiungi tag ai documenti" + +#~ msgid "Must provide at least one tag." +#~ msgstr "Devi fornire almeno un'etichetta" + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "Fornire almeno un documento etichettato " + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "Rimuovi l'etichetta dai documenti: %s" + +#~| msgid "" +#~| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "Rimuovere l'etichetta \"%(tag)s\" dal documento %(document)s?" + +#~| msgid "" +#~| "u sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~| "ments)s?" +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "Rimuovere l'etichetta \"%(tag)s\" dai documenti: %(documents)s?" + +#~| msgid "" +#~| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "Rimuovere le etichette: %(tags)s dal documento: %(document)s?" + +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "Rimuovere le etichette %(tags)s dai documenti: %(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" @@ -275,9 +366,6 @@ msgstr "Etichetta \"%(tag)s\" rimossa con successo dal documento \"%(document)s\ #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/tags/locale/nl_NL/LC_MESSAGES/django.po index 4f10953a7a..23ef113525 100644 --- a/mayan/apps/tags/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -9,50 +9,49 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-11-09 15:49+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "Labels" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "Preview" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "Documenten" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "" - #: links.py:14 msgid "Remove tag" msgstr "Label verwijderen" #: links.py:17 links.py:24 -msgid "Attach tag" +#, fuzzy +#| msgid "Attach tag" +msgid "Attach tags" msgstr "Voeg label bij" #: links.py:20 msgid "Remove tags" msgstr "Labels verwijderen" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "Maak een nieuw label aan" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "Verwijder" @@ -60,23 +59,27 @@ msgstr "Verwijder" msgid "Edit" msgstr "bewerken" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Label" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "Kleur" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "Label" -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "Documentlabel" -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "Documentlabels" @@ -104,123 +107,183 @@ msgstr "Label documenten" msgid "Remove tags from documents" msgstr "Labels van documenten verwijderen" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "" -#: views.py:34 -msgid "Create tag" -msgstr "maak label aan" +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" +msgstr "" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "U dient minstens 1 document aan te geven." +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:86 +#: views.py:42 +#, fuzzy +#| msgid "Attach tag" +msgid "Attach" +msgstr "Voeg label bij" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "Label documenten" +msgstr[1] "Label documenten" + +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +msgid "Tags to be attached." +msgstr "" + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "Document \"%(document)s\" is al gelabeld met \"%(tag)s\"" -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." msgstr "Label \"%(tag)s\" is gekoppeld aan document \"%(document)s\"." -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "" -msgstr[1] "" +#: views.py:108 +msgid "Create tag" +msgstr "maak label aan" -#: views.py:160 -msgid "Must provide at least one tag." -msgstr "U moet minimaal een label aanbrengen." - -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." -msgstr "Label \"%s\" verwijderd." +msgid "Tag delete request performed on %(count)d tag" +msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" -msgstr "Fout bij het verwijderen van label: \"%(tag)s\". Foutmelding: %(error)s" +msgid "Tag delete request performed on %(count)d tags" +msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "Zal van alle documenten worden verwijderd." -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "Geselecteerd label verwijderen?" msgstr[1] "Geselecteerde labels verwijderen?" -#: views.py:231 +#: views.py:142 +#, fuzzy, python-format +#| msgid "Delete tags" +msgid "Delete tag: %s" +msgstr "Verwijder labels" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "Label \"%s\" verwijderd." + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "" +"Fout bij het verwijderen van label: \"%(tag)s\". Foutmelding: %(error)s" + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "Bewerk label: %s" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "U dient minstens 1 gelabeld document aan te brengen." - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" +msgstr "" + +#: views.py:237 +#, python-format +msgid "Tag remove request performed on %(count)d documents" +msgstr "" + +#: views.py:244 +#, fuzzy +#| msgid "Remove tag" +msgid "Remove" +msgstr "Label verwijderen" + +#: views.py:246 +#, fuzzy +#| msgid "Remove tags from documents" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "Labels van documenten verwijderen" +msgstr[1] "Labels van documenten verwijderen" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Remove tag from document: %s." +msgid "Remove tags from document: %s" msgstr "Verwijder label van document: %s" -#: views.py:336 -#, python-format -msgid "Remove tag from documents: %s." -msgstr "Verwijder label van documenten: %s" - -#: views.py:344 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#: views.py:265 +msgid "Tags to be removed." msgstr "" -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +#: views.py:290 +#, fuzzy, python-format +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "Document \"%(document)s\" is niet gelabeld als: \"%(tag)s\"" -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "Label: \"%(tag)s\" is verwijderd van document \"%(document)s\"." +#~ msgid "Must provide at least one document." +#~ msgstr "U dient minstens 1 document aan te geven." + +#~ msgid "Must provide at least one tag." +#~ msgstr "U moet minimaal een label aanbrengen." + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "U dient minstens 1 gelabeld document aan te brengen." + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "Verwijder label van documenten: %s" + #~ msgid "remove tags" #~ msgstr "remove tags" @@ -272,9 +335,6 @@ msgstr "Label: \"%(tag)s\" is verwijderd van document \"%(document)s\"." #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/pl/LC_MESSAGES/django.po b/mayan/apps/tags/locale/pl/LC_MESSAGES/django.po index 7aa09f160d..1a03ef615a 100644 --- a/mayan/apps/tags/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Annunnaky , 2015 @@ -11,50 +11,50 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "Tagi" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "Podgląd" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "Dokumenty" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "" - #: links.py:14 msgid "Remove tag" msgstr "Usuń tag" #: links.py:17 links.py:24 -msgid "Attach tag" +#, fuzzy +#| msgid "Attach tag" +msgid "Attach tags" msgstr "Dołącz tag" #: links.py:20 msgid "Remove tags" msgstr "Usuń tagi" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "Utwórz nowy tag" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "Usunąć" @@ -62,23 +62,27 @@ msgstr "Usunąć" msgid "Edit" msgstr "Edytuj" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Etykieta" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "Kolor" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "Tag" -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "" -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "" @@ -106,125 +110,191 @@ msgstr "Załącz tagi do dokumentów" msgid "Remove tags from documents" msgstr "Usuń tagi z dokumentów" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "" -#: views.py:34 -msgid "Create tag" -msgstr "Utwórz tag" +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" +msgstr "" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "Musisz podać co najmniej jeden dokument." +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:86 +#: views.py:42 +#, fuzzy +#| msgid "Attach tag" +msgid "Attach" +msgstr "Dołącz tag" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "Załącz tagi do dokumentów" +msgstr[1] "Załącz tagi do dokumentów" +msgstr[2] "Załącz tagi do dokumentów" + +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +msgid "Tags to be attached." +msgstr "" + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "Dokument \"%(document)s\" jest już otagowany jako \"%(tag)s\"" -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." msgstr "Dodanie taga \"%(tag)s\" do dokumentu \"%(document)s\" powiodło się." -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "Załącz tag do dokumentu" -msgstr[1] "Załącz tag do dokumentów" -msgstr[2] "Załącz tag do dokumentów" +#: views.py:108 +msgid "Create tag" +msgstr "Utwórz tag" -#: views.py:160 -msgid "Must provide at least one tag." -msgstr "Musisz wprowadzić conajmniej jeden tag." - -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." -msgstr "Usunięto tag \"%s\"." +msgid "Tag delete request performed on %(count)d tag" +msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" -msgstr "Błąd podczas usuwania taga \"%(tag)s\":%(error)s" +msgid "Tag delete request performed on %(count)d tags" +msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "Zostanie usunięty ze wszystkich dokumentów." -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: views.py:231 +#: views.py:142 +#, fuzzy, python-format +#| msgid "Delete tags" +msgid "Delete tag: %s" +msgstr "Usunąć tagi" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "Usunięto tag \"%s\"." + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "Błąd podczas usuwania taga \"%(tag)s\":%(error)s" + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "Edytuj tag: %s" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "Dokumenty z tagiem: %s" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "Tagi dla dokumentu: %s" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "Musisz podać conajmniej jeden otagowany dokument." - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" +msgstr "" + +#: views.py:237 +#, python-format +msgid "Tag remove request performed on %(count)d documents" +msgstr "" + +#: views.py:244 +#, fuzzy +#| msgid "Remove tag" +msgid "Remove" +msgstr "Usuń tag" + +#: views.py:246 +#, fuzzy +#| msgid "Remove tags from documents" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "Usuń tagi z dokumentów" +msgstr[1] "Usuń tagi z dokumentów" +msgstr[2] "Usuń tagi z dokumentów" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Remove tag from document: %s." +msgid "Remove tags from document: %s" msgstr "Usuń tag z dokumentu: %s." -#: views.py:336 -#, python-format -msgid "Remove tag from documents: %s." -msgstr "Usuń tagi z dokumentów: %s." - -#: views.py:344 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#: views.py:265 +msgid "Tags to be removed." msgstr "" -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +#: views.py:290 +#, fuzzy, python-format +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "Dokument \"%(document)s\" nie był otagowany jako \"%(tag)s\"" -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "Tag \"%(tag)s\" usunięty z dokumentu \"%(document)s\"." +#~ msgid "Must provide at least one document." +#~ msgstr "Musisz podać co najmniej jeden dokument." + +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "Załącz tag do dokumentu" +#~ msgstr[1] "Załącz tag do dokumentów" +#~ msgstr[2] "Załącz tag do dokumentów" + +#~ msgid "Must provide at least one tag." +#~ msgstr "Musisz wprowadzić conajmniej jeden tag." + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "Musisz podać conajmniej jeden otagowany dokument." + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "Usuń tagi z dokumentów: %s." + #~ msgid "remove tags" #~ msgstr "remove tags" @@ -276,9 +346,6 @@ msgstr "Tag \"%(tag)s\" usunięty z dokumentu \"%(document)s\"." #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/pt/LC_MESSAGES/django.po b/mayan/apps/tags/locale/pt/LC_MESSAGES/django.po index 81cde1bb0d..f8053abde7 100644 --- a/mayan/apps/tags/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Emerson Soares , 2011 @@ -11,50 +11,49 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "Etiquetas" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "Documentos" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "" - #: links.py:14 msgid "Remove tag" msgstr "" #: links.py:17 links.py:24 -msgid "Attach tag" -msgstr "" +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags" +msgstr "Atribuir etiquetas aos documentos" #: links.py:20 msgid "Remove tags" msgstr "" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "Eliminar" @@ -62,23 +61,27 @@ msgstr "Eliminar" msgid "Edit" msgstr "Editar" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Nome" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "Cor" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "" -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "" -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "" @@ -106,123 +109,171 @@ msgstr "Atribuir etiquetas aos documentos" msgid "Remove tags from documents" msgstr "Remover etiquetas de documentos" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "" -#: views.py:34 -msgid "Create tag" +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" msgstr "" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "Deve fornecer pelo menos um documento." +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:86 +#: views.py:42 +msgid "Attach" +msgstr "" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "Atribuir etiquetas aos documentos" +msgstr[1] "Atribuir etiquetas aos documentos" + +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +msgid "Tags to be attached." +msgstr "" + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "" -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." msgstr "" -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "" -msgstr[1] "" +#: views.py:108 +msgid "Create tag" +msgstr "" -#: views.py:160 -msgid "Must provide at least one tag." -msgstr "Deve fornecer pelo menos uma etiqueta." - -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." -msgstr "Etiqueta \"%s\" removida com sucesso." +msgid "Tag delete request performed on %(count)d tag" +msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" -msgstr "Erro ao excluir etiqueta \" %(tag)s \": %(error)s " +msgid "Tag delete request performed on %(count)d tags" +msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "Será removida de todos os documentos." -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "" msgstr[1] "" -#: views.py:231 +#: views.py:142 +#, fuzzy, python-format +#| msgid "Delete tags" +msgid "Delete tag: %s" +msgstr "Excluir etiquetas" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "Etiqueta \"%s\" removida com sucesso." + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "Erro ao excluir etiqueta \" %(tag)s \": %(error)s " + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "" - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" msgstr "" -#: views.py:336 +#: views.py:237 #, python-format -msgid "Remove tag from documents: %s." +msgid "Tag remove request performed on %(count)d documents" msgstr "" -#: views.py:344 +#: views.py:244 +msgid "Remove" +msgstr "" + +#: views.py:246 +#, fuzzy +#| msgid "Remove tags from documents" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "Remover etiquetas de documentos" +msgstr[1] "Remover etiquetas de documentos" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Remove tags from documents" +msgid "Remove tags from document: %s" +msgstr "Remover etiquetas de documentos" + +#: views.py:265 +msgid "Tags to be removed." +msgstr "" + +#: views.py:290 #, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "" -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" -msgstr "" - -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Deve fornecer pelo menos um documento." + +#~ msgid "Must provide at least one tag." +#~ msgstr "Deve fornecer pelo menos uma etiqueta." + #~ msgid "remove tags" #~ msgstr "remove tags" @@ -274,9 +325,6 @@ msgstr "" #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/tags/locale/pt_BR/LC_MESSAGES/django.po index 202cf6074d..c2b59af1c3 100644 --- a/mayan/apps/tags/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -11,50 +11,49 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-11-17 23:07+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "Etiquetas" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "Visualizar" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "Documentos" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "Etiquetas para anexar ao documento." - #: links.py:14 msgid "Remove tag" msgstr "Remover Etiqueta" #: links.py:17 links.py:24 -msgid "Attach tag" +#, fuzzy +#| msgid "Attach tag" +msgid "Attach tags" msgstr "anexar etiqueta a: %s" #: links.py:20 msgid "Remove tags" msgstr "Remover Etiquetas" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "Criar nova Etiqueta" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "Excluir" @@ -62,23 +61,27 @@ msgstr "Excluir" msgid "Edit" msgstr "Editar" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Label" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "Cor" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "Etiqueta" -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "Etiqueta do documento" -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "Etiquetas do documento" @@ -106,122 +109,209 @@ msgstr "Anexar etiquetas para documentos" msgid "Remove tags from documents" msgstr "Remover etiquetas de documentos" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "Chave primária da etiqueta a ser adicionada." -#: views.py:34 -msgid "Create tag" -msgstr "Criar Etiqueta" +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" +msgstr "" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "Deve fornecer, pelo menos, um documento." +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:86 +#: views.py:42 +#, fuzzy +#| msgid "Attach tag" +msgid "Attach" +msgstr "anexar etiqueta a: %s" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "Anexar etiquetas para documentos" +msgstr[1] "Anexar etiquetas para documentos" + +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +#, fuzzy +#| msgid "Tags to attach to the document." +msgid "Tags to be attached." +msgstr "Etiquetas para anexar ao documento." + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "Documento \"%(document)s\" já está marcado como \"%(tag)s\"" -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." -msgstr "Etiqueta \"%(tag)s\" anexada com sucesso para o documento \"%(document)s\"." +msgstr "" +"Etiqueta \"%(tag)s\" anexada com sucesso para o documento \"%(document)s\"." -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "Adicionar etiqueta ao documento" -msgstr[1] "Adicionar etiqueta aos documentos" +#: views.py:108 +msgid "Create tag" +msgstr "Criar Etiqueta" -#: views.py:160 -msgid "Must provide at least one tag." -msgstr "Deve fornecer pelo menos uma etiqueta." - -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." -msgstr "Etiqueta \"%s\" removida com sucesso." +msgid "Tag delete request performed on %(count)d tag" +msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" -msgstr "Erro ao excluir etiqueta \" %(tag)s \": %(error)s " +msgid "Tag delete request performed on %(count)d tags" +msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "Será removido de todos os documentos." -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "Apagar a etiqueta selecionada?" msgstr[1] "Apagar as etiquetas selecionadas?" -#: views.py:231 +#: views.py:142 +#, fuzzy, python-format +#| msgid "Delete tags" +msgid "Delete tag: %s" +msgstr "Excluir etiquetas" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "Etiqueta \"%s\" removida com sucesso." + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "Erro ao excluir etiqueta \" %(tag)s \": %(error)s " + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "Editar etiqueta:%s" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "Os documentos com a etiqueta: %s" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "Etiqueta para documento: %s" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "Deve fornecer pelo menos um documento marcado." - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" +msgstr "" + +#: views.py:237 +#, python-format +msgid "Tag remove request performed on %(count)d documents" +msgstr "" + +#: views.py:244 +#, fuzzy +#| msgid "Remove tag" +msgid "Remove" +msgstr "Remover Etiqueta" + +#: views.py:246 +#, fuzzy +#| msgid "Remove tags from documents" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "Remover etiquetas de documentos" +msgstr[1] "Remover etiquetas de documentos" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Remove tag from document: %s." +msgid "Remove tags from document: %s" msgstr "Remove etiqueta do documento: %s." -#: views.py:336 -#, python-format -msgid "Remove tag from documents: %s." -msgstr "Remove etiqueta dos documentos: %s." +#: views.py:265 +msgid "Tags to be removed." +msgstr "" -#: views.py:344 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" -msgstr "Remover a etiqueta \"%(tag)s\" do documento: %(document)s?" - -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "Remover a etiqueta \"%(tag)s\" dos documentos: %(documents)s?" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "Remover as etiquetas: %(tags)s do documento: %(document)s?" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "Remover as etiquetas %(tags)s dos documentos: %(documents)s?" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +#: views.py:290 +#, fuzzy, python-format +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "Documento \"%(document)s\" não estava etiquetado como \"%(tag)s\"" -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." -msgstr "Etiqueta \"%(tag)s\" removida com sucesso do documento \"%(document)s\"." +msgstr "" +"Etiqueta \"%(tag)s\" removida com sucesso do documento \"%(document)s\"." + +#~ msgid "Must provide at least one document." +#~ msgstr "Deve fornecer, pelo menos, um documento." + +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "Adicionar etiqueta ao documento" +#~ msgstr[1] "Adicionar etiqueta aos documentos" + +#~ msgid "Must provide at least one tag." +#~ msgstr "Deve fornecer pelo menos uma etiqueta." + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "Deve fornecer pelo menos um documento marcado." + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "Remove etiqueta dos documentos: %s." + +#~| msgid "" +#~| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "Remover a etiqueta \"%(tag)s\" do documento: %(document)s?" + +#~| msgid "" +#~| "u sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~| "ments)s?" +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "Remover a etiqueta \"%(tag)s\" dos documentos: %(documents)s?" + +#~| msgid "" +#~| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "Remover as etiquetas: %(tags)s do documento: %(document)s?" + +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "Remover as etiquetas %(tags)s dos documentos: %(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" @@ -274,9 +364,6 @@ msgstr "Etiqueta \"%(tag)s\" removida com sucesso do documento \"%(document)s\". #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/tags/locale/ro_RO/LC_MESSAGES/django.po index f712089923..f0c27144cb 100644 --- a/mayan/apps/tags/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Abalaru Paul , 2013 @@ -11,50 +11,50 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-04-17 09:44+0000\n" "Last-Translator: Stefaniu Criste \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "Etichete" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "Documente" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "" - #: links.py:14 msgid "Remove tag" msgstr "Elimină eticheta" #: links.py:17 links.py:24 -msgid "Attach tag" +#, fuzzy +#| msgid "Attach tag" +msgid "Attach tags" msgstr "Atașează etichetă" #: links.py:20 msgid "Remove tags" msgstr "Elimină etichete" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "Șterge" @@ -62,23 +62,27 @@ msgstr "Șterge" msgid "Edit" msgstr "Modifică" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Etichetă" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "Culoare" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "Etichetă" -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "" -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "" @@ -106,124 +110,187 @@ msgstr "Atașați etichete la documente" msgid "Remove tags from documents" msgstr "Îndepărtați etichetele de pe documente" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "" -#: views.py:34 -msgid "Create tag" +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" msgstr "" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "Trebuie să furnizeze cel puțin un document." +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:86 +#: views.py:42 +#, fuzzy +#| msgid "Attach tag" +msgid "Attach" +msgstr "Atașează etichetă" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "Atașați etichete la documente" +msgstr[1] "Atașați etichete la documente" +msgstr[2] "Atașați etichete la documente" + +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +msgid "Tags to be attached." +msgstr "" + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "Documentul \"%(document)s\" este deja etichetat cu \"%(tag)s\"" -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." -msgstr "Eticheta \"%(tag)s\" a fost atașată cu succes la documentul \"%(document)s\"." +msgstr "" +"Eticheta \"%(tag)s\" a fost atașată cu succes la documentul \"%(document)s\"." -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +#: views.py:108 +msgid "Create tag" +msgstr "" -#: views.py:160 -msgid "Must provide at least one tag." -msgstr "Trebuie selectată cel puțin o etichetă." - -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." -msgstr "Eticheta \"%s\" a fost ștersă cu succes." +msgid "Tag delete request performed on %(count)d tag" +msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" -msgstr "Eroare la ștergerea etichetă \"%(tag)s\": %(error)s" +msgid "Tag delete request performed on %(count)d tags" +msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "Va fi eliminată din toate documentele." -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: views.py:231 +#: views.py:142 +#, fuzzy, python-format +#| msgid "Delete tags" +msgid "Delete tag: %s" +msgstr "Ștergeți etichetele" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "Eticheta \"%s\" a fost ștersă cu succes." + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "Eroare la ștergerea etichetă \"%(tag)s\": %(error)s" + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "Modifică eticheta: %s" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "Documente cu eticheta: %s" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "Etichetele documentului: %s" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "Trebuie să atribuiţi cel puțin o etichetă ." - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" +msgstr "" + +#: views.py:237 +#, python-format +msgid "Tag remove request performed on %(count)d documents" +msgstr "" + +#: views.py:244 +#, fuzzy +#| msgid "Remove tag" +msgid "Remove" +msgstr "Elimină eticheta" + +#: views.py:246 +#, fuzzy +#| msgid "Remove tags from documents" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "Îndepărtați etichetele de pe documente" +msgstr[1] "Îndepărtați etichetele de pe documente" +msgstr[2] "Îndepărtați etichetele de pe documente" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Remove tag from document: %s." +msgid "Remove tags from document: %s" msgstr "Eliminați eticheta documentului:% s." -#: views.py:336 -#, python-format -msgid "Remove tag from documents: %s." -msgstr "Eliminați eticheta de la documentele:% s." - -#: views.py:344 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#: views.py:265 +msgid "Tags to be removed." msgstr "" -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +#: views.py:290 +#, fuzzy, python-format +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "Documentul \"%(document)s\" nu a fost etichetat cu \"%(tag)s\"" -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." -msgstr "Eticheta \"%(tag)s\" a fost eliminată cu succes din documentul \"%(document)s\"." +msgstr "" +"Eticheta \"%(tag)s\" a fost eliminată cu succes din documentul \"%(document)s" +"\"." + +#~ msgid "Must provide at least one document." +#~ msgstr "Trebuie să furnizeze cel puțin un document." + +#~ msgid "Must provide at least one tag." +#~ msgstr "Trebuie selectată cel puțin o etichetă." + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "Trebuie să atribuiţi cel puțin o etichetă ." + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "Eliminați eticheta de la documentele:% s." #~ msgid "remove tags" #~ msgstr "remove tags" @@ -276,9 +343,6 @@ msgstr "Eticheta \"%(tag)s\" a fost eliminată cu succes din documentul \"%(docu #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/ru/LC_MESSAGES/django.po b/mayan/apps/tags/locale/ru/LC_MESSAGES/django.po index f449b78be3..c4536ab4a2 100644 --- a/mayan/apps/tags/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -9,50 +9,51 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-11-02 04:15+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "Метки" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "Предварительный просмотр" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "Документы" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "Метки, прикрепляемые к документу." - #: links.py:14 msgid "Remove tag" msgstr "Снять метку" #: links.py:17 links.py:24 -msgid "Attach tag" +#, fuzzy +#| msgid "Attach tag" +msgid "Attach tags" msgstr "Прикрепить метку" #: links.py:20 msgid "Remove tags" msgstr "Снять метки" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "Создать новую метку" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "Удалить" @@ -60,23 +61,27 @@ msgstr "Удалить" msgid "Edit" msgstr "Редактировать" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Надпись" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "Цвет" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "Метка" -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "Метка документа" -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "Метки документов" @@ -104,55 +109,93 @@ msgstr "Прикрепить метки к документам" msgid "Remove tags from documents" msgstr "Удаление тегов из документов" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "Первичный ключ добавляемой метки." -#: views.py:34 -msgid "Create tag" -msgstr "Создать метку" - -#: views.py:59 -msgid "Must provide at least one document." -msgstr "Должен быть хотя бы один документ." - -#: views.py:86 +#: views.py:33 #, python-format -msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" -msgstr "\"%(document)s\" уже имеет метку \"%(tag)s\"" +msgid "Tag attach request performed on %(count)d document" +msgstr "" -#: views.py:96 +#: views.py:35 #, python-format -msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." -msgstr "Метка \"%(tag)s\" присвоена \"%(document)s\"." +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "Прикрепить метку к документам" +#: views.py:42 +#, fuzzy +#| msgid "Attach tag" +msgid "Attach" +msgstr "Прикрепить метку" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "Прикрепить метки к документам" msgstr[1] "Прикрепить метки к документам" msgstr[2] "Прикрепить метки к документам" msgstr[3] "Прикрепить метки к документам" -#: views.py:160 -msgid "Must provide at least one tag." -msgstr "Должна быть хотя бы одна метка." +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." -#: views.py:182 +#: views.py:63 +#, fuzzy +#| msgid "Tags to attach to the document." +msgid "Tags to be attached." +msgstr "Метки, прикрепляемые к документу." + +#: views.py:88 #, python-format -msgid "Tag \"%s\" deleted successfully." -msgstr "Метка \"%s\"удалён." +msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" +msgstr "\"%(document)s\" уже имеет метку \"%(tag)s\"" -#: views.py:186 +#: views.py:99 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" -msgstr "Ошибка при удалении метки \"%(tag)s\": %(error)s" +msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." +msgstr "Метка \"%(tag)s\" присвоена \"%(document)s\"." -#: views.py:196 +#: views.py:108 +msgid "Create tag" +msgstr "Создать метку" + +#: views.py:119 +#, python-format +msgid "Tag delete request performed on %(count)d tag" +msgstr "" + +#: views.py:121 +#, python-format +msgid "Tag delete request performed on %(count)d tags" +msgstr "" + +#: views.py:128 msgid "Will be removed from all documents." msgstr "Будет удален из всех документов." -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "Удалить выбранную метку?" @@ -160,71 +203,122 @@ msgstr[1] "Удалить выбранные метки?" msgstr[2] "Удалить выбранные метки?" msgstr[3] "Удалить выбранные метки?" -#: views.py:231 +#: views.py:142 +#, fuzzy, python-format +#| msgid "Delete tags" +msgid "Delete tag: %s" +msgstr "Удалить метки" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "Метка \"%s\"удалён." + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "Ошибка при удалении метки \"%(tag)s\": %(error)s" + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "Редактировать метку %s" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "Документы с меткой: %s" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "Метки документа: %s" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "Следует указать хотя бы один помеченный документ." - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" +msgstr "" + +#: views.py:237 +#, python-format +msgid "Tag remove request performed on %(count)d documents" +msgstr "" + +#: views.py:244 +#, fuzzy +#| msgid "Remove tag" +msgid "Remove" +msgstr "Снять метку" + +#: views.py:246 +#, fuzzy +#| msgid "Remove tags from documents" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "Удаление тегов из документов" +msgstr[1] "Удаление тегов из документов" +msgstr[2] "Удаление тегов из документов" +msgstr[3] "Удаление тегов из документов" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Remove tag from document: %s." +msgid "Remove tags from document: %s" msgstr "Снять метку с документа %s." -#: views.py:336 -#, python-format -msgid "Remove tag from documents: %s." -msgstr "Снять метку с документов %s." +#: views.py:265 +msgid "Tags to be removed." +msgstr "" -#: views.py:344 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" -msgstr "Снять метку \"%(tag)s\" с документа %(document)s?" - -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "Снять метку \"%(tag)s\" с документов %(documents)s?" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "Снять метки \"%(tags)s\" с документа %(document)s?" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "Снять метки \"%(tags)s\" с документов %(documents)s?" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +#: views.py:290 +#, fuzzy, python-format +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "\"%(document)s\" не помечен как \"%(tag)s\"" -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "Метка \"%(tag)s\" снята с документа \"%(document)s\"." +#~ msgid "Must provide at least one document." +#~ msgstr "Должен быть хотя бы один документ." + +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "Прикрепить метку к документам" +#~ msgstr[1] "Прикрепить метки к документам" +#~ msgstr[2] "Прикрепить метки к документам" +#~ msgstr[3] "Прикрепить метки к документам" + +#~ msgid "Must provide at least one tag." +#~ msgstr "Должна быть хотя бы одна метка." + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "Следует указать хотя бы один помеченный документ." + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "Снять метку с документов %s." + +#~| msgid "" +#~| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "Снять метку \"%(tag)s\" с документа %(document)s?" + +#~| msgid "" +#~| "u sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~| "ments)s?" +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "Снять метку \"%(tag)s\" с документов %(documents)s?" + +#~| msgid "" +#~| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "Снять метки \"%(tags)s\" с документа %(document)s?" + +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "Снять метки \"%(tags)s\" с документов %(documents)s?" + #~ msgid "remove tags" #~ msgstr "remove tags" @@ -276,9 +370,6 @@ msgstr "Метка \"%(tag)s\" снята с документа \"%(document)s\" #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/tags/locale/sl_SI/LC_MESSAGES/django.po index 78def0b01c..cd34639508 100644 --- a/mayan/apps/tags/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/sl_SI/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # kontrabant , 2013 @@ -9,50 +9,48 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-11-17 08:59+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "Oznake" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "Dokumenti" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "" - #: links.py:14 msgid "Remove tag" msgstr "" #: links.py:17 links.py:24 -msgid "Attach tag" +msgid "Attach tags" msgstr "" #: links.py:20 msgid "Remove tags" msgstr "" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "" @@ -60,23 +58,27 @@ msgstr "" msgid "Edit" msgstr "" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "Oznaka" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "Barva" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "" -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "" -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "" @@ -104,55 +106,89 @@ msgstr "" msgid "Remove tags from documents" msgstr "Odstrani oznake iz dokumenta" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "" -#: views.py:34 -msgid "Create tag" +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" msgstr "" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "Potrebno je podati vsaj en dokument" +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:86 +#: views.py:42 +msgid "Attach" +msgstr "" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "Attach tag to document: %s." +msgstr[1] "Attach tag to document: %s." +msgstr[2] "Attach tag to document: %s." +msgstr[3] "Attach tag to document: %s." + +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +msgid "Tags to be attached." +msgstr "" + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "" -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." msgstr "" -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#: views.py:160 -msgid "Must provide at least one tag." +#: views.py:108 +msgid "Create tag" msgstr "" -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." +msgid "Tag delete request performed on %(count)d tag" msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgid "Tag delete request performed on %(count)d tags" msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "" -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "" @@ -160,71 +196,83 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: views.py:231 +#: views.py:142 +#, python-format +msgid "Delete tag: %s" +msgstr "" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "" + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "" + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "" - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" msgstr "" -#: views.py:336 +#: views.py:237 #, python-format -msgid "Remove tag from documents: %s." +msgid "Tag remove request performed on %(count)d documents" msgstr "" -#: views.py:344 +#: views.py:244 +msgid "Remove" +msgstr "" + +#: views.py:246 +#, fuzzy +#| msgid "Remove tags from documents" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "Odstrani oznake iz dokumenta" +msgstr[1] "Odstrani oznake iz dokumenta" +msgstr[2] "Odstrani oznake iz dokumenta" +msgstr[3] "Odstrani oznake iz dokumenta" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Remove tags from documents" +msgid "Remove tags from document: %s" +msgstr "Odstrani oznake iz dokumenta" + +#: views.py:265 +msgid "Tags to be removed." +msgstr "" + +#: views.py:290 #, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "" -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" -msgstr "" - -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "" +#~ msgid "Must provide at least one document." +#~ msgstr "Potrebno je podati vsaj en dokument" + #~ msgid "remove tags" #~ msgstr "remove tags" @@ -276,9 +324,6 @@ msgstr "" #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/tags/locale/vi_VN/LC_MESSAGES/django.po index 7b5e8bbcc4..d4c97af5dd 100644 --- a/mayan/apps/tags/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Trung Phan Minh , 2013 @@ -9,50 +9,49 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "Tags" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "Tài liệu" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "" - #: links.py:14 msgid "Remove tag" msgstr "" #: links.py:17 links.py:24 -msgid "Attach tag" -msgstr "" +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags" +msgstr "Gắn tag cho tài liệu" #: links.py:20 msgid "Remove tags" msgstr "" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "" @@ -60,23 +59,27 @@ msgstr "" msgid "Edit" msgstr "Sửa" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "Màu" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "" -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "" -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "" @@ -104,121 +107,175 @@ msgstr "Gắn tag cho tài liệu" msgid "Remove tags from documents" msgstr "Xóa tag từ tài liệu" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "" -#: views.py:34 -msgid "Create tag" +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" msgstr "" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "Cần cung cấp ít nhất một tài liệu" +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:86 +#: views.py:42 +msgid "Attach" +msgstr "" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "Gắn tag cho tài liệu" + +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +msgid "Tags to be attached." +msgstr "" + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "Tài liệu \"%(document)s\" đã được tag \"%(tag)s\"" -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." msgstr "Tag \"%(tag)s\" được gắn thành công cho tài liệu \"%(document)s\"." -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "" +#: views.py:108 +msgid "Create tag" +msgstr "" -#: views.py:160 -msgid "Must provide at least one tag." -msgstr "Cần cung cấp ít nhất một tag" - -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." -msgstr "Tag \"%s\" xóa thành công." +msgid "Tag delete request performed on %(count)d tag" +msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" -msgstr "Lỗi xóa tag \"%(tag)s\": %(error)s" +msgid "Tag delete request performed on %(count)d tags" +msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "Sẽ được xóa trong tất cả tài liệu." -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "" -#: views.py:231 +#: views.py:142 +#, fuzzy, python-format +#| msgid "Delete tags" +msgid "Delete tag: %s" +msgstr "Xóa tags" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "Tag \"%s\" xóa thành công." + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "Lỗi xóa tag \"%(tag)s\": %(error)s" + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "Cần cung cấp ít nhất một tài liệu đã được tag" - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" +msgstr "" + +#: views.py:237 +#, python-format +msgid "Tag remove request performed on %(count)d documents" +msgstr "" + +#: views.py:244 +msgid "Remove" +msgstr "" + +#: views.py:246 +#, fuzzy +#| msgid "Remove tags from documents" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "Xóa tag từ tài liệu" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Remove tag from document: %s." +msgid "Remove tags from document: %s" msgstr "Xóa tag từ tài liệu: %s" -#: views.py:336 -#, python-format -msgid "Remove tag from documents: %s." -msgstr "Xóa tag từ các tài liệu: %s" - -#: views.py:344 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#: views.py:265 +msgid "Tags to be removed." msgstr "" -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +#: views.py:290 +#, fuzzy, python-format +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "Tài liệu \"%(document)s\" không thể được tag như là \"%(tag)s\"" -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "Tag \"%(tag)s\" đã được xóa thành công từ tài liệu \"%(document)s\"." +#~ msgid "Must provide at least one document." +#~ msgstr "Cần cung cấp ít nhất một tài liệu" + +#~ msgid "Must provide at least one tag." +#~ msgstr "Cần cung cấp ít nhất một tag" + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "Cần cung cấp ít nhất một tài liệu đã được tag" + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "Xóa tag từ các tài liệu: %s" + #~ msgid "remove tags" #~ msgstr "remove tags" @@ -270,9 +327,6 @@ msgstr "Tag \"%(tag)s\" đã được xóa thành công từ tài liệu \"%(doc #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/tags/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/tags/locale/zh_CN/LC_MESSAGES/django.po index 9349954ebb..6f31ee1272 100644 --- a/mayan/apps/tags/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -10,50 +10,49 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:33 apps.py:73 apps.py:90 forms.py:34 forms.py:52 links.py:40 -#: links.py:43 models.py:35 permissions.py:7 views.py:139 +#: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 +#: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 msgid "Tags" msgstr "标签" -#: apps.py:68 apps.py:80 +#: apps.py:73 apps.py:93 msgid "Preview" msgstr "" -#: apps.py:84 models.py:24 +#: apps.py:97 models.py:22 msgid "Documents" msgstr "文档" -#: forms.py:53 -msgid "Tags to attach to the document." -msgstr "" - #: links.py:14 msgid "Remove tag" msgstr "" #: links.py:17 links.py:24 -msgid "Attach tag" -msgstr "" +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags" +msgstr "给文档添加标签" #: links.py:20 msgid "Remove tags" msgstr "" -#: links.py:28 +#: links.py:29 msgid "Create new tag" msgstr "" -#: links.py:32 links.py:45 +#: links.py:32 links.py:45 views.py:130 msgid "Delete" msgstr "" @@ -61,23 +60,27 @@ msgstr "" msgid "Edit" msgstr "" -#: models.py:20 +#: links.py:43 +msgid "All" +msgstr "" + +#: models.py:18 msgid "Label" msgstr "" -#: models.py:22 +#: models.py:20 msgid "Color" msgstr "颜色" -#: models.py:34 +#: models.py:33 msgid "Tag" msgstr "" -#: models.py:53 +#: models.py:47 msgid "Document tag" msgstr "" -#: models.py:54 +#: models.py:48 msgid "Document tags" msgstr "" @@ -105,121 +108,175 @@ msgstr "给文档添加标签" msgid "Remove tags from documents" msgstr "从文档中删除标签" -#: serializers.py:46 +#: serializers.py:38 +msgid "" +"Comma separated list of document primary keys to which this tag will be " +"attached." +msgstr "" + +#: serializers.py:85 +msgid "" +"API URL pointing to a tag in relation to the document attached to it. This " +"URL is different than the canonical tag URL." +msgstr "" + +#: serializers.py:105 msgid "Primary key of the tag to be added." msgstr "" -#: views.py:34 -msgid "Create tag" +#: views.py:33 +#, python-format +msgid "Tag attach request performed on %(count)d document" msgstr "" -#: views.py:59 -msgid "Must provide at least one document." -msgstr "必须提供至少一个文件。" +#: views.py:35 +#, python-format +msgid "Tag attach request performed on %(count)d documents" +msgstr "" -#: views.py:86 +#: views.py:42 +msgid "Attach" +msgstr "" + +#: views.py:44 +#, fuzzy +#| msgid "Attach tags to documents" +msgid "Attach tags to document" +msgid_plural "Attach tags to documents" +msgstr[0] "给文档添加标签" + +#: views.py:54 +#, fuzzy, python-format +#| msgid "Attach tag to document: %s." +msgid "Attach tags to document: %s" +msgstr "Attach tag to document: %s." + +#: views.py:63 +msgid "Tags to be attached." +msgstr "" + +#: views.py:88 #, python-format msgid "Document \"%(document)s\" is already tagged as \"%(tag)s\"" msgstr "文档 \"%(document)s\"已经被标记为 \"%(tag)s\"" -#: views.py:96 +#: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." msgstr "文档\"%(document)s\"添加标签\"%(tag)s\"成功。" -#: views.py:110 -msgid "Attach tag to document" -msgid_plural "Attach tag to documents" -msgstr[0] "" +#: views.py:108 +msgid "Create tag" +msgstr "" -#: views.py:160 -msgid "Must provide at least one tag." -msgstr "必须至少提供一个标签" - -#: views.py:182 +#: views.py:119 #, python-format -msgid "Tag \"%s\" deleted successfully." -msgstr "标签 \"%s\" 删除成功" +msgid "Tag delete request performed on %(count)d tag" +msgstr "" -#: views.py:186 +#: views.py:121 #, python-format -msgid "Error deleting tag \"%(tag)s\": %(error)s" -msgstr "删除标签\"%(tag)s\"失败: %(error)s" +msgid "Tag delete request performed on %(count)d tags" +msgstr "" -#: views.py:196 +#: views.py:128 msgid "Will be removed from all documents." msgstr "将从所有文档中移除" -#: views.py:199 +#: views.py:129 +msgid "fa fa-times" +msgstr "" + +#: views.py:132 msgid "Delete the selected tag?" msgid_plural "Delete the selected tags?" msgstr[0] "" -#: views.py:231 +#: views.py:142 +#, fuzzy, python-format +#| msgid "Delete tags" +msgid "Delete tag: %s" +msgstr "删除标签" + +#: views.py:152 +#, python-format +msgid "Tag \"%s\" deleted successfully." +msgstr "标签 \"%s\" 删除成功" + +#: views.py:156 +#, python-format +msgid "Error deleting tag \"%(tag)s\": %(error)s" +msgstr "删除标签\"%(tag)s\"失败: %(error)s" + +#: views.py:171 #, python-format msgid "Edit tag: %s" msgstr "" -#: views.py:244 +#: views.py:201 #, python-format msgid "Documents with the tag: %s" msgstr "" -#: views.py:271 +#: views.py:224 #, python-format msgid "Tags for document: %s" msgstr "" -#: views.py:286 -msgid "Must provide at least one tagged document." -msgstr "必须至少提供一个标签文档" - -#: views.py:332 +#: views.py:235 #, python-format -msgid "Remove tag from document: %s." +msgid "Tag remove request performed on %(count)d document" +msgstr "" + +#: views.py:237 +#, python-format +msgid "Tag remove request performed on %(count)d documents" +msgstr "" + +#: views.py:244 +msgid "Remove" +msgstr "" + +#: views.py:246 +#, fuzzy +#| msgid "Remove tags from documents" +msgid "Remove tags from document" +msgid_plural "Remove tags from documents" +msgstr[0] "从文档中删除标签" + +#: views.py:256 +#, fuzzy, python-format +#| msgid "Remove tag from document: %s." +msgid "Remove tags from document: %s" msgstr "从文档: %s移除标签" -#: views.py:336 -#, python-format -msgid "Remove tag from documents: %s." -msgstr "从文档: %s移除标签" - -#: views.py:344 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" -msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#: views.py:265 +msgid "Tags to be removed." msgstr "" -#: views.py:351 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tag \"%(tag)s\" from the documents: ments)s?" -msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -msgstr "" - -#: views.py:360 -#, python-format -#| msgid "" -#| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" -msgid "Remove the tags: %(tags)s from the document: %(document)s?" -msgstr "" - -#: views.py:367 -#, python-format -msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -msgstr "" - -#: views.py:379 -#, python-format -msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +#: views.py:290 +#, fuzzy, python-format +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" +msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "文档\"%(document)s\"无标签\"%(tag)s\"" -#: views.py:388 +#: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "标签\"%(tag)s\"成功从文档\"%(document)s\"移除" +#~ msgid "Must provide at least one document." +#~ msgstr "必须提供至少一个文件。" + +#~ msgid "Must provide at least one tag." +#~ msgstr "必须至少提供一个标签" + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "必须至少提供一个标签文档" + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "从文档: %s移除标签" + #~ msgid "remove tags" #~ msgstr "remove tags" @@ -271,9 +328,6 @@ msgstr "标签\"%(tag)s\"成功从文档\"%(document)s\"移除" #~ msgid "Document created" #~ msgstr "document" -#~ msgid "Attach tag to document: %s." -#~ msgstr "Attach tag to document: %s." - #~ msgid "Attach tag to documents: %s." #~ msgstr "Attach tag to documents: %s." diff --git a/mayan/apps/user_management/locale/ar/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/ar/LC_MESSAGES/django.po index 5382d82cd7..adef953594 100644 --- a/mayan/apps/user_management/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -9,57 +9,59 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" +"ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "إدارة المستخدم" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "" -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "" -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "" -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "البريد الإلكتروني" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "كلمة مرور جديدة" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "تأكيد كلمة المرور" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr "" @@ -71,21 +73,23 @@ msgstr "" msgid "Edit" msgstr "تحرير" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "مجموعات" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "Users" #: links.py:62 links.py:66 -msgid "Reset password" -msgstr "" +#, fuzzy +#| msgid "New password" +msgid "Set password" +msgstr "كلمة مرور جديدة" #: permissions.py:10 msgid "Create new groups" @@ -119,114 +123,164 @@ msgstr "تحرير المستخدمين الحاليين" msgid "View existing users" msgstr "عرض المستخدمين الحاليين" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr "" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "" - -#: views.py:133 -msgid "Available groups" -msgstr "" - -#: views.py:134 -msgid "Groups joined" -msgstr "" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "تم انشاء المستخدم \"%s\" بنجاح." -#: views.py:213 views.py:284 -msgid "Must provide at least one user." -msgstr "يجب أن توفر ما لا يقل عن مستخدم واحد." +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" +msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "Delete existing users" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "حذف المستخدمين الحاليين" +msgstr[1] "حذف المستخدمين الحاليين" +msgstr[2] "حذف المستخدمين الحاليين" +msgstr[3] "حذف المستخدمين الحاليين" +msgstr[4] "حذف المستخدمين الحاليين" +msgstr[5] "حذف المستخدمين الحاليين" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete the groups: %s?" +msgid "Delete user: %s" +msgstr "Delete existing groups" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "Super user and staff user deleting is not allowed, use the admin interface for these cases." +msgstr "" +"Super user and staff user deleting is not allowed, use the admin interface " +"for these cases." -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "تم مسح المستخدم \"%s\" بنجاح." -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "خطأ أثناء حذف المستخدم \"%(user)s\": %(error)s" -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" +msgid "Edit user: %s" msgstr "" -#: views.py:257 -#, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" +#: views.py:204 +msgid "Available groups" msgstr "" -#: views.py:300 -msgid "Passwords do not match, try again." -msgstr "لا تتطابق كلمات المرور، حاول مرة أخرى." +#: views.py:205 +msgid "Groups joined" +msgstr "" -#: views.py:309 +#: views.py:214 +#, python-format +msgid "Groups of user: %s" +msgstr "" + +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" +msgstr "" + +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +#, fuzzy +#| msgid "Confirm password" +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "تأكيد كلمة المرور" +msgstr[1] "تأكيد كلمة المرور" +msgstr[2] "تأكيد كلمة المرور" +msgstr[3] "تأكيد كلمة المرور" +msgstr[4] "تأكيد كلمة المرور" +msgstr[5] "تأكيد كلمة المرور" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Reseting password for user: %s" +msgid "Change password for user: %s" +msgstr "إعادة كلمة السر للمستخدم: %s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "Super user and staff user password reseting is not allowed, use the admin interface for these cases." +msgstr "" +"Super user and staff user password reseting is not allowed, use the admin " +"interface for these cases." -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "نجحت إعادة تعيين كلمة المرور للمستخدم: %s" -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "خطأ أثناء إعادة تعيين كلمة المرور للمستخدم \"%(user)s\": %(error)s" -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "إعادة كلمة السر للمستخدم: %s" +#~ msgid "Must provide at least one user." +#~ msgstr "يجب أن توفر ما لا يقل عن مستخدم واحد." -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "إعادة كلمة السر للمستخدمين %s" +#~ msgid "Passwords do not match, try again." +#~ msgstr "لا تتطابق كلمات المرور، حاول مرة أخرى." + +#~ msgid "Reseting password for users: %s" +#~ msgstr "إعادة كلمة السر للمستخدمين %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " @@ -247,9 +301,6 @@ msgstr "إعادة كلمة السر للمستخدمين %s" #~ msgid "Error deleting group \"%(group)s\": %(error)s" #~ msgstr "Error deleting group \"%(group)s\": %(error)s" -#~ msgid "Delete the groups: %s?" -#~ msgstr "Delete existing groups" - #~ msgid "Are you sure you wish to delete the user: %s?" #~ msgstr "Are you sure you wish to delete the user: %s?" diff --git a/mayan/apps/user_management/locale/bg/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/bg/LC_MESSAGES/django.po index ea0c98084a..9609f9b4ef 100644 --- a/mayan/apps/user_management/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Iliya Georgiev , 2012 @@ -9,57 +9,58 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/bg/)\n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "Управление на потребители" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "" -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "" -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "" -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "Електронна поща" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "Нова парола" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "Потвърждение на парола" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr "" @@ -71,21 +72,23 @@ msgstr "" msgid "Edit" msgstr "Редактиране" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "Групи" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "Потребители" #: links.py:62 links.py:66 -msgid "Reset password" -msgstr "" +#, fuzzy +#| msgid "New password" +msgid "Set password" +msgstr "Нова парола" #: permissions.py:10 msgid "Create new groups" @@ -119,114 +122,156 @@ msgstr "Редактиране на нови потребители" msgid "View existing users" msgstr "Преглед на съществуващи потребители" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr "" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "" - -#: views.py:133 -msgid "Available groups" -msgstr "" - -#: views.py:134 -msgid "Groups joined" -msgstr "" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "Потребител \"%s\" е създаден успешно." -#: views.py:213 views.py:284 -msgid "Must provide at least one user." -msgstr "Трябва да изберете поне един потребител." +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" +msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "Delete existing users" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "Изтриване на съществуващи потребители" +msgstr[1] "Изтриване на съществуващи потребители" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete the groups: %s?" +msgid "Delete user: %s" +msgstr "Delete existing groups" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "Изтриване на потребители от супер потребител и служител не е разрешено. Използвайте администраторския модул за тези случаи." +msgstr "" +"Изтриване на потребители от супер потребител и служител не е разрешено. " +"Използвайте администраторския модул за тези случаи." -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "Потребител \"%s\" е изтрит успешно." -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "Грешка при изтриването на потребител \"%(user)s\": %(error)s" -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" +msgid "Edit user: %s" msgstr "" -#: views.py:257 -#, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" +#: views.py:204 +msgid "Available groups" msgstr "" -#: views.py:300 -msgid "Passwords do not match, try again." -msgstr "Паролата не съвпада. Опитайте отново." +#: views.py:205 +msgid "Groups joined" +msgstr "" -#: views.py:309 +#: views.py:214 +#, python-format +msgid "Groups of user: %s" +msgstr "" + +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" +msgstr "" + +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +#, fuzzy +#| msgid "Confirm password" +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "Потвърждение на парола" +msgstr[1] "Потвърждение на парола" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Reseting password for user: %s" +msgid "Change password for user: %s" +msgstr "Промяна на парола на потребител %s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "Промяна на парола на потребители от супер потребител и служител не е разрешено. Използвайте администраторския модул за тези случаи." +msgstr "" +"Промяна на парола на потребители от супер потребител и служител не е " +"разрешено. Използвайте администраторския модул за тези случаи." -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "Успешна промяна на парола на потребител %s." -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "Грешка при промяна на парола на потребител \"%(user)s\": %(error)s" -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "Промяна на парола на потребител %s" +#~ msgid "Must provide at least one user." +#~ msgstr "Трябва да изберете поне един потребител." -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "Промяна на парола на потребители %s" +#~ msgid "Passwords do not match, try again." +#~ msgstr "Паролата не съвпада. Опитайте отново." + +#~ msgid "Reseting password for users: %s" +#~ msgstr "Промяна на парола на потребители %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " @@ -247,9 +292,6 @@ msgstr "Промяна на парола на потребители %s" #~ msgid "Error deleting group \"%(group)s\": %(error)s" #~ msgstr "Error deleting group \"%(group)s\": %(error)s" -#~ msgid "Delete the groups: %s?" -#~ msgstr "Delete existing groups" - #~ msgid "Are you sure you wish to delete the user: %s?" #~ msgstr "Are you sure you wish to delete the user: %s?" diff --git a/mayan/apps/user_management/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/bs_BA/LC_MESSAGES/django.po index 340a4d0570..8931814d00 100644 --- a/mayan/apps/user_management/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -9,57 +9,59 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" +"rosarior/mayan-edms/language/bs_BA/)\n" +"Language: bs_BA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bs_BA\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "Upravljanje korisnicima" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "" -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "" -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "" -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "Email" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "Nova lozinka" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "Potvrdite lozinku" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr "" @@ -71,21 +73,23 @@ msgstr "" msgid "Edit" msgstr "Urediti" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "Grupe" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "Korisnici" #: links.py:62 links.py:66 -msgid "Reset password" -msgstr "" +#, fuzzy +#| msgid "New password" +msgid "Set password" +msgstr "Nova lozinka" #: permissions.py:10 msgid "Create new groups" @@ -119,114 +123,158 @@ msgstr "Izmjeni postojeće korisnike" msgid "View existing users" msgstr "Pregledaj postojeće korisnike" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr "" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "" - -#: views.py:133 -msgid "Available groups" -msgstr "" - -#: views.py:134 -msgid "Groups joined" -msgstr "" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "Korisnik \"%s\" uspješno kreiran." -#: views.py:213 views.py:284 -msgid "Must provide at least one user." -msgstr "Mora biti obebjeđen bar jedan korisnik." +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" +msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "Delete existing users" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "Obriši postojeće korisnike" +msgstr[1] "Obriši postojeće korisnike" +msgstr[2] "Obriši postojeće korisnike" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete the groups: %s?" +msgid "Delete user: %s" +msgstr "Delete existing groups" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "Super user i staff user brisanja nisu dozvoljena, koristite administratorski interface za takve slučajeve" +msgstr "" +"Super user i staff user brisanja nisu dozvoljena, koristite administratorski " +"interface za takve slučajeve" -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "Korisnik \"%s\" uspješno obrisan." -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "Greška brisanja korisnika \"%(user)s\": %(error)s" -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" +msgid "Edit user: %s" msgstr "" -#: views.py:257 -#, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" +#: views.py:204 +msgid "Available groups" msgstr "" -#: views.py:300 -msgid "Passwords do not match, try again." -msgstr "Lozinke se ne podudaraju, pokušajte ponovo." +#: views.py:205 +msgid "Groups joined" +msgstr "" -#: views.py:309 +#: views.py:214 +#, python-format +msgid "Groups of user: %s" +msgstr "" + +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" +msgstr "" + +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +#, fuzzy +#| msgid "Confirm password" +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "Potvrdite lozinku" +msgstr[1] "Potvrdite lozinku" +msgstr[2] "Potvrdite lozinku" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Reseting password for user: %s" +msgid "Change password for user: %s" +msgstr "Resetovanje lozinke za korisnika: %s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "Super user i staff user reset lozinke nije dozvoljen, koristite administratorski interface za takve slučajeve" +msgstr "" +"Super user i staff user reset lozinke nije dozvoljen, koristite " +"administratorski interface za takve slučajeve" -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "Uspješno resetovana lozinka za korisnika: %s." -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "Greška resetovanja lozinke za korisnika \"%(user)s\": %(error)s" -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "Resetovanje lozinke za korisnika: %s" +#~ msgid "Must provide at least one user." +#~ msgstr "Mora biti obebjeđen bar jedan korisnik." -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "Resetovanje lozinke za korisnike: %s" +#~ msgid "Passwords do not match, try again." +#~ msgstr "Lozinke se ne podudaraju, pokušajte ponovo." + +#~ msgid "Reseting password for users: %s" +#~ msgstr "Resetovanje lozinke za korisnike: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " @@ -247,9 +295,6 @@ msgstr "Resetovanje lozinke za korisnike: %s" #~ msgid "Error deleting group \"%(group)s\": %(error)s" #~ msgstr "Error deleting group \"%(group)s\": %(error)s" -#~ msgid "Delete the groups: %s?" -#~ msgstr "Delete existing groups" - #~ msgid "Are you sure you wish to delete the user: %s?" #~ msgstr "Are you sure you wish to delete the user: %s?" diff --git a/mayan/apps/user_management/locale/da/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/da/LC_MESSAGES/django.po index 4be90828f6..e304effdec 100644 --- a/mayan/apps/user_management/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/da/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # René Rovsing Bach , 2013 @@ -9,57 +9,58 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" +"da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "Brugerstyring" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "" -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "" -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "" -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "Nyt password" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "Bekræft password" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr "" @@ -71,21 +72,23 @@ msgstr "" msgid "Edit" msgstr "" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "" #: links.py:62 links.py:66 -msgid "Reset password" -msgstr "" +#, fuzzy +#| msgid "New password" +msgid "Set password" +msgstr "Nyt password" #: permissions.py:10 msgid "Create new groups" @@ -119,114 +122,156 @@ msgstr "Rediger eksisterende brugere" msgid "View existing users" msgstr "Se eksisterende brugere" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr "" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "" - -#: views.py:133 -msgid "Available groups" -msgstr "" - -#: views.py:134 -msgid "Groups joined" -msgstr "" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "Bruger \"%s\" oprettet." -#: views.py:213 views.py:284 -msgid "Must provide at least one user." -msgstr "Der skal angives mindst én bruger." +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" +msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "Delete existing users" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "Slet eksisterende brugere" +msgstr[1] "Slet eksisterende brugere" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete the groups: %s?" +msgid "Delete user: %s" +msgstr "Delete existing groups" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "Det er ikke tilladt at slette superbruger og personalebruger. Anvend administrator brugerfladen i disse tilfælde." +msgstr "" +"Det er ikke tilladt at slette superbruger og personalebruger. Anvend " +"administrator brugerfladen i disse tilfælde." -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "Bruger \"%s\" slettet." -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "Fejl ved sletning af bruger \"%(user)s\": %(error)s" -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" +msgid "Edit user: %s" msgstr "" -#: views.py:257 -#, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" +#: views.py:204 +msgid "Available groups" msgstr "" -#: views.py:300 -msgid "Passwords do not match, try again." -msgstr "De to password stemmer ikke overens, prøv igen." +#: views.py:205 +msgid "Groups joined" +msgstr "" -#: views.py:309 +#: views.py:214 +#, python-format +msgid "Groups of user: %s" +msgstr "" + +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" +msgstr "" + +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +#, fuzzy +#| msgid "Confirm password" +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "Bekræft password" +msgstr[1] "Bekræft password" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Reseting password for user: %s" +msgid "Change password for user: %s" +msgstr "Nulstiller password for bruger: %s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "Det er ikke tilladt at nulstille Superbruger og personale brugeradgangskode. Anvend administrator brugerflade istedet." +msgstr "" +"Det er ikke tilladt at nulstille Superbruger og personale brugeradgangskode. " +"Anvend administrator brugerflade istedet." -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "Password er blevet nulstillet for bruger: %s." -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "Fejl ved nulstilling af password for bruger \"%(user)s\": %(error)s" -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "Nulstiller password for bruger: %s" +#~ msgid "Must provide at least one user." +#~ msgstr "Der skal angives mindst én bruger." -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "Nulstiller password for brugerne: %s" +#~ msgid "Passwords do not match, try again." +#~ msgstr "De to password stemmer ikke overens, prøv igen." + +#~ msgid "Reseting password for users: %s" +#~ msgstr "Nulstiller password for brugerne: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " @@ -247,9 +292,6 @@ msgstr "Nulstiller password for brugerne: %s" #~ msgid "Error deleting group \"%(group)s\": %(error)s" #~ msgstr "Error deleting group \"%(group)s\": %(error)s" -#~ msgid "Delete the groups: %s?" -#~ msgstr "Delete existing groups" - #~ msgid "Are you sure you wish to delete the user: %s?" #~ msgstr "Are you sure you wish to delete the user: %s?" diff --git a/mayan/apps/user_management/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/de_DE/LC_MESSAGES/django.po index 382fcb8474..8e20d73b9d 100644 --- a/mayan/apps/user_management/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Berny , 2015-2016 @@ -13,57 +13,58 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-04-11 21:48+0000\n" "Last-Translator: Berny \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" +"edms/language/de_DE/)\n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "Benutzerverwaltung" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "Alle Gruppen." -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "Alle Benutzer" -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "Mitglieder" -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "Kompletter Name" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "E-Mail" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "Aktiv" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "Verwendbares Passwort" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "Neues Passwort" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "Passwort bestätigen" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr "Erstellen" @@ -75,20 +76,22 @@ msgstr "Löschen" msgid "Edit" msgstr "Bearbeiten" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "Gruppen" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "Erstellen" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "Benutzer" #: links.py:62 links.py:66 -msgid "Reset password" +#, fuzzy +#| msgid "Reset password" +msgid "Set password" msgstr "Passwort" #: permissions.py:10 @@ -123,114 +126,162 @@ msgstr "Benutzer bearbeiten" msgid "View existing users" msgstr "Benutzer anzeigen" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "Gruppe %s bearbeiten" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "Gruppe %s löschen?" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "Verfügbare Nutzer" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "Gruppenmitglieder" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr "Mitglieder von Gruppe %s" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "Benutzer %s bearbeiten" - -#: views.py:133 -msgid "Available groups" -msgstr "Verfügbare Gruppen" - -#: views.py:134 -msgid "Groups joined" -msgstr "Gruppen vereinigt" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "Gruppen von Benutzer %s" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "Benutzer \"%s\" erfolgreich angelegt" -#: views.py:213 views.py:284 -msgid "Must provide at least one user." -msgstr "Es muss mindestens ein Benutzer angegeben werden" +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" +msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "Delete the user: %s?" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "Benutzer %s löschen?" +msgstr[1] "Benutzer %s löschen?" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete the user: %s?" +msgid "Delete user: %s" +msgstr "Benutzer %s löschen?" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "Super User und Staff Benutzer löschen ist nicht erlaubt, benutzen Sie die Administratoren-Oberfläche dafür." +msgstr "" +"Super User und Staff Benutzer löschen ist nicht erlaubt, benutzen Sie die " +"Administratoren-Oberfläche dafür." -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "Benutzer \"%s\" erfolgreich gelöscht" -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "Fehler beim Löschen des Benutzers \"%(user)s\": %(error)s" -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" -msgstr "Benutzer %s löschen?" +msgid "Edit user: %s" +msgstr "Benutzer %s bearbeiten" -#: views.py:257 +#: views.py:204 +msgid "Available groups" +msgstr "Verfügbare Gruppen" + +#: views.py:205 +msgid "Groups joined" +msgstr "Gruppen vereinigt" + +#: views.py:214 #, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" -msgstr "Die Benutzer %s löschen?" +msgid "Groups of user: %s" +msgstr "Gruppen von Benutzer %s" -#: views.py:300 -msgid "Passwords do not match, try again." -msgstr "Passwörter stimmen nicht überein, bitte noch einmal versuchen" +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" +msgstr "" -#: views.py:309 +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +#, fuzzy +#| msgid "Reset password" +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "Passwort" +msgstr[1] "Passwort" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Reseting password for user: %s" +msgid "Change password for user: %s" +msgstr "Passwort zurücksetzen für Benutzer %s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "Super User und Staff Benutzer löschen ist nicht erlaubt, benutzen Sie die Administratoren-Oberfläche dafür." +msgstr "" +"Super User und Staff Benutzer löschen ist nicht erlaubt, benutzen Sie die " +"Administratoren-Oberfläche dafür." -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "Passwort erfolgreich zurückgesetzt für Benutzer %s" -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" -msgstr "Fehler beim Zurücksetzen des Passworts für den Benutzer \"%(user)s\": %(error)s" +msgstr "" +"Fehler beim Zurücksetzen des Passworts für den Benutzer \"%(user)s\": " +"%(error)s" -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "Passwort zurücksetzen für Benutzer %s" +#~ msgid "Must provide at least one user." +#~ msgstr "Es muss mindestens ein Benutzer angegeben werden" -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "Passwort zurücksetzen für die Benutzer %s" +#~| msgid "Delete existing users" +#~ msgid "Delete the users: %s?" +#~ msgstr "Die Benutzer %s löschen?" + +#~ msgid "Passwords do not match, try again." +#~ msgstr "Passwörter stimmen nicht überein, bitte noch einmal versuchen" + +#~ msgid "Reseting password for users: %s" +#~ msgstr "Passwort zurücksetzen für die Benutzer %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/en/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/en/LC_MESSAGES/django.po index 5e341ed74d..c5bed8015c 100644 --- a/mayan/apps/user_management/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2012-12-12 06:07+0000\n" "Last-Translator: Roberto Rosario\n" "Language-Team: English (http://www.transifex.com/projects/p/mayan-edms/" @@ -18,52 +18,52 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "User management" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "" -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "" -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 #, fuzzy msgid "Members" msgstr "members" -#: apps.py:60 +#: apps.py:71 #, fuzzy msgid "Full name" msgstr "full name" -#: apps.py:63 +#: apps.py:74 #, fuzzy msgid "Email" msgstr "email" -#: apps.py:66 +#: apps.py:77 #, fuzzy msgid "Active" msgstr "active" -#: apps.py:72 +#: apps.py:83 #, fuzzy msgid "Has usable password?" msgstr "has usable password?" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "New password" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "Confirm password" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 #, fuzzy msgid "Create new group" msgstr "Create new groups" @@ -77,24 +77,24 @@ msgstr "delete" msgid "Edit" msgstr "" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 #, fuzzy msgid "Groups" msgstr "groups" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 #, fuzzy msgid "Create new user" msgstr "Create new users" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 #, fuzzy msgid "Users" msgstr "users" #: links.py:62 links.py:66 #, fuzzy -msgid "Reset password" +msgid "Set password" msgstr "reset password" #: permissions.py:10 @@ -129,60 +129,69 @@ msgstr "Edit existing users" msgid "View existing users" msgstr "View existing users" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, fuzzy, python-format msgid "Edit group: %s" msgstr "edit group: %s" -#: views.py:66 +#: views.py:64 #, fuzzy, python-format #| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "Delete existing groups" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "" -#: views.py:73 +#: views.py:71 #, fuzzy msgid "Members of groups" msgstr "members of group: %s" -#: views.py:94 +#: views.py:92 #, fuzzy, python-format msgid "Members of group: %s" msgstr "members of group: %s" -#: views.py:127 -#, fuzzy, python-format -msgid "Edit user: %s" -msgstr "edit user: %s" - -#: views.py:133 -msgid "Available groups" -msgstr "" - -#: views.py:134 -#, fuzzy -msgid "Groups joined" -msgstr "groups" - -#: views.py:143 -#, fuzzy, python-format -msgid "Groups of user: %s" -msgstr "groups of user: %s" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "User \"%s\" created successfully." -#: views.py:213 views.py:284 -msgid "Must provide at least one user." -msgstr "Must provide at least one user." +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" +msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "Delete existing users" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "Delete existing users" +msgstr[1] "Delete existing users" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete existing users" +msgid "Delete user: %s" +msgstr "Delete existing users" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." @@ -190,33 +199,63 @@ msgstr "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "User \"%s\" deleted successfully." -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "Error deleting user \"%(user)s\": %(error)s" -#: views.py:255 +#: views.py:198 #, fuzzy, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" -msgstr "Delete existing users" +msgid "Edit user: %s" +msgstr "edit user: %s" -#: views.py:257 +#: views.py:204 +msgid "Available groups" +msgstr "" + +#: views.py:205 +#, fuzzy +msgid "Groups joined" +msgstr "groups" + +#: views.py:214 #, fuzzy, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" -msgstr "Delete existing users" +msgid "Groups of user: %s" +msgstr "groups of user: %s" -#: views.py:300 -msgid "Passwords do not match, try again." -msgstr "Passwords do not match, try again." +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" +msgstr "" -#: views.py:309 +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +#, fuzzy +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "reset password" +msgstr[1] "reset password" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Reseting password for user: %s" +msgid "Change password for user: %s" +msgstr "Reseting password for user: %s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." @@ -224,25 +263,29 @@ msgstr "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "Successfull password reset for user: %s." -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "Error reseting password for user \"%(user)s\": %(error)s" -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "Reseting password for user: %s" +#~ msgid "Must provide at least one user." +#~ msgstr "Must provide at least one user." -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "Reseting password for users: %s" +#, fuzzy +#~| msgid "Delete existing users" +#~ msgid "Delete the users: %s?" +#~ msgstr "Delete existing users" + +#~ msgid "Passwords do not match, try again." +#~ msgstr "Passwords do not match, try again." + +#~ msgid "Reseting password for users: %s" +#~ msgstr "Reseting password for users: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/es/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/es/LC_MESSAGES/django.po index 8ebc0a5b00..3d26d61151 100644 --- a/mayan/apps/user_management/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 @@ -13,57 +13,58 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-05-09 01:33+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" +"language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "Administración de usuarios" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "Todos los grupos." -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "Todos los usuarios." -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "Miembros" -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "Nombre completo" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "Correo electrónico" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "Activo" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "¿Tiene contraseña utilizable?" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "Nueva contraseña" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "Confirmar contraseña" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr "Crear nuevo grupo" @@ -75,20 +76,22 @@ msgstr "Borrar" msgid "Edit" msgstr "Editar" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "Grupos" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "Crear nuevo usuario" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "Usuarios" #: links.py:62 links.py:66 -msgid "Reset password" +#, fuzzy +#| msgid "Reset password" +msgid "Set password" msgstr "Restablecer contraseña" #: permissions.py:10 @@ -123,114 +126,161 @@ msgstr "Editar usuarios existentes" msgid "View existing users" msgstr "Ver usuarios existentes" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "Editar grupo: %s" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "¿Borrar el grupo: %s?" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "Usuarios disponibles" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "Miembros de grupos" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr "Miembros del grupo: %s" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "Editar usuario: %s" - -#: views.py:133 -msgid "Available groups" -msgstr "Grupos disponibles." - -#: views.py:134 -msgid "Groups joined" -msgstr "Grupos participados" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "Grupos de usuario: %s" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "Usuario \"%s\" creado con éxito." -#: views.py:213 views.py:284 -msgid "Must provide at least one user." -msgstr "Debe indicar al menos un usuario." +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" +msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "Delete the user: %s?" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "¿Borrar el usuario: %s?" +msgstr[1] "¿Borrar el usuario: %s?" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete the user: %s?" +msgid "Delete user: %s" +msgstr "¿Borrar el usuario: %s?" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "No se permite eliminar el super usuario y usuario de personal. Use la interfaz de administración para estos casos." +msgstr "" +"No se permite eliminar el super usuario y usuario de personal. Use la " +"interfaz de administración para estos casos." -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "Usuario \"%s\" eliminado con éxito." -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "Error eliminando el usuario \"%(user)s\": %(error)s " -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" -msgstr "¿Borrar el usuario: %s?" +msgid "Edit user: %s" +msgstr "Editar usuario: %s" -#: views.py:257 +#: views.py:204 +msgid "Available groups" +msgstr "Grupos disponibles." + +#: views.py:205 +msgid "Groups joined" +msgstr "Grupos participados" + +#: views.py:214 #, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" -msgstr "¿Borrar los usuarios: %s?" +msgid "Groups of user: %s" +msgstr "Grupos de usuario: %s" -#: views.py:300 -msgid "Passwords do not match, try again." -msgstr "Las contraseñas no coinciden. Vuelva a intentarlo." +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" +msgstr "" -#: views.py:309 +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +#, fuzzy +#| msgid "Reset password" +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "Restablecer contraseña" +msgstr[1] "Restablecer contraseña" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Reseting password for user: %s" +msgid "Change password for user: %s" +msgstr "Restaurando contraseña del usuario: %s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "No se permite cambiar la contraseña del super usuario y del usuario de personal. Use la interfaz de administración para estos casos." +msgstr "" +"No se permite cambiar la contraseña del super usuario y del usuario de " +"personal. Use la interfaz de administración para estos casos." -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "Contraseña restablecida para el usuario: %s." -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" -msgstr "Error restaurando la contraseña para el usuario \"%(user)s\": %(error)s " +msgstr "" +"Error restaurando la contraseña para el usuario \"%(user)s\": %(error)s " -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "Restaurando contraseña del usuario: %s" +#~ msgid "Must provide at least one user." +#~ msgstr "Debe indicar al menos un usuario." -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "Restaurando la contraseña de los usuarios: %s" +#~| msgid "Delete existing users" +#~ msgid "Delete the users: %s?" +#~ msgstr "¿Borrar los usuarios: %s?" + +#~ msgid "Passwords do not match, try again." +#~ msgstr "Las contraseñas no coinciden. Vuelva a intentarlo." + +#~ msgid "Reseting password for users: %s" +#~ msgstr "Restaurando la contraseña de los usuarios: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/fa/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/fa/LC_MESSAGES/django.po index 3a3687b028..0662171394 100644 --- a/mayan/apps/user_management/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mehdi Amani , 2014 @@ -9,57 +9,58 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" +"language/fa/)\n" +"Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "مدیریت کاربران" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "" -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "" -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "عضو" -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "نام کامل" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "پست الکترونیکی" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "فعال" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "دارای کلمه عبور قابل قبول؟" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "کلمه عبور جدید" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "تائید کلمه عبور" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr "گروه جدید" @@ -71,20 +72,22 @@ msgstr "حذف" msgid "Edit" msgstr "ویرایش" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "گروه ها" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "کاربر جدید" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "کاربران" #: links.py:62 links.py:66 -msgid "Reset password" +#, fuzzy +#| msgid "Reset password" +msgid "Set password" msgstr "کلمه عبور جدید" #: permissions.py:10 @@ -119,114 +122,150 @@ msgstr "ویرایش کاربران موجود" msgid "View existing users" msgstr "دیدن کاربران موجود" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "ویرایش گروه : %s" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr " اعضای گروه : %s" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "ویرایش کاربر : %s" - -#: views.py:133 -msgid "Available groups" -msgstr "" - -#: views.py:134 -msgid "Groups joined" -msgstr "" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "گروه های کاربر : %s" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "کاربر \"%s\" با موفقیت ساخته شد." -#: views.py:213 views.py:284 -msgid "Must provide at least one user." -msgstr "باید حداقل یک کاربر ارئه شود." +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" +msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "Delete" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "حذف" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Edit user: %s" +msgid "Delete user: %s" +msgstr "ویرایش کاربر : %s" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." msgstr "برای حذف از صفحه admin استفاده کنید." -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "کاربر \"%s\" با موفقیت حذف شد." -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "خطا در حذف کاربر \"%(user)s\": %(error)s" -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" +msgid "Edit user: %s" +msgstr "ویرایش کاربر : %s" + +#: views.py:204 +msgid "Available groups" msgstr "" -#: views.py:257 -#, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" +#: views.py:205 +msgid "Groups joined" msgstr "" -#: views.py:300 -msgid "Passwords do not match, try again." -msgstr "کلمه عبور یکسان نیست دوباره امتحان کنید." +#: views.py:214 +#, python-format +msgid "Groups of user: %s" +msgstr "گروه های کاربر : %s" -#: views.py:309 +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" +msgstr "" + +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +#, fuzzy +#| msgid "Reset password" +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "کلمه عبور جدید" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Reseting password for user: %s" +msgid "Change password for user: %s" +msgstr "ریست کلمه عبور کاربر: %s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." msgstr "از صفحه admin برای این موارد استفاده کنید." -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "ریست موفق کلمه عبور برای کاربر : %s." -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "خطا در زمان ریست کلمه عبور کاربر: \"%(user)s\": %(error)s" -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "ریست کلمه عبور کاربر: %s" +#~ msgid "Must provide at least one user." +#~ msgstr "باید حداقل یک کاربر ارئه شود." -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "ریست کلمه عبور کابران : %s" +#~ msgid "Passwords do not match, try again." +#~ msgstr "کلمه عبور یکسان نیست دوباره امتحان کنید." + +#~ msgid "Reseting password for users: %s" +#~ msgstr "ریست کلمه عبور کابران : %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/fr/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/fr/LC_MESSAGES/django.po index b463e91843..3c28a7c0a7 100644 --- a/mayan/apps/user_management/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Christophe CHAUVET , 2014 @@ -13,57 +13,58 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-04-28 15:12+0000\n" "Last-Translator: Baptiste GAILLET \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" +"fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "Gestion des utilisateurs" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "Tous les groupes." -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "Tous les utilisateurs." -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "Membres" -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "Nom complet" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "Courriel" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "Actif" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "Possède un mot de passe utilisable ?" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "Nouveau mot de passe" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "Confirmer le mot de passe" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr "Créer un nouveau groupe" @@ -75,20 +76,22 @@ msgstr "Supprimer" msgid "Edit" msgstr "Modifier" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "Groupes" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "Créer un nouvel utilisateur" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "Utilisateurs" #: links.py:62 links.py:66 -msgid "Reset password" +#, fuzzy +#| msgid "Reset password" +msgid "Set password" msgstr "Reinitialiser le mot de passe" #: permissions.py:10 @@ -123,114 +126,164 @@ msgstr "Modifier des utilisateurs existants" msgid "View existing users" msgstr "Afficher les utilisateurs existants" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "Modification du groupe : %s" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "Supprimer le groupe : %s ?" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "Utilisateurs disponibles" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "Membres des groupes" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr "Membres du groupe : %s" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "Modifier l'utilisateur : %s" - -#: views.py:133 -msgid "Available groups" -msgstr "Groupes disponibles" - -#: views.py:134 -msgid "Groups joined" -msgstr "Groupes rejoints" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "Membre des groupes : %s" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "Utilisateur \"%s\" créé avec succès." -#: views.py:213 views.py:284 -msgid "Must provide at least one user." -msgstr "Vous devez indiquer au moins un utilisateur." +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" +msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "Delete the user: %s?" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "Supprimer l'utilisateur : %s ?" +msgstr[1] "Supprimer l'utilisateur : %s ?" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete the user: %s?" +msgid "Delete user: %s" +msgstr "Supprimer l'utilisateur : %s ?" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "La suppression des comptes super utilisateur et staff n'est pas autorisée ici, veuillez le faire via l'interface d'administration." +msgstr "" +"La suppression des comptes super utilisateur et staff n'est pas autorisée " +"ici, veuillez le faire via l'interface d'administration." -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "Utilisateur \"%s\" supprimé avec succès." -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" -msgstr "Erreur lors de la suppression de l'utilisateur \"%(user)s\" : %(error)s" +msgstr "" +"Erreur lors de la suppression de l'utilisateur \"%(user)s\" : %(error)s" -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" -msgstr "Supprimer l'utilisateur : %s ?" +msgid "Edit user: %s" +msgstr "Modifier l'utilisateur : %s" -#: views.py:257 +#: views.py:204 +msgid "Available groups" +msgstr "Groupes disponibles" + +#: views.py:205 +msgid "Groups joined" +msgstr "Groupes rejoints" + +#: views.py:214 #, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" -msgstr "Supprimer les utilisateurs : %s ?" +msgid "Groups of user: %s" +msgstr "Membre des groupes : %s" -#: views.py:300 -msgid "Passwords do not match, try again." -msgstr "Les mots de passe ne correspondent pas, veuillez réessayer." +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" +msgstr "" -#: views.py:309 +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +#, fuzzy +#| msgid "Reset password" +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "Reinitialiser le mot de passe" +msgstr[1] "Reinitialiser le mot de passe" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Reseting password for user: %s" +msgid "Change password for user: %s" +msgstr "Ré-initialisation du mot de passe pour l'utilisateur : %s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "La réinitialisation des mots de passe pour les comptes super utilisateur et staff n'est pas autorisée ici, veuillez le faire via l'interface d'administration." +msgstr "" +"La réinitialisation des mots de passe pour les comptes super utilisateur et " +"staff n'est pas autorisée ici, veuillez le faire via l'interface " +"d'administration." -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "Mot de passe ré-initialisé avec succès pour l'utilisateur : %s." -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" -msgstr "Erreur lors de la ré-initialisation du mot de passe pour l'utilisateur \"%(user)s\" : %(error)s" +msgstr "" +"Erreur lors de la ré-initialisation du mot de passe pour l'utilisateur " +"\"%(user)s\" : %(error)s" -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "Ré-initialisation du mot de passe pour l'utilisateur : %s" +#~ msgid "Must provide at least one user." +#~ msgstr "Vous devez indiquer au moins un utilisateur." -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "Ré-initialisation du mot de passe pour les utilisateurs : %s" +#~| msgid "Delete existing users" +#~ msgid "Delete the users: %s?" +#~ msgstr "Supprimer les utilisateurs : %s ?" + +#~ msgid "Passwords do not match, try again." +#~ msgstr "Les mots de passe ne correspondent pas, veuillez réessayer." + +#~ msgid "Reseting password for users: %s" +#~ msgstr "Ré-initialisation du mot de passe pour les utilisateurs : %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/hu/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/hu/LC_MESSAGES/django.po index 67048c3845..400cec13fe 100644 --- a/mayan/apps/user_management/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/hu/LC_MESSAGES/django.po @@ -1,64 +1,65 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" +"language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "" -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "" -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "" -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr "" @@ -70,20 +71,20 @@ msgstr "" msgid "Edit" msgstr "" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "" #: links.py:62 links.py:66 -msgid "Reset password" +msgid "Set password" msgstr "" #: permissions.py:10 @@ -118,115 +119,142 @@ msgstr "" msgid "View existing users" msgstr "" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr "" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "" - -#: views.py:133 -msgid "Available groups" -msgstr "" - -#: views.py:134 -msgid "Groups joined" -msgstr "" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "" -#: views.py:213 views.py:284 -msgid "Must provide at least one user." +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "create new user" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "create new user" +msgstr[1] "create new user" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete the groups: %s?" +msgid "Delete user: %s" +msgstr "Delete existing groups" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." msgstr "" -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "" -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "" -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" +msgid "Edit user: %s" msgstr "" -#: views.py:257 +#: views.py:204 +msgid "Available groups" +msgstr "" + +#: views.py:205 +msgid "Groups joined" +msgstr "" + +#: views.py:214 #, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" +msgid "Groups of user: %s" msgstr "" -#: views.py:300 -msgid "Passwords do not match, try again." +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" msgstr "" -#: views.py:309 +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "" +msgstr[1] "" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Non groups of user: %s" +msgid "Change password for user: %s" +msgstr "non groups of user: %s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." msgstr "" -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "" -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "" -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "" - -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "" - #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " #~ "for these cases." @@ -246,18 +274,12 @@ msgstr "" #~ msgid "Error deleting group \"%(group)s\": %(error)s" #~ msgstr "Error deleting group \"%(group)s\": %(error)s" -#~ msgid "Delete the groups: %s?" -#~ msgstr "Delete existing groups" - #~ msgid "Are you sure you wish to delete the user: %s?" #~ msgstr "Are you sure you wish to delete the user: %s?" #~ msgid "Are you sure you wish to delete the users: %s?" #~ msgstr "Are you sure you wish to delete the users: %s?" -#~ msgid "Non groups of user: %s" -#~ msgstr "non groups of user: %s" - #~ msgid "Group \"%s\" updated successfully." #~ msgstr "Group \"%s\" updated successfully." @@ -285,9 +307,6 @@ msgstr "" #~ msgid "edit" #~ msgstr "edit" -#~ msgid "create new user" -#~ msgstr "create new user" - #~ msgid "create new group" #~ msgstr "create new group" diff --git a/mayan/apps/user_management/locale/id/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/id/LC_MESSAGES/django.po index 28b3fb4384..27802425c6 100644 --- a/mayan/apps/user_management/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/id/LC_MESSAGES/django.po @@ -1,64 +1,65 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" +"language/id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "" -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "" -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "" -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "Surel" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr "" @@ -70,20 +71,20 @@ msgstr "" msgid "Edit" msgstr "" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "" #: links.py:62 links.py:66 -msgid "Reset password" +msgid "Set password" msgstr "" #: permissions.py:10 @@ -118,115 +119,140 @@ msgstr "" msgid "View existing users" msgstr "" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr "" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "" - -#: views.py:133 -msgid "Available groups" -msgstr "" - -#: views.py:134 -msgid "Groups joined" -msgstr "" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "" -#: views.py:213 views.py:284 -msgid "Must provide at least one user." +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "create new user" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "create new user" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete the groups: %s?" +msgid "Delete user: %s" +msgstr "Delete existing groups" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." msgstr "" -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "" -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "" -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" +msgid "Edit user: %s" msgstr "" -#: views.py:257 +#: views.py:204 +msgid "Available groups" +msgstr "" + +#: views.py:205 +msgid "Groups joined" +msgstr "" + +#: views.py:214 #, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" +msgid "Groups of user: %s" msgstr "" -#: views.py:300 -msgid "Passwords do not match, try again." +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" msgstr "" -#: views.py:309 +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Non groups of user: %s" +msgid "Change password for user: %s" +msgstr "non groups of user: %s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." msgstr "" -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "" -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "" -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "" - -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "" - #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " #~ "for these cases." @@ -246,18 +272,12 @@ msgstr "" #~ msgid "Error deleting group \"%(group)s\": %(error)s" #~ msgstr "Error deleting group \"%(group)s\": %(error)s" -#~ msgid "Delete the groups: %s?" -#~ msgstr "Delete existing groups" - #~ msgid "Are you sure you wish to delete the user: %s?" #~ msgstr "Are you sure you wish to delete the user: %s?" #~ msgid "Are you sure you wish to delete the users: %s?" #~ msgstr "Are you sure you wish to delete the users: %s?" -#~ msgid "Non groups of user: %s" -#~ msgstr "non groups of user: %s" - #~ msgid "Group \"%s\" updated successfully." #~ msgstr "Group \"%s\" updated successfully." @@ -285,9 +305,6 @@ msgstr "" #~ msgid "edit" #~ msgstr "edit" -#~ msgid "create new user" -#~ msgstr "create new user" - #~ msgid "create new group" #~ msgstr "create new group" diff --git a/mayan/apps/user_management/locale/it/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/it/LC_MESSAGES/django.po index abd1a7dd27..5733a5f092 100644 --- a/mayan/apps/user_management/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Marco Camplese , 2016 @@ -11,57 +11,58 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-09-24 11:31+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" +"language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "Gestione utenti" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "Tutti i gruppi" -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "Tutti gli utenti" -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "Membri " -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "Nome completo" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "Email" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "Attivo" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "La password è utilizzabile?" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "Nuova password" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "Conferma password" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr "Crea nuovo gruppo" @@ -73,20 +74,22 @@ msgstr "Cancella" msgid "Edit" msgstr "Modifica" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "Gruppi" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "Crea nuovo utente" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "Utenti" #: links.py:62 links.py:66 -msgid "Reset password" +#, fuzzy +#| msgid "Reset password" +msgid "Set password" msgstr "Reset della password" #: permissions.py:10 @@ -121,114 +124,162 @@ msgstr "Modifica utenti " msgid "View existing users" msgstr "Visualizza utenti" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "Modifica gruppo: %s" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "Cancellare il gruppo: %s?" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "Utenti disponibili" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "Membri dei gruppi" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr "Membri del gruppo: %s" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "Modifica utente: %s" - -#: views.py:133 -msgid "Available groups" -msgstr "Gruppi disponibili " - -#: views.py:134 -msgid "Groups joined" -msgstr "Gruppi aggiunti" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "Gruppi per l'utente: %s" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "Utente \"%s\" creato con successo." -#: views.py:213 views.py:284 -msgid "Must provide at least one user." -msgstr "Devi fornire almeno un utente." +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" +msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "Delete the user: %s?" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "Cancellare l'utente: %s?" +msgstr[1] "Cancellare l'utente: %s?" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete the user: %s?" +msgid "Delete user: %s" +msgstr "Cancellare l'utente: %s?" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "Al super utente e utente non è consentito la cancellazione del personale, utilizzare l'interfaccia di amministrazione per questi casi." +msgstr "" +"Al super utente e utente non è consentito la cancellazione del personale, " +"utilizzare l'interfaccia di amministrazione per questi casi." -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "Utente \"%s\" cancellato con successo." -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "Errore nella cancellazione dell'utente \"%(user)s\": %(error)s" -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" -msgstr "Cancellare l'utente: %s?" +msgid "Edit user: %s" +msgstr "Modifica utente: %s" -#: views.py:257 +#: views.py:204 +msgid "Available groups" +msgstr "Gruppi disponibili " + +#: views.py:205 +msgid "Groups joined" +msgstr "Gruppi aggiunti" + +#: views.py:214 #, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" -msgstr "Cancellare gli utenti: %s?" +msgid "Groups of user: %s" +msgstr "Gruppi per l'utente: %s" -#: views.py:300 -msgid "Passwords do not match, try again." -msgstr "La password non corrisponde, riprova." +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" +msgstr "" -#: views.py:309 +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +#, fuzzy +#| msgid "Reset password" +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "Reset della password" +msgstr[1] "Reset della password" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Reseting password for user: %s" +msgid "Change password for user: %s" +msgstr "Reimposta la password per l'utente:%s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "Al super utente e utente non è consentito di reimpostare la password personale, utilizzare l'interfaccia di amministrazione per questi casi." +msgstr "" +"Al super utente e utente non è consentito di reimpostare la password " +"personale, utilizzare l'interfaccia di amministrazione per questi casi." -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "Password reimpostata per l'utente: %s." -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" -msgstr "Errore per il reimpostamento della password per l'utente \"%(user)s\": %(error)s" +msgstr "" +"Errore per il reimpostamento della password per l'utente \"%(user)s\": " +"%(error)s" -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "Reimposta la password per l'utente:%s" +#~ msgid "Must provide at least one user." +#~ msgstr "Devi fornire almeno un utente." -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "Reimposta la password per gli utenti:%s" +#~| msgid "Delete existing users" +#~ msgid "Delete the users: %s?" +#~ msgstr "Cancellare gli utenti: %s?" + +#~ msgid "Passwords do not match, try again." +#~ msgstr "La password non corrisponde, riprova." + +#~ msgid "Reseting password for users: %s" +#~ msgstr "Reimposta la password per gli utenti:%s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/nl_NL/LC_MESSAGES/django.po index acdee61588..bba2be424d 100644 --- a/mayan/apps/user_management/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -10,57 +10,58 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-10-28 08:58+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" +"edms/language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "Gebruikersbeheer" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "Alle groepen." -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "Alle gebruikers." -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "Leden" -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "Volledige naam" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "Email" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "Actief" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "Heeft bruikbaar wachtwoord?" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "Nieuw wachtwoord" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "Bevestig wachtwoord" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr " Maak nieuwe groep aan" @@ -72,20 +73,22 @@ msgstr "Verwijder" msgid "Edit" msgstr "Bewerken" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "Groepen" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "Maak nieuwe gebruiker aan" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "Gebruikers" #: links.py:62 links.py:66 -msgid "Reset password" +#, fuzzy +#| msgid "Reset password" +msgid "Set password" msgstr "Verander wachtwoord" #: permissions.py:10 @@ -120,114 +123,162 @@ msgstr "Bewerk bestaande gebruikers" msgid "View existing users" msgstr "Bekijk bestaande gebruikers" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "Bewerk groep: %s" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "Verwijder de groep: %s?" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "Beschikbare gebruikers" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "Leden van de groepen" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr "Leden van de groep: %s" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "Bewerk gebruiker: %s" - -#: views.py:133 -msgid "Available groups" -msgstr "Beschikbare groepen" - -#: views.py:134 -msgid "Groups joined" -msgstr "Lid van groepen" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "Groepen van gebruiker: %s" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "Gebuiker \"%s\" is succesvol aangemaakt." -#: views.py:213 views.py:284 -msgid "Must provide at least one user." -msgstr "U dient minimaal één gebruiker in te voeren." +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" +msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "Delete the user: %s?" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "Verwijder de gebruiker: %s?" +msgstr[1] "Verwijder de gebruiker: %s?" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete the user: %s?" +msgid "Delete user: %s" +msgstr "Verwijder de gebruiker: %s?" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "Super gebruiker en medewerker verwijderen is niet toegestaan, gebruik de admin gebruiker voor deze zaken." +msgstr "" +"Super gebruiker en medewerker verwijderen is niet toegestaan, gebruik de " +"admin gebruiker voor deze zaken." -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "Gebruiker \"%s\" succesvol verwijderd." -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "Fout tijdens het verwijderen van gebruiker \"%(user)s\": %(error)s" -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" -msgstr "Verwijder de gebruiker: %s?" +msgid "Edit user: %s" +msgstr "Bewerk gebruiker: %s" -#: views.py:257 +#: views.py:204 +msgid "Available groups" +msgstr "Beschikbare groepen" + +#: views.py:205 +msgid "Groups joined" +msgstr "Lid van groepen" + +#: views.py:214 #, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" -msgstr "Verwijder de gebruikers: %s?" +msgid "Groups of user: %s" +msgstr "Groepen van gebruiker: %s" -#: views.py:300 -msgid "Passwords do not match, try again." -msgstr "Wachtwoord is niet het zelfde, probeer het opnieuw." +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" +msgstr "" -#: views.py:309 +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +#, fuzzy +#| msgid "Reset password" +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "Verander wachtwoord" +msgstr[1] "Verander wachtwoord" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Reseting password for user: %s" +msgid "Change password for user: %s" +msgstr "Wachtwoord aanpassen voor gebruiker: %s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "Super gebruiker en medewerker wachtwoord aanpassen is niet toegestaan, gebruik de admin gebruiker voor deze zaken." +msgstr "" +"Super gebruiker en medewerker wachtwoord aanpassen is niet toegestaan, " +"gebruik de admin gebruiker voor deze zaken." -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "Succesvol wachtwoord aangepast voor gebruiker: %s" -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" -msgstr "Fout tijdens het veranderen van het wachtwoord voor gebruiker \"%(user)s\": %(error)s" +msgstr "" +"Fout tijdens het veranderen van het wachtwoord voor gebruiker \"%(user)s\": " +"%(error)s" -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "Wachtwoord aanpassen voor gebruiker: %s" +#~ msgid "Must provide at least one user." +#~ msgstr "U dient minimaal één gebruiker in te voeren." -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "Wachtwoord aanpassen voor gebruikers: %s" +#~| msgid "Delete existing users" +#~ msgid "Delete the users: %s?" +#~ msgstr "Verwijder de gebruikers: %s?" + +#~ msgid "Passwords do not match, try again." +#~ msgstr "Wachtwoord is niet het zelfde, probeer het opnieuw." + +#~ msgid "Reseting password for users: %s" +#~ msgstr "Wachtwoord aanpassen voor gebruikers: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/pl/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/pl/LC_MESSAGES/django.po index b8edad641e..2ab943bce6 100644 --- a/mayan/apps/user_management/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Annunnaky , 2015 @@ -11,57 +11,59 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-08-04 09:31+0000\n" "Last-Translator: Daniel Winiarski \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "Zarządzanie użytkownikami" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "Wszystkie grupy." -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "Wszyscy użytkownicy." -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "Członkowie" -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "Pełna nazwa" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "Email" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "Aktywny" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "Posiada hasło?" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "Nowe hasło" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "Potwierdź hasło" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr "Utwórz nową grupę" @@ -73,20 +75,22 @@ msgstr "Usunąć" msgid "Edit" msgstr "Edytuj" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "Grupy" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "Tworzenie nowego użytkownika" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "Użytkownicy" #: links.py:62 links.py:66 -msgid "Reset password" +#, fuzzy +#| msgid "Reset password" +msgid "Set password" msgstr "Zresetować hasło" #: permissions.py:10 @@ -121,114 +125,162 @@ msgstr "Edycja istniejących użytkowników" msgid "View existing users" msgstr "Zobacz istniejących użytkowników" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "Edycja grupy: %s" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "Usunąć grupę: %s?" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "Dostępni użytkownicy" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "Członkowie grup" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr "Członkowie grupy: %s" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "Edytuj użytkownika: %s" - -#: views.py:133 -msgid "Available groups" -msgstr "Dostępne grupy" - -#: views.py:134 -msgid "Groups joined" -msgstr "" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "Grupy użytkownika: %s" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "Użytkownik \"%s\" został utworzony pomyślnie." -#: views.py:213 views.py:284 -msgid "Must provide at least one user." -msgstr "Musi podać co najmniej jednego użytkownika." +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" +msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "Delete the user: %s?" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "Usunąć użytkownika: %s?" +msgstr[1] "Usunąć użytkownika: %s?" +msgstr[2] "Usunąć użytkownika: %s?" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete the user: %s?" +msgid "Delete user: %s" +msgstr "Usunąć użytkownika: %s?" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "Super user oraz staff user usuwanie nie jest możliwa , należy użyć interfejsu administratora w takich przypadkach." +msgstr "" +"Super user oraz staff user usuwanie nie jest możliwa , należy użyć " +"interfejsu administratora w takich przypadkach." -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "Użytkownik \"%s\" został usunięta." -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "Błąd podczas usuwania użytkownika \" %(user)s \": %(error)s " -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" -msgstr "Usunąć użytkownika: %s?" +msgid "Edit user: %s" +msgstr "Edytuj użytkownika: %s" -#: views.py:257 +#: views.py:204 +msgid "Available groups" +msgstr "Dostępne grupy" + +#: views.py:205 +msgid "Groups joined" +msgstr "" + +#: views.py:214 #, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" -msgstr "Usunąć użytkowników: %s?" +msgid "Groups of user: %s" +msgstr "Grupy użytkownika: %s" -#: views.py:300 -msgid "Passwords do not match, try again." -msgstr "Hasła nie pasują, spróbuj ponownie." +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" +msgstr "" -#: views.py:309 +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +#, fuzzy +#| msgid "Reset password" +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "Zresetować hasło" +msgstr[1] "Zresetować hasło" +msgstr[2] "Zresetować hasło" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Reseting password for user: %s" +msgid "Change password for user: %s" +msgstr "Resetowanie hasła użytkownika:%s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "Super user oraz staff user reset nie jest możliwa , należy użyć interfejsu administratora w takich przypadkach." +msgstr "" +"Super user oraz staff user reset nie jest możliwa , należy użyć interfejsu " +"administratora w takich przypadkach." -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "Pomyślne resetowania hasła użytkownika:%s." -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "Błąd podczas resetowania hasło użytkownika \" %(user)s \": %(error)s " -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "Resetowanie hasła użytkownika:%s" +#~ msgid "Must provide at least one user." +#~ msgstr "Musi podać co najmniej jednego użytkownika." -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "Resetowanie hasła dla użytkowników:%s" +#~| msgid "Delete existing users" +#~ msgid "Delete the users: %s?" +#~ msgstr "Usunąć użytkowników: %s?" + +#~ msgid "Passwords do not match, try again." +#~ msgstr "Hasła nie pasują, spróbuj ponownie." + +#~ msgid "Reseting password for users: %s" +#~ msgstr "Resetowanie hasła dla użytkowników:%s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/pt/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/pt/LC_MESSAGES/django.po index ca1d75b3cf..a6d8de9887 100644 --- a/mayan/apps/user_management/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Manuela Silva , 2015 @@ -12,57 +12,58 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" +"language/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "Gestão de utilizadores" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "Todos os grupos." -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "Todos os utilziadores." -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "Membros" -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "Nome completo" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "Correio eletrónico" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "Ativo" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "Nova senha" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "Contrassenha" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr "Criar novo grupo" @@ -74,20 +75,22 @@ msgstr "Eliminar" msgid "Edit" msgstr "Editar" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "Grupos" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "Criar novo utilziador" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "Utilizadores" #: links.py:62 links.py:66 -msgid "Reset password" +#, fuzzy +#| msgid "Reset password" +msgid "Set password" msgstr "Repor senha" #: permissions.py:10 @@ -122,114 +125,160 @@ msgstr "Editar utilizadores existentes" msgid "View existing users" msgstr "Ver utilizadores existentes" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "Editar grupo: %s" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "Eliminar o grupo: %s?" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "Membros de grupos" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr "Membros do grupo: %s" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "Editar utilizador: %s" - -#: views.py:133 -msgid "Available groups" -msgstr "Grupos disponíveis" - -#: views.py:134 -msgid "Groups joined" -msgstr "" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "Grupos do utilizador: %s" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "Utilizador \"%s\" criado com sucesso." -#: views.py:213 views.py:284 -msgid "Must provide at least one user." -msgstr "Deve indicar pelo menos um utilizador." +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" +msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "Delete the user: %s?" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "Eliminar o utilizador: %s?" +msgstr[1] "Eliminar o utilizador: %s?" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete the user: %s?" +msgid "Delete user: %s" +msgstr "Eliminar o utilizador: %s?" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "Não é permitida a eliminação de administradores ou membros da equipa, utilize a interface de administrador para estes casos." +msgstr "" +"Não é permitida a eliminação de administradores ou membros da equipa, " +"utilize a interface de administrador para estes casos." -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "Utilizador \"%s\" eliminado com sucesso." -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "Erro ao eliminar o utilizador \"%(user)s\": %(error)s " -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" -msgstr "Eliminar o utilizador: %s?" +msgid "Edit user: %s" +msgstr "Editar utilizador: %s" -#: views.py:257 +#: views.py:204 +msgid "Available groups" +msgstr "Grupos disponíveis" + +#: views.py:205 +msgid "Groups joined" +msgstr "" + +#: views.py:214 #, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" -msgstr "Eliminar os utilizadores: %s?" +msgid "Groups of user: %s" +msgstr "Grupos do utilizador: %s" -#: views.py:300 -msgid "Passwords do not match, try again." -msgstr "As senhas não coincidem, tente novamente." +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" +msgstr "" -#: views.py:309 +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +#, fuzzy +#| msgid "Reset password" +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "Repor senha" +msgstr[1] "Repor senha" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Reseting password for user: %s" +msgid "Change password for user: %s" +msgstr "A redefinir a senha para o utilizador: %s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "Não é permitido redefinir a senha de administradores ou de membros da equipa, utilize a interface de administrador para estes casos." +msgstr "" +"Não é permitido redefinir a senha de administradores ou de membros da " +"equipa, utilize a interface de administrador para estes casos." -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "Reposição de senha bem sucedida para o utilizador: %s." -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "Erro ao redefinir a senha para o utilizador \"%(user)s\": %(error)s " -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "A redefinir a senha para o utilizador: %s" +#~ msgid "Must provide at least one user." +#~ msgstr "Deve indicar pelo menos um utilizador." -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "A redefinir a senha para os utilizadores: %s" +#~| msgid "Delete existing users" +#~ msgid "Delete the users: %s?" +#~ msgstr "Eliminar os utilizadores: %s?" + +#~ msgid "Passwords do not match, try again." +#~ msgstr "As senhas não coincidem, tente novamente." + +#~ msgid "Reseting password for users: %s" +#~ msgstr "A redefinir a senha para os utilizadores: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/pt_BR/LC_MESSAGES/django.po index 77fb0ea810..de7833b08c 100644 --- a/mayan/apps/user_management/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -13,57 +13,58 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-11-10 19:25+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" +"edms/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "Gerenciar usuários" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "Todos os grupos." -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "Todos os usuários." -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "Membros" -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "Nome Completo" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "E-mail" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "Ativo" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "tem senha usável?" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "Nova senha" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "Confirmar senha" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr "Criar novo Grupo" @@ -75,20 +76,22 @@ msgstr "excluir" msgid "Edit" msgstr "Editar" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "Grupos" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "Criar novo Usuário" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "Usuários" #: links.py:62 links.py:66 -msgid "Reset password" +#, fuzzy +#| msgid "Reset password" +msgid "Set password" msgstr "redefinir senha" #: permissions.py:10 @@ -123,114 +126,160 @@ msgstr "Editar usuários existentes" msgid "View existing users" msgstr "Ver os usuários existentes" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "Editar grupo:%s" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "Apagar o grupo: %s?" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "Usuários disponíveis" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "Membros dos grupos" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr "membros do grupo: %s" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "Editar usuário:%s" - -#: views.py:133 -msgid "Available groups" -msgstr "Grupos disponíveis" - -#: views.py:134 -msgid "Groups joined" -msgstr "Grupos ingressados" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "Grupos de usuário:%s" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "Usuário \"%s\" criado com sucesso." -#: views.py:213 views.py:284 -msgid "Must provide at least one user." -msgstr "Deve fornecer pelo menos um usuário." +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" +msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "Delete the user: %s?" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "Apagar o usuário: %s?" +msgstr[1] "Apagar o usuário: %s?" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete the user: %s?" +msgid "Delete user: %s" +msgstr "Apagar o usuário: %s?" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "Excluir super usuário e usuário pessoal não é permitido, use a interface de administração para esses casos." +msgstr "" +"Excluir super usuário e usuário pessoal não é permitido, use a interface de " +"administração para esses casos." -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "Usuário \"%s\" removido com sucesso." -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "Erro ao excluir usuário \"%(user)s\": %(error)s " -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" -msgstr "Apagar o usuário: %s?" +msgid "Edit user: %s" +msgstr "Editar usuário:%s" -#: views.py:257 +#: views.py:204 +msgid "Available groups" +msgstr "Grupos disponíveis" + +#: views.py:205 +msgid "Groups joined" +msgstr "Grupos ingressados" + +#: views.py:214 #, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" -msgstr "Apagar os usuários: %s?" +msgid "Groups of user: %s" +msgstr "Grupos de usuário:%s" -#: views.py:300 -msgid "Passwords do not match, try again." -msgstr "Senhas não coincidem, tente novamente." +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" +msgstr "" -#: views.py:309 +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +#, fuzzy +#| msgid "Reset password" +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "redefinir senha" +msgstr[1] "redefinir senha" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Reseting password for user: %s" +msgid "Change password for user: %s" +msgstr "Redefinindo senha para o usuário: %s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "Redefinir senha de super usuário e usuário pessoal não é permitido, use a interface de administração para esses casos." +msgstr "" +"Redefinir senha de super usuário e usuário pessoal não é permitido, use a " +"interface de administração para esses casos." -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "Redefinição de senha do usuário bem-sucedida: %s." -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "Erro de redefinição de senha para o usuário \"%(user)s\": %(error)s " -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "Redefinindo senha para o usuário: %s" +#~ msgid "Must provide at least one user." +#~ msgstr "Deve fornecer pelo menos um usuário." -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "Redefinindo senha para os usuários: %s" +#~| msgid "Delete existing users" +#~ msgid "Delete the users: %s?" +#~ msgstr "Apagar os usuários: %s?" + +#~ msgid "Passwords do not match, try again." +#~ msgstr "Senhas não coincidem, tente novamente." + +#~ msgid "Reseting password for users: %s" +#~ msgstr "Redefinindo senha para os usuários: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/ro_RO/LC_MESSAGES/django.po index 078f8a89f3..6975f21fb7 100644 --- a/mayan/apps/user_management/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Badea Gabriel , 2013 @@ -10,57 +10,59 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-04-17 11:31+0000\n" "Last-Translator: Stefaniu Criste \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" +"edms/language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "Management utilizatori" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "Toate grupurile." -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "Toți utilizatorii." -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "Membri" -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "Numele întreg" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "email" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "Activ" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "Parolă nouă" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "Confirmați parola" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr "" @@ -72,20 +74,22 @@ msgstr "Șterge" msgid "Edit" msgstr "Editează" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "Grupuri" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "Utilizatorii" #: links.py:62 links.py:66 -msgid "Reset password" +#, fuzzy +#| msgid "Reset password" +msgid "Set password" msgstr "Schimbare parolă" #: permissions.py:10 @@ -120,114 +124,158 @@ msgstr "Editați utilizatorii existenți" msgid "View existing users" msgstr "Vizualizați utilizatorii existenți" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "Modificați grupul: %s" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "Ștergeți grupul: %s?" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "Utilizatori disponibili" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr "Membrii grupului: %s" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "Modificați utilizatorul: %s" - -#: views.py:133 -msgid "Available groups" -msgstr "Grupuri disponibile" - -#: views.py:134 -msgid "Groups joined" -msgstr "" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "Grupurile utilizatorului: %s" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "Utilizator \"%s\" creat cu succes." -#: views.py:213 views.py:284 -msgid "Must provide at least one user." -msgstr "Trebuie să furnizeze cel puțin un utilizator." +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" +msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "Delete the user: %s?" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "Ștergeți utilizatorul: %s?" +msgstr[1] "Ștergeți utilizatorul: %s?" +msgstr[2] "Ștergeți utilizatorul: %s?" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete the user: %s?" +msgid "Delete user: %s" +msgstr "Ștergeți utilizatorul: %s?" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "Super-utilizator și personalul ștergerea utilizator nu este permisă, utilizați interfata de administrare pentru aceste cazuri." +msgstr "" +"Super-utilizator și personalul ștergerea utilizator nu este permisă, " +"utilizați interfata de administrare pentru aceste cazuri." -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "Utilizatorul \"%s\" a fost șters cu succes." -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "Eroare la ștergerea utilizator \"%(user)s\": %(error)s" -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" -msgstr "Ștergeți utilizatorul: %s?" +msgid "Edit user: %s" +msgstr "Modificați utilizatorul: %s" -#: views.py:257 -#, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" +#: views.py:204 +msgid "Available groups" +msgstr "Grupuri disponibile" + +#: views.py:205 +msgid "Groups joined" msgstr "" -#: views.py:300 -msgid "Passwords do not match, try again." -msgstr "Parolele nu corespund, încercați din nou." +#: views.py:214 +#, python-format +msgid "Groups of user: %s" +msgstr "Grupurile utilizatorului: %s" -#: views.py:309 +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" +msgstr "" + +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +#, fuzzy +#| msgid "Reset password" +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "Schimbare parolă" +msgstr[1] "Schimbare parolă" +msgstr[2] "Schimbare parolă" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Reseting password for user: %s" +msgid "Change password for user: %s" +msgstr "Resetarea parola pentru utilizator:% s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "Super utilizator și parola de utilizator personalul resetarea nu este permisă, utilizați interfata de administrare pentru aceste cazuri." +msgstr "" +"Super utilizator și parola de utilizator personalul resetarea nu este " +"permisă, utilizați interfata de administrare pentru aceste cazuri." -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "Resetarea parolei cu succes pentru utilizator:% s." -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "Eroare resetarea parola pentru utilizatorul %(user)s\": %(error)s" -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "Resetarea parola pentru utilizator:% s" +#~ msgid "Must provide at least one user." +#~ msgstr "Trebuie să furnizeze cel puțin un utilizator." -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "Resetarea parolei pentru utilizatori:% s" +#~ msgid "Passwords do not match, try again." +#~ msgstr "Parolele nu corespund, încercați din nou." + +#~ msgid "Reseting password for users: %s" +#~ msgstr "Resetarea parolei pentru utilizatori:% s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/ru/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/ru/LC_MESSAGES/django.po index 2ef9664596..8132946a11 100644 --- a/mayan/apps/user_management/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -9,57 +9,60 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-07-14 10:52+0000\n" "Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" +"language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "Управление пользователями" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "Все группы" -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "Все пользователи." -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "Участники" -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "Полное имя" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "Email" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "Активен" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "Есть действующий пароль?" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "Новый пароль" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "Подтвердите пароль" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr "Создать новую группу" @@ -71,20 +74,22 @@ msgstr "Удалить" msgid "Edit" msgstr "Редактировать" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "Группы" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "Создать нового пользователя" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "Пользователи" #: links.py:62 links.py:66 -msgid "Reset password" +#, fuzzy +#| msgid "Reset password" +msgid "Set password" msgstr "Сбросить пароль" #: permissions.py:10 @@ -119,114 +124,164 @@ msgstr "Редактирование существующих пользоват msgid "View existing users" msgstr "Просмотр существующих пользователей" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "Редактировать группу: %s" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "Удалить группу: %s?" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "Доступные пользователи" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "Участники групп" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr "Член групп: %s" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "Редактировать пользователя: %s." - -#: views.py:133 -msgid "Available groups" -msgstr "Доступные группы" - -#: views.py:134 -msgid "Groups joined" -msgstr "Участник групп" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "Группы пользователя: %s" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "Пользователь \"%s\" создан." -#: views.py:213 views.py:284 -msgid "Must provide at least one user." -msgstr "Должен быть хотя бы один пользователь." +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" +msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "Delete the user: %s?" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "Удалить пользователя: %s?" +msgstr[1] "Удалить пользователя: %s?" +msgstr[2] "Удалить пользователя: %s?" +msgstr[3] "Удалить пользователя: %s?" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete the user: %s?" +msgid "Delete user: %s" +msgstr "Удалить пользователя: %s?" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "Удаление суперпользователя и персонала не допускается, используйте интерфейс администратора для этих случаев." +msgstr "" +"Удаление суперпользователя и персонала не допускается, используйте " +"интерфейс администратора для этих случаев." -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "Пользователь \"%s\" удален." -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "Ошибка при удалении пользователя \"%(user)s\": %(error)s" -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" -msgstr "Удалить пользователя: %s?" +msgid "Edit user: %s" +msgstr "Редактировать пользователя: %s." -#: views.py:257 +#: views.py:204 +msgid "Available groups" +msgstr "Доступные группы" + +#: views.py:205 +msgid "Groups joined" +msgstr "Участник групп" + +#: views.py:214 #, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" -msgstr "Удалить пользователей: %s?" +msgid "Groups of user: %s" +msgstr "Группы пользователя: %s" -#: views.py:300 -msgid "Passwords do not match, try again." -msgstr "Пароли не совпадают, попробуйте еще раз." +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" +msgstr "" -#: views.py:309 +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +#, fuzzy +#| msgid "Reset password" +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "Сбросить пароль" +msgstr[1] "Сбросить пароль" +msgstr[2] "Сбросить пароль" +msgstr[3] "Сбросить пароль" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Reseting password for user: %s" +msgid "Change password for user: %s" +msgstr "Сброс пароля пользователя: %s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "Сброс паролей суперпользователя и персонала не допускается, используйте интерфейс администратора для этих случаев." +msgstr "" +"Сброс паролей суперпользователя и персонала не допускается, используйте " +"интерфейс администратора для этих случаев." -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "Пароль пользователя %s сброшен." -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "Ошибка сброса пароля для пользователя \"%(user)s\": %(error)s" -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "Сброс пароля пользователя: %s" +#~ msgid "Must provide at least one user." +#~ msgstr "Должен быть хотя бы один пользователь." -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "Сброс пароля для пользователей: %s" +#~| msgid "Delete existing users" +#~ msgid "Delete the users: %s?" +#~ msgstr "Удалить пользователей: %s?" + +#~ msgid "Passwords do not match, try again." +#~ msgstr "Пароли не совпадают, попробуйте еще раз." + +#~ msgid "Reseting password for users: %s" +#~ msgstr "Сброс пароля для пользователей: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/sl_SI/LC_MESSAGES/django.po index 34ae367601..5e0f4c7236 100644 --- a/mayan/apps/user_management/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/sl_SI/LC_MESSAGES/django.po @@ -1,64 +1,66 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-11-17 08:53+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" +"edms/language/sl_SI/)\n" +"Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sl_SI\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "" -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "" -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "" -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr "" @@ -70,20 +72,20 @@ msgstr "" msgid "Edit" msgstr "" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "Skupine" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "Uporabniki" #: links.py:62 links.py:66 -msgid "Reset password" +msgid "Set password" msgstr "" #: permissions.py:10 @@ -118,115 +120,146 @@ msgstr "" msgid "View existing users" msgstr "" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr "" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "" - -#: views.py:133 -msgid "Available groups" -msgstr "" - -#: views.py:134 -msgid "Groups joined" -msgstr "" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "" -#: views.py:213 views.py:284 -msgid "Must provide at least one user." +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "create new user" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "create new user" +msgstr[1] "create new user" +msgstr[2] "create new user" +msgstr[3] "create new user" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete the groups: %s?" +msgid "Delete user: %s" +msgstr "Delete existing groups" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." msgstr "" -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "" -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "" -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" +msgid "Edit user: %s" msgstr "" -#: views.py:257 +#: views.py:204 +msgid "Available groups" +msgstr "" + +#: views.py:205 +msgid "Groups joined" +msgstr "" + +#: views.py:214 #, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" +msgid "Groups of user: %s" msgstr "" -#: views.py:300 -msgid "Passwords do not match, try again." +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" msgstr "" -#: views.py:309 +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Non groups of user: %s" +msgid "Change password for user: %s" +msgstr "non groups of user: %s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." msgstr "" -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "" -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "" -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "" - -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "" - #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " #~ "for these cases." @@ -246,18 +279,12 @@ msgstr "" #~ msgid "Error deleting group \"%(group)s\": %(error)s" #~ msgstr "Error deleting group \"%(group)s\": %(error)s" -#~ msgid "Delete the groups: %s?" -#~ msgstr "Delete existing groups" - #~ msgid "Are you sure you wish to delete the user: %s?" #~ msgstr "Are you sure you wish to delete the user: %s?" #~ msgid "Are you sure you wish to delete the users: %s?" #~ msgstr "Are you sure you wish to delete the users: %s?" -#~ msgid "Non groups of user: %s" -#~ msgstr "non groups of user: %s" - #~ msgid "Group \"%s\" updated successfully." #~ msgstr "Group \"%s\" updated successfully." @@ -285,9 +312,6 @@ msgstr "" #~ msgid "edit" #~ msgstr "edit" -#~ msgid "create new user" -#~ msgstr "create new user" - #~ msgid "create new group" #~ msgstr "create new group" diff --git a/mayan/apps/user_management/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/vi_VN/LC_MESSAGES/django.po index 3957372185..d7f2eca4e4 100644 --- a/mayan/apps/user_management/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Trung Phan Minh , 2013 @@ -9,57 +9,58 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" +"mayan-edms/language/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "Quản lý người dùng" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "" -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "" -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "" -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "Email" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "Mật khẩu mới" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "Xác nhận mật khẩu" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr "" @@ -71,21 +72,23 @@ msgstr "" msgid "Edit" msgstr "Sửa" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "" #: links.py:62 links.py:66 -msgid "Reset password" -msgstr "" +#, fuzzy +#| msgid "New password" +msgid "Set password" +msgstr "Mật khẩu mới" #: permissions.py:10 msgid "Create new groups" @@ -119,114 +122,154 @@ msgstr "Sửa người dùng" msgid "View existing users" msgstr "Xem người dùng" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr "" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "" - -#: views.py:133 -msgid "Available groups" -msgstr "" - -#: views.py:134 -msgid "Groups joined" -msgstr "" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "Người dùng \"%s\" được tạo thành công." -#: views.py:213 views.py:284 -msgid "Must provide at least one user." -msgstr "Cần cung cấp ít nhất một user." +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" +msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "Delete existing users" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "Xóa người dùng" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete the groups: %s?" +msgid "Delete user: %s" +msgstr "Delete existing groups" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "Super user and staff user deleting is not allowed, use the admin interface for these cases." +msgstr "" +"Super user and staff user deleting is not allowed, use the admin interface " +"for these cases." -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "Người dùng \"%s\" đã xóa thành công." -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "Lỗi xóa người dùng \"%(user)s\": %(error)s" -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" +msgid "Edit user: %s" msgstr "" -#: views.py:257 -#, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" +#: views.py:204 +msgid "Available groups" msgstr "" -#: views.py:300 -msgid "Passwords do not match, try again." -msgstr "Mật khẩu không khớp, thử lại." +#: views.py:205 +msgid "Groups joined" +msgstr "" -#: views.py:309 +#: views.py:214 +#, python-format +msgid "Groups of user: %s" +msgstr "" + +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" +msgstr "" + +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +#, fuzzy +#| msgid "Confirm password" +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "Xác nhận mật khẩu" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Reseting password for user: %s" +msgid "Change password for user: %s" +msgstr "Đang reset mật khẩu: %s" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "Super user and staff user password reseting is not allowed, use the admin interface for these cases." +msgstr "" +"Super user and staff user password reseting is not allowed, use the admin " +"interface for these cases." -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "Reset mật khẩu thành công: %s" -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "Lỗi reset mật khẩu \"%(user)s\": %(error)s" -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "Đang reset mật khẩu: %s" +#~ msgid "Must provide at least one user." +#~ msgstr "Cần cung cấp ít nhất một user." -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "Đang reset mật khẩu: %s" +#~ msgid "Passwords do not match, try again." +#~ msgstr "Mật khẩu không khớp, thử lại." + +#~ msgid "Reseting password for users: %s" +#~ msgstr "Đang reset mật khẩu: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " @@ -247,9 +290,6 @@ msgstr "Đang reset mật khẩu: %s" #~ msgid "Error deleting group \"%(group)s\": %(error)s" #~ msgstr "Error deleting group \"%(group)s\": %(error)s" -#~ msgid "Delete the groups: %s?" -#~ msgstr "Delete existing groups" - #~ msgid "Are you sure you wish to delete the user: %s?" #~ msgstr "Are you sure you wish to delete the user: %s?" diff --git a/mayan/apps/user_management/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/zh_CN/LC_MESSAGES/django.po index 1a7f90fae0..95be7b78eb 100644 --- a/mayan/apps/user_management/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -9,57 +9,58 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-23 02:57-0400\n" +"POT-Creation-Date: 2017-04-21 12:24-0400\n" "PO-Revision-Date: 2016-03-21 21:12+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" +"language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:37 permissions.py:7 +#: apps.py:42 permissions.py:7 msgid "User management" msgstr "用户管理" -#: apps.py:47 +#: apps.py:58 msgid "All the groups." msgstr "" -#: apps.py:51 +#: apps.py:62 msgid "All the users." msgstr "" -#: apps.py:56 links.py:30 +#: apps.py:67 links.py:30 msgid "Members" msgstr "" -#: apps.py:60 +#: apps.py:71 msgid "Full name" msgstr "" -#: apps.py:63 +#: apps.py:74 msgid "Email" msgstr "电子邮件" -#: apps.py:66 +#: apps.py:77 msgid "Active" msgstr "" -#: apps.py:72 +#: apps.py:83 msgid "Has usable password?" msgstr "" -#: forms.py:16 +#: forms.py:18 msgid "New password" msgstr "新密码" -#: forms.py:19 +#: forms.py:21 msgid "Confirm password" msgstr "确认密码" -#: links.py:14 views.py:29 +#: links.py:14 views.py:27 msgid "Create new group" msgstr "" @@ -71,21 +72,23 @@ msgstr "" msgid "Edit" msgstr "" -#: links.py:26 links.py:34 links.py:50 views.py:52 +#: links.py:26 links.py:34 links.py:50 views.py:50 msgid "Groups" msgstr "用户组" -#: links.py:38 views.py:197 +#: links.py:38 views.py:116 msgid "Create new user" msgstr "" -#: links.py:54 links.py:70 views.py:169 +#: links.py:54 links.py:70 views.py:240 msgid "Users" msgstr "用户" #: links.py:62 links.py:66 -msgid "Reset password" -msgstr "" +#, fuzzy +#| msgid "New password" +msgid "Set password" +msgstr "新密码" #: permissions.py:10 msgid "Create new groups" @@ -119,114 +122,150 @@ msgstr "编辑现有用户" msgid "View existing users" msgstr "查看现有用户" -#: views.py:45 +#: serializers.py:29 +msgid "Comma separated list of group primary keys to assign this user to." +msgstr "" + +#: serializers.py:51 +msgid "List of group primary keys to which to add the user." +msgstr "" + +#: views.py:43 #, python-format msgid "Edit group: %s" msgstr "" -#: views.py:66 +#: views.py:64 #, python-format -#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "" -#: views.py:72 +#: views.py:70 msgid "Available users" msgstr "" -#: views.py:73 +#: views.py:71 msgid "Members of groups" msgstr "" -#: views.py:94 +#: views.py:92 #, python-format msgid "Members of group: %s" msgstr "" -#: views.py:127 -#, python-format -msgid "Edit user: %s" -msgstr "" - -#: views.py:133 -msgid "Available groups" -msgstr "" - -#: views.py:134 -msgid "Groups joined" -msgstr "" - -#: views.py:143 -#, python-format -msgid "Groups of user: %s" -msgstr "" - -#: views.py:188 +#: views.py:126 #, python-format msgid "User \"%s\" created successfully." msgstr "创建用户\"%s\"成功" -#: views.py:213 views.py:284 -msgid "Must provide at least one user." -msgstr "必须提供至少一个用户" +#: views.py:135 +#, python-format +msgid "User delete request performed on %(count)d user" +msgstr "" -#: views.py:230 +#: views.py:137 +#, python-format +msgid "User delete request performed on %(count)d users" +msgstr "" + +#: views.py:146 +#, fuzzy +#| msgid "Delete existing users" +msgid "Delete user" +msgid_plural "Delete users" +msgstr[0] "删除现有用户" + +#: views.py:156 +#, fuzzy, python-format +#| msgid "Delete the groups: %s?" +msgid "Delete user: %s" +msgstr "Delete existing groups" + +#: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." msgstr "不允许删除超级和管理用户,请使用管理接口来操作。" -#: views.py:237 +#: views.py:176 #, python-format msgid "User \"%s\" deleted successfully." msgstr "删除用户\"%s\"成功" -#: views.py:241 +#: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" msgstr "删除用户: \"%(user)s\": %(error)s出错。" -#: views.py:255 +#: views.py:198 #, python-format -#| msgid "Delete existing users" -msgid "Delete the user: %s?" +msgid "Edit user: %s" msgstr "" -#: views.py:257 -#, python-format -#| msgid "Delete existing users" -msgid "Delete the users: %s?" +#: views.py:204 +msgid "Available groups" msgstr "" -#: views.py:300 -msgid "Passwords do not match, try again." -msgstr "密码不匹配,请再试一次" +#: views.py:205 +msgid "Groups joined" +msgstr "" -#: views.py:309 +#: views.py:214 +#, python-format +msgid "Groups of user: %s" +msgstr "" + +#: views.py:252 +#, python-format +msgid "Password change request performed on %(count)d user" +msgstr "" + +#: views.py:254 +#, python-format +msgid "Password change request performed on %(count)d users" +msgstr "" + +#: views.py:262 +msgid "Submit" +msgstr "" + +#: views.py:264 +#, fuzzy +#| msgid "Confirm password" +msgid "Change user password" +msgid_plural "Change users passwords" +msgstr[0] "确认密码" + +#: views.py:274 +#, fuzzy, python-format +#| msgid "Reseting password for user: %s" +msgid "Change password for user: %s" +msgstr "重置用户%s的密码" + +#: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." msgstr "不允许重置超级和管理用户的密码,请使用管理接口来操作。" -#: views.py:319 +#: views.py:304 #, python-format msgid "Successfull password reset for user: %s." msgstr "重置用户:%s密码成功" -#: views.py:325 +#: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "重置用户\"%(user)s\"密码出错:%(error)s" -#: views.py:342 -#, python-format -msgid "Reseting password for user: %s" -msgstr "重置用户%s的密码" +#~ msgid "Must provide at least one user." +#~ msgstr "必须提供至少一个用户" -#: views.py:344 -#, python-format -msgid "Reseting password for users: %s" -msgstr "重置用户:%s的密码" +#~ msgid "Passwords do not match, try again." +#~ msgstr "密码不匹配,请再试一次" + +#~ msgid "Reseting password for users: %s" +#~ msgstr "重置用户:%s的密码" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " @@ -247,9 +286,6 @@ msgstr "重置用户:%s的密码" #~ msgid "Error deleting group \"%(group)s\": %(error)s" #~ msgstr "Error deleting group \"%(group)s\": %(error)s" -#~ msgid "Delete the groups: %s?" -#~ msgstr "Delete existing groups" - #~ msgid "Are you sure you wish to delete the user: %s?" #~ msgstr "Are you sure you wish to delete the user: %s?" From 36ccb92e511ae710c61a0653e8643b12e9fcda15 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 21 Apr 2017 12:31:00 -0400 Subject: [PATCH 131/144] Update translation configuration files and processing script. Removes the installation app and add the cabinets app. Signed-off-by: Roberto Rosario --- .tx/config | 18 ++++++------------ contrib/scripts/process_messages.py | 4 ++-- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/.tx/config b/.tx/config index 0f019a35cc..b210567710 100644 --- a/.tx/config +++ b/.tx/config @@ -19,6 +19,12 @@ source_lang = en source_file = mayan/apps/authentication/locale/en/LC_MESSAGES/django.po type = PO +[mayan-edms.cabinets-2-0] +file_filter = mayan/apps/cabinets/locale//LC_MESSAGES/django.po +source_lang = en +source_file = mayan/apps/cabinets/locale/en/LC_MESSAGES/django.po +type = PO + [mayan-edms.checkouts-2-0] file_filter = mayan/apps/checkouts/locale//LC_MESSAGES/django.po source_lang = en @@ -91,12 +97,6 @@ source_lang = en source_file = mayan/apps/folders/locale/en/LC_MESSAGES/django.po type = PO -[mayan-edms.installation-2-0] -file_filter = mayan/apps/installation/locale//LC_MESSAGES/django.po -source_lang = en -source_file = mayan/apps/installation/locale/en/LC_MESSAGES/django.po -type = PO - [mayan-edms.linking-2-0] file_filter = mayan/apps/linking/locale//LC_MESSAGES/django.po source_lang = en @@ -127,12 +127,6 @@ source_lang = en source_file = mayan/apps/mirroring/locale/en/LC_MESSAGES/django.po type = PO -[mayan-edms.mirroring-2-0] -file_filter = mayan/apps/mirroring/locale//LC_MESSAGES/django.po -source_lang = en -source_file = mayan/apps/mirroring/locale/en/LC_MESSAGES/django.po -type = PO - [mayan-edms.motd-2-0] file_filter = mayan/apps/motd/locale//LC_MESSAGES/django.po source_lang = en diff --git a/contrib/scripts/process_messages.py b/contrib/scripts/process_messages.py index 09dd8d56fd..7f1874540e 100755 --- a/contrib/scripts/process_messages.py +++ b/contrib/scripts/process_messages.py @@ -5,10 +5,10 @@ import optparse import sh APP_LIST = ( - 'acls', 'appearance', 'authentication', 'checkouts', 'common', + 'acls', 'appearance', 'authentication', 'cabinets', 'checkouts', 'common', 'converter', 'django_gpg', 'document_comments', 'document_indexing', 'document_signatures', 'document_states', 'documents', 'dynamic_search', - 'events', 'folders', 'installation', 'linking', 'lock_manager', 'mailer', + 'events', 'folders', 'linking', 'lock_manager', 'mailer', 'metadata', 'mirroring', 'motd', 'navigation', 'ocr', 'permissions', 'rest_api', 'smart_settings', 'sources', 'statistics', 'storage', 'tags', 'user_management' From 02a984398a36cc7a6f101a0c361c28d1cae946c9 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 21 Apr 2017 13:49:22 -0400 Subject: [PATCH 132/144] Fix minor cabinet link typo. Signed-off-by: Roberto Rosario --- mayan/apps/cabinets/links.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mayan/apps/cabinets/links.py b/mayan/apps/cabinets/links.py index ad489ec9bf..cd231f4b58 100644 --- a/mayan/apps/cabinets/links.py +++ b/mayan/apps/cabinets/links.py @@ -28,7 +28,7 @@ link_document_cabinet_remove = Link( ) link_cabinet_add_document = Link( permissions=(permission_cabinet_add_document,), - text=_('Add to a cabinets'), view='cabinets:cabinet_add_document', + text=_('Add to cabinets'), view='cabinets:cabinet_add_document', args='object.pk' ) link_cabinet_add_multiple_documents = Link( From f7ca0a8ddcab96dffae4ccfe86c57e147d325773 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 21 Apr 2017 22:41:36 -0400 Subject: [PATCH 133/144] Remove accidental translation of an icon specification. Signed-off-by: Roberto Rosario --- mayan/apps/tags/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mayan/apps/tags/views.py b/mayan/apps/tags/views.py index f4debb2e14..133a6caf68 100644 --- a/mayan/apps/tags/views.py +++ b/mayan/apps/tags/views.py @@ -126,7 +126,7 @@ class TagDeleteActionView(MultipleObjectConfirmActionView): result = { 'message': _('Will be removed from all documents.'), - 'submit_icon': _('fa fa-times'), + 'submit_icon': 'fa fa-times', 'submit_label': _('Delete'), 'title': ungettext( 'Delete the selected tag?', From 7a0c2224bbdddd303823dddfb2efc9888ada6ad0 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 25 Apr 2017 14:21:30 -0400 Subject: [PATCH 134/144] Add model docstrings. Signed-off-by: Roberto Rosario --- mayan/apps/acls/models.py | 12 +++++-- mayan/apps/converter/classes.py | 4 +++ mayan/apps/converter/models.py | 8 ++++- mayan/apps/django_gpg/models.py | 5 +++ mayan/apps/document_indexing/models.py | 10 +++++- mayan/apps/document_signatures/models.py | 10 ++++++ mayan/apps/document_states/models.py | 32 ++++++++++++++++++ mayan/apps/documents/models.py | 23 ++++++++++++- mayan/apps/sources/models.py | 42 ++++++++++++++++++++++++ 9 files changed, 141 insertions(+), 5 deletions(-) diff --git a/mayan/apps/acls/models.py b/mayan/apps/acls/models.py index 57737b5114..3e7cc833ff 100644 --- a/mayan/apps/acls/models.py +++ b/mayan/apps/acls/models.py @@ -18,9 +18,17 @@ logger = logging.getLogger(__name__) @python_2_unicode_compatible class AccessControlList(models.Model): """ - Model that hold the permission, object, actor relationship + ACL means Access Control List it is a more fine-grained method of + granting access to objects. In the case of ACLs, they grant access using + 3 elements: actor, permission, object. In this case the actor is the role, + the permission is the Mayan permission and the object can be anything: + a document, a folder, an index, etc. This means = "Grant X permissions + to role Y for object Z". This model holds the permission, object, actor + relationship for one access control list. + Fields: + * Role - Custom role that is being granted a permission. Roles are created + in the Setup menu. """ - content_type = models.ForeignKey( ContentType, related_name='object_content_type' diff --git a/mayan/apps/converter/classes.py b/mayan/apps/converter/classes.py index f19d3b7b6b..9ab180e6fe 100644 --- a/mayan/apps/converter/classes.py +++ b/mayan/apps/converter/classes.py @@ -216,6 +216,10 @@ class ConverterBase(object): class BaseTransformation(object): + """ + Transformation can modify the appearance of the document's page preview. + Some transformation available are: Rotate, zoom, resize and crop. + """ arguments = () name = 'base_transformation' _registry = {} diff --git a/mayan/apps/converter/models.py b/mayan/apps/converter/models.py index 817ee605ee..32faf5ac45 100644 --- a/mayan/apps/converter/models.py +++ b/mayan/apps/converter/models.py @@ -21,8 +21,14 @@ class Transformation(models.Model): """ Model that stores the transformation and transformation arguments for a given object + Fields: + * order - Order of a Transformation - In case there are multiple + transformations for an object, this field list the order at which + they will be execute. + * arguments - Arguments of a Transformation - An optional field to hold a + transformation argument. Example: if a page is rotated with the Rotation + transformation, this field will show by how many degrees it was rotated. """ - content_type = models.ForeignKey(ContentType) object_id = models.PositiveIntegerField() content_object = GenericForeignKey('content_type', 'object_id') diff --git a/mayan/apps/django_gpg/models.py b/mayan/apps/django_gpg/models.py index feccaecc75..ebffe2c084 100644 --- a/mayan/apps/django_gpg/models.py +++ b/mayan/apps/django_gpg/models.py @@ -23,6 +23,11 @@ logger = logging.getLogger(__name__) @python_2_unicode_compatible class Key(models.Model): + """ + Fields: + * key_type - Will show private or public, the only two types of keys in + a public key infrastructure, the kind used in Mayan. + """ key_data = models.TextField( help_text=_('ASCII armored version of the key.'), verbose_name=_('Key data') diff --git a/mayan/apps/document_indexing/models.py b/mayan/apps/document_indexing/models.py index e3499c718a..a276a8113a 100644 --- a/mayan/apps/document_indexing/models.py +++ b/mayan/apps/document_indexing/models.py @@ -19,6 +19,10 @@ from .managers import ( @python_2_unicode_compatible class Index(models.Model): + """ + Parent model that defines an index and hold all the relationship for its + template and instance when resolved. + """ label = models.CharField( max_length=128, unique=True, verbose_name=_('Label') ) @@ -65,7 +69,6 @@ class Index(models.Model): """ Automatically create the root index template node """ - super(Index, self).save(*args, **kwargs) IndexTemplateNode.objects.get_or_create(parent=None, index=self) @@ -102,6 +105,11 @@ class IndexInstance(Index): @python_2_unicode_compatible class IndexTemplateNode(MPTTModel): + """ + The template to generate an index. Each entry represents a level in a + hierarchy of levels. Each level can contain further levels or a list of + documents but not both. + """ parent = TreeForeignKey('self', blank=True, null=True) index = models.ForeignKey( Index, related_name='node_templates', verbose_name=_('Index') diff --git a/mayan/apps/document_signatures/models.py b/mayan/apps/document_signatures/models.py index 53dcff0de7..fede657b90 100644 --- a/mayan/apps/document_signatures/models.py +++ b/mayan/apps/document_signatures/models.py @@ -26,6 +26,16 @@ def upload_to(*args, **kwargs): @python_2_unicode_compatible class SignatureBaseModel(models.Model): + """ + Fields: + * key_id - Key Identifier - This is what identifies uniquely a key. Not + two keys in the world have the same Key ID. The Key ID is also used to + locate a key in the key servers: http://pgp.mit.edu + * signature_id - Signature ID - Every time a key is used to sign something + it will generate a unique signature ID. No two signature IDs are the same, + even when using the same key. + """ + document_version = models.ForeignKey( DocumentVersion, editable=False, related_name='signatures', verbose_name=_('Document version') diff --git a/mayan/apps/document_states/models.py b/mayan/apps/document_states/models.py index 1f6b78965f..d58ebb527c 100644 --- a/mayan/apps/document_states/models.py +++ b/mayan/apps/document_states/models.py @@ -21,6 +21,11 @@ logger = logging.getLogger(__name__) @python_2_unicode_compatible class Workflow(models.Model): + """ + Fields: + * label - Identifier. A name/label to call the workflow + """ + label = models.CharField( max_length=255, unique=True, verbose_name=_('Label') ) @@ -66,6 +71,16 @@ class Workflow(models.Model): @python_2_unicode_compatible class WorkflowState(models.Model): + """ + Fields: + * completion - Completion Amount - A user defined numerical value to help + determine if the workflow of the document is nearing completion (100%). + The Completion Amount will be determined by the completion value of the + Actual State. Example: If the workflow has 3 states: registered, approved, + archived; the admin could give the follow completion values to the + states: 33%, 66%, 100%. If the Actual State of the document if approved, + the Completion Amount will show 66%. + """ workflow = models.ForeignKey( Workflow, related_name='states', verbose_name=_('Workflow') ) @@ -155,6 +170,12 @@ class WorkflowInstance(models.Model): pass def get_current_state(self): + """ + Actual State - The current state of the workflow. If there are + multiple states available, for example: registered, approved, + archived; this field will tell at the current state where the + document is right now. + """ try: return self.get_last_transition().destination_state except AttributeError: @@ -167,6 +188,10 @@ class WorkflowInstance(models.Model): return None def get_last_transition(self): + """ + Last Transition - The last transition used by the last user to put + the document in the actual state. + """ try: return self.get_last_log_entry().transition except AttributeError: @@ -224,6 +249,13 @@ class WorkflowInstance(models.Model): @python_2_unicode_compatible class WorkflowInstanceLogEntry(models.Model): + """ + Fields: + * user - The user who last transitioned the document from a state to the + Actual State. + * datetime - Date Time - The date and time when the last user transitioned + the document state to the Actual state. + """ workflow_instance = models.ForeignKey( WorkflowInstance, related_name='log_entries', verbose_name=_('Workflow instance') diff --git a/mayan/apps/documents/models.py b/mayan/apps/documents/models.py index 2461e89c64..a566bc5f90 100644 --- a/mayan/apps/documents/models.py +++ b/mayan/apps/documents/models.py @@ -141,6 +141,10 @@ class DocumentType(models.Model): class Document(models.Model): """ Defines a single document with it's fields and properties + Fields: + * uuid - UUID of a document, universally Unique ID. An unique identifier + generated for each document. No two documents can ever have the same UUID. + This ID is generated automatically. """ uuid = models.UUIDField(default=uuid.uuid4, editable=False) @@ -329,6 +333,18 @@ class DeletedDocument(Document): class DocumentVersion(models.Model): """ Model that describes a document version and its properties + Fields: + * mimetype - File mimetype. MIME types are a standard way to describe the + format of a file, in this case the file format of the document. + Some examples: "text/plain" or "image/jpeg". Mayan uses this to determine + how to render a document's file. More information: + http://www.freeformatter.com/mime-types-list.html + * encoding - File Encoding. The filesystem encoding of the document's + file: binary 7-bit, binary 8-bit, text, base64, etc. + * checksum - A hash/checkdigit/fingerprint generated from the document's + binary data. Only identical documents will have the same checksum. If a + document is modified after upload it's checksum will not match, used for + detecting file tampering among other things. """ _pre_open_hooks = {} _post_save_hooks = {} @@ -444,7 +460,9 @@ class DocumentVersion(models.Model): def exists(self): """ Returns a boolean value that indicates if the document's file - exists in storage + exists in storage. Returns True if the document's file is verified to + be in the document storage. This is a diagnostic flag to help users + detect if the storage has desynchronized (ie: Amazon's S3). """ return self.file.storage.exists(self.file.name) @@ -502,6 +520,9 @@ class DocumentVersion(models.Model): @property def page_count(self): + """ + The number of pages that the document posses. + """ return self.pages.count() def revert(self, _user=None): diff --git a/mayan/apps/sources/models.py b/mayan/apps/sources/models.py index ed8cc90c6b..a70344dec9 100644 --- a/mayan/apps/sources/models.py +++ b/mayan/apps/sources/models.py @@ -154,6 +154,21 @@ class InteractiveSource(Source): class StagingFolderSource(InteractiveSource): + """ + The Staging folder source is interactive but instead of displaying an + HTML form (like the Webform source) that allows users to freely choose a + file from their computers, shows a list of files from a filesystem folder. + When creating staging folders administrators choose a folder in the same + machine where Mayan is installed. This folder is then used as the + destination location of networked scanners or multifunctional copiers. + The scenario for staging folders is as follows: An user walks up to the + networked copier, scan several papers documents, returns to their + computer, open Mayan, select to upload a new document but choose the + previously defined staging folder source, now they see the list of + documents with a small preview and can proceed to process one by one and + convert the scanned files into Mayan EDMS documents. Staging folders are + useful when many users share a few networked scanners. + """ is_interactive = True source_type = SOURCE_CHOICE_STAGING @@ -234,6 +249,14 @@ class StagingFolderSource(InteractiveSource): class WebFormSource(InteractiveSource): + """ + The webform source is an HTML form with a drag and drop window that opens + a file browser on the user's computer. This Source is interactive, meaning + users control live what documents they want to upload. This source is + useful when admins want to allow users to upload any kind of file as + documents from their own computers such as when each user has their own + scanner. + """ is_interactive = True source_type = SOURCE_CHOICE_WEB_FORM @@ -331,6 +354,15 @@ class IntervalBaseModel(OutOfProcessSource): class EmailBaseModel(IntervalBaseModel): + """ + POP3 email and IMAP email sources are non-interactive sources that + periodically fetch emails from an email account using either the POP3 or + IMAP email protocol. These sources are useful when users need to scan + documents outside their office, they can photograph a paper document with + their phones and send the image to a designated email that is setup as a + Mayan POP3 or IMAP source. Mayan will periodically download the emails + and process them as Mayan documents. + """ host = models.CharField(max_length=128, verbose_name=_('Host')) ssl = models.BooleanField(default=True, verbose_name=_('SSL')) port = models.PositiveIntegerField(blank=True, null=True, help_text=_( @@ -572,6 +604,16 @@ class IMAPEmail(EmailBaseModel): class WatchFolderSource(IntervalBaseModel): + """ + The watch folder is another non-interactive source that like the email + source, works by periodically checking and processing documents. This + source instead of using an email account, monitors a filesystem folder. + Administrators can define watch folders, examples /home/mayan/watch_bills + or /home/mayan/watch_invoices and users just need to copy the documents + they want to upload as a bill or invoice to the respective filesystem + folder. Mayan will periodically scan these filesystem locations and + upload the files as documents, deleting them if configured. + """ source_type = SOURCE_CHOICE_WATCH folder_path = models.CharField( From 116fb5155da9c092bef7773e8017787c1895edc9 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 25 Apr 2017 16:44:09 -0400 Subject: [PATCH 135/144] Update the document version link's current version conditional to work in all cases: when the document version is an object of a list (versions list) and when it is the context object (signatures list). Signed-off-by: Roberto Rosario --- mayan/apps/documents/links.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mayan/apps/documents/links.py b/mayan/apps/documents/links.py index d33002f4d0..351a1b04ad 100644 --- a/mayan/apps/documents/links.py +++ b/mayan/apps/documents/links.py @@ -20,7 +20,14 @@ from .settings import setting_zoom_max_level, setting_zoom_min_level def is_not_current_version(context): - return context['object'].document.latest_version.timestamp != context['object'].timestamp + # Use the 'object' key when the document version is an object in a list, + # such as when showing the version list view and use the 'resolved_object' + # when the document version is the context object, such as when showing the + # signatures list of a documern version. This can be fixed by updating + # the navigations app object resolution logic to use 'resolved_object' even + # for objects in a list. + document_version = context.get('object', context['resolved_object']) + return document_version.document.latest_version.timestamp != document_version.timestamp def is_first_page(context): From ad1a2ed197381a88d50af3c5edc6aaf8d87927cb Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 26 Apr 2017 00:08:27 -0400 Subject: [PATCH 136/144] Update release notes. Signed-off-by: Roberto Rosario --- docs/releases/2.2.rst | 134 +++++++++++++++++++++++++++--------------- 1 file changed, 87 insertions(+), 47 deletions(-) diff --git a/docs/releases/2.2.rst b/docs/releases/2.2.rst index d468a914a6..556dcb5d30 100644 --- a/docs/releases/2.2.rst +++ b/docs/releases/2.2.rst @@ -2,7 +2,7 @@ Mayan EDMS v2.2 release notes ============================= -Released: April XX, 2017 +Released: April 26, 2017 What's new ========== @@ -59,44 +59,103 @@ Pages data is no longer included as part of the version data. Instead a link to the document version's pages has been added by the name 'pages_url'. This resolved to '/api/documents//pages//pages'. +- New API endpoints (initial work by @lokeshmanmode): + + - API endpoint to change an user's groups subscription. + - API endpoint that list all available permissions types. + - API endpoint to view or change a role's groups. + - API endpoint to view or change a role's permissions. + +Code cleanups +------------- +As with every release time was dedicated to improve the organization, size, and +readability of code. To this end the licenses of each app were moved to their +own module in every app, called licenses.py. As part of the code cleanup the +seldom used app called 'installation' which tracked runtime Python packages +installed alongside Mayan EDMS for debugging purposes has been removed. The +dependency on django-filetransfer has been removed by using +django-downloadviews which allows the creation of class based download views. + +Performance +----------- +The document language list has been moved from the document model to the +document form. This change speeds up loading time, document properties views +and API documentation views. This version includes the new image caching +pipeline which stores transformed (rotated, scaled, etc) versions of the +document's images resulting in an overall display loading speed up. The fonts +used are now loaded from Mayan EDMS itself and not from the web. This change +also allow Mayan EDMS to work in a completely off-line manner. + +Searching +--------- +Support for searching pages as well as documents has been added. This +functionality has been exposed in the API too. + +Security +-------- +This release enables the password validation for the user password validation +support provided by Django. This change allows administrator to set password +policies limiting the minimum amount of characters needed for example. For +more information on how to configure the password validation feature refer +to Django's documentation at: https://docs.djangoproject.com/en/1.11/topics/auth/passwords/#enabling-password-validation + +Sources +------- +To help test the interval sources (POP3 Email, IMAP Email, Watch folders) a +"Check now" button was added that allows users to trigger the source's +document fetching code instantly. Previously users had to wait until the next +scheduled interval to verify if their source's settings were correct. + +Testing +------- +The testing process has been simplified by adding a new option '--mayan-apps' +to the test runner that automatically tests all Mayan EDMS apps that report to +include tests. The app flag that indicates when an app has test was changed +from 'test' to the more explicit 'has_test'. The packaging manifest now +includes test files, this means that tests can now be executed in production. +The total number of tests was raised to 359 and the total coverage increased +to 81%. + +A custom test runner replacing the previous custom management command +called `runtests`. Testing for orphaned temporary files and orphaned file +handles is now optional and controlled by the COMMON_TEST_FILE_HANDLES and +COMMON_TEST_FILE_HANDLES settings. + +User interface +-------------- +To avoid warping on long full names or usernames, the user's full name or +username is no longer displayed in the main menu. Instead the word "Profile" +is displayed and the users's full name or username is displayed when the +"Profile" icon is clicked. Drop down menus support has been added and enabled +for several apps like documents, folders, and tags. This change make navigation +much faster and required less mouse travel. + +Support was added for a dashboard widgets and several default widgets are +included and enabled. + +A view to clone a document page transformation to other pages has been added. +A document page transformation navigation bug has been fixed. To aid visual +lookup, tags are now alphabetically ordered by label. + +A new workflow view that lists documents currently executing a workflow and +documents by their specific current workflow state has been added to the +main menu. + Other changes ------------- - Cabinets app is now integrated as a core app. -- Now that the Cabinets app is included, the Folders app has been disabled - by default. To enable the Folders apps add the following line to your +- Now that the Cabinets app is included, the Folders app has been disabled + by default. To enable the Folders apps add the following line to your settings/local.py file:: INSTALLED_APPS += ('folders',) -- The user's full name or username is no longer displayed in the main menu. - Instead the work "Profile" is displayed. The users's full name or username - will be displayed when the "Profile" icon is clicked. This avoid menu - style breakable on long full names or usernames. -- Simplify test runner by adding a new option '--mayan-apps' that automatically - tests all Mayan apps that report to have tests. -- Change the app flag that indicates when an app has test from 'test' to the - more explicit 'has_test'. -- The packaging manifest now includes test files. Test can now be executed - in production. -- Add "Check now" button to interval sources. -- Remove the installation app. -- Add support for page search. -- Remove recent searches feature. -- Remove dependency on the django-filetransfer library. - Fix height calculation in resize transformation. - Improve upgrade instructions. -- New image caching pipeline. -- New drop down menus for the documents, folders and tags app as well as for - the user links. -- Add support for a dashboard with default widgets. -- Moved licenses to their own module in every app. - Update project to work with Django 1.10. -- Tags are alphabetically ordered by label. -- Stop loading theme fonts from the web. - Add support for attaching multiple tags to single or multiple documents. - Refactor the workflow for removing tags from single and multiple documents. - Move new version creation blocking from the documents app to the checkouts app. -- Sample documents moved to distribution to allow running all tests in production. - DEBUG now defaults to False. - Production settings don't override the DEBUG variable. DEBUG can be set to True on production install to debug errors live. @@ -107,20 +166,7 @@ Other changes - Addition of a new OCR backend using PyOCR. This backend tries first to do OCR using libtesseract. If libtesseract is not available the backend defaults to calling the Tesseract executable. -- Language list moved from document model to document form. -- Enable password validation for the user password change view, user password change API endpoint, current user view and current user API endpoint. -- New API endpoints (initial work by @lokeshmanmode): - - - API endpoint to change an user's groups subscription. - - API endpoint that list all available permissions types. - - API endpoint to view or change a role's groups. - - API endpoint to view or change a role's permissions. - - Make the lock_manager.backends.file_lock.FileLock the new default locking backend. -- Add view to clone a document page transformation to other pages. -- Document page transformation navigation bug fixed. -- Move test total to 359. -- Increase test coverage to 81%. - New transformations added: - Rotate 90 degrees @@ -131,21 +177,15 @@ Other changes - Gaussian blur - Unsharp masking -- Add custom test runner replacing the custom management command runtests. - The 'test-all' Makefile target that called the `runtests` command has been removed too. - -- Testing for orphaned temporary files and orphaned file handles is now optional and - controlled by the COMMON_TEST_FILE_HANDLES and COMMON_TEST_FILE_HANDLES settings. - - Add tool to launch all workflows. GitLab issue #355 -- New workflow view that lists documents currently executing a workflow and - documents by their specific current workflow state. Removals -------- - Removal of the OCR_TESSERACT_PATH configuration setting. - Removal of the Tesseract OCR backend. Replaced with a PyOCR backend. - Remove usage of pytesseract Python library. +- Installation app. +- Recent searches feature. Upgrading from a previous version --------------------------------- From 0db28c75b28eb89445bf1cb2dabffc1e69a71054 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 26 Apr 2017 00:24:13 -0400 Subject: [PATCH 137/144] Bump version to 2.2 Signed-off-by: Roberto Rosario --- mayan/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mayan/__init__.py b/mayan/__init__.py index 501ec03a9c..b392e99e1e 100644 --- a/mayan/__init__.py +++ b/mayan/__init__.py @@ -1,7 +1,7 @@ from __future__ import unicode_literals __title__ = 'Mayan EDMS' -__version__ = '2.2rc1' +__version__ = '2.2' __build__ = 0x020200 __author__ = 'Roberto Rosario' __author_email__ = 'roberto.rosario@mayan-edms.com' From 6c4af2035640088eb4d652f300e6131a18fa3f12 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 26 Apr 2017 00:46:07 -0400 Subject: [PATCH 138/144] Update source and compiled language files. Signed-off-by: Roberto Rosario --- .../apps/acls/locale/ar/LC_MESSAGES/django.mo | Bin 863 -> 863 bytes .../apps/acls/locale/ar/LC_MESSAGES/django.po | 26 +- .../apps/acls/locale/bg/LC_MESSAGES/django.mo | Bin 1093 -> 1093 bytes .../apps/acls/locale/bg/LC_MESSAGES/django.po | 23 +- .../acls/locale/bs_BA/LC_MESSAGES/django.mo | Bin 891 -> 891 bytes .../acls/locale/bs_BA/LC_MESSAGES/django.po | 26 +- .../apps/acls/locale/da/LC_MESSAGES/django.mo | Bin 515 -> 515 bytes .../apps/acls/locale/da/LC_MESSAGES/django.po | 23 +- .../acls/locale/de_DE/LC_MESSAGES/django.mo | Bin 1906 -> 2930 bytes .../acls/locale/de_DE/LC_MESSAGES/django.po | 42 +-- .../apps/acls/locale/en/LC_MESSAGES/django.mo | Bin 703 -> 703 bytes .../apps/acls/locale/es/LC_MESSAGES/django.mo | Bin 1756 -> 1820 bytes .../apps/acls/locale/es/LC_MESSAGES/django.po | 26 +- .../apps/acls/locale/fa/LC_MESSAGES/django.mo | Bin 1125 -> 1125 bytes .../apps/acls/locale/fa/LC_MESSAGES/django.po | 23 +- .../apps/acls/locale/fr/LC_MESSAGES/django.mo | Bin 1676 -> 1826 bytes .../apps/acls/locale/fr/LC_MESSAGES/django.po | 26 +- .../apps/acls/locale/hu/LC_MESSAGES/django.mo | Bin 520 -> 520 bytes .../apps/acls/locale/hu/LC_MESSAGES/django.po | 23 +- .../apps/acls/locale/id/LC_MESSAGES/django.mo | Bin 451 -> 451 bytes .../apps/acls/locale/id/LC_MESSAGES/django.po | 23 +- .../apps/acls/locale/it/LC_MESSAGES/django.mo | Bin 1802 -> 1773 bytes .../apps/acls/locale/it/LC_MESSAGES/django.po | 25 +- .../acls/locale/nl_NL/LC_MESSAGES/django.mo | Bin 1898 -> 1869 bytes .../acls/locale/nl_NL/LC_MESSAGES/django.po | 29 +- .../apps/acls/locale/pl/LC_MESSAGES/django.mo | Bin 1667 -> 1756 bytes .../apps/acls/locale/pl/LC_MESSAGES/django.po | 26 +- .../apps/acls/locale/pt/LC_MESSAGES/django.mo | Bin 824 -> 824 bytes .../apps/acls/locale/pt/LC_MESSAGES/django.po | 23 +- .../acls/locale/pt_BR/LC_MESSAGES/django.mo | Bin 1828 -> 1802 bytes .../acls/locale/pt_BR/LC_MESSAGES/django.po | 28 +- .../acls/locale/ro_RO/LC_MESSAGES/django.mo | Bin 883 -> 883 bytes .../acls/locale/ro_RO/LC_MESSAGES/django.po | 26 +- .../apps/acls/locale/ru/LC_MESSAGES/django.mo | Bin 1967 -> 1967 bytes .../apps/acls/locale/ru/LC_MESSAGES/django.po | 27 +- .../acls/locale/sl_SI/LC_MESSAGES/django.mo | Bin 1049 -> 1049 bytes .../acls/locale/sl_SI/LC_MESSAGES/django.po | 26 +- .../acls/locale/vi_VN/LC_MESSAGES/django.mo | Bin 528 -> 528 bytes .../acls/locale/vi_VN/LC_MESSAGES/django.po | 23 +- .../acls/locale/zh_CN/LC_MESSAGES/django.mo | Bin 902 -> 902 bytes .../acls/locale/zh_CN/LC_MESSAGES/django.po | 23 +- .../locale/ar/LC_MESSAGES/django.mo | Bin 2487 -> 2412 bytes .../locale/ar/LC_MESSAGES/django.po | 32 +- .../locale/bg/LC_MESSAGES/django.mo | Bin 2240 -> 2150 bytes .../locale/bg/LC_MESSAGES/django.po | 28 +- .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 2409 -> 2344 bytes .../locale/bs_BA/LC_MESSAGES/django.po | 31 +- .../locale/da/LC_MESSAGES/django.mo | Bin 688 -> 643 bytes .../locale/da/LC_MESSAGES/django.po | 17 +- .../locale/de_DE/LC_MESSAGES/django.mo | Bin 4501 -> 4382 bytes .../locale/de_DE/LC_MESSAGES/django.po | 52 +-- .../locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes .../locale/es/LC_MESSAGES/django.mo | Bin 4274 -> 4353 bytes .../locale/es/LC_MESSAGES/django.po | 50 +-- .../locale/fa/LC_MESSAGES/django.mo | Bin 2975 -> 2793 bytes .../locale/fa/LC_MESSAGES/django.po | 31 +- .../locale/fr/LC_MESSAGES/django.mo | Bin 4586 -> 4388 bytes .../locale/fr/LC_MESSAGES/django.po | 57 +-- .../locale/hu/LC_MESSAGES/django.mo | Bin 754 -> 702 bytes .../locale/hu/LC_MESSAGES/django.po | 21 +- .../locale/id/LC_MESSAGES/django.mo | Bin 542 -> 489 bytes .../locale/id/LC_MESSAGES/django.po | 17 +- .../locale/it/LC_MESSAGES/django.mo | Bin 4341 -> 4170 bytes .../locale/it/LC_MESSAGES/django.po | 45 +-- .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 4451 -> 4264 bytes .../locale/nl_NL/LC_MESSAGES/django.po | 54 +-- .../locale/pl/LC_MESSAGES/django.mo | Bin 4489 -> 4389 bytes .../locale/pl/LC_MESSAGES/django.po | 48 +-- .../locale/pt/LC_MESSAGES/django.mo | Bin 2104 -> 2007 bytes .../locale/pt/LC_MESSAGES/django.po | 28 +- .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 4467 -> 4289 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 48 +-- .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 3028 -> 2935 bytes .../locale/ro_RO/LC_MESSAGES/django.po | 40 +- .../locale/ru/LC_MESSAGES/django.mo | Bin 5549 -> 5342 bytes .../locale/ru/LC_MESSAGES/django.po | 56 +-- .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 560 -> 560 bytes .../locale/sl_SI/LC_MESSAGES/django.po | 16 +- .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 1841 -> 1786 bytes .../locale/vi_VN/LC_MESSAGES/django.po | 29 +- .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 2393 -> 2343 bytes .../locale/zh_CN/LC_MESSAGES/django.po | 21 +- .../locale/ar/LC_MESSAGES/django.mo | Bin 977 -> 977 bytes .../locale/bg/LC_MESSAGES/django.mo | Bin 808 -> 808 bytes .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 901 -> 901 bytes .../locale/da/LC_MESSAGES/django.mo | Bin 502 -> 502 bytes .../locale/de_DE/LC_MESSAGES/django.mo | Bin 1421 -> 1421 bytes .../locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes .../locale/es/LC_MESSAGES/django.mo | Bin 1446 -> 1446 bytes .../locale/fa/LC_MESSAGES/django.mo | Bin 1201 -> 1201 bytes .../locale/fr/LC_MESSAGES/django.mo | Bin 1434 -> 1434 bytes .../locale/hu/LC_MESSAGES/django.mo | Bin 513 -> 513 bytes .../locale/id/LC_MESSAGES/django.mo | Bin 879 -> 879 bytes .../locale/it/LC_MESSAGES/django.mo | Bin 1384 -> 1384 bytes .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 1426 -> 1426 bytes .../locale/pl/LC_MESSAGES/django.mo | Bin 1386 -> 1386 bytes .../locale/pt/LC_MESSAGES/django.mo | Bin 932 -> 932 bytes .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 1404 -> 1404 bytes .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 875 -> 875 bytes .../locale/ru/LC_MESSAGES/django.mo | Bin 1768 -> 1768 bytes .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 536 -> 536 bytes .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 754 -> 754 bytes .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 1010 -> 1010 bytes .../cabinets/locale/ar/LC_MESSAGES/django.mo | Bin 0 -> 772 bytes .../cabinets/locale/ar/LC_MESSAGES/django.po | 32 +- .../cabinets/locale/bg/LC_MESSAGES/django.mo | Bin 0 -> 731 bytes .../cabinets/locale/bg/LC_MESSAGES/django.po | 21 +- .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 0 -> 764 bytes .../locale/bs_BA/LC_MESSAGES/django.po | 25 +- .../cabinets/locale/da/LC_MESSAGES/django.mo | Bin 0 -> 561 bytes .../cabinets/locale/da/LC_MESSAGES/django.po | 15 +- .../locale/de_DE/LC_MESSAGES/django.mo | Bin 0 -> 1950 bytes .../locale/de_DE/LC_MESSAGES/django.po | 63 ++-- .../cabinets/locale/en/LC_MESSAGES/django.mo | Bin 0 -> 429 bytes .../cabinets/locale/es/LC_MESSAGES/django.mo | Bin 0 -> 3500 bytes .../cabinets/locale/es/LC_MESSAGES/django.po | 93 ++--- .../cabinets/locale/fa/LC_MESSAGES/django.mo | Bin 0 -> 755 bytes .../cabinets/locale/fa/LC_MESSAGES/django.po | 27 +- .../cabinets/locale/fr/LC_MESSAGES/django.mo | Bin 0 -> 747 bytes .../cabinets/locale/fr/LC_MESSAGES/django.po | 25 +- .../cabinets/locale/hu/LC_MESSAGES/django.mo | Bin 0 -> 561 bytes .../cabinets/locale/hu/LC_MESSAGES/django.po | 15 +- .../cabinets/locale/id/LC_MESSAGES/django.mo | Bin 0 -> 602 bytes .../cabinets/locale/id/LC_MESSAGES/django.po | 21 +- .../cabinets/locale/it/LC_MESSAGES/django.mo | Bin 0 -> 743 bytes .../cabinets/locale/it/LC_MESSAGES/django.po | 25 +- .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 0 -> 764 bytes .../locale/nl_NL/LC_MESSAGES/django.po | 27 +- .../cabinets/locale/pl/LC_MESSAGES/django.mo | Bin 0 -> 883 bytes .../cabinets/locale/pl/LC_MESSAGES/django.po | 32 +- .../cabinets/locale/pt/LC_MESSAGES/django.mo | Bin 0 -> 740 bytes .../cabinets/locale/pt/LC_MESSAGES/django.po | 25 +- .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 0 -> 754 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 25 +- .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 0 -> 788 bytes .../locale/ro_RO/LC_MESSAGES/django.po | 29 +- .../cabinets/locale/ru/LC_MESSAGES/django.mo | Bin 0 -> 919 bytes .../cabinets/locale/ru/LC_MESSAGES/django.po | 33 +- .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 0 -> 657 bytes .../locale/sl_SI/LC_MESSAGES/django.po | 23 +- .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 0 -> 680 bytes .../locale/vi_VN/LC_MESSAGES/django.po | 25 +- .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 0 -> 621 bytes .../locale/zh_CN/LC_MESSAGES/django.po | 23 +- .../checkouts/locale/ar/LC_MESSAGES/django.mo | Bin 2288 -> 2288 bytes .../checkouts/locale/ar/LC_MESSAGES/django.po | 33 +- .../checkouts/locale/bg/LC_MESSAGES/django.mo | Bin 2699 -> 2699 bytes .../checkouts/locale/bg/LC_MESSAGES/django.po | 30 +- .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 2261 -> 2261 bytes .../locale/bs_BA/LC_MESSAGES/django.po | 33 +- .../checkouts/locale/da/LC_MESSAGES/django.mo | Bin 490 -> 490 bytes .../checkouts/locale/da/LC_MESSAGES/django.po | 30 +- .../locale/de_DE/LC_MESSAGES/django.mo | Bin 3688 -> 3882 bytes .../locale/de_DE/LC_MESSAGES/django.po | 45 +-- .../checkouts/locale/en/LC_MESSAGES/django.mo | Bin 2125 -> 2125 bytes .../checkouts/locale/es/LC_MESSAGES/django.mo | Bin 3821 -> 3963 bytes .../checkouts/locale/es/LC_MESSAGES/django.po | 42 ++- .../checkouts/locale/fa/LC_MESSAGES/django.mo | Bin 3462 -> 3462 bytes .../checkouts/locale/fa/LC_MESSAGES/django.po | 38 +- .../checkouts/locale/fr/LC_MESSAGES/django.mo | Bin 4028 -> 4148 bytes .../checkouts/locale/fr/LC_MESSAGES/django.po | 47 +-- .../checkouts/locale/hu/LC_MESSAGES/django.mo | Bin 500 -> 500 bytes .../checkouts/locale/hu/LC_MESSAGES/django.po | 30 +- .../checkouts/locale/id/LC_MESSAGES/django.mo | Bin 489 -> 489 bytes .../checkouts/locale/id/LC_MESSAGES/django.po | 30 +- .../checkouts/locale/it/LC_MESSAGES/django.mo | Bin 3784 -> 3893 bytes .../checkouts/locale/it/LC_MESSAGES/django.po | 44 +-- .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 1944 -> 1915 bytes .../locale/nl_NL/LC_MESSAGES/django.po | 40 +- .../checkouts/locale/pl/LC_MESSAGES/django.mo | Bin 3494 -> 3583 bytes .../checkouts/locale/pl/LC_MESSAGES/django.po | 48 +-- .../checkouts/locale/pt/LC_MESSAGES/django.mo | Bin 546 -> 546 bytes .../checkouts/locale/pt/LC_MESSAGES/django.po | 30 +- .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 3798 -> 3916 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 44 +-- .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 2272 -> 2272 bytes .../locale/ro_RO/LC_MESSAGES/django.po | 36 +- .../checkouts/locale/ru/LC_MESSAGES/django.mo | Bin 4779 -> 5009 bytes .../checkouts/locale/ru/LC_MESSAGES/django.po | 44 +-- .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 526 -> 1313 bytes .../locale/sl_SI/LC_MESSAGES/django.po | 59 +-- .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 512 -> 512 bytes .../locale/vi_VN/LC_MESSAGES/django.po | 30 +- .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 1986 -> 1986 bytes .../locale/zh_CN/LC_MESSAGES/django.po | 30 +- .../common/locale/ar/LC_MESSAGES/django.mo | Bin 1240 -> 1240 bytes .../common/locale/ar/LC_MESSAGES/django.po | 36 +- .../common/locale/bg/LC_MESSAGES/django.mo | Bin 1062 -> 1062 bytes .../common/locale/bg/LC_MESSAGES/django.po | 33 +- .../common/locale/bs_BA/LC_MESSAGES/django.mo | Bin 1209 -> 1209 bytes .../common/locale/bs_BA/LC_MESSAGES/django.po | 36 +- .../common/locale/da/LC_MESSAGES/django.mo | Bin 674 -> 674 bytes .../common/locale/da/LC_MESSAGES/django.po | 33 +- .../common/locale/de_DE/LC_MESSAGES/django.mo | Bin 4242 -> 4412 bytes .../common/locale/de_DE/LC_MESSAGES/django.po | 57 ++- .../common/locale/en/LC_MESSAGES/django.mo | Bin 771 -> 771 bytes .../common/locale/es/LC_MESSAGES/django.mo | Bin 4347 -> 4347 bytes .../common/locale/es/LC_MESSAGES/django.po | 52 ++- .../common/locale/fa/LC_MESSAGES/django.mo | Bin 2702 -> 2702 bytes .../common/locale/fa/LC_MESSAGES/django.po | 37 +- .../common/locale/fr/LC_MESSAGES/django.mo | Bin 4247 -> 4454 bytes .../common/locale/fr/LC_MESSAGES/django.po | 51 ++- .../common/locale/hu/LC_MESSAGES/django.mo | Bin 622 -> 622 bytes .../common/locale/hu/LC_MESSAGES/django.po | 33 +- .../common/locale/id/LC_MESSAGES/django.mo | Bin 1394 -> 1394 bytes .../common/locale/id/LC_MESSAGES/django.po | 37 +- .../common/locale/it/LC_MESSAGES/django.mo | Bin 4188 -> 4159 bytes .../common/locale/it/LC_MESSAGES/django.po | 54 ++- .../common/locale/nl_NL/LC_MESSAGES/django.mo | Bin 2179 -> 4115 bytes .../common/locale/nl_NL/LC_MESSAGES/django.po | 84 +++-- .../common/locale/pl/LC_MESSAGES/django.mo | Bin 3399 -> 3488 bytes .../common/locale/pl/LC_MESSAGES/django.po | 44 +-- .../common/locale/pt/LC_MESSAGES/django.mo | Bin 1152 -> 1152 bytes .../common/locale/pt/LC_MESSAGES/django.po | 33 +- .../common/locale/pt_BR/LC_MESSAGES/django.mo | Bin 4327 -> 4301 bytes .../common/locale/pt_BR/LC_MESSAGES/django.po | 54 ++- .../common/locale/ro_RO/LC_MESSAGES/django.mo | Bin 1266 -> 1266 bytes .../common/locale/ro_RO/LC_MESSAGES/django.po | 40 +- .../common/locale/ru/LC_MESSAGES/django.mo | Bin 5199 -> 5199 bytes .../common/locale/ru/LC_MESSAGES/django.po | 56 ++- .../common/locale/sl_SI/LC_MESSAGES/django.mo | Bin 598 -> 598 bytes .../common/locale/sl_SI/LC_MESSAGES/django.po | 36 +- .../common/locale/vi_VN/LC_MESSAGES/django.mo | Bin 1037 -> 1037 bytes .../common/locale/vi_VN/LC_MESSAGES/django.po | 33 +- .../common/locale/zh_CN/LC_MESSAGES/django.mo | Bin 1069 -> 1069 bytes .../common/locale/zh_CN/LC_MESSAGES/django.po | 33 +- .../converter/locale/ar/LC_MESSAGES/django.mo | Bin 835 -> 835 bytes .../converter/locale/ar/LC_MESSAGES/django.po | 45 +-- .../converter/locale/bg/LC_MESSAGES/django.mo | Bin 701 -> 701 bytes .../converter/locale/bg/LC_MESSAGES/django.po | 42 +-- .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 828 -> 828 bytes .../locale/bs_BA/LC_MESSAGES/django.po | 45 +-- .../converter/locale/da/LC_MESSAGES/django.mo | Bin 488 -> 488 bytes .../converter/locale/da/LC_MESSAGES/django.po | 42 +-- .../locale/de_DE/LC_MESSAGES/django.mo | Bin 2949 -> 3314 bytes .../locale/de_DE/LC_MESSAGES/django.po | 68 ++-- .../converter/locale/en/LC_MESSAGES/django.mo | Bin 641 -> 641 bytes .../converter/locale/es/LC_MESSAGES/django.mo | Bin 2925 -> 2925 bytes .../converter/locale/es/LC_MESSAGES/django.po | 53 ++- .../converter/locale/fa/LC_MESSAGES/django.mo | Bin 1250 -> 1250 bytes .../converter/locale/fa/LC_MESSAGES/django.po | 42 +-- .../converter/locale/fr/LC_MESSAGES/django.mo | Bin 3092 -> 3057 bytes .../converter/locale/fr/LC_MESSAGES/django.po | 62 ++- .../converter/locale/hu/LC_MESSAGES/django.mo | Bin 457 -> 457 bytes .../converter/locale/hu/LC_MESSAGES/django.po | 42 +-- .../converter/locale/id/LC_MESSAGES/django.mo | Bin 451 -> 451 bytes .../converter/locale/id/LC_MESSAGES/django.po | 42 +-- .../converter/locale/it/LC_MESSAGES/django.mo | Bin 2937 -> 2908 bytes .../converter/locale/it/LC_MESSAGES/django.po | 58 ++- .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 1496 -> 2994 bytes .../locale/nl_NL/LC_MESSAGES/django.po | 69 ++-- .../converter/locale/pl/LC_MESSAGES/django.mo | Bin 3019 -> 3077 bytes .../converter/locale/pl/LC_MESSAGES/django.po | 55 ++- .../converter/locale/pt/LC_MESSAGES/django.mo | Bin 753 -> 753 bytes .../converter/locale/pt/LC_MESSAGES/django.po | 42 +-- .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 2986 -> 2960 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 52 ++- .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 811 -> 811 bytes .../locale/ro_RO/LC_MESSAGES/django.po | 45 +-- .../converter/locale/ru/LC_MESSAGES/django.mo | Bin 3784 -> 3789 bytes .../converter/locale/ru/LC_MESSAGES/django.po | 60 ++- .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 559 -> 559 bytes .../locale/sl_SI/LC_MESSAGES/django.po | 45 +-- .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 529 -> 529 bytes .../locale/vi_VN/LC_MESSAGES/django.po | 42 +-- .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 686 -> 686 bytes .../locale/zh_CN/LC_MESSAGES/django.po | 42 +-- .../locale/ar/LC_MESSAGES/django.mo | Bin 2167 -> 2167 bytes .../locale/bg/LC_MESSAGES/django.mo | Bin 2670 -> 2670 bytes .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 2230 -> 2230 bytes .../locale/da/LC_MESSAGES/django.mo | Bin 552 -> 552 bytes .../locale/de_DE/LC_MESSAGES/django.mo | Bin 4268 -> 4268 bytes .../locale/en/LC_MESSAGES/django.mo | Bin 1919 -> 1919 bytes .../locale/es/LC_MESSAGES/django.mo | Bin 4125 -> 4125 bytes .../locale/fa/LC_MESSAGES/django.mo | Bin 3015 -> 3015 bytes .../locale/fr/LC_MESSAGES/django.mo | Bin 4171 -> 4171 bytes .../locale/hu/LC_MESSAGES/django.mo | Bin 603 -> 603 bytes .../locale/id/LC_MESSAGES/django.mo | Bin 521 -> 521 bytes .../locale/it/LC_MESSAGES/django.mo | Bin 4102 -> 4102 bytes .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 2352 -> 2352 bytes .../locale/pl/LC_MESSAGES/django.mo | Bin 2635 -> 2635 bytes .../locale/pt/LC_MESSAGES/django.mo | Bin 2312 -> 2312 bytes .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 4121 -> 4121 bytes .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 2324 -> 2324 bytes .../locale/ru/LC_MESSAGES/django.mo | Bin 4886 -> 4886 bytes .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 628 -> 628 bytes .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 2096 -> 2096 bytes .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 2038 -> 2038 bytes .../locale/ar/LC_MESSAGES/django.mo | Bin 995 -> 995 bytes .../locale/bg/LC_MESSAGES/django.mo | Bin 998 -> 998 bytes .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 958 -> 958 bytes .../locale/da/LC_MESSAGES/django.mo | Bin 850 -> 850 bytes .../locale/de_DE/LC_MESSAGES/django.mo | Bin 1434 -> 1434 bytes .../locale/en/LC_MESSAGES/django.mo | Bin 743 -> 743 bytes .../locale/es/LC_MESSAGES/django.mo | Bin 1438 -> 1438 bytes .../locale/fa/LC_MESSAGES/django.mo | Bin 1181 -> 1181 bytes .../locale/fr/LC_MESSAGES/django.mo | Bin 1528 -> 1528 bytes .../locale/hu/LC_MESSAGES/django.mo | Bin 855 -> 855 bytes .../locale/id/LC_MESSAGES/django.mo | Bin 840 -> 840 bytes .../locale/it/LC_MESSAGES/django.mo | Bin 1439 -> 1439 bytes .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 1260 -> 1260 bytes .../locale/pl/LC_MESSAGES/django.mo | Bin 1525 -> 1525 bytes .../locale/pt/LC_MESSAGES/django.mo | Bin 906 -> 906 bytes .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 1489 -> 1489 bytes .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 953 -> 953 bytes .../locale/ru/LC_MESSAGES/django.mo | Bin 1872 -> 1872 bytes .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 860 -> 894 bytes .../locale/sl_SI/LC_MESSAGES/django.po | 18 +- .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 881 -> 881 bytes .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 829 -> 829 bytes .../locale/ar/LC_MESSAGES/django.mo | Bin 2042 -> 2042 bytes .../locale/bg/LC_MESSAGES/django.mo | Bin 1487 -> 1487 bytes .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 2100 -> 2100 bytes .../locale/da/LC_MESSAGES/django.mo | Bin 727 -> 727 bytes .../locale/de_DE/LC_MESSAGES/django.mo | Bin 5187 -> 5187 bytes .../locale/en/LC_MESSAGES/django.mo | Bin 1731 -> 1731 bytes .../locale/es/LC_MESSAGES/django.mo | Bin 5238 -> 5238 bytes .../locale/fa/LC_MESSAGES/django.mo | Bin 4102 -> 4102 bytes .../locale/fr/LC_MESSAGES/django.mo | Bin 5428 -> 5428 bytes .../locale/hu/LC_MESSAGES/django.mo | Bin 727 -> 727 bytes .../locale/id/LC_MESSAGES/django.mo | Bin 714 -> 714 bytes .../locale/it/LC_MESSAGES/django.mo | Bin 5358 -> 5358 bytes .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 2783 -> 2783 bytes .../locale/pl/LC_MESSAGES/django.mo | Bin 3045 -> 3045 bytes .../locale/pt/LC_MESSAGES/django.mo | Bin 2152 -> 2152 bytes .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 5378 -> 5378 bytes .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 2236 -> 2236 bytes .../locale/ru/LC_MESSAGES/django.mo | Bin 4086 -> 4086 bytes .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 851 -> 851 bytes .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 670 -> 670 bytes .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 1791 -> 1791 bytes .../locale/ar/LC_MESSAGES/django.mo | Bin 1061 -> 1061 bytes .../locale/bg/LC_MESSAGES/django.mo | Bin 1319 -> 1319 bytes .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 1081 -> 1081 bytes .../locale/da/LC_MESSAGES/django.mo | Bin 749 -> 749 bytes .../locale/de_DE/LC_MESSAGES/django.mo | Bin 5013 -> 5013 bytes .../locale/en/LC_MESSAGES/django.mo | Bin 637 -> 637 bytes .../locale/es/LC_MESSAGES/django.mo | Bin 4720 -> 4720 bytes .../locale/fa/LC_MESSAGES/django.mo | Bin 1628 -> 1628 bytes .../locale/fr/LC_MESSAGES/django.mo | Bin 5026 -> 5026 bytes .../locale/hu/LC_MESSAGES/django.mo | Bin 713 -> 713 bytes .../locale/id/LC_MESSAGES/django.mo | Bin 696 -> 696 bytes .../locale/it/LC_MESSAGES/django.mo | Bin 4713 -> 4713 bytes .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 1831 -> 1831 bytes .../locale/pl/LC_MESSAGES/django.mo | Bin 1134 -> 1134 bytes .../locale/pt/LC_MESSAGES/django.mo | Bin 1087 -> 1087 bytes .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 4934 -> 4934 bytes .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 1179 -> 1179 bytes .../locale/ru/LC_MESSAGES/django.mo | Bin 5994 -> 5994 bytes .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 792 -> 792 bytes .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 804 -> 804 bytes .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 1016 -> 1016 bytes .../locale/ar/LC_MESSAGES/django.mo | Bin 737 -> 737 bytes .../locale/ar/LC_MESSAGES/django.po | 12 +- .../locale/bg/LC_MESSAGES/django.mo | Bin 686 -> 686 bytes .../locale/bg/LC_MESSAGES/django.po | 9 +- .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 746 -> 746 bytes .../locale/bs_BA/LC_MESSAGES/django.po | 12 +- .../locale/da/LC_MESSAGES/django.mo | Bin 551 -> 551 bytes .../locale/da/LC_MESSAGES/django.po | 9 +- .../locale/de_DE/LC_MESSAGES/django.mo | Bin 4181 -> 4245 bytes .../locale/de_DE/LC_MESSAGES/django.po | 61 +-- .../locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes .../locale/es/LC_MESSAGES/django.mo | Bin 4557 -> 5760 bytes .../locale/es/LC_MESSAGES/django.po | 72 ++-- .../locale/fa/LC_MESSAGES/django.mo | Bin 3882 -> 3882 bytes .../locale/fa/LC_MESSAGES/django.po | 50 +-- .../locale/fr/LC_MESSAGES/django.mo | Bin 4591 -> 4557 bytes .../locale/fr/LC_MESSAGES/django.po | 60 +-- .../locale/hu/LC_MESSAGES/django.mo | Bin 563 -> 563 bytes .../locale/hu/LC_MESSAGES/django.po | 9 +- .../locale/id/LC_MESSAGES/django.mo | Bin 522 -> 522 bytes .../locale/id/LC_MESSAGES/django.po | 9 +- .../locale/it/LC_MESSAGES/django.mo | Bin 4230 -> 4201 bytes .../locale/it/LC_MESSAGES/django.po | 60 +-- .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 2594 -> 2565 bytes .../locale/nl_NL/LC_MESSAGES/django.po | 52 +-- .../locale/pl/LC_MESSAGES/django.mo | Bin 2483 -> 2572 bytes .../locale/pl/LC_MESSAGES/django.po | 49 +-- .../locale/pt/LC_MESSAGES/django.mo | Bin 705 -> 705 bytes .../locale/pt/LC_MESSAGES/django.po | 9 +- .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 4398 -> 4373 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 62 +-- .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 771 -> 771 bytes .../locale/ro_RO/LC_MESSAGES/django.po | 12 +- .../locale/ru/LC_MESSAGES/django.mo | Bin 1496 -> 1501 bytes .../locale/ru/LC_MESSAGES/django.po | 19 +- .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 622 -> 664 bytes .../locale/sl_SI/LC_MESSAGES/django.po | 14 +- .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 609 -> 609 bytes .../locale/vi_VN/LC_MESSAGES/django.po | 9 +- .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 592 -> 592 bytes .../locale/zh_CN/LC_MESSAGES/django.po | 9 +- .../documents/locale/ar/LC_MESSAGES/django.mo | Bin 5721 -> 5496 bytes .../documents/locale/ar/LC_MESSAGES/django.po | 267 +++++++------ .../documents/locale/bg/LC_MESSAGES/django.mo | Bin 6745 -> 6485 bytes .../documents/locale/bg/LC_MESSAGES/django.po | 282 +++++++------- .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 5160 -> 4986 bytes .../locale/bs_BA/LC_MESSAGES/django.po | 274 ++++++++------ .../documents/locale/da/LC_MESSAGES/django.mo | Bin 4944 -> 4725 bytes .../documents/locale/da/LC_MESSAGES/django.po | 270 ++++++++------ .../locale/de_DE/LC_MESSAGES/django.mo | Bin 16121 -> 14794 bytes .../locale/de_DE/LC_MESSAGES/django.po | 307 +++++++-------- .../documents/locale/en/LC_MESSAGES/django.mo | Bin 4825 -> 4581 bytes .../documents/locale/es/LC_MESSAGES/django.mo | Bin 14666 -> 13816 bytes .../documents/locale/es/LC_MESSAGES/django.po | 293 ++++++--------- .../documents/locale/fa/LC_MESSAGES/django.mo | Bin 9226 -> 8875 bytes .../documents/locale/fa/LC_MESSAGES/django.po | 251 +++++++------ .../documents/locale/fr/LC_MESSAGES/django.mo | Bin 16909 -> 15457 bytes .../documents/locale/fr/LC_MESSAGES/django.po | 343 +++++++---------- .../documents/locale/hu/LC_MESSAGES/django.mo | Bin 5183 -> 4964 bytes .../documents/locale/hu/LC_MESSAGES/django.po | 275 ++++++++------ .../documents/locale/id/LC_MESSAGES/django.mo | Bin 4843 -> 4605 bytes .../documents/locale/id/LC_MESSAGES/django.po | 274 +++++++------- .../documents/locale/it/LC_MESSAGES/django.mo | Bin 16100 -> 14721 bytes .../documents/locale/it/LC_MESSAGES/django.po | 315 +++++++--------- .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 8077 -> 8839 bytes .../locale/nl_NL/LC_MESSAGES/django.po | 307 +++++++-------- .../documents/locale/pl/LC_MESSAGES/django.mo | Bin 7710 -> 7754 bytes .../documents/locale/pl/LC_MESSAGES/django.po | 270 +++++++------- .../documents/locale/pt/LC_MESSAGES/django.mo | Bin 5041 -> 4784 bytes .../documents/locale/pt/LC_MESSAGES/django.po | 270 ++++++++------ .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 16283 -> 14816 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 353 ++++++++---------- .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 5672 -> 5480 bytes .../locale/ro_RO/LC_MESSAGES/django.po | 276 +++++++------- .../documents/locale/ru/LC_MESSAGES/django.mo | Bin 20807 -> 18488 bytes .../documents/locale/ru/LC_MESSAGES/django.po | 312 +++++++--------- .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 5012 -> 4831 bytes .../locale/sl_SI/LC_MESSAGES/django.po | 285 +++++++------- .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 2980 -> 2916 bytes .../locale/vi_VN/LC_MESSAGES/django.po | 262 +++++++------ .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 4579 -> 4398 bytes .../locale/zh_CN/LC_MESSAGES/django.po | 237 +++++++----- .../locale/ar/LC_MESSAGES/django.mo | Bin 1034 -> 756 bytes .../locale/ar/LC_MESSAGES/django.po | 40 +- .../locale/bg/LC_MESSAGES/django.mo | Bin 1026 -> 726 bytes .../locale/bg/LC_MESSAGES/django.po | 37 +- .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 1019 -> 772 bytes .../locale/bs_BA/LC_MESSAGES/django.po | 41 +- .../locale/da/LC_MESSAGES/django.mo | Bin 490 -> 454 bytes .../locale/da/LC_MESSAGES/django.po | 40 +- .../locale/de_DE/LC_MESSAGES/django.mo | Bin 1353 -> 1424 bytes .../locale/de_DE/LC_MESSAGES/django.po | 52 +-- .../locale/en/LC_MESSAGES/django.mo | Bin 847 -> 651 bytes .../locale/es/LC_MESSAGES/django.mo | Bin 1374 -> 853 bytes .../locale/es/LC_MESSAGES/django.po | 40 +- .../locale/fa/LC_MESSAGES/django.mo | Bin 1385 -> 791 bytes .../locale/fa/LC_MESSAGES/django.po | 39 +- .../locale/fr/LC_MESSAGES/django.mo | Bin 1409 -> 851 bytes .../locale/fr/LC_MESSAGES/django.po | 41 +- .../locale/hu/LC_MESSAGES/django.mo | Bin 937 -> 689 bytes .../locale/hu/LC_MESSAGES/django.po | 35 +- .../locale/id/LC_MESSAGES/django.mo | Bin 489 -> 451 bytes .../locale/id/LC_MESSAGES/django.po | 38 +- .../locale/it/LC_MESSAGES/django.mo | Bin 1365 -> 828 bytes .../locale/it/LC_MESSAGES/django.po | 41 +- .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 1284 -> 819 bytes .../locale/nl_NL/LC_MESSAGES/django.po | 39 +- .../locale/pl/LC_MESSAGES/django.mo | Bin 1446 -> 995 bytes .../locale/pl/LC_MESSAGES/django.po | 44 +-- .../locale/pt/LC_MESSAGES/django.mo | Bin 948 -> 719 bytes .../locale/pt/LC_MESSAGES/django.po | 35 +- .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 1393 -> 857 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 41 +- .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 983 -> 719 bytes .../locale/ro_RO/LC_MESSAGES/django.po | 41 +- .../locale/ru/LC_MESSAGES/django.mo | Bin 1280 -> 891 bytes .../locale/ru/LC_MESSAGES/django.po | 44 +-- .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 526 -> 526 bytes .../locale/sl_SI/LC_MESSAGES/django.po | 40 +- .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 747 -> 511 bytes .../locale/vi_VN/LC_MESSAGES/django.po | 35 +- .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 854 -> 641 bytes .../locale/zh_CN/LC_MESSAGES/django.po | 35 +- .../events/locale/ar/LC_MESSAGES/django.mo | Bin 621 -> 621 bytes .../events/locale/bg/LC_MESSAGES/django.mo | Bin 561 -> 561 bytes .../events/locale/bs_BA/LC_MESSAGES/django.mo | Bin 644 -> 644 bytes .../events/locale/da/LC_MESSAGES/django.mo | Bin 540 -> 540 bytes .../events/locale/de_DE/LC_MESSAGES/django.mo | Bin 1096 -> 1096 bytes .../events/locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes .../events/locale/es/LC_MESSAGES/django.mo | Bin 1066 -> 1066 bytes .../events/locale/fa/LC_MESSAGES/django.mo | Bin 1112 -> 1112 bytes .../events/locale/fr/LC_MESSAGES/django.mo | Bin 1117 -> 1117 bytes .../events/locale/hu/LC_MESSAGES/django.mo | Bin 467 -> 467 bytes .../events/locale/id/LC_MESSAGES/django.mo | Bin 461 -> 461 bytes .../events/locale/it/LC_MESSAGES/django.mo | Bin 1081 -> 1081 bytes .../events/locale/nl_NL/LC_MESSAGES/django.mo | Bin 1124 -> 1124 bytes .../events/locale/pl/LC_MESSAGES/django.mo | Bin 1118 -> 1118 bytes .../events/locale/pt/LC_MESSAGES/django.mo | Bin 1031 -> 1031 bytes .../events/locale/pt_BR/LC_MESSAGES/django.mo | Bin 1072 -> 1072 bytes .../events/locale/ro_RO/LC_MESSAGES/django.mo | Bin 598 -> 598 bytes .../events/locale/ru/LC_MESSAGES/django.mo | Bin 1334 -> 1334 bytes .../events/locale/sl_SI/LC_MESSAGES/django.mo | Bin 569 -> 569 bytes .../events/locale/vi_VN/LC_MESSAGES/django.mo | Bin 558 -> 558 bytes .../events/locale/zh_CN/LC_MESSAGES/django.mo | Bin 548 -> 548 bytes .../folders/locale/ar/LC_MESSAGES/django.mo | Bin 1598 -> 1197 bytes .../folders/locale/ar/LC_MESSAGES/django.po | 131 ++++--- .../folders/locale/bg/LC_MESSAGES/django.mo | Bin 1617 -> 1154 bytes .../folders/locale/bg/LC_MESSAGES/django.po | 104 +++--- .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 1472 -> 1132 bytes .../locale/bs_BA/LC_MESSAGES/django.po | 113 +++--- .../folders/locale/da/LC_MESSAGES/django.mo | Bin 1326 -> 934 bytes .../folders/locale/da/LC_MESSAGES/django.po | 100 ++--- .../locale/de_DE/LC_MESSAGES/django.mo | Bin 2994 -> 2291 bytes .../locale/de_DE/LC_MESSAGES/django.po | 95 +++-- .../folders/locale/en/LC_MESSAGES/django.mo | Bin 1297 -> 903 bytes .../folders/locale/es/LC_MESSAGES/django.mo | Bin 3023 -> 2109 bytes .../folders/locale/es/LC_MESSAGES/django.po | 99 +++-- .../folders/locale/fa/LC_MESSAGES/django.mo | Bin 2305 -> 1614 bytes .../folders/locale/fa/LC_MESSAGES/django.po | 96 ++--- .../folders/locale/fr/LC_MESSAGES/django.mo | Bin 3146 -> 2126 bytes .../folders/locale/fr/LC_MESSAGES/django.po | 101 +++-- .../folders/locale/hu/LC_MESSAGES/django.mo | Bin 1400 -> 971 bytes .../folders/locale/hu/LC_MESSAGES/django.po | 100 ++--- .../folders/locale/id/LC_MESSAGES/django.mo | Bin 706 -> 549 bytes .../folders/locale/id/LC_MESSAGES/django.po | 105 +++--- .../folders/locale/it/LC_MESSAGES/django.mo | Bin 3058 -> 2118 bytes .../folders/locale/it/LC_MESSAGES/django.po | 99 +++-- .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 2610 -> 2035 bytes .../locale/nl_NL/LC_MESSAGES/django.po | 103 +++-- .../folders/locale/pl/LC_MESSAGES/django.mo | Bin 2955 -> 2075 bytes .../folders/locale/pl/LC_MESSAGES/django.po | 111 +++--- .../folders/locale/pt/LC_MESSAGES/django.mo | Bin 1466 -> 1118 bytes .../folders/locale/pt/LC_MESSAGES/django.po | 104 +++--- .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 2985 -> 2083 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 96 +++-- .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 1544 -> 1205 bytes .../locale/ro_RO/LC_MESSAGES/django.po | 116 +++--- .../folders/locale/ru/LC_MESSAGES/django.mo | Bin 1863 -> 1409 bytes .../folders/locale/ru/LC_MESSAGES/django.po | 120 +++--- .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 807 -> 599 bytes .../locale/sl_SI/LC_MESSAGES/django.po | 122 +++--- .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 1480 -> 1100 bytes .../locale/vi_VN/LC_MESSAGES/django.po | 98 ++--- .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 1326 -> 1005 bytes .../locale/zh_CN/LC_MESSAGES/django.po | 98 ++--- .../linking/locale/ar/LC_MESSAGES/django.mo | Bin 2695 -> 2695 bytes .../linking/locale/ar/LC_MESSAGES/django.po | 41 +- .../linking/locale/bg/LC_MESSAGES/django.mo | Bin 1692 -> 1692 bytes .../linking/locale/bg/LC_MESSAGES/django.po | 38 +- .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 2630 -> 2630 bytes .../locale/bs_BA/LC_MESSAGES/django.po | 41 +- .../linking/locale/da/LC_MESSAGES/django.mo | Bin 499 -> 499 bytes .../linking/locale/da/LC_MESSAGES/django.po | 38 +- .../locale/de_DE/LC_MESSAGES/django.mo | Bin 4921 -> 4921 bytes .../locale/de_DE/LC_MESSAGES/django.po | 51 ++- .../linking/locale/en/LC_MESSAGES/django.mo | Bin 2371 -> 2371 bytes .../linking/locale/es/LC_MESSAGES/django.mo | Bin 5055 -> 5055 bytes .../linking/locale/es/LC_MESSAGES/django.po | 56 ++- .../linking/locale/fa/LC_MESSAGES/django.mo | Bin 4174 -> 4174 bytes .../linking/locale/fa/LC_MESSAGES/django.po | 43 ++- .../linking/locale/fr/LC_MESSAGES/django.mo | Bin 5080 -> 5080 bytes .../linking/locale/fr/LC_MESSAGES/django.po | 55 ++- .../linking/locale/hu/LC_MESSAGES/django.mo | Bin 504 -> 504 bytes .../linking/locale/hu/LC_MESSAGES/django.po | 38 +- .../linking/locale/id/LC_MESSAGES/django.mo | Bin 493 -> 493 bytes .../linking/locale/id/LC_MESSAGES/django.po | 38 +- .../linking/locale/it/LC_MESSAGES/django.mo | Bin 5008 -> 4979 bytes .../linking/locale/it/LC_MESSAGES/django.po | 57 ++- .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 3137 -> 3108 bytes .../locale/nl_NL/LC_MESSAGES/django.po | 45 ++- .../linking/locale/pl/LC_MESSAGES/django.mo | Bin 4878 -> 4967 bytes .../linking/locale/pl/LC_MESSAGES/django.po | 51 ++- .../linking/locale/pt/LC_MESSAGES/django.mo | Bin 2762 -> 2762 bytes .../linking/locale/pt/LC_MESSAGES/django.po | 38 +- .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 5042 -> 5016 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 57 ++- .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 2808 -> 2808 bytes .../locale/ro_RO/LC_MESSAGES/django.po | 41 +- .../linking/locale/ru/LC_MESSAGES/django.mo | Bin 3457 -> 3457 bytes .../linking/locale/ru/LC_MESSAGES/django.po | 47 ++- .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 599 -> 599 bytes .../locale/sl_SI/LC_MESSAGES/django.po | 41 +- .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 1916 -> 1916 bytes .../locale/vi_VN/LC_MESSAGES/django.po | 38 +- .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 2299 -> 2299 bytes .../locale/zh_CN/LC_MESSAGES/django.po | 38 +- .../locale/ar/LC_MESSAGES/django.mo | Bin 583 -> 583 bytes .../locale/bg/LC_MESSAGES/django.mo | Bin 503 -> 503 bytes .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 603 -> 603 bytes .../locale/da/LC_MESSAGES/django.mo | Bin 498 -> 498 bytes .../locale/de_DE/LC_MESSAGES/django.mo | Bin 732 -> 732 bytes .../locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes .../locale/es/LC_MESSAGES/django.mo | Bin 729 -> 729 bytes .../locale/fa/LC_MESSAGES/django.mo | Bin 536 -> 536 bytes .../locale/fr/LC_MESSAGES/django.mo | Bin 767 -> 767 bytes .../locale/hu/LC_MESSAGES/django.mo | Bin 467 -> 467 bytes .../locale/id/LC_MESSAGES/django.mo | Bin 461 -> 461 bytes .../locale/it/LC_MESSAGES/django.mo | Bin 732 -> 732 bytes .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 591 -> 591 bytes .../locale/pl/LC_MESSAGES/django.mo | Bin 557 -> 557 bytes .../locale/pt/LC_MESSAGES/django.mo | Bin 502 -> 502 bytes .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 776 -> 776 bytes .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 557 -> 557 bytes .../locale/ru/LC_MESSAGES/django.mo | Bin 678 -> 678 bytes .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 569 -> 569 bytes .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 512 -> 512 bytes .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 508 -> 508 bytes .../mailer/locale/ar/LC_MESSAGES/django.mo | Bin 673 -> 537 bytes .../mailer/locale/ar/LC_MESSAGES/django.po | 17 +- .../mailer/locale/bg/LC_MESSAGES/django.mo | Bin 1492 -> 1221 bytes .../mailer/locale/bg/LC_MESSAGES/django.po | 15 +- .../mailer/locale/bs_BA/LC_MESSAGES/django.mo | Bin 662 -> 560 bytes .../mailer/locale/bs_BA/LC_MESSAGES/django.po | 17 +- .../mailer/locale/da/LC_MESSAGES/django.mo | Bin 557 -> 454 bytes .../mailer/locale/da/LC_MESSAGES/django.po | 14 +- .../mailer/locale/de_DE/LC_MESSAGES/django.mo | Bin 3231 -> 2728 bytes .../mailer/locale/de_DE/LC_MESSAGES/django.po | 55 +-- .../mailer/locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes .../mailer/locale/es/LC_MESSAGES/django.mo | Bin 3414 -> 2886 bytes .../mailer/locale/es/LC_MESSAGES/django.po | 61 +-- .../mailer/locale/fa/LC_MESSAGES/django.mo | Bin 2490 -> 1930 bytes .../mailer/locale/fa/LC_MESSAGES/django.po | 27 +- .../mailer/locale/fr/LC_MESSAGES/django.mo | Bin 3296 -> 2727 bytes .../mailer/locale/fr/LC_MESSAGES/django.po | 41 +- .../mailer/locale/hu/LC_MESSAGES/django.mo | Bin 565 -> 457 bytes .../mailer/locale/hu/LC_MESSAGES/django.po | 14 +- .../mailer/locale/id/LC_MESSAGES/django.mo | Bin 603 -> 499 bytes .../mailer/locale/id/LC_MESSAGES/django.po | 14 +- .../mailer/locale/it/LC_MESSAGES/django.mo | Bin 3197 -> 2698 bytes .../mailer/locale/it/LC_MESSAGES/django.po | 49 +-- .../mailer/locale/nl_NL/LC_MESSAGES/django.mo | Bin 1828 -> 1286 bytes .../mailer/locale/nl_NL/LC_MESSAGES/django.po | 29 +- .../mailer/locale/pl/LC_MESSAGES/django.mo | Bin 2311 -> 1872 bytes .../mailer/locale/pl/LC_MESSAGES/django.po | 32 +- .../mailer/locale/pt/LC_MESSAGES/django.mo | Bin 1400 -> 1299 bytes .../mailer/locale/pt/LC_MESSAGES/django.po | 18 +- .../mailer/locale/pt_BR/LC_MESSAGES/django.mo | Bin 3295 -> 2748 bytes .../mailer/locale/pt_BR/LC_MESSAGES/django.po | 46 +-- .../mailer/locale/ro_RO/LC_MESSAGES/django.mo | Bin 663 -> 560 bytes .../mailer/locale/ro_RO/LC_MESSAGES/django.po | 17 +- .../mailer/locale/ru/LC_MESSAGES/django.mo | Bin 2165 -> 1849 bytes .../mailer/locale/ru/LC_MESSAGES/django.po | 21 +- .../mailer/locale/sl_SI/LC_MESSAGES/django.mo | Bin 632 -> 526 bytes .../mailer/locale/sl_SI/LC_MESSAGES/django.po | 17 +- .../mailer/locale/vi_VN/LC_MESSAGES/django.mo | Bin 585 -> 468 bytes .../mailer/locale/vi_VN/LC_MESSAGES/django.po | 14 +- .../mailer/locale/zh_CN/LC_MESSAGES/django.mo | Bin 557 -> 462 bytes .../mailer/locale/zh_CN/LC_MESSAGES/django.po | 14 +- .../metadata/locale/ar/LC_MESSAGES/django.mo | Bin 2824 -> 2853 bytes .../metadata/locale/ar/LC_MESSAGES/django.po | 163 ++++---- .../metadata/locale/bg/LC_MESSAGES/django.mo | Bin 1049 -> 959 bytes .../metadata/locale/bg/LC_MESSAGES/django.po | 138 ++++--- .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 2322 -> 2339 bytes .../locale/bs_BA/LC_MESSAGES/django.po | 148 ++++---- .../metadata/locale/da/LC_MESSAGES/django.mo | Bin 1091 -> 990 bytes .../metadata/locale/da/LC_MESSAGES/django.po | 136 ++++--- .../locale/de_DE/LC_MESSAGES/django.mo | Bin 8602 -> 7946 bytes .../locale/de_DE/LC_MESSAGES/django.po | 187 ++++------ .../metadata/locale/en/LC_MESSAGES/django.mo | Bin 2011 -> 1923 bytes .../metadata/locale/es/LC_MESSAGES/django.mo | Bin 8785 -> 8036 bytes .../metadata/locale/es/LC_MESSAGES/django.po | 178 ++++----- .../metadata/locale/fa/LC_MESSAGES/django.mo | Bin 6643 -> 6029 bytes .../metadata/locale/fa/LC_MESSAGES/django.po | 142 ++++--- .../metadata/locale/fr/LC_MESSAGES/django.mo | Bin 8993 -> 8432 bytes .../metadata/locale/fr/LC_MESSAGES/django.po | 182 ++++----- .../metadata/locale/hu/LC_MESSAGES/django.mo | Bin 705 -> 607 bytes .../metadata/locale/hu/LC_MESSAGES/django.po | 136 ++++--- .../metadata/locale/id/LC_MESSAGES/django.mo | Bin 745 -> 678 bytes .../metadata/locale/id/LC_MESSAGES/django.po | 134 ++++--- .../metadata/locale/it/LC_MESSAGES/django.mo | Bin 8599 -> 7843 bytes .../metadata/locale/it/LC_MESSAGES/django.po | 179 ++++----- .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 2040 -> 2576 bytes .../locale/nl_NL/LC_MESSAGES/django.po | 157 ++++---- .../metadata/locale/pl/LC_MESSAGES/django.mo | Bin 5606 -> 5355 bytes .../metadata/locale/pl/LC_MESSAGES/django.po | 173 +++++---- .../metadata/locale/pt/LC_MESSAGES/django.mo | Bin 2391 -> 2414 bytes .../metadata/locale/pt/LC_MESSAGES/django.po | 143 +++---- .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 8813 -> 8034 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 179 ++++----- .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 2497 -> 2512 bytes .../locale/ro_RO/LC_MESSAGES/django.po | 151 ++++---- .../metadata/locale/ru/LC_MESSAGES/django.mo | Bin 7817 -> 6990 bytes .../metadata/locale/ru/LC_MESSAGES/django.po | 170 ++++----- .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 844 -> 790 bytes .../locale/sl_SI/LC_MESSAGES/django.po | 149 +++++--- .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 1847 -> 1774 bytes .../locale/vi_VN/LC_MESSAGES/django.po | 134 ++++--- .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 2114 -> 2131 bytes .../locale/zh_CN/LC_MESSAGES/django.po | 134 ++++--- .../mirroring/locale/ar/LC_MESSAGES/django.mo | Bin 547 -> 547 bytes .../mirroring/locale/bg/LC_MESSAGES/django.mo | Bin 467 -> 467 bytes .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 570 -> 570 bytes .../mirroring/locale/da/LC_MESSAGES/django.mo | Bin 464 -> 464 bytes .../locale/de_DE/LC_MESSAGES/django.mo | Bin 861 -> 861 bytes .../mirroring/locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes .../mirroring/locale/es/LC_MESSAGES/django.mo | Bin 872 -> 872 bytes .../mirroring/locale/fa/LC_MESSAGES/django.mo | Bin 458 -> 458 bytes .../mirroring/locale/fr/LC_MESSAGES/django.mo | Bin 837 -> 837 bytes .../mirroring/locale/hu/LC_MESSAGES/django.mo | Bin 467 -> 467 bytes .../mirroring/locale/id/LC_MESSAGES/django.mo | Bin 461 -> 461 bytes .../mirroring/locale/it/LC_MESSAGES/django.mo | Bin 831 -> 831 bytes .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 546 -> 546 bytes .../mirroring/locale/pl/LC_MESSAGES/django.mo | Bin 522 -> 522 bytes .../mirroring/locale/pt/LC_MESSAGES/django.mo | Bin 468 -> 468 bytes .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 895 -> 895 bytes .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 523 -> 523 bytes .../mirroring/locale/ru/LC_MESSAGES/django.mo | Bin 993 -> 993 bytes .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 536 -> 536 bytes .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 478 -> 478 bytes .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 472 -> 472 bytes .../apps/motd/locale/ar/LC_MESSAGES/django.mo | Bin 620 -> 620 bytes .../apps/motd/locale/bg/LC_MESSAGES/django.mo | Bin 549 -> 549 bytes .../motd/locale/bs_BA/LC_MESSAGES/django.mo | Bin 636 -> 636 bytes .../apps/motd/locale/da/LC_MESSAGES/django.mo | Bin 499 -> 499 bytes .../motd/locale/de_DE/LC_MESSAGES/django.mo | Bin 1867 -> 1867 bytes .../apps/motd/locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes .../apps/motd/locale/es/LC_MESSAGES/django.mo | Bin 1806 -> 1806 bytes .../apps/motd/locale/fa/LC_MESSAGES/django.mo | Bin 664 -> 664 bytes .../apps/motd/locale/fr/LC_MESSAGES/django.mo | Bin 1777 -> 1777 bytes .../apps/motd/locale/hu/LC_MESSAGES/django.mo | Bin 502 -> 502 bytes .../apps/motd/locale/id/LC_MESSAGES/django.mo | Bin 461 -> 461 bytes .../apps/motd/locale/it/LC_MESSAGES/django.mo | Bin 1827 -> 1827 bytes .../motd/locale/nl_NL/LC_MESSAGES/django.mo | Bin 1278 -> 1278 bytes .../apps/motd/locale/pl/LC_MESSAGES/django.mo | Bin 703 -> 703 bytes .../apps/motd/locale/pt/LC_MESSAGES/django.mo | Bin 599 -> 599 bytes .../motd/locale/pt_BR/LC_MESSAGES/django.mo | Bin 1799 -> 1799 bytes .../motd/locale/ro_RO/LC_MESSAGES/django.mo | Bin 664 -> 664 bytes .../apps/motd/locale/ru/LC_MESSAGES/django.mo | Bin 2325 -> 2325 bytes .../motd/locale/sl_SI/LC_MESSAGES/django.mo | Bin 599 -> 599 bytes .../motd/locale/vi_VN/LC_MESSAGES/django.mo | Bin 539 -> 539 bytes .../motd/locale/zh_CN/LC_MESSAGES/django.mo | Bin 505 -> 505 bytes .../locale/ar/LC_MESSAGES/django.mo | Bin 537 -> 537 bytes .../locale/bg/LC_MESSAGES/django.mo | Bin 457 -> 457 bytes .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 560 -> 560 bytes .../locale/da/LC_MESSAGES/django.mo | Bin 454 -> 454 bytes .../locale/de_DE/LC_MESSAGES/django.mo | Bin 549 -> 549 bytes .../locale/en/LC_MESSAGES/django.mo | Bin 457 -> 457 bytes .../locale/es/LC_MESSAGES/django.mo | Bin 535 -> 535 bytes .../locale/fa/LC_MESSAGES/django.mo | Bin 493 -> 493 bytes .../locale/fr/LC_MESSAGES/django.mo | Bin 493 -> 493 bytes .../locale/hu/LC_MESSAGES/django.mo | Bin 457 -> 457 bytes .../locale/id/LC_MESSAGES/django.mo | Bin 451 -> 451 bytes .../locale/it/LC_MESSAGES/django.mo | Bin 455 -> 455 bytes .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 473 -> 473 bytes .../locale/pl/LC_MESSAGES/django.mo | Bin 550 -> 550 bytes .../locale/pt/LC_MESSAGES/django.mo | Bin 458 -> 458 bytes .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 512 -> 512 bytes .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 513 -> 513 bytes .../locale/ru/LC_MESSAGES/django.mo | Bin 593 -> 593 bytes .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 526 -> 526 bytes .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 468 -> 468 bytes .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 462 -> 462 bytes .../apps/ocr/locale/ar/LC_MESSAGES/django.mo | Bin 1312 -> 1088 bytes .../apps/ocr/locale/ar/LC_MESSAGES/django.po | 54 ++- .../apps/ocr/locale/bg/LC_MESSAGES/django.mo | Bin 992 -> 878 bytes .../apps/ocr/locale/bg/LC_MESSAGES/django.po | 44 ++- .../ocr/locale/bs_BA/LC_MESSAGES/django.mo | Bin 1324 -> 1085 bytes .../ocr/locale/bs_BA/LC_MESSAGES/django.po | 54 ++- .../apps/ocr/locale/da/LC_MESSAGES/django.mo | Bin 1218 -> 990 bytes .../apps/ocr/locale/da/LC_MESSAGES/django.po | 52 ++- .../ocr/locale/de_DE/LC_MESSAGES/django.mo | Bin 4293 -> 3966 bytes .../ocr/locale/de_DE/LC_MESSAGES/django.po | 66 ++-- .../apps/ocr/locale/en/LC_MESSAGES/django.mo | Bin 857 -> 857 bytes .../apps/ocr/locale/es/LC_MESSAGES/django.mo | Bin 4155 -> 3837 bytes .../apps/ocr/locale/es/LC_MESSAGES/django.po | 52 ++- .../apps/ocr/locale/fa/LC_MESSAGES/django.mo | Bin 2075 -> 1810 bytes .../apps/ocr/locale/fa/LC_MESSAGES/django.po | 48 +-- .../apps/ocr/locale/fr/LC_MESSAGES/django.mo | Bin 4346 -> 4001 bytes .../apps/ocr/locale/fr/LC_MESSAGES/django.po | 61 ++- .../apps/ocr/locale/hu/LC_MESSAGES/django.mo | Bin 710 -> 710 bytes .../apps/ocr/locale/hu/LC_MESSAGES/django.po | 44 ++- .../apps/ocr/locale/id/LC_MESSAGES/django.mo | Bin 690 -> 690 bytes .../apps/ocr/locale/id/LC_MESSAGES/django.po | 44 ++- .../apps/ocr/locale/it/LC_MESSAGES/django.mo | Bin 4090 -> 3764 bytes .../apps/ocr/locale/it/LC_MESSAGES/django.po | 61 ++- .../ocr/locale/nl_NL/LC_MESSAGES/django.mo | Bin 1487 -> 1396 bytes .../ocr/locale/nl_NL/LC_MESSAGES/django.po | 53 +-- .../apps/ocr/locale/pl/LC_MESSAGES/django.mo | Bin 1744 -> 1678 bytes .../apps/ocr/locale/pl/LC_MESSAGES/django.po | 50 +-- .../apps/ocr/locale/pt/LC_MESSAGES/django.mo | Bin 1182 -> 1007 bytes .../apps/ocr/locale/pt/LC_MESSAGES/django.po | 49 +-- .../ocr/locale/pt_BR/LC_MESSAGES/django.mo | Bin 4193 -> 3849 bytes .../ocr/locale/pt_BR/LC_MESSAGES/django.po | 54 ++- .../ocr/locale/ro_RO/LC_MESSAGES/django.mo | Bin 1357 -> 1124 bytes .../ocr/locale/ro_RO/LC_MESSAGES/django.po | 55 ++- .../apps/ocr/locale/ru/LC_MESSAGES/django.mo | Bin 5561 -> 5221 bytes .../apps/ocr/locale/ru/LC_MESSAGES/django.po | 66 ++-- .../ocr/locale/sl_SI/LC_MESSAGES/django.mo | Bin 773 -> 823 bytes .../ocr/locale/sl_SI/LC_MESSAGES/django.po | 49 ++- .../ocr/locale/vi_VN/LC_MESSAGES/django.mo | Bin 766 -> 766 bytes .../ocr/locale/vi_VN/LC_MESSAGES/django.po | 44 ++- .../ocr/locale/zh_CN/LC_MESSAGES/django.mo | Bin 1308 -> 1099 bytes .../ocr/locale/zh_CN/LC_MESSAGES/django.po | 48 +-- .../locale/ar/LC_MESSAGES/django.mo | Bin 1254 -> 1254 bytes .../locale/ar/LC_MESSAGES/django.po | 39 +- .../locale/bg/LC_MESSAGES/django.mo | Bin 1348 -> 1348 bytes .../locale/bg/LC_MESSAGES/django.po | 36 +- .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 1171 -> 1171 bytes .../locale/bs_BA/LC_MESSAGES/django.po | 39 +- .../locale/da/LC_MESSAGES/django.mo | Bin 488 -> 488 bytes .../locale/da/LC_MESSAGES/django.po | 36 +- .../locale/de_DE/LC_MESSAGES/django.mo | Bin 1878 -> 2159 bytes .../locale/de_DE/LC_MESSAGES/django.po | 38 +- .../locale/en/LC_MESSAGES/django.mo | Bin 975 -> 975 bytes .../locale/es/LC_MESSAGES/django.mo | Bin 1792 -> 1856 bytes .../locale/es/LC_MESSAGES/django.po | 35 +- .../locale/fa/LC_MESSAGES/django.mo | Bin 1487 -> 1487 bytes .../locale/fa/LC_MESSAGES/django.po | 33 +- .../locale/fr/LC_MESSAGES/django.mo | Bin 1877 -> 1842 bytes .../locale/fr/LC_MESSAGES/django.po | 35 +- .../locale/hu/LC_MESSAGES/django.mo | Bin 457 -> 457 bytes .../locale/hu/LC_MESSAGES/django.po | 36 +- .../locale/id/LC_MESSAGES/django.mo | Bin 451 -> 451 bytes .../locale/id/LC_MESSAGES/django.po | 36 +- .../locale/it/LC_MESSAGES/django.mo | Bin 1872 -> 1843 bytes .../locale/it/LC_MESSAGES/django.po | 35 +- .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 1965 -> 1936 bytes .../locale/nl_NL/LC_MESSAGES/django.po | 35 +- .../locale/pl/LC_MESSAGES/django.mo | Bin 1288 -> 1420 bytes .../locale/pl/LC_MESSAGES/django.po | 41 +- .../locale/pt/LC_MESSAGES/django.mo | Bin 1280 -> 1280 bytes .../locale/pt/LC_MESSAGES/django.po | 36 +- .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 1863 -> 1837 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 35 +- .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 1328 -> 1328 bytes .../locale/ro_RO/LC_MESSAGES/django.po | 39 +- .../locale/ru/LC_MESSAGES/django.mo | Bin 2286 -> 2291 bytes .../locale/ru/LC_MESSAGES/django.po | 39 +- .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 854 -> 854 bytes .../locale/sl_SI/LC_MESSAGES/django.po | 39 +- .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 710 -> 710 bytes .../locale/vi_VN/LC_MESSAGES/django.po | 36 +- .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 1074 -> 1074 bytes .../locale/zh_CN/LC_MESSAGES/django.po | 36 +- .../rest_api/locale/ar/LC_MESSAGES/django.mo | Bin 547 -> 537 bytes .../rest_api/locale/ar/LC_MESSAGES/django.po | 14 +- .../rest_api/locale/bg/LC_MESSAGES/django.mo | Bin 467 -> 457 bytes .../rest_api/locale/bg/LC_MESSAGES/django.po | 11 +- .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 570 -> 560 bytes .../locale/bs_BA/LC_MESSAGES/django.po | 14 +- .../rest_api/locale/da/LC_MESSAGES/django.mo | Bin 464 -> 454 bytes .../rest_api/locale/da/LC_MESSAGES/django.po | 11 +- .../locale/de_DE/LC_MESSAGES/django.mo | Bin 582 -> 679 bytes .../locale/de_DE/LC_MESSAGES/django.po | 14 +- .../rest_api/locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes .../rest_api/locale/es/LC_MESSAGES/django.mo | Bin 556 -> 663 bytes .../rest_api/locale/es/LC_MESSAGES/django.po | 13 +- .../rest_api/locale/fa/LC_MESSAGES/django.mo | Bin 510 -> 510 bytes .../rest_api/locale/fa/LC_MESSAGES/django.po | 9 +- .../rest_api/locale/fr/LC_MESSAGES/django.mo | Bin 586 -> 552 bytes .../rest_api/locale/fr/LC_MESSAGES/django.po | 11 +- .../rest_api/locale/hu/LC_MESSAGES/django.mo | Bin 467 -> 457 bytes .../rest_api/locale/hu/LC_MESSAGES/django.po | 11 +- .../rest_api/locale/id/LC_MESSAGES/django.mo | Bin 461 -> 451 bytes .../rest_api/locale/id/LC_MESSAGES/django.po | 11 +- .../rest_api/locale/it/LC_MESSAGES/django.mo | Bin 578 -> 550 bytes .../rest_api/locale/it/LC_MESSAGES/django.po | 11 +- .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 595 -> 566 bytes .../locale/nl_NL/LC_MESSAGES/django.po | 11 +- .../rest_api/locale/pl/LC_MESSAGES/django.mo | Bin 554 -> 643 bytes .../rest_api/locale/pl/LC_MESSAGES/django.po | 12 +- .../rest_api/locale/pt/LC_MESSAGES/django.mo | Bin 520 -> 510 bytes .../rest_api/locale/pt/LC_MESSAGES/django.po | 11 +- .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 596 -> 570 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 11 +- .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 523 -> 513 bytes .../locale/ro_RO/LC_MESSAGES/django.po | 14 +- .../rest_api/locale/ru/LC_MESSAGES/django.mo | Bin 693 -> 698 bytes .../rest_api/locale/ru/LC_MESSAGES/django.po | 15 +- .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 536 -> 526 bytes .../locale/sl_SI/LC_MESSAGES/django.po | 14 +- .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 478 -> 468 bytes .../locale/vi_VN/LC_MESSAGES/django.po | 11 +- .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 472 -> 462 bytes .../locale/zh_CN/LC_MESSAGES/django.po | 11 +- .../locale/ar/LC_MESSAGES/django.mo | Bin 604 -> 604 bytes .../locale/ar/LC_MESSAGES/django.po | 12 +- .../locale/bg/LC_MESSAGES/django.mo | Bin 532 -> 532 bytes .../locale/bg/LC_MESSAGES/django.po | 9 +- .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 626 -> 626 bytes .../locale/bs_BA/LC_MESSAGES/django.po | 12 +- .../locale/da/LC_MESSAGES/django.mo | Bin 488 -> 488 bytes .../locale/da/LC_MESSAGES/django.po | 9 +- .../locale/de_DE/LC_MESSAGES/django.mo | Bin 1054 -> 943 bytes .../locale/de_DE/LC_MESSAGES/django.po | 17 +- .../locale/en/LC_MESSAGES/django.mo | Bin 457 -> 457 bytes .../locale/es/LC_MESSAGES/django.mo | Bin 1018 -> 933 bytes .../locale/es/LC_MESSAGES/django.po | 15 +- .../locale/fa/LC_MESSAGES/django.mo | Bin 557 -> 557 bytes .../locale/fa/LC_MESSAGES/django.po | 9 +- .../locale/fr/LC_MESSAGES/django.mo | Bin 1095 -> 967 bytes .../locale/fr/LC_MESSAGES/django.po | 17 +- .../locale/hu/LC_MESSAGES/django.mo | Bin 457 -> 457 bytes .../locale/hu/LC_MESSAGES/django.po | 9 +- .../locale/id/LC_MESSAGES/django.mo | Bin 451 -> 451 bytes .../locale/id/LC_MESSAGES/django.po | 9 +- .../locale/it/LC_MESSAGES/django.mo | Bin 1086 -> 966 bytes .../locale/it/LC_MESSAGES/django.po | 17 +- .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 774 -> 699 bytes .../locale/nl_NL/LC_MESSAGES/django.po | 14 +- .../locale/pl/LC_MESSAGES/django.mo | Bin 1139 -> 1105 bytes .../locale/pl/LC_MESSAGES/django.po | 20 +- .../locale/pt/LC_MESSAGES/django.mo | Bin 520 -> 520 bytes .../locale/pt/LC_MESSAGES/django.po | 9 +- .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 1065 -> 951 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 17 +- .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 577 -> 577 bytes .../locale/ro_RO/LC_MESSAGES/django.po | 12 +- .../locale/ru/LC_MESSAGES/django.mo | Bin 1335 -> 1229 bytes .../locale/ru/LC_MESSAGES/django.po | 21 +- .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 559 -> 559 bytes .../locale/sl_SI/LC_MESSAGES/django.po | 12 +- .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 535 -> 535 bytes .../locale/vi_VN/LC_MESSAGES/django.po | 9 +- .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 524 -> 524 bytes .../locale/zh_CN/LC_MESSAGES/django.po | 9 +- .../sources/locale/ar/LC_MESSAGES/django.mo | Bin 2591 -> 2591 bytes .../sources/locale/ar/LC_MESSAGES/django.po | 33 +- .../sources/locale/bg/LC_MESSAGES/django.mo | Bin 1571 -> 1571 bytes .../sources/locale/bg/LC_MESSAGES/django.po | 30 +- .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 2375 -> 2375 bytes .../locale/bs_BA/LC_MESSAGES/django.po | 33 +- .../sources/locale/da/LC_MESSAGES/django.mo | Bin 2148 -> 2148 bytes .../sources/locale/da/LC_MESSAGES/django.po | 30 +- .../locale/de_DE/LC_MESSAGES/django.mo | Bin 9553 -> 9456 bytes .../locale/de_DE/LC_MESSAGES/django.po | 77 ++-- .../sources/locale/en/LC_MESSAGES/django.mo | Bin 2019 -> 2019 bytes .../sources/locale/es/LC_MESSAGES/django.mo | Bin 8713 -> 9052 bytes .../sources/locale/es/LC_MESSAGES/django.po | 73 ++-- .../sources/locale/fa/LC_MESSAGES/django.mo | Bin 7372 -> 7287 bytes .../sources/locale/fa/LC_MESSAGES/django.po | 41 +- .../sources/locale/fr/LC_MESSAGES/django.mo | Bin 10371 -> 10242 bytes .../sources/locale/fr/LC_MESSAGES/django.po | 85 ++--- .../sources/locale/hu/LC_MESSAGES/django.mo | Bin 1472 -> 1472 bytes .../sources/locale/hu/LC_MESSAGES/django.po | 30 +- .../sources/locale/id/LC_MESSAGES/django.mo | Bin 1808 -> 1808 bytes .../sources/locale/id/LC_MESSAGES/django.po | 34 +- .../sources/locale/it/LC_MESSAGES/django.mo | Bin 9560 -> 9453 bytes .../sources/locale/it/LC_MESSAGES/django.po | 82 ++-- .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 3997 -> 3968 bytes .../locale/nl_NL/LC_MESSAGES/django.po | 42 ++- .../sources/locale/pl/LC_MESSAGES/django.mo | Bin 1855 -> 1913 bytes .../sources/locale/pl/LC_MESSAGES/django.po | 35 +- .../sources/locale/pt/LC_MESSAGES/django.mo | Bin 2494 -> 2494 bytes .../sources/locale/pt/LC_MESSAGES/django.po | 34 +- .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 9719 -> 9604 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 80 ++-- .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 2557 -> 2557 bytes .../locale/ro_RO/LC_MESSAGES/django.po | 37 +- .../sources/locale/ru/LC_MESSAGES/django.mo | Bin 7565 -> 7570 bytes .../sources/locale/ru/LC_MESSAGES/django.po | 53 ++- .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 690 -> 690 bytes .../locale/sl_SI/LC_MESSAGES/django.po | 33 +- .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 1632 -> 1632 bytes .../locale/vi_VN/LC_MESSAGES/django.po | 30 +- .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 2107 -> 2107 bytes .../locale/zh_CN/LC_MESSAGES/django.po | 30 +- .../locale/ar/LC_MESSAGES/django.mo | Bin 589 -> 589 bytes .../locale/bg/LC_MESSAGES/django.mo | Bin 513 -> 513 bytes .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 606 -> 606 bytes .../locale/da/LC_MESSAGES/django.mo | Bin 499 -> 499 bytes .../locale/de_DE/LC_MESSAGES/django.mo | Bin 1503 -> 1503 bytes .../locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes .../locale/es/LC_MESSAGES/django.mo | Bin 1544 -> 1544 bytes .../locale/fa/LC_MESSAGES/django.mo | Bin 842 -> 842 bytes .../locale/fr/LC_MESSAGES/django.mo | Bin 1608 -> 1608 bytes .../locale/hu/LC_MESSAGES/django.mo | Bin 504 -> 504 bytes .../locale/id/LC_MESSAGES/django.mo | Bin 546 -> 546 bytes .../locale/it/LC_MESSAGES/django.mo | Bin 1542 -> 1542 bytes .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 1047 -> 1047 bytes .../locale/pl/LC_MESSAGES/django.mo | Bin 1583 -> 1583 bytes .../locale/pt/LC_MESSAGES/django.mo | Bin 1102 -> 1102 bytes .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 1576 -> 1576 bytes .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 838 -> 838 bytes .../locale/ru/LC_MESSAGES/django.mo | Bin 1397 -> 1397 bytes .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 526 -> 526 bytes .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 515 -> 515 bytes .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 504 -> 504 bytes .../storage/locale/ar/LC_MESSAGES/django.mo | Bin 547 -> 547 bytes .../storage/locale/bg/LC_MESSAGES/django.mo | Bin 467 -> 467 bytes .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 570 -> 570 bytes .../storage/locale/da/LC_MESSAGES/django.mo | Bin 464 -> 464 bytes .../locale/de_DE/LC_MESSAGES/django.mo | Bin 534 -> 534 bytes .../storage/locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes .../storage/locale/es/LC_MESSAGES/django.mo | Bin 502 -> 502 bytes .../storage/locale/fa/LC_MESSAGES/django.mo | Bin 458 -> 458 bytes .../storage/locale/fr/LC_MESSAGES/django.mo | Bin 528 -> 528 bytes .../storage/locale/hu/LC_MESSAGES/django.mo | Bin 467 -> 467 bytes .../storage/locale/id/LC_MESSAGES/django.mo | Bin 461 -> 461 bytes .../storage/locale/it/LC_MESSAGES/django.mo | Bin 526 -> 526 bytes .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 541 -> 541 bytes .../storage/locale/pl/LC_MESSAGES/django.mo | Bin 585 -> 585 bytes .../storage/locale/pt/LC_MESSAGES/django.mo | Bin 546 -> 546 bytes .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 544 -> 544 bytes .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 570 -> 570 bytes .../storage/locale/ru/LC_MESSAGES/django.mo | Bin 639 -> 639 bytes .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 536 -> 536 bytes .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 478 -> 478 bytes .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 472 -> 472 bytes .../apps/tags/locale/ar/LC_MESSAGES/django.mo | Bin 2952 -> 2237 bytes .../apps/tags/locale/ar/LC_MESSAGES/django.po | 100 +++-- .../apps/tags/locale/bg/LC_MESSAGES/django.mo | Bin 1763 -> 1558 bytes .../apps/tags/locale/bg/LC_MESSAGES/django.po | 75 ++-- .../tags/locale/bs_BA/LC_MESSAGES/django.mo | Bin 2343 -> 1809 bytes .../tags/locale/bs_BA/LC_MESSAGES/django.po | 82 ++-- .../apps/tags/locale/da/LC_MESSAGES/django.mo | Bin 2159 -> 1591 bytes .../apps/tags/locale/da/LC_MESSAGES/django.po | 72 ++-- .../tags/locale/de_DE/LC_MESSAGES/django.mo | Bin 4022 -> 2870 bytes .../tags/locale/de_DE/LC_MESSAGES/django.po | 90 ++--- .../apps/tags/locale/en/LC_MESSAGES/django.mo | Bin 2129 -> 1565 bytes .../apps/tags/locale/es/LC_MESSAGES/django.mo | Bin 4091 -> 3794 bytes .../apps/tags/locale/es/LC_MESSAGES/django.po | 99 +++-- .../apps/tags/locale/fa/LC_MESSAGES/django.mo | Bin 3274 -> 2472 bytes .../apps/tags/locale/fa/LC_MESSAGES/django.po | 73 ++-- .../apps/tags/locale/fr/LC_MESSAGES/django.mo | Bin 4329 -> 2837 bytes .../apps/tags/locale/fr/LC_MESSAGES/django.po | 96 ++--- .../apps/tags/locale/hu/LC_MESSAGES/django.mo | Bin 624 -> 534 bytes .../apps/tags/locale/hu/LC_MESSAGES/django.po | 74 +++- .../apps/tags/locale/id/LC_MESSAGES/django.mo | Bin 587 -> 522 bytes .../apps/tags/locale/id/LC_MESSAGES/django.po | 71 +++- .../apps/tags/locale/it/LC_MESSAGES/django.mo | Bin 4101 -> 2697 bytes .../apps/tags/locale/it/LC_MESSAGES/django.po | 95 ++--- .../tags/locale/nl_NL/LC_MESSAGES/django.mo | Bin 3035 -> 2403 bytes .../tags/locale/nl_NL/LC_MESSAGES/django.po | 83 ++-- .../apps/tags/locale/pl/LC_MESSAGES/django.mo | Bin 3022 -> 2340 bytes .../apps/tags/locale/pl/LC_MESSAGES/django.po | 92 +++-- .../apps/tags/locale/pt/LC_MESSAGES/django.mo | Bin 1532 -> 1362 bytes .../apps/tags/locale/pt/LC_MESSAGES/django.po | 75 ++-- .../tags/locale/pt_BR/LC_MESSAGES/django.mo | Bin 4106 -> 2703 bytes .../tags/locale/pt_BR/LC_MESSAGES/django.po | 92 ++--- .../tags/locale/ro_RO/LC_MESSAGES/django.mo | Bin 2916 -> 2280 bytes .../tags/locale/ro_RO/LC_MESSAGES/django.po | 95 +++-- .../apps/tags/locale/ru/LC_MESSAGES/django.mo | Bin 4968 -> 3238 bytes .../apps/tags/locale/ru/LC_MESSAGES/django.po | 104 +++--- .../tags/locale/sl_SI/LC_MESSAGES/django.mo | Bin 891 -> 803 bytes .../tags/locale/sl_SI/LC_MESSAGES/django.po | 82 ++-- .../tags/locale/vi_VN/LC_MESSAGES/django.mo | Bin 2306 -> 1722 bytes .../tags/locale/vi_VN/LC_MESSAGES/django.po | 69 ++-- .../tags/locale/zh_CN/LC_MESSAGES/django.mo | Bin 2096 -> 1591 bytes .../tags/locale/zh_CN/LC_MESSAGES/django.po | 69 ++-- .../locale/ar/LC_MESSAGES/django.mo | Bin 3112 -> 2713 bytes .../locale/ar/LC_MESSAGES/django.po | 76 ++-- .../locale/bg/LC_MESSAGES/django.mo | Bin 3579 -> 3155 bytes .../locale/bg/LC_MESSAGES/django.po | 57 ++- .../locale/bs_BA/LC_MESSAGES/django.mo | Bin 2765 -> 2444 bytes .../locale/bs_BA/LC_MESSAGES/django.po | 64 ++-- .../locale/da/LC_MESSAGES/django.mo | Bin 2487 -> 2128 bytes .../locale/da/LC_MESSAGES/django.po | 55 ++- .../locale/de_DE/LC_MESSAGES/django.mo | Bin 3851 -> 3352 bytes .../locale/de_DE/LC_MESSAGES/django.po | 63 ++-- .../locale/en/LC_MESSAGES/django.mo | Bin 2387 -> 2055 bytes .../locale/es/LC_MESSAGES/django.mo | Bin 3925 -> 3958 bytes .../locale/es/LC_MESSAGES/django.po | 63 ++-- .../locale/fa/LC_MESSAGES/django.mo | Bin 3524 -> 3068 bytes .../locale/fa/LC_MESSAGES/django.po | 44 ++- .../locale/fr/LC_MESSAGES/django.mo | Bin 4254 -> 3605 bytes .../locale/fr/LC_MESSAGES/django.po | 66 ++-- .../locale/hu/LC_MESSAGES/django.mo | Bin 457 -> 457 bytes .../locale/hu/LC_MESSAGES/django.po | 50 ++- .../locale/id/LC_MESSAGES/django.mo | Bin 487 -> 487 bytes .../locale/id/LC_MESSAGES/django.po | 48 ++- .../locale/it/LC_MESSAGES/django.mo | Bin 3889 -> 3337 bytes .../locale/it/LC_MESSAGES/django.po | 62 ++- .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 3993 -> 3407 bytes .../locale/nl_NL/LC_MESSAGES/django.po | 62 ++- .../locale/pl/LC_MESSAGES/django.mo | Bin 3989 -> 3508 bytes .../locale/pl/LC_MESSAGES/django.po | 67 ++-- .../locale/pt/LC_MESSAGES/django.mo | Bin 3751 -> 3213 bytes .../locale/pt/LC_MESSAGES/django.po | 56 ++- .../locale/pt_BR/LC_MESSAGES/django.mo | Bin 3879 -> 3331 bytes .../locale/pt_BR/LC_MESSAGES/django.po | 58 ++- .../locale/ro_RO/LC_MESSAGES/django.mo | Bin 3690 -> 3219 bytes .../locale/ro_RO/LC_MESSAGES/django.po | 63 ++-- .../locale/ru/LC_MESSAGES/django.mo | Bin 5069 -> 4406 bytes .../locale/ru/LC_MESSAGES/django.po | 70 ++-- .../locale/sl_SI/LC_MESSAGES/django.mo | Bin 598 -> 598 bytes .../locale/sl_SI/LC_MESSAGES/django.po | 57 ++- .../locale/vi_VN/LC_MESSAGES/django.mo | Bin 2514 -> 2149 bytes .../locale/vi_VN/LC_MESSAGES/django.po | 51 ++- .../locale/zh_CN/LC_MESSAGES/django.mo | Bin 2391 -> 2087 bytes .../locale/zh_CN/LC_MESSAGES/django.po | 45 +-- 1073 files changed, 11846 insertions(+), 12476 deletions(-) create mode 100644 mayan/apps/cabinets/locale/ar/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/bg/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/bs_BA/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/da/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/de_DE/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/en/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/es/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/fa/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/fr/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/hu/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/id/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/it/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/nl_NL/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/pl/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/pt/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/pt_BR/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/ro_RO/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/ru/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/sl_SI/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/vi_VN/LC_MESSAGES/django.mo create mode 100644 mayan/apps/cabinets/locale/zh_CN/LC_MESSAGES/django.mo diff --git a/mayan/apps/acls/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/acls/locale/ar/LC_MESSAGES/django.mo index b9f8dfab007a6ad694f1bb28665553a23e6c54a8..e06fb66b2a33855a77b5353878448dae6bbbe80f 100644 GIT binary patch delta 66 zcmcc5cAsrSCZnmju7QcJk)eX2k(H4VkZoYV72vNMlvylWKYNcRgU0IMgUwt5!Ck+Fh-k(H^Du7Qbx0at*(Zcu7jW^rbIo~}z`Nvf5Ck%1vl Uoq?{Ag@S>(m9f$0d5i}c0bFGf*8l(j diff --git a/mayan/apps/acls/locale/ar/LC_MESSAGES/django.po b/mayan/apps/acls/locale/ar/LC_MESSAGES/django.po index f8240ace39..e2ad3b79f8 100644 --- a/mayan/apps/acls/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,16 +9,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:32+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" -"ar/)\n" -"Language: ar\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:15 links.py:35 msgid "ACLs" @@ -29,6 +27,7 @@ msgid "Permissions" msgstr "الصلاحيات" #: apps.py:29 models.py:38 +#| msgid "Roles" msgid "Role" msgstr "" @@ -37,6 +36,7 @@ msgid "Delete" msgstr "" #: links.py:39 +#| msgid "View ACLs" msgid "New ACL" msgstr "" @@ -54,6 +54,7 @@ msgstr "" #: models.py:49 #, python-format +#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" @@ -89,10 +90,10 @@ msgid "Primary key of the new permission to grant to the access control list." msgstr "" #: serializers.py:111 serializers.py:187 -#, fuzzy, python-format +#, python-format #| msgid "permission" msgid "No such permission: %s" -msgstr "permission" +msgstr "" #: serializers.py:126 msgid "" @@ -111,6 +112,7 @@ msgstr "" #: views.py:100 #, python-format +#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" @@ -227,10 +229,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" diff --git a/mayan/apps/acls/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/acls/locale/bg/LC_MESSAGES/django.mo index 74502f8b6edc543755877c7c2bdc77b90728aa61..749a38b49f7468b3a99170c42862b525920d06d2 100644 GIT binary patch delta 43 scmX@gag<}jT1FmoT>}$cBSQs4BP*lHI~iqo;R0q>My8t|F(xws00P|$Jpcdz delta 43 ycmX@gag<}jT1Fl-T|+}%BVz>vBP-L%I~iqofdU4)MivSN=2pf=n;$VIGXVes>ylWKYNcRgU0kMgVHB5-9)x delta 66 zcmey(_M2@(CZnmDuA!l>k+Fh-k(H^Du7Qbx0at*(Zcu7jW^rbIo~}z`Nvf5Ck%1vl Uoq?{Ag@S>(m9f$0d5m`%0czC}D*ylh diff --git a/mayan/apps/acls/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/acls/locale/bs_BA/LC_MESSAGES/django.po index bf5605fd64..7e8a13f310 100644 --- a/mayan/apps/acls/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,16 +9,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:32+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" -"rosarior/mayan-edms/language/bs_BA/)\n" -"Language: bs_BA\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:15 links.py:35 msgid "ACLs" @@ -29,6 +27,7 @@ msgid "Permissions" msgstr "Dozvole" #: apps.py:29 models.py:38 +#| msgid "Roles" msgid "Role" msgstr "" @@ -37,6 +36,7 @@ msgid "Delete" msgstr "" #: links.py:39 +#| msgid "View ACLs" msgid "New ACL" msgstr "" @@ -54,6 +54,7 @@ msgstr "" #: models.py:49 #, python-format +#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" @@ -89,10 +90,10 @@ msgid "Primary key of the new permission to grant to the access control list." msgstr "" #: serializers.py:111 serializers.py:187 -#, fuzzy, python-format +#, python-format #| msgid "permission" msgid "No such permission: %s" -msgstr "permission" +msgstr "" #: serializers.py:126 msgid "" @@ -111,6 +112,7 @@ msgstr "" #: views.py:100 #, python-format +#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" @@ -227,10 +229,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" diff --git a/mayan/apps/acls/locale/da/LC_MESSAGES/django.mo b/mayan/apps/acls/locale/da/LC_MESSAGES/django.mo index eb11dcead6e605c20ba058406176125226fd7308..5eb4d42801d59327a6f898701523ba2cafa00398 100644 GIT binary patch delta 64 zcmZo>X=a(Q-PByyz(m)`P{Gj1%E$=FHZb4{@YfAWEz2y<%+J$xNi0dVQZOX=a(Q-PBCi&`{UNSi!)^%G5~Lz{J3SE5KhjD77rJI5R&_*Cnwe)k?w0z!0d; SK-b7Z!NA|ni1cG+#{dsqq^{h3s z8#lgi;Q$gh1l+j50hMw=f>Uqd0)itP5ghs-a6>|Tf9v>_I*3umpPkq5IrGc!2ljp< z(4Iy=g8mo!6#CD1;Ro&N9wGLE3j7Rgf=l2(;N#%yclXY{13rXt7km)>5PSms6ubo9 z1n&j+Kp5}a2c85EgZscYz{kM1L6#eX_kr(&68s1}2z~?NPyB$N2f!b}dGJ?o5j=E{ z5EbxU5L4m{&;!2$Sb=)c-#hg-{0Ho`*T7(gK+_bNn!=$_*?|ffOYUC z@CL~C{R#5EgK+*u@Cf)ExCX*4fiP!&vQCaqzi}*)GO-{106N>u{vSqv7@d6^ZEVAn z=xi(7&AE95og3$uW55mOWO3$i&M)61Zfs-L<`2g(6Bw^dOP0%({wptlu9sKq^bfR7h5{`lgLroJGt+M_j)~jU+FsK5~;K{S50K zmmrpmOPfvI(0rs9$hm>R?e2nr4qi2MQrreXhXByo%>G6 z((&?a@r5EjXUVB+N>(?>MqChHxklTcuLUh!{(K{Dy^3QdNL4^y zjZ~{F&mhOJe7eWY895y$NxNJqbUK}U!qRnyh7bg=kw^!KW*g zYGEd~vb0hihGjNi%q^hW;A(oc%{F{a=z3CUM@pMhvJoolD4DxdTl7v2_pwq`8?R~_ zu@6Ve@?>2n1H;QQ)0JC|QmZ0wF}5vNmZqHz-CXIE?0wEn8+mk2&d!|5iMP_gqJ+6R zidZ8|bdZ{W%%D~^w{BU~IFhGF*13SL^$Tb>wfvrBH-&a99rkw9fMV+#;<}mSWd$XN zvVxhyVe3#uwU0%|#dQNkm=79Qt0FS;&51>GV8}8=Qg&k0B%Fhl4s!Ty@8Zn^dXld^R}MK+=eB|5r8kyxYJ4d}+{-4tC(|HIBn@k2J1>5}Gm{4ZWV=<6ZdH26Uu?#*oZ%v zM$=WDpTH3HG|GlMc*)O{(4roytD3=H>eX7khtj|)cH;%QIbS_8Xk+3TC-DROF-{wu zIFHg<9%Wq#<^2(|R9&NVdV}NmP@A{tDo!21KFlEhspv!$tF%5a{Cd$fqn*Z?zB6WZxo*EH z5sE}Y(U={Mrs6tj2AY`&hhh;sl1#-DI%{?Y=km*|*=>6!o7-B?*~5iOIj~hJN2&~L c<_hO0rq`j1ZcFdFSM-?YQ)e0$wAHxy2Vkv9*#H0l diff --git a/mayan/apps/acls/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/acls/locale/de_DE/LC_MESSAGES/django.po index 45cf9a28d1..9a48f5c37c 100644 --- a/mayan/apps/acls/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/de_DE/LC_MESSAGES/django.po @@ -1,24 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Berny , 2015 +# Jesaja Everling , 2017 # Tobias Paepke , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-31 18:56+0000\n" -"Last-Translator: Tobias Paepke \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" -"edms/language/de_DE/)\n" -"Language: de_DE\n" +"PO-Revision-Date: 2017-04-24 23:10+0000\n" +"Last-Translator: Jesaja Everling \n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:15 links.py:35 @@ -30,6 +30,7 @@ msgid "Permissions" msgstr "Berechtigungen" #: apps.py:29 models.py:38 +#| msgid "Roles" msgid "Role" msgstr "Rolle" @@ -38,6 +39,7 @@ msgid "Delete" msgstr "Löschen" #: links.py:39 +#| msgid "View ACLs" msgid "New ACL" msgstr "Neue Berechtigung" @@ -55,9 +57,9 @@ msgstr "Berechtigungseinträge" #: models.py:49 #, python-format +#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" -msgstr "" -"Berechtigungen \"%(permissions)s\" zur Rolle \"%(role)s\" für \"%(object)s\"" +msgstr "Berechtigungen \"%(permissions)s\" zur Rolle \"%(role)s\" für \"%(object)s\"" #: models.py:66 msgid "None" @@ -78,33 +80,33 @@ msgstr "Zugriffsberechtigungen anzeigen" #: serializers.py:24 serializers.py:132 msgid "" "API URL pointing to the list of permissions for this access control list." -msgstr "" +msgstr "API URL für die Liste der Berechtigungen dieser ACL" #: serializers.py:57 msgid "" "API URL pointing to a permission in relation to the access control list to " "which it is attached. This URL is different than the canonical workflow URL." -msgstr "" +msgstr "API URL für die Berechtigung in Relation zur ACL zu der sie zugeordnet ist. Diese URL unterscheidet sich von der normalen Workflow URL." #: serializers.py:87 msgid "Primary key of the new permission to grant to the access control list." -msgstr "" +msgstr "Primary key der zur ACL hinzuzufügenden Berechtigung." #: serializers.py:111 serializers.py:187 -#, fuzzy, python-format +#, python-format #| msgid "permission" msgid "No such permission: %s" -msgstr "permission" +msgstr "Keine solche Berechtigung: %s" #: serializers.py:126 msgid "" "Comma separated list of permission primary keys to grant to this access " "control list." -msgstr "" +msgstr "Durch Komma getrennte Liste von Primary Keys der zu dieser ACL hinzuzufügenden Berechtigungen." #: serializers.py:138 msgid "Primary keys of the role to which this access control list binds to." -msgstr "" +msgstr "Primary Key der Rolle die dieser ACL zugeordnet ist." #: views.py:73 #, python-format @@ -113,6 +115,7 @@ msgstr "Neue Zugriffsberechtigung für %s" #: views.py:100 #, python-format +#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "ACL \"%s\" löschen" @@ -136,8 +139,7 @@ msgstr "Berechtigungen von Rolle \"%(role)s\" für \"%(object)s\"" #: views.py:226 msgid "Disabled permissions are inherited from a parent object." -msgstr "" -"Deaktivierte Berechtigungen sind von einem übergeordneten Objekt vererbt." +msgstr "Deaktivierte Berechtigungen sind von einem übergeordneten Objekt vererbt." #~ msgid "New holder" #~ msgstr "New holder" @@ -230,10 +232,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" diff --git a/mayan/apps/acls/locale/en/LC_MESSAGES/django.mo b/mayan/apps/acls/locale/en/LC_MESSAGES/django.mo index 68dfeacb7c37f4ea76e7236552a7614c8ecb2622..fd86122b05d651989284b5447cf7b74441fd9e21 100644 GIT binary patch delta 25 gcmdnbx}SA}1tX8Su7QcJk)eX2k(JSA7shHv09ZK&IRF3v delta 25 gcmdnbx}SA}1tX7{uA!l>k+Fh-k(KFY7shHv09Y&rIsgCw diff --git a/mayan/apps/acls/locale/es/LC_MESSAGES/django.mo b/mayan/apps/acls/locale/es/LC_MESSAGES/django.mo index 03fc79ac7410362b5d56f86ff23ff17776e8103f..3c27e54ef28f1243ac9d0dc11a5b9f3664f1f644 100644 GIT binary patch delta 602 zcmXxhJ4?e*6u|MDzI>#uwXF}ZLIejD0(}UTETvQ^f}cPqDFF*=inoG;P(Of9v70V} zgW%T9&B?{V4^V}IZVq*E_J3?VaQeHCBmJ(7+bAEt#Y>ud2=<+*QVXnCa2aX4LI+<_3Y%=o zi*qP9u!d5wf~&ZN^Qch{a)IM`g*CiEdQttU}Q#`fuS}Vzf}Q@+Bu<>ct}UP{y;|)242_mU|Gq?)mjt F_ZOk0KUx3) delta 549 zcmXxgy)Q#i7{~F`7grTUOVY$kZW@UgPI7zO(%el*h!8I^Fi03WG-()!MWU0jF*F8Z z5iyuM_y>$OCJ`aQY_YKT{-`H;?&sWd?mf?Q&ROEIv-*^b9vh;M93XGVL9!C!K|Es= zU$7V7QQv)I0@Gn*I&cKFM;;xVMXfJk5jU_6PcVfS$bMCG&7hTuTXgXrRqzwr@e3!= ziTusapyhoYwc$S2Xy&lFo@z0spZPQnV;+;ZhCNt89pnHV>YF+Pb$W^cUZD!VqJI29 z{Se_;DwxJm%%B>d!x*mMB(5X9m~&L4m(BG%q))?nOc$x!immd{^{F#$uF&cKqnm-6 zQK*6dGW;syIk5U@07Q< e?9}FNDR6x+%Xgmji>@~w, 2015 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:38+0000\n" +"PO-Revision-Date: 2017-04-23 03:03+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" -"language/es/)\n" -"Language: es\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:15 links.py:35 @@ -31,6 +30,7 @@ msgid "Permissions" msgstr "Permisos" #: apps.py:29 models.py:38 +#| msgid "Roles" msgid "Role" msgstr "Rol" @@ -39,6 +39,7 @@ msgid "Delete" msgstr "Borrar" #: links.py:39 +#| msgid "View ACLs" msgid "New ACL" msgstr "Nueva LCA" @@ -56,9 +57,9 @@ msgstr "Entradas de acceso" #: models.py:49 #, python-format +#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" -msgstr "" -"Permisos \"%(permissions)s\" para el rol \"%(role)s\" para \"%(object)s\"" +msgstr "Permisos \"%(permissions)s\" para el rol \"%(role)s\" para \"%(object)s\"" #: models.py:66 msgid "None" @@ -92,10 +93,10 @@ msgid "Primary key of the new permission to grant to the access control list." msgstr "" #: serializers.py:111 serializers.py:187 -#, fuzzy, python-format +#, python-format #| msgid "permission" msgid "No such permission: %s" -msgstr "permission" +msgstr "No existe el permiso: %s" #: serializers.py:126 msgid "" @@ -114,6 +115,7 @@ msgstr "Nueva lista de control de acceso para: %s" #: views.py:100 #, python-format +#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "Borrar LCA: %s" @@ -230,10 +232,8 @@ msgstr "Los permisos inactivos se heredan de un objeto precedente." #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" diff --git a/mayan/apps/acls/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/acls/locale/fa/LC_MESSAGES/django.mo index fee31706ca85b9b507c6737c6cb58766ede7fa06..7561a5b87480a03b73e4a7ca624f12431032f794 100644 GIT binary patch delta 66 zcmaFL@swkO7?Y{Fu7QcJk)eX2k(H4VkZoYV72vNMlvylWKYNcRgU?ne5Ssu1 delta 66 zcmaFL@swkO7?Y`)uA!l>k+Fh-k(H^Du7Qbx0at*(Zcu7jW^rbIo~}z`Nvf5Ck%1vl Uoq?{Ag@S>(m9f!gZzd@w07_60od5s; diff --git a/mayan/apps/acls/locale/fa/LC_MESSAGES/django.po b/mayan/apps/acls/locale/fa/LC_MESSAGES/django.po index 2121e89fc9..622baf96ed 100644 --- a/mayan/apps/acls/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:32+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" -"language/fa/)\n" -"Language: fa\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:15 links.py:35 @@ -28,6 +27,7 @@ msgid "Permissions" msgstr "مجوزها" #: apps.py:29 models.py:38 +#| msgid "Roles" msgid "Role" msgstr "نقش" @@ -36,6 +36,7 @@ msgid "Delete" msgstr "حذف" #: links.py:39 +#| msgid "View ACLs" msgid "New ACL" msgstr "" @@ -53,6 +54,7 @@ msgstr "ورودیهای دسترسی" #: models.py:49 #, python-format +#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" @@ -88,10 +90,10 @@ msgid "Primary key of the new permission to grant to the access control list." msgstr "" #: serializers.py:111 serializers.py:187 -#, fuzzy, python-format +#, python-format #| msgid "permission" msgid "No such permission: %s" -msgstr "permission" +msgstr "" #: serializers.py:126 msgid "" @@ -110,6 +112,7 @@ msgstr "" #: views.py:100 #, python-format +#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" @@ -226,10 +229,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" diff --git a/mayan/apps/acls/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/acls/locale/fr/LC_MESSAGES/django.mo index 14b6e009b1082f8f71d3af86d95d639b57d15ba5..d5e36acddf15a1295b6b42a9ba713c9099b5682b 100644 GIT binary patch delta 565 zcmaLTJxfAS7{Kv!)htshwHG0Ui(xN=kTWfs5Vu5>C}@0WFX+No z?8i5hd7s#WVTV#a979GCz8DGO$+(ZwaV+b3_dNp-Tr<1}x>iCGVVGF(Zfmw7r z+x10EkguRDSj9SrIY8Ms(9ym?7~|w=4B!U#VF`z@hF}Z)118CzFpM5<$vGAGQN4t`R+nAWrnHcKp@jnSy3)9Z z>L!BCJ1wbYS99fJ-m>y$$rE}eve zi#VG>H=T4*TwPrJzT%OW&)wzj-pk!KuKfO6)4dVeG7%CJVuLs}yl7A8Vu`xu1$EsQ zHn3U|sbdRQa0@*wP``JvgC{tL0}Rk2=k;YsXO@WxM)-i5@B`=Z^MCws, 2016 # Christophe CHAUVET , 2015 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:32+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" -"fr/)\n" -"Language: fr\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:15 links.py:35 @@ -29,6 +29,7 @@ msgid "Permissions" msgstr "Permissions" #: apps.py:29 models.py:38 +#| msgid "Roles" msgid "Role" msgstr "Rôle" @@ -37,6 +38,7 @@ msgid "Delete" msgstr "Suppression" #: links.py:39 +#| msgid "View ACLs" msgid "New ACL" msgstr "Nouveau droit" @@ -54,8 +56,9 @@ msgstr "Entrées d'accès" #: models.py:49 #, python-format +#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" -msgstr "" +msgstr "Permissions \"%(permissions)s\" du rôle \"%(role)s\" pour \"%(object)s\"" #: models.py:66 msgid "None" @@ -89,10 +92,10 @@ msgid "Primary key of the new permission to grant to the access control list." msgstr "" #: serializers.py:111 serializers.py:187 -#, fuzzy, python-format +#, python-format #| msgid "permission" msgid "No such permission: %s" -msgstr "permission" +msgstr "" #: serializers.py:126 msgid "" @@ -111,6 +114,7 @@ msgstr "Nouvelle liste de contrôle d'accès pour: %s" #: views.py:100 #, python-format +#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "Supprimer le droit: %s" @@ -227,10 +231,8 @@ msgstr "La désactivation de permission est hérité de l'objet parent" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" diff --git a/mayan/apps/acls/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/acls/locale/hu/LC_MESSAGES/django.mo index d196323791fdca3755272e9410c1c73211c84ddd..567529d2b87506ec39e7c52e758dbd964681853d 100644 GIT binary patch delta 64 zcmeBR>0p_#-PByyz(m)`P{Gj1%E$=FHZb4{@YfAWEz2y<%+J$xNi0dVQZO0p_#-PBCi&`{UNSi!)^%G5~Lz{J3SE5KhjD77rJI5R&_*Cnwe)k?w0z!0d; SK-b7Z!NAp@N~2mC?kBGQ4oUnU#_0#$B9@0NtJnH2?qr delta 40 ucmX@ie3*GcE03A3p`oskv4Vk-mFdKZGQ2>(fv%B-f`Pe}vC+m|oQwe7stPv% diff --git a/mayan/apps/acls/locale/id/LC_MESSAGES/django.po b/mayan/apps/acls/locale/id/LC_MESSAGES/django.po index 4909a41691..b6fb4c1967 100644 --- a/mayan/apps/acls/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/id/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:32+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" -"language/id/)\n" -"Language: id\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:15 links.py:35 @@ -28,6 +27,7 @@ msgid "Permissions" msgstr "" #: apps.py:29 models.py:38 +#| msgid "Roles" msgid "Role" msgstr "" @@ -36,6 +36,7 @@ msgid "Delete" msgstr "" #: links.py:39 +#| msgid "View ACLs" msgid "New ACL" msgstr "" @@ -53,6 +54,7 @@ msgstr "" #: models.py:49 #, python-format +#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" @@ -88,10 +90,10 @@ msgid "Primary key of the new permission to grant to the access control list." msgstr "" #: serializers.py:111 serializers.py:187 -#, fuzzy, python-format +#, python-format #| msgid "permission" msgid "No such permission: %s" -msgstr "permission" +msgstr "" #: serializers.py:126 msgid "" @@ -110,6 +112,7 @@ msgstr "" #: views.py:100 #, python-format +#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" @@ -226,10 +229,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" diff --git a/mayan/apps/acls/locale/it/LC_MESSAGES/django.mo b/mayan/apps/acls/locale/it/LC_MESSAGES/django.mo index 0d1cb734a60c4fac89239c412dc287f9df0974bb..6f3ed809f57b27f4278603fd940d24b123f36ce3 100644 GIT binary patch delta 252 zcmeC;d&@iFNPRCO14An_0|N^K1A{Ot1A`QhmH^T!K-w5c^8@J!D4hYMrGfkkAk6`! zrvPaIAUzjIn*r%{K$-_gKLyf~K>8Dq76Z~eYzz#XKw23{YXE6oAPv$V#>SuqX2b&p z9Do8DKpLorVI`2(1Jdh(G#`+@w>gtBgNesn*T6*A$WX!1$jWH)U1k|$xPY0Jk*T%; q5ODb<7MJLT6eZ>r=OmWo7g;F;UmE;5I;>4oN{LP*$2bll@(I&qD delta 281 zcmaFM+r>BGNc}2C28LE<1_l-e1_lFG1_mi0Z3?7SfOG(m<_FTHP`VXJO9S~+fiwq@ z-Uy@xfb=dPZ3d)I18E*0&BVsQAPJ=TfwUNq)&$a=K-vLFYXE64APv%A%*LPwX4C)$ z9Do9?KpJQU!!aPO2c*vcX+9wRdvhjZ1{05&uA!l>k+Fh-k(KG>yUa2HKmh|?V*>>v zLn}iIZ37_S@<}W%(G4j|%qz}GEXgmjQt(YIO3qhsPRuRHNi9xQu*n7S^^&1{z1(Dn T^xVYE9KGcHT)WLWEC-nYQ6Mo^ diff --git a/mayan/apps/acls/locale/it/LC_MESSAGES/django.po b/mayan/apps/acls/locale/it/LC_MESSAGES/django.po index 66d5c9d536..a9ede2bd81 100644 --- a/mayan/apps/acls/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Marco Camplese , 2016 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-30 21:18+0000\n" -"Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:15 links.py:35 @@ -29,6 +28,7 @@ msgid "Permissions" msgstr "Permessi" #: apps.py:29 models.py:38 +#| msgid "Roles" msgid "Role" msgstr "Ruolo" @@ -37,6 +37,7 @@ msgid "Delete" msgstr "Cancella" #: links.py:39 +#| msgid "View ACLs" msgid "New ACL" msgstr "Nuova ACL" @@ -54,6 +55,7 @@ msgstr "Voci di accesso" #: models.py:49 #, python-format +#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "Permessi \"%(permissions)s\" del ruolo \"%(role)s\" per \"%(object)s\"" @@ -89,10 +91,10 @@ msgid "Primary key of the new permission to grant to the access control list." msgstr "" #: serializers.py:111 serializers.py:187 -#, fuzzy, python-format +#, python-format #| msgid "permission" msgid "No such permission: %s" -msgstr "permission" +msgstr "" #: serializers.py:126 msgid "" @@ -111,6 +113,7 @@ msgstr "Nuova lista di controllo accesso per: %s" #: views.py:100 #, python-format +#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "Cancella ACL: %s" @@ -227,10 +230,8 @@ msgstr "Il permesso disabilita è ereditato dall'oggetto padre" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" diff --git a/mayan/apps/acls/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/acls/locale/nl_NL/LC_MESSAGES/django.mo index e95ea65909eb568e98ace94c2d0b5951858005ca..ebcca81f19c76a04a0cff514b386cf8aed5b3a6e 100644 GIT binary patch delta 252 zcmaFGcb0F$k^1?J3=FNz3=F~y3=FEQ5ZV$*%K-VlKw1PyXFEXvH^?8&0Y3;?8KCXxUE delta 281 zcmX@h_lj@Ak@`K13=FNz3=F~y3=B@J5IPJ<%K-UVKw1Pyw?oC}0BJEGe*=)_1k%TW zv^v^S8J1k#B>S^`K{18HR-Jq1X!0O=iU3~CHqK*nC6 zfDe#90i=0>v?x0RgEo*>2GSq{{WoVaW-#%X=^7g98W}4X7+IN4zRN5V02DCLHL_4J zG_o==);0hFE}z8W65WuZ#Ju91#FG3XD+SlG)SS$$JcZ!I#GI1Myle%VRES71RKOuU SH!(9uFF8NgZnF-HA~OI8o-)w@ diff --git a/mayan/apps/acls/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/acls/locale/nl_NL/LC_MESSAGES/django.po index 586c3a9cb0..7981600645 100644 --- a/mayan/apps/acls/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 12:43+0000\n" -"Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" -"edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:15 links.py:35 @@ -30,6 +29,7 @@ msgid "Permissions" msgstr "Permissies" #: apps.py:29 models.py:38 +#| msgid "Roles" msgid "Role" msgstr "Gebruikersrol" @@ -38,6 +38,7 @@ msgid "Delete" msgstr "Verwijder" #: links.py:39 +#| msgid "View ACLs" msgid "New ACL" msgstr "Nieuwe authorisatielijst" @@ -55,10 +56,9 @@ msgstr "Authorisaties invoer" #: models.py:49 #, python-format +#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" -msgstr "" -"Permissies \"%(permissions)s\" voor gebruikersrol \"%(role)s\" voor " -"\"%(object)s\"" +msgstr "Permissies \"%(permissions)s\" voor gebruikersrol \"%(role)s\" voor \"%(object)s\"" #: models.py:66 msgid "None" @@ -92,10 +92,10 @@ msgid "Primary key of the new permission to grant to the access control list." msgstr "" #: serializers.py:111 serializers.py:187 -#, fuzzy, python-format +#, python-format #| msgid "permission" msgid "No such permission: %s" -msgstr "permission" +msgstr "" #: serializers.py:126 msgid "" @@ -114,6 +114,7 @@ msgstr "Nieuwe authorisatielijsten voor: %s" #: views.py:100 #, python-format +#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "Verwijder authorisatielijst: %s" @@ -230,10 +231,8 @@ msgstr "Uitgeschakelde permissies zijn geërfd van een parent object." #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" diff --git a/mayan/apps/acls/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/acls/locale/pl/LC_MESSAGES/django.mo index f958e6b8ed9eb6429a10f882deb2bd6aff7e831c..fdd67293386b78bb8602c9d7a36986f2381e1d08 100644 GIT binary patch delta 376 zcmZqXy~8_UPrW=71A{R$0|O@m14A$?gpLK$fbl~B45NQ(mbi-9x{G3igVEdZp2*&ymvfV32lZv~|JfOII376Z~LK$-nJJ4N!p|AZ-HV zPXy8+i;iuMWK?6~G1oOP(KRwuFf_6nJJ>QDh= zAZ-HVTL5X00lAwa8P%A0%ybP6b&ZS_42-NyCwDW;@B#%4bd4+&49u;JjV5nl{_bsT ztx%9tT9lY$tC44GYp7taV4z^7kf&;BU}tNjpr!_9+SrM8q0~<1Of7V_`0IMr0=>Px# diff --git a/mayan/apps/acls/locale/pl/LC_MESSAGES/django.po b/mayan/apps/acls/locale/pl/LC_MESSAGES/django.po index 19fa227a62..eee21d6936 100644 --- a/mayan/apps/acls/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Wojtek Warczakowski , 2016 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:32+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" -"pl/)\n" -"Language: pl\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:15 links.py:35 msgid "ACLs" @@ -30,6 +28,7 @@ msgid "Permissions" msgstr "Uprawnienia" #: apps.py:29 models.py:38 +#| msgid "Roles" msgid "Role" msgstr "Rola" @@ -38,6 +37,7 @@ msgid "Delete" msgstr "Usuń" #: links.py:39 +#| msgid "View ACLs" msgid "New ACL" msgstr "Nowa lista ACL" @@ -55,6 +55,7 @@ msgstr "Zgłoszenia dostępu" #: models.py:49 #, python-format +#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" @@ -90,10 +91,10 @@ msgid "Primary key of the new permission to grant to the access control list." msgstr "" #: serializers.py:111 serializers.py:187 -#, fuzzy, python-format +#, python-format #| msgid "permission" msgid "No such permission: %s" -msgstr "permission" +msgstr "" #: serializers.py:126 msgid "" @@ -112,6 +113,7 @@ msgstr "Nowe listy ACL dla: %s" #: views.py:100 #, python-format +#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "Usuń listę ACL: %s" @@ -228,10 +230,8 @@ msgstr "Domyślne uprawnienia są dziedziczone z obiektu nadrzędnego." #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" diff --git a/mayan/apps/acls/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/acls/locale/pt/LC_MESSAGES/django.mo index 9caa6ac7bbaebc661fde374f4abef19516d58806..019c27d8f6736a93355798d04bb2b8e728364b7b 100644 GIT binary patch delta 66 zcmdnNwu5a$2cxOEu7QcJk)eX2k(H4VkZoYV72vNMlvylWKYNcRgUk+Fh-k(H^Du7Qbx0at*(Zcu7jW^rbIo~}z`Nvf5Ck%1vl Uoq?{Ag@S>(m9f$0y^Ph208i=>fdBvi diff --git a/mayan/apps/acls/locale/pt/LC_MESSAGES/django.po b/mayan/apps/acls/locale/pt/LC_MESSAGES/django.po index 29b31cf1d6..c428c5bf38 100644 --- a/mayan/apps/acls/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:32+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" -"language/pt/)\n" -"Language: pt\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:15 links.py:35 @@ -28,6 +27,7 @@ msgid "Permissions" msgstr "Permissões" #: apps.py:29 models.py:38 +#| msgid "Roles" msgid "Role" msgstr "" @@ -36,6 +36,7 @@ msgid "Delete" msgstr "Eliminar" #: links.py:39 +#| msgid "View ACLs" msgid "New ACL" msgstr "" @@ -53,6 +54,7 @@ msgstr "" #: models.py:49 #, python-format +#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" @@ -88,10 +90,10 @@ msgid "Primary key of the new permission to grant to the access control list." msgstr "" #: serializers.py:111 serializers.py:187 -#, fuzzy, python-format +#, python-format #| msgid "permission" msgid "No such permission: %s" -msgstr "permission" +msgstr "" #: serializers.py:126 msgid "" @@ -110,6 +112,7 @@ msgstr "" #: views.py:100 #, python-format +#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" @@ -226,10 +229,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" diff --git a/mayan/apps/acls/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/acls/locale/pt_BR/LC_MESSAGES/django.mo index 48edbdd0999cc922ff0f87a1a378a6690d401731..ce16d5ed23745bbba4999e9157809751cec2dbba 100644 GIT binary patch delta 253 zcmZ3&*TpyCNc}uU28LE<1_l-e1_l*Y1_l`*tqG)6fwUWt76Q^aK$;Io*8^z@Al(O~ z*@5(OsQ7vyZ4cz{1Jc|;`X7)M1JYb<3=ASbS`kQd0BJKItqG*8Qk<}Ai^CLVKL0~1{%Lj^-4E2GJGnPrUO0%lf5rrHKT qz~z%zT%sFNl$ckXlUR~pWTg<4pOjiuk`JVd6N@tQH@mUiV*&s}%qLL* delta 279 zcmeC;Tf#TtNc|2*28LE<1_l-e1_nD;1_l`*?F^(v{9L`H LBD>8xEcciICnzws diff --git a/mayan/apps/acls/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/acls/locale/pt_BR/LC_MESSAGES/django.po index 930664fcc2..3cccee3b24 100644 --- a/mayan/apps/acls/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-11-17 22:31+0000\n" -"Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" -"edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:15 links.py:35 @@ -29,6 +28,7 @@ msgid "Permissions" msgstr "Permissões" #: apps.py:29 models.py:38 +#| msgid "Roles" msgid "Role" msgstr "Regras" @@ -37,6 +37,7 @@ msgid "Delete" msgstr "Excluir" #: links.py:39 +#| msgid "View ACLs" msgid "New ACL" msgstr "Nova ACL" @@ -54,9 +55,9 @@ msgstr "Entradas de acesso" #: models.py:49 #, python-format +#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" -msgstr "" -"Permissões \"%(permissions)s\" do papel \"%(role)s\" para \"%(object)s\"" +msgstr "Permissões \"%(permissions)s\" do papel \"%(role)s\" para \"%(object)s\"" #: models.py:66 msgid "None" @@ -90,10 +91,10 @@ msgid "Primary key of the new permission to grant to the access control list." msgstr "" #: serializers.py:111 serializers.py:187 -#, fuzzy, python-format +#, python-format #| msgid "permission" msgid "No such permission: %s" -msgstr "permission" +msgstr "" #: serializers.py:126 msgid "" @@ -112,6 +113,7 @@ msgstr "Nova lista de controle de acesso para: %s" #: views.py:100 #, python-format +#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "Apagar ACL: %s" @@ -228,10 +230,8 @@ msgstr "As permissões inativas foram herdadas de um objeto precedente." #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" diff --git a/mayan/apps/acls/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/acls/locale/ro_RO/LC_MESSAGES/django.mo index 022af94d80b39166aef5493b7d078f21dcbd0f4d..b724158186c762f05763e462de4ee1280bcecff1 100644 GIT binary patch delta 66 zcmey&_L*%%2cxOEu7QcJk)eX2k(H4VkZoYV72vNMlvylWKYNcRgUk+Fh-k(H^Du7Qbx0at*(Zcu7jW^rbIo~}z`Nvf5Ck%1vl Uoq?{Ag@S>(m9f$0y^Px!0d7_jG5`Po diff --git a/mayan/apps/acls/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/acls/locale/ro_RO/LC_MESSAGES/django.po index 98c4d62790..baeccea72f 100644 --- a/mayan/apps/acls/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,16 +9,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:32+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" -"edms/language/ro_RO/)\n" -"Language: ro_RO\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:15 links.py:35 msgid "ACLs" @@ -29,6 +27,7 @@ msgid "Permissions" msgstr "Permisiuni" #: apps.py:29 models.py:38 +#| msgid "Roles" msgid "Role" msgstr "" @@ -37,6 +36,7 @@ msgid "Delete" msgstr "Șterge" #: links.py:39 +#| msgid "View ACLs" msgid "New ACL" msgstr "" @@ -54,6 +54,7 @@ msgstr "" #: models.py:49 #, python-format +#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" @@ -89,10 +90,10 @@ msgid "Primary key of the new permission to grant to the access control list." msgstr "" #: serializers.py:111 serializers.py:187 -#, fuzzy, python-format +#, python-format #| msgid "permission" msgid "No such permission: %s" -msgstr "permission" +msgstr "" #: serializers.py:126 msgid "" @@ -111,6 +112,7 @@ msgstr "" #: views.py:100 #, python-format +#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" @@ -227,10 +229,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" diff --git a/mayan/apps/acls/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/acls/locale/ru/LC_MESSAGES/django.mo index 9b8f899058d8d34a73f01d99dff9c9e179b6f66e..91e98449848ea1810dc2ec5605a2d1d962a059eb 100644 GIT binary patch delta 43 rcmZ3_zn*_XJu{EFu7QcJk)eX2k(JTpZe|%?xPY0Jk?H0w%)gld^ZyGp delta 43 xcmZ3_zn*_XJu{D)uA!l>k+Fh-k(KG>Ze|%?pn!p{k%fYRxs|ce<}J*>nE~_;3pM}% diff --git a/mayan/apps/acls/locale/ru/LC_MESSAGES/django.po b/mayan/apps/acls/locale/ru/LC_MESSAGES/django.po index c85613bec7..384d7ac644 100644 --- a/mayan/apps/acls/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -10,17 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:32+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" -"language/ru/)\n" -"Language: ru\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:15 links.py:35 msgid "ACLs" @@ -31,6 +28,7 @@ msgid "Permissions" msgstr "Разрешения" #: apps.py:29 models.py:38 +#| msgid "Roles" msgid "Role" msgstr "Роль" @@ -39,6 +37,7 @@ msgid "Delete" msgstr "Удалить" #: links.py:39 +#| msgid "View ACLs" msgid "New ACL" msgstr "Создать СУД" @@ -56,6 +55,7 @@ msgstr "Элементы доступа" #: models.py:49 #, python-format +#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" @@ -91,10 +91,10 @@ msgid "Primary key of the new permission to grant to the access control list." msgstr "" #: serializers.py:111 serializers.py:187 -#, fuzzy, python-format +#, python-format #| msgid "permission" msgid "No such permission: %s" -msgstr "permission" +msgstr "" #: serializers.py:126 msgid "" @@ -113,6 +113,7 @@ msgstr "Новый СУД для: %s" #: views.py:100 #, python-format +#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "Удалить СУД: %s" @@ -229,10 +230,8 @@ msgstr "Отключенные права наследуются от родит #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" diff --git a/mayan/apps/acls/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/acls/locale/sl_SI/LC_MESSAGES/django.mo index 852ed45a5c9518a766d5e8215bea2eda74701804..16c5c8e6c3b39894d6a38fc8d35e75c6c582e10e 100644 GIT binary patch delta 66 zcmbQqF_UA%D@IduT>}$cBSQs4BP$~#AltxzE5KhjD77rJI5R&_*Cnwe)k?w0z!0v^ N%*x1gvpmx;MgUgn5s3f* delta 66 zcmbQqF_UA%D@Ic@T|+}%BVz>vBP&xQT>}#X1Fisn-JsO6%;L=aJYAQ>l2j`NBLhRQ SIzw{>0}Crti_P*(zZd~mKoOGw diff --git a/mayan/apps/acls/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/acls/locale/sl_SI/LC_MESSAGES/django.po index 85de866a6b..a27f6f2cbc 100644 --- a/mayan/apps/acls/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/sl_SI/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,16 +9,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-11-17 08:58+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" -"edms/language/sl_SI/)\n" -"Language: sl_SI\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" +"Language: sl_SI\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: apps.py:15 links.py:35 msgid "ACLs" @@ -29,6 +27,7 @@ msgid "Permissions" msgstr "Pravice" #: apps.py:29 models.py:38 +#| msgid "Roles" msgid "Role" msgstr "" @@ -37,6 +36,7 @@ msgid "Delete" msgstr "" #: links.py:39 +#| msgid "View ACLs" msgid "New ACL" msgstr "" @@ -54,6 +54,7 @@ msgstr "Vstopne točke" #: models.py:49 #, python-format +#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" @@ -89,10 +90,10 @@ msgid "Primary key of the new permission to grant to the access control list." msgstr "" #: serializers.py:111 serializers.py:187 -#, fuzzy, python-format +#, python-format #| msgid "permission" msgid "No such permission: %s" -msgstr "permission" +msgstr "" #: serializers.py:126 msgid "" @@ -111,6 +112,7 @@ msgstr "" #: views.py:100 #, python-format +#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" @@ -227,10 +229,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" diff --git a/mayan/apps/acls/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/acls/locale/vi_VN/LC_MESSAGES/django.mo index aed8c992d9587d4e6dddb0c340c8eab0ddfa9438..35c6288d2bb589fdb2e1078f0f553c81f158aa49 100644 GIT binary patch delta 64 zcmbQhGJ$2nc2jd*0~1{%Lj^-4D`R!U6;g?R4WA|14E!X S16?Bv1p{*{W2234R2Ts&cM%W( diff --git a/mayan/apps/acls/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/acls/locale/vi_VN/LC_MESSAGES/django.po index 771b217c19..6886625ae3 100644 --- a/mayan/apps/acls/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:32+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" -"mayan-edms/language/vi_VN/)\n" -"Language: vi_VN\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:15 links.py:35 @@ -28,6 +27,7 @@ msgid "Permissions" msgstr "" #: apps.py:29 models.py:38 +#| msgid "Roles" msgid "Role" msgstr "" @@ -36,6 +36,7 @@ msgid "Delete" msgstr "" #: links.py:39 +#| msgid "View ACLs" msgid "New ACL" msgstr "" @@ -53,6 +54,7 @@ msgstr "" #: models.py:49 #, python-format +#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" @@ -88,10 +90,10 @@ msgid "Primary key of the new permission to grant to the access control list." msgstr "" #: serializers.py:111 serializers.py:187 -#, fuzzy, python-format +#, python-format #| msgid "permission" msgid "No such permission: %s" -msgstr "permission" +msgstr "" #: serializers.py:126 msgid "" @@ -110,6 +112,7 @@ msgstr "" #: views.py:100 #, python-format +#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" @@ -226,10 +229,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" diff --git a/mayan/apps/acls/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/acls/locale/zh_CN/LC_MESSAGES/django.mo index 771d29ca9b58d7610a8462336950520874299ca9..5db1547379aa3cdf8d49efda7ff685aa71a5cc52 100644 GIT binary patch delta 43 rcmZo;Z)4xEmXXI?*T6*A$WX!1$jWH)PDUACxPY0Jk?H0~j7t~+?okT; delta 43 xcmZo;Z)4xEmXXIy*U(Vc$XLO^$jWr`PDUACpn!p{k%fYRxs|ce=0}W67y<5J3jY8A diff --git a/mayan/apps/acls/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/acls/locale/zh_CN/LC_MESSAGES/django.po index fcda162809..44a7369947 100644 --- a/mayan/apps/acls/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/acls/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:32+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" -"language/zh_CN/)\n" -"Language: zh_CN\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:15 links.py:35 @@ -28,6 +27,7 @@ msgid "Permissions" msgstr "权限" #: apps.py:29 models.py:38 +#| msgid "Roles" msgid "Role" msgstr "" @@ -36,6 +36,7 @@ msgid "Delete" msgstr "" #: links.py:39 +#| msgid "View ACLs" msgid "New ACL" msgstr "" @@ -53,6 +54,7 @@ msgstr "多个访问入口" #: models.py:49 #, python-format +#| msgid "mission \"%(permission)s\" granted to %(actor)s for %(object)s." msgid "Permissions \"%(permissions)s\" to role \"%(role)s\" for \"%(object)s\"" msgstr "" @@ -88,10 +90,10 @@ msgid "Primary key of the new permission to grant to the access control list." msgstr "" #: serializers.py:111 serializers.py:187 -#, fuzzy, python-format +#, python-format #| msgid "permission" msgid "No such permission: %s" -msgstr "permission" +msgstr "" #: serializers.py:126 msgid "" @@ -110,6 +112,7 @@ msgstr "" #: views.py:100 #, python-format +#| msgid "Default ACLs" msgid "Delete ACL: %s" msgstr "" @@ -226,10 +229,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." #~ msgstr "Permission \"%(permission)s\" revoked of %(actor)s for %(object)s." -#~ msgid "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." -#~ msgstr "" -#~ "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgid "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." +#~ msgstr "%(actor)s, didn't had the permission \"%(permission)s\" for %(object)s." #~ msgid "Add new holder for: %s" #~ msgstr "add new holder for: %s" diff --git a/mayan/apps/appearance/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/appearance/locale/ar/LC_MESSAGES/django.mo index 624326d04b3ae568e8e9a2ef5d91d8080824d5b1..5525e852cc74010f9b319b794f4d9b29a0b8fa70 100644 GIT binary patch delta 697 zcmYMy%_~Gv7{~Ev%nXC^GBe&uA~PjZX7U!L#=-`%V@Vd8jrWu+MkxzB-7Mr^un>!3 zBOBQ%WoJTJ*jUI$O7i_p7pI>4Ip@rs=RD_}n~l7NGY?_kzR{Z8_`-G~=ixzHDljX; zWh}-GoWyM`#5?!*dn{-C?9RVqE#ptD#E{pl1Y5BVW(K9Es5kn(i!qMmHkch4kUX{=lxS&Cl|Q?0YG6t00000 delta 755 zcmXxiyGue*9Ki8YYFTQJYh@3MJ46pk@G3eug{w$GLl89t6$Lfb9ziZaQAj~FG&Bej zHAu8YQ-459_k!6HwbT-ALG=CIP6v*k`#blZ-|swpH*UgPHN$(PX#Mmk-CL*BD88e# zgLM)ky7dd1JqZaJdEQH4&xZJ zsi~$>3eI94mvme~xvpE3gjIBpp8Jt`24=AbWv6o}c`i_HRgPb-CQO(5ZfoUNK4J~- z>I3d5Nid|JneU#Egq`$0x|~EWT?+p<_kW}V*|{9QT&*m+i~ip@EkkwaNOmACSXr;% zuk)LWOPdR;Ya7J_|44Db`xZ>cEGw2sn(;&?Rc!Y~L+MyN8B17Z!pg+cm5gu3({GoZ dZM$S&JG;(~X_uTGr(jp?vVCb^IR!FRe*v_xQm_C3 diff --git a/mayan/apps/appearance/locale/ar/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/ar/LC_MESSAGES/django.po index b18e245969..9febf4c31b 100644 --- a/mayan/apps/appearance/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/ar/LC_MESSAGES/django.po @@ -1,23 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" -"ar/)\n" -"Language: ar\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:12 msgid "Appearance" @@ -45,8 +43,8 @@ msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via " +"e-mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 @@ -127,10 +125,8 @@ msgid "Create" msgstr "انشاء" #: templates/appearance/dashboard_widget.html:25 -#, fuzzy -#| msgid "User details" msgid "View details" -msgstr "تفاصيل المستخدم" +msgstr "" #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 @@ -212,10 +208,8 @@ msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "" #: templates/appearance/home.html:46 -#, fuzzy -#| msgid "Search" msgid "Search pages" -msgstr "البحث" +msgstr "" #: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" @@ -241,9 +235,7 @@ msgstr "First time login" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "" -"You have just finished installing Mayan EDMS, " -"congratulations!" +msgstr "You have just finished installing Mayan EDMS, congratulations!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -268,9 +260,7 @@ msgstr "Password: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "" -"Be sure to change the password to increase security and to disable this " -"message." +msgstr "Be sure to change the password to increase security and to disable this message." #: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" diff --git a/mayan/apps/appearance/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/appearance/locale/bg/LC_MESSAGES/django.mo index 34c948f58e5faec292720230e7083e8c7e6eb305..a122f298e6c32e6f5393fa6fe6a5f3486198c43f 100644 GIT binary patch delta 575 zcmX}pKS;ws6vy#vbJ|8*ZR?-IMHr~w=QK@sZiV8OA2ICLu_=++^-h$7Wla24s0 z#nH*d)k#pn!O5koliyzqKJxC9yOw+JE|2-IT<~77*M=yPCGv%wC(jZLL^^3q3SD$D zj}4r~L2SprAL9t~PP~4KIp&u*gts_=_qd25@&x9U(X#M{+TatHuph5aJAZ}dV#}xv zmQjuEA&+S??BYIN(0mWoK%J_xfp>U-YA8$hGt@Uzyr|$R7O;tBJdFNe%oV1Y_izUv zPz_tEYu!Z;3s}Kz)IM$0fdW(m=UB%Z%-{!F>YHy~POy*htw$$gDT+}>ZJ?MSRa~J{ zD8@)_sF);&Nj0Fzle!%>s%AL6uH9tGanj{5(RVF|Ub2$tww&k8rnj=@`PGH0U-P?L Uwv_!}*r@sIVapyl-JjIcFUpfHUjP6A delta 683 zcmXxh&ubGw6u|LmewcP`HI22}(!+wr9>T)xrU@hmi(1k{DGA~~5HMh%R3WL?NI~#s zA+Z-rq4d~GwTcmGEqJj#O+ZgAJq2(60p9$+?PPY}e)heEH#0kblE>q%i&X5LV%#QX zh;t%MYz^^X=!jAY^l=0WSiwhl1v~cpd%Q-zYwI5|N&XcbJjFQv#(Q{%+$|M}Dixy; zM`_^TEKb?_1C)tM)@2+ee}dAein72r$gMVbl(BF4b zETc^P3{$v)Y23BnPjHyLk4yL$W#I*8m->D5a1k@OhSFyTWn-UE7Vrb_;xC+Me)W$R z*-?Qm(y)Y0Tta&aVVzRgNSa=kguy1lW4Re-mlN365cwl=w6Z{cx0)nw5rg3mUf7Hp zBjl_mY*7})+SItsui}k^cqB74>^`kEtM!#eI}n9eWYI(=q$zkgMyOFJ|90-_22Pz4yv|HXls4 Mw~pW1+lin50pZ|OMF0Q* diff --git a/mayan/apps/appearance/locale/bg/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/bg/LC_MESSAGES/django.po index 172394db75..94cc7e5bb4 100644 --- a/mayan/apps/appearance/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/bg/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/bg/)\n" -"Language: bg\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:12 @@ -44,8 +43,8 @@ msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via " +"e-mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 @@ -126,10 +125,8 @@ msgid "Create" msgstr "Създаване" #: templates/appearance/dashboard_widget.html:25 -#, fuzzy -#| msgid "User details" msgid "View details" -msgstr "Данни за потребител" +msgstr "" #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 @@ -211,10 +208,8 @@ msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "" #: templates/appearance/home.html:46 -#, fuzzy -#| msgid "Search" msgid "Search pages" -msgstr "Търсене" +msgstr "" #: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" @@ -240,8 +235,7 @@ msgstr "Логване за първи път" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "" -"Вие приключихте инсталирането на Mayan EDMS, поздравления!" +msgstr "Вие приключихте инсталирането на Mayan EDMS, поздравления!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -266,9 +260,7 @@ msgstr "Парола: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "" -"Моля променете паролата, за да повишите нивото на сигурност и да " -"деактивирате това съобщение." +msgstr "Моля променете паролата, за да повишите нивото на сигурност и да деактивирате това съобщение." #: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" diff --git a/mayan/apps/appearance/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/appearance/locale/bs_BA/LC_MESSAGES/django.mo index 8c10fab49a65957031360465bed8777bc4428d36..46ade5dc011eed08793b4fd456ac51e4c7011186 100644 GIT binary patch delta 702 zcmYk(%PYiD6u|K_FUFhk8gD5xp{be4P!no4N_nlUNk}n>NESb3r>rI`B`b~HFpFWM z`5RiPd9);)cIx9 zbz8_%IY!;^6npRtM=*!{q>Vpm6}7Z{W4>uAYKW?zR4i(cuZ!jlM5zw`HNCgn`F@`Tu1z+QNd~e6UpeFu?K2B|(cy`ikC-*A<4s(}CzxPz-)m%Cn)zJL& z$k6M2R7ejWrzsX`T8%<4rIjnR;xn`y?KF)|`XBS}$Yz}JeEaoc`o;=&T<~4E=A<3a zSu0ZGd(o$ngm?SS!;P@pAJ3djB-N<+ekG`R)u34)=HjJvqf)I^0^bY#X0oO485M$={*Sh_ruQCa69qgAFp0SNB{r; diff --git a/mayan/apps/appearance/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/bs_BA/LC_MESSAGES/django.po index d12f61541e..6850e07098 100644 --- a/mayan/apps/appearance/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/bs_BA/LC_MESSAGES/django.po @@ -1,23 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" -"rosarior/mayan-edms/language/bs_BA/)\n" -"Language: bs_BA\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:12 msgid "Appearance" @@ -45,8 +43,8 @@ msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via " +"e-mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 @@ -127,10 +125,8 @@ msgid "Create" msgstr "Kreirati" #: templates/appearance/dashboard_widget.html:25 -#, fuzzy -#| msgid "User details" msgid "View details" -msgstr "Detalji o korisniku" +msgstr "" #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 @@ -212,10 +208,8 @@ msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "" #: templates/appearance/home.html:46 -#, fuzzy -#| msgid "Search" msgid "Search pages" -msgstr "Pretraga" +msgstr "" #: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" @@ -241,8 +235,7 @@ msgstr "Prijava - prvi put" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "" -"Upravo ste završili instalaciju Mayan EDMS, čestitamo!" +msgstr "Upravo ste završili instalaciju Mayan EDMS, čestitamo!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -267,9 +260,7 @@ msgstr "Pasvord: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "" -"Ne zaboravite promijeniti pasvord da pojačate sigurnost i onemogućite dalje " -"prikazivanje ove poruke." +msgstr "Ne zaboravite promijeniti pasvord da pojačate sigurnost i onemogućite dalje prikazivanje ove poruke." #: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" diff --git a/mayan/apps/appearance/locale/da/LC_MESSAGES/django.mo b/mayan/apps/appearance/locale/da/LC_MESSAGES/django.mo index 177a1872ad647ef33291e9d258dad26b64e7c0e4..5c2391656796ab5aa0e82a8898f3e68d8f67005c 100644 GIT binary patch delta 213 zcmdnM+RR#iPl#nI0}!wQu?!IV05LZZ*8njHtN>zmAYKW?oIt!0h*^PnHxRP`@j)O4 z$sYsa9!3U+b3mF4h@+VxW~KpYkbEwX2I(t>@~eR~P&vq2AUScW-N0IZPl#nI0}!wSu?!H005LZZ_W&^n>;Phr+)g0o1mc50%nHP(ftUq|F9Id|CCv2xzyCM*|sLeDvB~J5flxfpg%KCHk&S{1R*pch=fRJ zSvMIe)P>=Vr)~;@B!apMx|ir8iZ0ewgx>W1&C|F-^}bYOA~C)%AtW7gsXdT%f0Np&a9gm_Lb?ueEyluPOd^N5&MAyHQP*u}{x#m__aZ9b zlccWUCgvI$T3i@qHISG^dVE`EN;XEHscNF`kXWW5|!eQSb^WL7XP9$P~|g* z!_;z8W<#h_9mam_^pSrpG{b~mzIoIRKA}?n8S|w<4zt2Z*NgZ!1y+KMSdUt;3l(S| zY9krc{S!z`W)hW|#~8zBe)6x0uT1CMO7?g)^uC%6OPc<%3jU9@Sq>yN%M7PBqrgXGCKKpj~P~1*vyHO_@`W5qg;Z zziC6Pm;Y)s7ou;~fVPRgg2cB96|O-p`cOgZWk-Rt}o z+vxSqZ4#0(-*ebGcVn&QAI7*&QX_uI%&D F+&@sjgns}4 delta 1431 zcmYk+OGs2v9LMo9W?Gh$nWfq5=A`x-n;BDSiV7)uP&g_y%>~H1ab) zIGo16sK8H>#`(-|#yDxm+o(7Di+Zq^{MO(S)B~Dx?nSLmD>h&|w%|ErsCkd~SjNw& zHy$GmYQKRrnOis?@8XCie9TD~zQi3^&+J;eW2gbwkS=o*%kVC)!--t~bgumuD%His z*$mWR71vu(ndn4*rk8^<>=u)MMR^WQGs4Xy~qUWzUN4+X39(cm6}g9gz+o-(8mI)eHSY72wuhmsLXuBB{-Y( zDd1{UN{=I5<^rz8an#a1%Q=a8T)#zqCGVC0K~5?dt%%MbOPAS5ka^41I-w{aZ7h8q zD(k8GVpLXT$vj+3pyH=08`>*ts0v)c=xb7TRYn$b(3@zZX)~2l8>vdON_`eniAtr4 zQc2vIRO(twr{EoGh^nG2YH9v2BsY`IWvFGX(^MNc*+>mgS5UQK{xAAtQYy8cO0Cko zD19nF?aALgIABvv1%FcE!r`)^Xt#Beb|{*Ny0*u0ZDJsqepp!TDRg?Q8;$j+Cudc7 z8XEn6n)8?+2%$QZhC96*OO}Vp7%A|Ly1^# puXTEkB)a>Yeby$1ZLGV`#+^gfP1tzcO@H!6JO$YpQ`IHE{{b8%qL}~y diff --git a/mayan/apps/appearance/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/de_DE/LC_MESSAGES/django.po index 8aed35bc41..23377043cb 100644 --- a/mayan/apps/appearance/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/de_DE/LC_MESSAGES/django.po @@ -1,22 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Berny , 2015 +# Jesaja Everling , 2017 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" -"Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" -"edms/language/de_DE/)\n" -"Language: de_DE\n" +"PO-Revision-Date: 2017-04-24 22:57+0000\n" +"Last-Translator: Jesaja Everling \n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:12 @@ -45,19 +45,15 @@ msgstr "Serverfehler" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." -msgstr "" -"Es kam zu einem Fehler. Der Fehler wurde per E-Mail and die Administratoren " -"gemeldet und sollte bald behoben werden. Vielen Dank für Ihre Geduld." +"There's been an error. It's been reported to the site administrators via " +"e-mail and should be fixed shortly. Thanks for your patience." +msgstr "Es kam zu einem Fehler. Der Fehler wurde per E-Mail and die Administratoren gemeldet und sollte bald behoben werden. Vielen Dank für Ihre Geduld." #: templates/500.html:14 msgid "" "If you need assistance, you may reference this error via the following " "identifier:" -msgstr "" -"Wenn Sie Hilfe brauchen, können Sie den Fehler über folgende Kennung " -"referenzieren: " +msgstr "Wenn Sie Hilfe brauchen, können Sie den Fehler über folgende Kennung referenzieren: " #: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" @@ -86,7 +82,7 @@ msgstr "Navigation ein-/ausschalten" #: templates/appearance/base.html:75 msgid "Profile" -msgstr "" +msgstr "Profil" #: templates/appearance/base.html:81 msgid "Anonymous" @@ -131,10 +127,8 @@ msgid "Create" msgstr "Erstellen" #: templates/appearance/dashboard_widget.html:25 -#, fuzzy -#| msgid "User details" msgid "View details" -msgstr "Benutzerdetails" +msgstr "" #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 @@ -191,9 +185,7 @@ msgstr "Kein Ergebnis" msgid "" "Total (%(start)s - %(end)s out of %(total)s) (Page %(page_number)s of " "%(total_pages)s)" -msgstr "" -"Gesamt (%(start)s - %(end)s von %(total)s) (Seite %(page_number)s von " -"%(total_pages)s)" +msgstr "Gesamt (%(start)s - %(end)s von %(total)s) (Seite %(page_number)s von %(total_pages)s)" #: templates/appearance/generic_list_subtemplate.html:14 #: templates/appearance/generic_list_subtemplate.html:17 @@ -218,10 +210,8 @@ msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "Bevor Mayan EDMS voll genutzt werden kann, muss folgendes passieren:" #: templates/appearance/home.html:46 -#, fuzzy -#| msgid "Search" msgid "Search pages" -msgstr "Suche" +msgstr "" #: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" @@ -247,9 +237,7 @@ msgstr "Erstanmeldung" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "" -"Herzlichen Glückwunsch! Sie haben die Installation von Mayan EDMS erfolgreich abgeschlossen. " +msgstr "Herzlichen Glückwunsch! Sie haben die Installation von Mayan EDMS erfolgreich abgeschlossen. " #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -274,9 +262,7 @@ msgstr "Passwort: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "" -"Bitte ändern Sie das Passwort, um die Sicherheit zu erhöhen und diese " -"Nachricht zu deaktivieren." +msgstr "Bitte ändern Sie das Passwort, um die Sicherheit zu erhöhen und diese Nachricht zu deaktivieren." #: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" @@ -285,9 +271,3 @@ msgstr "Anmelden" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Keine" - -#~ msgid "Home" -#~ msgstr "Start" - -#~ msgid "Space separated terms" -#~ msgstr "Begriffe durch Leerzeichen getrennt" diff --git a/mayan/apps/appearance/locale/en/LC_MESSAGES/django.mo b/mayan/apps/appearance/locale/en/LC_MESSAGES/django.mo index 21eaaf8a16f9acc1b4baa8fa1e5f6db91cbca6d9..fa72cf2a1946688bd759d1c17e2c1ddd2ab1ccfe 100644 GIT binary patch delta 22 dcmeyx^owai7mvBFfr+k>p@N~2mC?j$PXJcW2XO!Z delta 22 dcmeyx^owai7mt~)p`oskv4Vk-mFdK3PXJcH2XX)a diff --git a/mayan/apps/appearance/locale/es/LC_MESSAGES/django.mo b/mayan/apps/appearance/locale/es/LC_MESSAGES/django.mo index 4a86c3f7e34b1f77549c2cb2716cf8be54bb0417..d2efde9c7c81c2a15ab53da05701cc95bc1658d7 100644 GIT binary patch delta 1479 zcmYk+OGs2v9LMpasiQXIX!fwQn#{C^lke;WJvX*VN^KEISG}n<&e)9hS~w_?2nFS> zO_boGB8Z?|)GB(=Yh_D|Fj|xnM6X4WM16nbARYYQ&$*{F=lt*g+}qt{z4_7cIZ2lc zZ9S1kyiG7>H(r^=g*KLCOftSk7rw((oWL~vis|?pYcZM0o3H_w;2@^p9n|mdV+KCN zHO55EXnevHYQaQiXQLYzpbs-~JubrC6Z8Nx)*oXtT6DM&M`q@?U_91JTgE$`#;}+~iZSV+{*mInRqqqn^ z;2bm_V@eVrB-6=*@a1ZLi_9MkLZBaTp!!E4A6Sxa+p)&l59HGf4R4Hy_3xO#oluR|D zFC~}I7ovm~6KZ-0eb#Cv#42JbQAwypRW3EXXgpM`OtG_~uS}J_o=mNDnwhIU(=`MS z8>^cBLC2!ft8ofuZLBwa(V6@HyQkY2dvpEtbj~Y@GD1!NAr-}X(=X?`cwg1hOQlvo zEGJYcm2)AXDyr#IH6vG()+VG{k+!Cg6>f1}Cigq_DK}iT;n1P>fbC4BROMRX<~CnT zsJXkt4t7P%UOP6>X|>uB$M32cIqO=UkQB5!Z0DP|z#9shhIae7uf^`N+5-{iW9p>4 z+Fx4fFE8_zm2WI}-lXMurUxo~r4<`Xt43y}A5V1ESxo^u9CA*&hnyvzS1Gl2m<*iH zo~`-YyCcn3cqWBV#KcEBpA5IQ2d#+DDbA=H8P2Foa6WlU+zmF9***{;!<@{^{{VUt Bsx$xq delta 1411 zcmY+^Ur1A77{~F~GH0u;Rc6^AJ!)#pre|~Oj|LV>R5y9x2qNjux(m9fi=uA2==+-^=*8!JUUzoh_c_mV&d%0N)aGZF zlwLQCjl^o=O^GqP@XTBej60>q%)`6r!~0l{k8nOdML)j4B)-KCtmdL>Jcwm@3U&Q3 z2Jr$m8%$0|%s81;E8F2Zfdo+gP(WIryzBe(+7sOv_s z5ij8!oIpSOnU)=vKXZ-4 zc^pM0Tub>DV-ydtzv*J4I~qkTJdTa{6t%#oqF+#5`Hl(vfjtk5jk- zzZK7~qMzEZ9(7#=)tXM+f;)oL-(oUcJaHGb@EBgi$5?^wWTU6K2lrz?s%0-x=ciH6 z%2!n7LY$5RLj-3RTg@ z8oF~OqYc*)YY5$pMJO2!wLz`Yh!c7BD?zL!G-9)uDpW}|lqq=@da3{Q@Tgrigr0nj zI)bYIHz;1A-1=QvMMQ`eLX~JGsAyy1-Ddu8=!Ymw=nbHng}zlzPM5Znc!9E!(w&(; z$GciK=56=IJAU^hdh6zTJx1QNCwKVw){{Q+qr*ne?BWMayan EDMS, " "congratulations!" -msgstr "" -"!Felicitaciones! Acaba de terminar de instalar Mayan EDMS" +msgstr "!Felicitaciones! Acaba de terminar de instalar Mayan EDMS" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -271,9 +261,7 @@ msgstr "Contraseña: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "" -"Asegúrese de cambiar su contraseña para aumentar la seguridad y para " -"desactivar este mensaje" +msgstr "Asegúrese de cambiar su contraseña para aumentar la seguridad y para desactivar este mensaje" #: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" @@ -282,9 +270,3 @@ msgstr "Entrar" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Ninguno" - -#~ msgid "Home" -#~ msgstr "inicio" - -#~ msgid "Space separated terms" -#~ msgstr "Términos separados por espacios" diff --git a/mayan/apps/appearance/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/appearance/locale/fa/LC_MESSAGES/django.mo index db920b01d7947e605fffeb33c84d30cce58d0fd4..da73f67d7c0047a6fd60b8f8edd8c95581d64d31 100644 GIT binary patch delta 850 zcmYk)J4jn`6vy$Cm_(z-chp*6ReYgRbB!%NmWo1MT5&E?>?A%=RB$q-sFPdhEGQBX zhn727aC9jY)J2;@5IVKa4%J2b{e_Eo$hn{U|KEH6kMqxV)m1ccSr+(gL=#y{cKOVn zVaf3m;#az6{Fy`i%jbkZ>a0>N&8jEldJMp9U`~a(HyI6uh@R?b{GG50W=JTL9 zU{;MasEK>A75h%;6C!RGcH=-ImR&KwTl?MmH92ojaEK{ ztieXG4`1V3T*Ev(!A+|36ANii@{yeJT*Wck8>k6SQ477mQv8ii@Y?H-FlY_)TeWVm z7b%Io!Kb)@QQY#}K@Io~NAVanQJC{+#u6;XIBKF1Y{N;c$4%7td!An~F-XUe*YOWk zYCmr=wsoK;aBu?qQ5D%j?L31NBwIbO2&uEJRD;MKBWjE~lGn4L<5KW{(EiODNS&=h zJJ9Z_@&R*>anBUwOdgZ9cD&WZYV-vxZZ zm8rSu<>X<0d-5Ror|@NWPrTcSHO8C)C%GM}jXZR`7;yUB@1eNg4TfiZ;Z*u-+D)f^ It@G*M|LwL+^8f$< delta 1029 zcmYk)O-vI(6u|M<+EzqB0TJcP75R*5Yzy>&#BYn9@FPZzUMg%135`f=;>Dmwi$+fp z&YGB5ARyKn12Gzpp7iJx67?ot^dj+~iT>YqNu2D=Z)RtA=gr&sR`sxY^izdzLMYAD zI_e>hNEZ%yX(;>Fi1=|ouEkzlhkbYq&td?l-T5q*FwS{qDpytYLh|^)Zqvd4sk11-ax8O%?k2A8IY?hr@Undr%j=i97Hv zZopa8^E1i#Y8t^ab2O4P9cADMTiA^}{-k(7ImyfUo=TQUtjJn`5p1>cdnL4n( zkdX&SqMV{SE8ZH9@5rTuoh$Qs zJZ;1Ae%ngg!|{=L${w&%_DCWrC$C&c45s8%(jKt}>{NVkC^_yaZX56Me=Ugy!{K10 z!wN;ZyT*3~>Pn-*P)9Hlwj$x~P&9WY(CIBQPfaGD&X48p6(u~e1v6Q%uJdr0WALmQxlP0 diff --git a/mayan/apps/appearance/locale/fa/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/fa/LC_MESSAGES/django.po index b3d732f31b..8d4a10189f 100644 --- a/mayan/apps/appearance/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/fa/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" -"language/fa/)\n" -"Language: fa\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:12 @@ -44,8 +43,8 @@ msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via " +"e-mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 @@ -126,10 +125,8 @@ msgid "Create" msgstr "ایجاد" #: templates/appearance/dashboard_widget.html:25 -#, fuzzy -#| msgid "User details" msgid "View details" -msgstr "جزئیات کاربر" +msgstr "" #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 @@ -211,10 +208,8 @@ msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "" #: templates/appearance/home.html:46 -#, fuzzy -#| msgid "Search" msgid "Search pages" -msgstr "جستجو" +msgstr "" #: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" @@ -240,9 +235,7 @@ msgstr "دفعه اول لاگین " msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "" -"You have just finished installing Mayan EDMS, " -"congratulations!" +msgstr "You have just finished installing Mayan EDMS, congratulations!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -276,9 +269,3 @@ msgstr "" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "هیچکدام." - -#~ msgid "Home" -#~ msgstr "خانه" - -#~ msgid "Space separated terms" -#~ msgstr "عبارات جداکننده فضا" diff --git a/mayan/apps/appearance/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/appearance/locale/fr/LC_MESSAGES/django.mo index 529f22eb4428b5cc6f186b3a34de4f6e2db19350..4784c6491e5107f9502820101b48d01d387e4fe9 100644 GIT binary patch delta 1264 zcmX}rOK1~89LMq58k;sYeZ*I-eZ*AT*fg4KT7{~JUaF|5Z4nQmM(Cj^29tn_Vn8q+ zdMTEAu!>N8Q4eic@Sxs=9zA$c1cf3!R8dgqK|J{V#j$@f`OJTJXLn})yNm6QB85*O z--IE0Xw9_OjxqgsY6XA96`wIH@hbYUfK_-Kt8okicn^=^W88&H*orQLEAcpL{7J0E zvl!!cCSxy{#MPXb!u9w9>+vma!q3RhINVLg{aA;Ms0l=I08_XMi`a;FP~)Cs2bQn` z-(!I1n~!vutXV+K>??NSZ`^_rrmgb_kVEDO*5DBGGim;kID$GqX^&4~k$f68(Inf} zfcx+S4q`peH`8=F@D*~cnYS*Ys_+wgaS4xNH~UW4T*pz$b<5@rEL-E7tPyJ$s#GqX z$K5!H&#=%==MNnX46`g<7)5QJi!nTeTG?e(X>Q;Kyo+mb7PV7zsO!F=O8E;_8h`L# zNkVvuyw&DoLH1u4-sgZGJc|eMC2Hk9>Y**GLe;Rz=3(q6cd-r6AZsuM)O|)#<0fqW z6kYO?&A*@)^1YV*e@Lg20_p94f?ClVRE<8MZj|7SOW=OgPUTQ5y@s0TP27t`)VMi& zzJHd;{cj)H2HcPWDUQnVxb zWED}GO03X3qVlX!LQq0)##eH@;mW+@{qVOtUR!m@so5D%^u*m{IO+De<9h+>R$uzh6einlW63H;|9H%U2X1;adER>bHn|%rCyK z;2+e+FA>Hn);E(p4B{iy$^M`wE+@W?SdW_Eu zpz(KnANoGUEPc#059e?O`>~nT8!(F+cpug82`ZG+*o^N`C;W{{S)k0AI;=xQpam7V z9#p?HD#aI25g#if{#xKBFId~$!Sgufx9iD+1_V(X*oQrM1Qmg6ScMa)+&=W%PjDCQ zH@F!WQ1h1(cg<6S8fR4yf4zwDB8L0X!nEJKdvR+(FgfQJc}fNzqWrYPa=NT{K;$YHAx*c~faw!mLN-TtyM%fccQCtz2>i z@{v;%Rdj#I;(vuKwS}V5P^`s@#5!6h z=1MjUwuK@sp;*+4MLQyG%@ImzZ`}1l15SLzO~t*m(_sw^C2hyKX!R$C(w=AS?}|I; zsP>_ZYddauB<, 2016 msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" -"Last-Translator: Thierry Schott \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" -"fr/)\n" -"Language: fr\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:12 @@ -45,20 +44,15 @@ msgstr "Erreur du serveur" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." -msgstr "" -"Une erreur vient de se produire. Elle a été signalée aux administrateurs du " -"site par courriel et devrait être résolue rapidement. Merci de votre " -"patience." +"There's been an error. It's been reported to the site administrators via " +"e-mail and should be fixed shortly. Thanks for your patience." +msgstr "Une erreur vient de se produire. Elle a été signalée aux administrateurs du site par courriel et devrait être résolue rapidement. Merci de votre patience." #: templates/500.html:14 msgid "" "If you need assistance, you may reference this error via the following " "identifier:" -msgstr "" -"Si vous avez besoin d'assistance, vous pouvez faire référence à cette erreur " -"grâce à l'identifiant suivant :" +msgstr "Si vous avez besoin d'assistance, vous pouvez faire référence à cette erreur grâce à l'identifiant suivant :" #: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" @@ -132,10 +126,8 @@ msgid "Create" msgstr "Créer" #: templates/appearance/dashboard_widget.html:25 -#, fuzzy -#| msgid "User details" msgid "View details" -msgstr "Détails de l'utilisateur" +msgstr "" #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 @@ -192,9 +184,7 @@ msgstr "Pas de résultats" msgid "" "Total (%(start)s - %(end)s out of %(total)s) (Page %(page_number)s of " "%(total_pages)s)" -msgstr "" -"Total (%(start)s - %(end)s surof %(total)s) (Page %(page_number)s sur " -"%(total_pages)s)" +msgstr "Total (%(start)s - %(end)s surof %(total)s) (Page %(page_number)s sur %(total_pages)s)" #: templates/appearance/generic_list_subtemplate.html:14 #: templates/appearance/generic_list_subtemplate.html:17 @@ -216,15 +206,11 @@ msgstr "Démarrage" #: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" -msgstr "" -"Avant d'utiliser pleinement Mayan EDMS, les éléments suivants sont " -"nécessaires :" +msgstr "Avant d'utiliser pleinement Mayan EDMS, les éléments suivants sont nécessaires :" #: templates/appearance/home.html:46 -#, fuzzy -#| msgid "Search" msgid "Search pages" -msgstr "Recherche" +msgstr "" #: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" @@ -250,14 +236,11 @@ msgstr "Première connexion" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "" -"Vous venez de finaliser l'installation de Mayan EDMS, " -"félicitations!" +msgstr "Vous venez de finaliser l'installation de Mayan EDMS, félicitations!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" -msgstr "" -"Connectez-vous en utilisant les informations d'identification suivantes :" +msgstr "Connectez-vous en utilisant les informations d'identification suivantes :" #: templates/appearance/login.html:26 #, python-format @@ -278,9 +261,7 @@ msgstr "Mot de passe : %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "" -"Assurez-vous de modifier votre mot de passe pour accroître la sécurité et " -"pour ne plus avoir ce message." +msgstr "Assurez-vous de modifier votre mot de passe pour accroître la sécurité et pour ne plus avoir ce message." #: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" @@ -289,9 +270,3 @@ msgstr "Connexion" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Aucun" - -#~ msgid "Home" -#~ msgstr "Accueil" - -#~ msgid "Space separated terms" -#~ msgstr "Termes séparés par des espaces" diff --git a/mayan/apps/appearance/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/appearance/locale/hu/LC_MESSAGES/django.mo index 7a32ce29ecefd4c976e373aa051d1dbb35ad3afd..4f42e0d857636d33f632adb8ea0e216793be4c26 100644 GIT binary patch delta 206 zcmeywx{tN~o)F7a1|VPuVi_O~0b*_-?g3&D*a5^Kxt&1F3B(71m=%am12GE_Uj$+{ zAif5~Aa!?vxSx@M;VF>j0^(981_p5;-2kNdfb2AZ7*P+d#|$#1Da( z4TzrsF%J;G1!9o;UqIZ?$iTn^#9To3Bqjz1aUeYxNb>>dtw0)RjvB)eAOmFiDIhHd zq%Q+$kO8lNG*B;?%`tJR2Ty2mYLP-pYDr>dPVvM$p*&`~hK9OE#tH^TR;H6}8D)6Q zbPbGkjSLlx46O{zHm5NLFv>eBq^0I$BoBg^ui~yU>5y=1m delta 194 zcmaFKJddURo)F7a1|VPtVi_Pd0b*7l_5orLNC09GKM{y|fH)n9I~f@mN`N#w5dQGD7{~E1be7f zIs}z;NDqP0Aw9%0;2}E|L3HqH5EyjuP=_GUASn9&bnIc?{k-$e&O7fs&%7)3AH(^j zYR?lxbkOQ(Z!BX@;?O33h?^c`O7RwYF^`*Z9Lw<``fw6^@dX~iRosgi!ED zz$+MII+J$)FoiW-n8qDAhe2Gxdi;VM#$q;&dvOcaq81Rver(4IEMP4@M%_1yO<2Sd z{DeN9Z$8suv1S>yvhUc8zi}TnuxwpFg$$W9=*I!%Fe!eLIEuPH<&IBdf%6&ELX)Je z3VZN8p2Hx|H#2maa31-u`Re)&RfV6}iK}=PTgf|Ja~mH}u6w8j)$rQ7Ka9E_bt17&f9Z(2Lt}5S7|%xE1fBO7s+!fq7&q^A*feRQu;3w@8;K_Boq z{y}B*7^|m3riG@3sXU5CT05;)^;huRwe6?=Zkpao57g>4u|g@;mP*nRw2jb$l%?Ahme&e`*F{{QFfgEhS-{bQl` zx}j{PR#U%tjM;~S`Fv5Hc#WBdPq7f6V-dc_`S>1-aU45v61QQ1L96gA7T{&n_#yP+ z4XigNZSLiM@EI3z<2x?JDO`XBj9!CFkxQl(b$ut6V+XRPIfdGYgPoYb5`2SI_z5-s zH?GGi%wv7Cgl%bH6>6dy)DAab9d5;1Jc+u02^njyU?~nGA9IJV5RTyz{D%776!J0C zeD&iDYU39PV+HG*Yc#rX4E1C)sEK{VcRj8^P0*fmKPo$&*o5797zdG|W&$6O#$Tv; zh6sbk-$vaZ&GjE+S~s52IDxM)dkz@2ntm5DhjCE@FW@p9zYua$dy>`XfH#ubqu@VGBM&J;4NO!s(oUahQG~iDPYZ6SdGiJc=(- z6E0vkG|gJvh+)(`$1!_2Q5#QSBc{?c+G*TJh58SYy6i!MY;-oLLD57Cv)&Gs%~ZWH zD(hy+POb+~@l%xsofU0HucOkfw@GPGNh_Z#s0xz~lb))XsuQo$FpF7^%DIX*%09Cp zRbNl0bXn9eRYhr1q~;can2q*I)PGGtOKqW{Pz0$ubZe<|iw@)_s`9DOD$JFcK5xe3 z-5ZZNnYw~L&*Fp~ajcY+u#>jy^jNNwjHNQS3Tr)uR*&P_z0u5zqAE{mvp*E_ha0S5 zxUFeqa(;D3vp?AC4>ww&U|T~|eUMUo&`!DjuB3e~6}8=XvdubVCnIrdw;fAFos?s3 zkEtJs?`xN^pdBl!%oJd|2Jm!*j6fGpYP2a^94NR WdmPubPe*&LKG!+tIwSq%Z~p;sB%h!F diff --git a/mayan/apps/appearance/locale/it/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/it/LC_MESSAGES/django.po index 1b92e01fbc..38a82440e0 100644 --- a/mayan/apps/appearance/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Marco Camplese , 2016 msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-09-24 10:35+0000\n" -"Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:12 @@ -45,19 +44,15 @@ msgstr "Errore del server" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." -msgstr "" -"C'è stato un errore. Questo è stato riportato all'amministratore del sito " -"via e-mail e dovrebbe essere risolto presto. Grazie per la pazienza.." +"There's been an error. It's been reported to the site administrators via " +"e-mail and should be fixed shortly. Thanks for your patience." +msgstr "C'è stato un errore. Questo è stato riportato all'amministratore del sito via e-mail e dovrebbe essere risolto presto. Grazie per la pazienza.." #: templates/500.html:14 msgid "" "If you need assistance, you may reference this error via the following " "identifier:" -msgstr "" -"Se hai bisogno di assistenza, ti puoi riferire a questo errore con questo " -"numero:" +msgstr "Se hai bisogno di assistenza, ti puoi riferire a questo errore con questo numero:" #: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" @@ -131,10 +126,8 @@ msgid "Create" msgstr "Crea" #: templates/appearance/dashboard_widget.html:25 -#, fuzzy -#| msgid "User details" msgid "View details" -msgstr "Dettagli utente" +msgstr "" #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 @@ -191,9 +184,7 @@ msgstr "Nessun risultato" msgid "" "Total (%(start)s - %(end)s out of %(total)s) (Page %(page_number)s of " "%(total_pages)s)" -msgstr "" -"Totale (%(start)s - %(end)s di %(total)s) (Pagina %(page_number)s di " -"%(total_pages)s)" +msgstr "Totale (%(start)s - %(end)s di %(total)s) (Pagina %(page_number)s di %(total_pages)s)" #: templates/appearance/generic_list_subtemplate.html:14 #: templates/appearance/generic_list_subtemplate.html:17 @@ -218,10 +209,8 @@ msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "Prima di usare completamente Mayan EDMS hai bisogno di:" #: templates/appearance/home.html:46 -#, fuzzy -#| msgid "Search" msgid "Search pages" -msgstr "Cerca" +msgstr "" #: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" @@ -272,9 +261,7 @@ msgstr "Password: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "" -"Ricordati di cambiare la password per aumentare la sicurezza e disabilitare " -"questo messaggio." +msgstr "Ricordati di cambiare la password per aumentare la sicurezza e disabilitare questo messaggio." #: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" @@ -283,9 +270,3 @@ msgstr "Accedi" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Nessuna " - -#~ msgid "Home" -#~ msgstr "Home" - -#~ msgid "Space separated terms" -#~ msgstr "Parole separate da spazi" diff --git a/mayan/apps/appearance/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/appearance/locale/nl_NL/LC_MESSAGES/django.mo index aa2466015269383e0f8743d5aaabfb9886ef49cb..c65cd7a1fda6b8c7a2e7fce115f22b5795b096d0 100644 GIT binary patch delta 1264 zcmX}rO=uHA7{>A07@IaWX-u_7TiZ0XADTpyw6z#1A|9%=Qd_GQ6f{baf*45xDhTmn zy$Fh>NG&QB1c?U?3tkit9>h}*UKAAt1ra|GJoMm2|4&#uWcD|^*`1m9eRn@c?za{{ z1l==+)y%UFZg(2F;5AKt_5xQNY|;^8VBK|Mc? zemsUzrZZXRhB>U~k9k~!k1>D?*oq&KpRt%t*F9K=A=C!Ca1^_71x{fIucMxOfE`#y z7rsF+>zj8B*sS@2+SzyP#6Q@M5w@-WcO#d~UaZA2 zww1UO58{3du)ZlV=)fn)z2=kSH&hjVV=pe^FviF`LvsP|P_9d;473xrHjqGNppS#* z+l4CCARfj8s8W@&s2aHlM-#N7CXV51?8PV!I@ix)1Lqe}sl9=^?-8m*FHo8Kii-3n zYQDdy`Kx_IjrFMWlRomVmoCQz?eHpYz*$t}&rqp*j+*!tuEN*25r1G8Hc&T3x&w9J z01})TLM=3o{dfYkp}VL|mHg!Y7K1Vuw9qgIyFrQ+f1RtLbY}R#ZYYGHO3`mo0mus$ki_JZ+ZUQWLal`{Ie7cq$oArqZeD zes5Fv(uJ+*RBtpv^A2V5h4@%5b2@)2Q^@Ah;nD2ziCiIz`AlvyYnQz5UG^2Yt delta 1443 zcmY+^OKeP09LMo9RUN7=Rjqnott#57nJE?Z77-N*N-EL?w|dm{F*CU{!%9X33F(3$ zq=`o&K`eyah**eVqp=`}AY~&$BIyn*;`^I+!O1=6bLY%GumAtf+?@NlD*I`2{&_=L zMx9B06ELO)`^V5w?&KRY7VlyZ@8dXpgyZoU7UC=1h97YSHZW*5c4GmaM2$a^ExS65=}_XP_onKk8;wc3N>Mw&7OnM~0dqd`KFhM@@h#NJe5}L4(f%J;!RJ4yP?r~v zJlB9q-3CvSJ6h< zcP@4MtO)9K4ppa8Q54DAe}&-YqA?4V)&?!Ln42ZkFm(>Kiu!NSAJZagEmfgcm@E8D zz8}cnl<2d5Z9yh5CF$<7PRb@-&rRD-CvCmHls^!x2?U)^n|5Qp{)2Iqfug2RBoc}? zI^k&Z(z74O&)nV=3O9zL5hogH4mZ_>DTQ0yR64ZNbK|LAH=XdBoz0n4Iu>`<^>(Dv zTzxjyZ9QjYcdmP_tL~A$hIsF4zrJuNZ|u$knOMpX77qlfHzX3ClS;bjm~|5IPV04e pi5?qw4$^T2THqahnI=, 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" -"Last-Translator: Justin Albstbstmeijer \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" -"edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:12 @@ -45,20 +45,15 @@ msgstr "Server fout" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." -msgstr "" -"Er heeft een fout plaatsgevonden. Dit is gerapporteerd via email aan de " -"beheerders van deze site en zou snel verholpen moeten worden. Bedankt voor " -"uw geduld." +"There's been an error. It's been reported to the site administrators via " +"e-mail and should be fixed shortly. Thanks for your patience." +msgstr "Er heeft een fout plaatsgevonden. Dit is gerapporteerd via email aan de beheerders van deze site en zou snel verholpen moeten worden. Bedankt voor uw geduld." #: templates/500.html:14 msgid "" "If you need assistance, you may reference this error via the following " "identifier:" -msgstr "" -"Als u hulp nodig heeft, kunt u naar deze fout refereren via de volgende " -"identifier:" +msgstr "Als u hulp nodig heeft, kunt u naar deze fout refereren via de volgende identifier:" #: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" @@ -132,10 +127,8 @@ msgid "Create" msgstr "Maak aan" #: templates/appearance/dashboard_widget.html:25 -#, fuzzy -#| msgid "User details" msgid "View details" -msgstr "gebruiker gegevens" +msgstr "" #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 @@ -192,9 +185,7 @@ msgstr "Geen resultaten" msgid "" "Total (%(start)s - %(end)s out of %(total)s) (Page %(page_number)s of " "%(total_pages)s)" -msgstr "" -"Totaal (%(start)s - %(end)s van %(total)s) (Pagina %(page_number)s van " -"%(total_pages)s)" +msgstr "Totaal (%(start)s - %(end)s van %(total)s) (Pagina %(page_number)s van %(total_pages)s)" #: templates/appearance/generic_list_subtemplate.html:14 #: templates/appearance/generic_list_subtemplate.html:17 @@ -216,15 +207,11 @@ msgstr "Beginnen" #: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" -msgstr "" -"Voordat u volledig gebruik kunt maken van Mayan EDMS heeft u het volgende " -"nodig:" +msgstr "Voordat u volledig gebruik kunt maken van Mayan EDMS heeft u het volgende nodig:" #: templates/appearance/home.html:46 -#, fuzzy -#| msgid "Search" msgid "Search pages" -msgstr "Zoek" +msgstr "" #: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" @@ -250,8 +237,7 @@ msgstr "Eerste aanmelding" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "" -"U heeft de installatie volbracht Mayan EDMS, gefeliciteerd!" +msgstr "U heeft de installatie volbracht Mayan EDMS, gefeliciteerd!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -276,9 +262,7 @@ msgstr "Wachtwoord: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "" -"Pas het wachtwoord aan om de beveiliging te verbeteren en om deze melding " -"uit te schakelen." +msgstr "Pas het wachtwoord aan om de beveiliging te verbeteren en om deze melding uit te schakelen." #: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" @@ -287,9 +271,3 @@ msgstr "Meld u aan" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Geen" - -#~ msgid "Home" -#~ msgstr "Thuis" - -#~ msgid "Space separated terms" -#~ msgstr "Door spatie onderbroken voorwaarden" diff --git a/mayan/apps/appearance/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/appearance/locale/pl/LC_MESSAGES/django.mo index 692170a67308d87bc07a9f7c5ef90f7620141055..40e3a92e34a3294e9c9d3eaa87160816b2c0b8c1 100644 GIT binary patch delta 1434 zcmYMzO-K}B9LMoz$~4#4w3n?cN6l5!&7IlRXmyoNd9XCI=+MCxBm{9|HApg+4q4qQ z@lc);B+x_2h6Hu%AOsm5gd`}6>QF+_!Jt#$pHBKP&wQTenR#CSGq)?I%TphUGA0Zu zLM|b{u#7o@7q)UEUCA(J8;)QWrf@sn#B98SK74?kIE_uXiU-l9b0(ff^*@jK*n_nU zXA<5ElUU4yDcpneScr>Qh98m3Sd6CjEG$4jY5~>Qg<;IWG4$g-RKHma;2dtjcj#k& z^PU2WHQ!Jx`+-&X7b~%xW$Sqx(qv9zE_NfAiF0$XAN73FYoEd~>NBW?Ivm>$JdWq^ z3>GrKnV}HC=g7O}v*&kI6nkbQX4~576Vw9dQ6YMX8uvAx z#U)g@Yk4W981+!l%2TL;#&8$jMeXbnYJg?0{S)q|{s)V&IBz{f0n|8csP+!z71N7c zCc*6@UPI0EHIMT@K;ah+T4_G#ubui)J3oc$*o6u~4{Bk3sL)*Xe2AKO!E+J0%n~;( z{0l~L#j95l54~Ss!1<3;Xrw_MUZGaLjQW^XP#;?>w-9!sI$lTZ>=tUF6R3sX$98;! z3Q-9G=Z7+f$qJ1YqjZQICi@kCB~7m1Pf14`AlHyJnPR0x*w%h2g(Rc~FKHs?+er14 z_Ib74xR+e&)vK_U?2>JAN^wxqv1&*9HI&%639gmaPei}u5w9*3whFJV5b4Vt-qjvRRr4wq2xpp96tJoZi)Tq4H9%^=6dvtW|0WUc`YPB7D4VE#$|F>FV xq0Qb-jXHRvHf**ZtK58`p*ALD#`SSs#to+zau%)hblx*7JyK9(jXy11`UfwZoGSnT delta 1526 zcmYk+PiP!v7{~E^(u37tYpU%@bV!D<$?i

            E(Q7E*K_Ts@ZLMaqHlz<>A{-KJr-U14ei+B(T`u%P8ke7Yt^X@zI z&b-h2%P4+^0Q>O(_Tf9I^B*8{&4;)N zFC!mwor8&TWwwgC@n-fnfnBH@yxj0r zRCUI2Kc2$lcnO(m9^o=&Tt+4KHQS)fAENI22svf`z?yFS7oE58U)+apaFuFz0hPfb z>PDZTGP{e)^c&Rt{~F`XZ7i1WyKpNWM3rs~b)TRyUO}dq`8M`nTXBT}K4y`_6h^2A zc2S32m_V)gC@SOEQ9E!RHE$kOnyaVhd&O_;%)^_$^8SG>rgFUDW z-bRg|K}~!g7jPamv70(6!$H)`Hi|0UWey#96CL~lHGdhE@t>%L|AR_owMJ)*PMTS& z-Frys>e~zTtOnGf>AbSjuS0Dwp>>eLZI_YG}wJA5_3=cZAmNBnXPQF?6 zf>PcqhsBIN9Zr}18GG6*PRw~TVYM`qvm@1^>bmborV2b`Xd*0(F6?dj{pHn~F06XC7|u=3<@|gYumx, 2016 # Wojtek Warczakowski , 2016 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" -"Last-Translator: Wojtek Warczakowski \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" -"pl/)\n" -"Language: pl\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:12 msgid "Appearance" @@ -47,19 +45,15 @@ msgstr "Błąd serwera" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." -msgstr "" -"Wystąpił błąd. Wiadomość o tym została przekazana do administratorów i " -"wkrótce problem zostanie rozwiązany. Dziękujemy za cierpliwość." +"There's been an error. It's been reported to the site administrators via " +"e-mail and should be fixed shortly. Thanks for your patience." +msgstr "Wystąpił błąd. Wiadomość o tym została przekazana do administratorów i wkrótce problem zostanie rozwiązany. Dziękujemy za cierpliwość." #: templates/500.html:14 msgid "" "If you need assistance, you may reference this error via the following " "identifier:" -msgstr "" -"Jeśli potrzebujesz pomocy, możesz odwołać się do tego błędu poprzez " -"następujący identyfikator:" +msgstr "Jeśli potrzebujesz pomocy, możesz odwołać się do tego błędu poprzez następujący identyfikator:" #: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" @@ -133,10 +127,8 @@ msgid "Create" msgstr "Utwórz" #: templates/appearance/dashboard_widget.html:25 -#, fuzzy -#| msgid "User details" msgid "View details" -msgstr "Dane użytkownika" +msgstr "" #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 @@ -193,9 +185,7 @@ msgstr "Brak wyników" msgid "" "Total (%(start)s - %(end)s out of %(total)s) (Page %(page_number)s of " "%(total_pages)s)" -msgstr "" -"Razem (%(start)s - %(end)s z %(total)s) (Strona %(page_number)s z " -"%(total_pages)s)" +msgstr "Razem (%(start)s - %(end)s z %(total)s) (Strona %(page_number)s z %(total_pages)s)" #: templates/appearance/generic_list_subtemplate.html:14 #: templates/appearance/generic_list_subtemplate.html:17 @@ -220,10 +210,8 @@ msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "Zanim w pełni zaczniesz używać Mayan EDMS musisz:" #: templates/appearance/home.html:46 -#, fuzzy -#| msgid "Search" msgid "Search pages" -msgstr "Szukaj" +msgstr "" #: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" @@ -274,9 +262,7 @@ msgstr "Hasło: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "" -"Aby poprawić bezpieczeństwo i usunąć ten komunikat, nie zapomnij zmienić " -"hasła." +msgstr "Aby poprawić bezpieczeństwo i usunąć ten komunikat, nie zapomnij zmienić hasła." #: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" @@ -285,9 +271,3 @@ msgstr "Zaloguj" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Brak" - -#~ msgid "Home" -#~ msgstr "Strona główna" - -#~ msgid "Space separated terms" -#~ msgstr "Słowa rozdzielone spacjami" diff --git a/mayan/apps/appearance/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/appearance/locale/pt/LC_MESSAGES/django.mo index ae5be274c101d565eb23db2a6953af1bc2447434..039f63497cb008341b0dc4b9165e0d185170ddb8 100644 GIT binary patch delta 670 zcmYk(J4ixN9LMpa-m-_L*~16z*&#$n9`Hj2&j8W!q7)Fn;VFcTl4`ZJ(B{R-V6AQD*yJpUPA&(aG zCDg_ROyH`!zJn@Y7gMF{JSoTQJV16`D(+pYNM0U)O_UT*eD`KF03q zcmjJdiz+ma1Gs<@Ttof6G6r!E`|$uf@f_92J*tr>BD#H+vB`9*PIvs{0{?CJMaJi delta 766 zcmXxiKS/{~F~Lyum(Tl6dqy({|4v(V*`0OT%Nb_C3!nGp&R%PE%IrsHKt(RGkC>B z3M+9Fd6wBKUto4nHxyAX*vEc63g&;H3b{ZRuY$amo1)~+s0O-`Q>G6`a1g6`zgb{V zq+1Vl;XkUV#t=`P!#Y&Hgj#`BY{Lyy!F$+&2WaCdzQ%LZ^KP*oe_=a5Vl&#Dw0OVi zWuVRmkaOk@YU#$Y7iW>pY;sT`+c=85L4JlR=qIw7I}Ymf55C0*)JhC-bMRG5Im@s9 z%b{;n$F2wHC8}7V&KgUja`!KSu?p1xqEDx8Rrqu0Ut%#!p%qdw`lJeVuFy)bT6U@O zR+1LY5)J-*=-isjEoc0m@VDqpKJ&pzXVw72h+HS+{4^-TK! diff --git a/mayan/apps/appearance/locale/pt/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/pt/LC_MESSAGES/django.po index f24f4d29c8..16ec66c17f 100644 --- a/mayan/apps/appearance/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/pt/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" -"language/pt/)\n" -"Language: pt\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:12 @@ -44,8 +43,8 @@ msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via " +"e-mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 @@ -126,10 +125,8 @@ msgid "Create" msgstr "Criar" #: templates/appearance/dashboard_widget.html:25 -#, fuzzy -#| msgid "User details" msgid "View details" -msgstr "Detalhes do utilizador" +msgstr "" #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 @@ -211,10 +208,8 @@ msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "" #: templates/appearance/home.html:46 -#, fuzzy -#| msgid "Search" msgid "Search pages" -msgstr "Procurar" +msgstr "" #: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" @@ -265,9 +260,7 @@ msgstr "Senha: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "" -"Certifique-se de que altera a senha para aumentar a segurança e que desativa " -"esta mensagem." +msgstr "Certifique-se de que altera a senha para aumentar a segurança e que desativa esta mensagem." #: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" @@ -276,6 +269,3 @@ msgstr "" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Nenhum" - -#~ msgid "Home" -#~ msgstr "início" diff --git a/mayan/apps/appearance/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/appearance/locale/pt_BR/LC_MESSAGES/django.mo index 000377ce15a485075ec7c08ab7f2f21432b9a9de..2150d9722943ab5120316f12544dc10a79b8e589 100644 GIT binary patch delta 1264 zcmX}rPe_zO7{~E>&D`8vUDvEF&Glcpt!}yRYQeS!9l{PtW+p)$+(K$W+F18c6l@+c zyG3S)gboXJu%hIRI#h=Ux)pQ?f*_$lqCFG^LY?~lwikz;{mjh!&O0;D^S-}ZU$x{v z2g>IRrI*@BePJ0hfG5`QM>$_^%v!vF9?au9yo!~09ldxPhwv`$!4+&mo5>Y;7&ZSG zR^u3U@i>!lZ{M);FJMuvxQ=+F21h@h@(}R<^C{2aq8%h*da({7j0!7^YFz=iTuFPSamNZ8S#M zYH=Tq;t}+-zFDBrfzOe9%@^12s4V=#K3u^=*iGDNnoD?xbX`H6u$^OTegu^o8+Bh2 z6`}oj9EWf(KEV8T8bunqv7TdTViPJAVbqOD)B+cA15V*)yoCXLjIH<@OOeC|`bE_9 zJU(OinOgqNU66mS)}sNp=)|nE zT6WUf;`TP8QWbLho!CXSsm;{9UJMnTUMJG0p~68;wAA{aV}*T(+ZS7@ZEl~el-_Jb zNNH0<^vSA(sd|@Glv+ha?~qEjG0vm%Mavnl$XU)0Pn+e0Dg##4?r2YM)Q&aB?1Vkr z?`@2)4(v+UeO)~i@4?h$E;^D;ot>OWuF8B| zXQ1fq~ zABVBYn2Z_CKkx<@^TT_r#2H+Gh0LzSN@U1vMvZr486H6PG{;eaICv1_I1h7Jg|AWb zzhXVkU;+D^3c}LFD%3)Cs0i0$1GeKDJcj!H0y5WJ#`$;?`ItLgTJQl@;5*cFGswsM z;&KuHpaMTn8W*y^xy8*9e1JOHAJoEr@>`G9s0DW9-Gi#mLEMB#a6eu}rkW4uDZVWRz`2;sd@g;U)J-e?%2le1})Wl&_iSD7E8$)gI3(N60F2x0< z#w@}{T!mZFEfH4p-9fE)wv_xUvMUVmF+*JX@Gi2J@lgl83zevpZ9tWx8?~T=%2+=t z)u&L;pTpHSf(l?F|NAG@fxe;U{qU22O`OB(ThWKhum?3BMg`c9XE1@P?N8LdrG!-u zV?AoY(_EB^Yp9Lyq2^Db4)h9Dy7$D(6y+*7XA4NZ}2bDdCa zJzeEc(`nTT=z81L0(1qV4OLG49TklJO;p-#8P!WQ(Tk>+Np)+ZE6r-Hv$$Dl%HOMY z#O>BzLwbjFI*T5ntJTq|;(v{-yIEb1%3e@gZQy1jy_vp}uC)Ez+WFE*Z=jQPLxRkb zY}%Xkcza?4PPU;i?J1AjVaG~3aXVqBoL(#CBnFb%k)k!8BCFR)*^y}WS#gzTep{fW zB@k-0nnN9%hNequ_PGNs?N%t%(c0G3O!Muvlc~U=gguyy+NoHg!`dE=3_8}XgcC{G zNvqS=*KO|g, 2016 msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-11-17 22:36+0000\n" -"Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" -"edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:12 @@ -45,19 +44,15 @@ msgstr "Erro de servidor" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." -msgstr "" -"Houve um erro. Os administradores da página foram informados por e-mail e " -"deverão corrigir em breve. Obrigado pela paciência." +"There's been an error. It's been reported to the site administrators via " +"e-mail and should be fixed shortly. Thanks for your patience." +msgstr "Houve um erro. Os administradores da página foram informados por e-mail e deverão corrigir em breve. Obrigado pela paciência." #: templates/500.html:14 msgid "" "If you need assistance, you may reference this error via the following " "identifier:" -msgstr "" -"Se você precisar de ajuda, você pode fazer referência a este erro através do " -"seguinte identificador:" +msgstr "Se você precisar de ajuda, você pode fazer referência a este erro através do seguinte identificador:" #: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" @@ -131,10 +126,8 @@ msgid "Create" msgstr "Criar" #: templates/appearance/dashboard_widget.html:25 -#, fuzzy -#| msgid "User details" msgid "View details" -msgstr "Detalhes do usuário" +msgstr "" #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 @@ -191,9 +184,7 @@ msgstr "Nenhum resultado" msgid "" "Total (%(start)s - %(end)s out of %(total)s) (Page %(page_number)s of " "%(total_pages)s)" -msgstr "" -"Total (%(start)s - %(end)s de %(total)s) (Página %(page_number)s de " -"%(total_pages)s)" +msgstr "Total (%(start)s - %(end)s de %(total)s) (Página %(page_number)s de %(total_pages)s)" #: templates/appearance/generic_list_subtemplate.html:14 #: templates/appearance/generic_list_subtemplate.html:17 @@ -218,10 +209,8 @@ msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "Antes de começar a usar Mayan EDMS você precisa do seguinte:" #: templates/appearance/home.html:46 -#, fuzzy -#| msgid "Search" msgid "Search pages" -msgstr "Pesquisa" +msgstr "" #: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" @@ -247,8 +236,7 @@ msgstr "Primeiro início de sessão" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "" -"Você acaba de terminar de instalar Maia EDMS , parabéns!" +msgstr "Você acaba de terminar de instalar Maia EDMS , parabéns!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -273,9 +261,7 @@ msgstr "Senha: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "" -"Certifique-se de alterar a senha para aumentar a segurança e para desativar " -"esta mensagem." +msgstr "Certifique-se de alterar a senha para aumentar a segurança e para desativar esta mensagem." #: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" @@ -284,9 +270,3 @@ msgstr "Entrar" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Nenhum" - -#~ msgid "Home" -#~ msgstr "Início" - -#~ msgid "Space separated terms" -#~ msgstr "Termos de espaço separado" diff --git a/mayan/apps/appearance/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/appearance/locale/ro_RO/LC_MESSAGES/django.mo index c8b033d399a73d72853f5b93a9281d1dbc93d307..19141e0df013824412bc6eedf5feca0acc0f3899 100644 GIT binary patch delta 976 zcmX}rKWGzS7{~GVn#7vKKW(f@ZL6MITScy1PNQ%ligb_?Xsm?}4&{Uh2Q>#t?4)LP zaFC*?v%y6dqk}>xhYqf~7AK*C2#OVlg5O_q_2r)T^SAA$+y;X$w!7V zL5vY)%a{`0>7$}l62_$PD)!?7rg0G~7~*++k2`P^HE#>|U@F-gAHo9tQ5?Y2c*K~N znWmu)ZpJs3a4-G4n862_#V0t7&r$PNQHTD3I_o#>*7R@lTvYi^&>4i8|mE>VPFI zvcI_y--zNH%czC##r<~dE99ZfTU3VL;Vk~Zop_Pe*T~)#)J6jgYP>+DzKtPH;sQRz zH2a$kHSibi!!6`8gA9(~2o7NhkKqhz!5V7*ZQO%G=0gR;i|N4K;5Q zTe|U=N~ukd@8dXz8o!K6RT;U=Je7}&asL_WAZFHr~ojQZU=YNM~H-)-Owj&nNQ zkFw;SjCJ4FLDXU@T0~{ANB4t?o85y=#2sa2oUjQ!>2}d;I!b7h-P?nBh)`yf)x(4_ z*LqK;W}eVLKt<_PYIS;LBuA+5#dbeFeNZZ+gkH%3LLcpZVz_fFamiYFo&4Q-lge4w z&pGZH$1B=J&-XmquA8aMI&;8QngHnVd zf*{mWtQS8JJcx*(=HkVh7oo?39|si`6g>1+ul}F79roSd?z@|r*>@&?J60kKU&8(+ zL+c~DhzmYrhVVfHC)#YIF-npP&YK>E%Coenmdo{6bai51zpudf$L^_>pSPBZtY7 zRDPV3?sMoczPZfBIb1=N_8=#j;ctEyKZ+{#DeT25FTaS|3-^%2JmQqbXWso!)PzrEx=_O4Z4ErBMl&84!dX*t*i^$n$yXQsYe8!=@7hkGcD>*lBI8K+{6mYlMiw+>HN xW}VC>duG}$^_PlAYO8^#4S|uIU4D17wiJr^!Wy#RI9A1V3eLQGsXlLB{s&#JaNqy{ diff --git a/mayan/apps/appearance/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/ro_RO/LC_MESSAGES/django.po index eab1e7508b..e7dbcf215b 100644 --- a/mayan/apps/appearance/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Stefaniu Criste , 2016 msgid "" @@ -9,16 +9,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-04-17 13:14+0000\n" -"Last-Translator: Stefaniu Criste \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" -"edms/language/ro_RO/)\n" -"Language: ro_RO\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:12 msgid "Appearance" @@ -46,8 +44,8 @@ msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via " +"e-mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 @@ -128,10 +126,8 @@ msgid "Create" msgstr "Creează" #: templates/appearance/dashboard_widget.html:25 -#, fuzzy -#| msgid "User details" msgid "View details" -msgstr "detalii utilizator" +msgstr "" #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 @@ -210,15 +206,11 @@ msgstr "Să începem" #: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" -msgstr "" -"Înainte de a putea utiliza Mayan EDMS în totalitate, trebuie sa faceți " -"următoarele:" +msgstr "Înainte de a putea utiliza Mayan EDMS în totalitate, trebuie sa faceți următoarele:" #: templates/appearance/home.html:46 -#, fuzzy -#| msgid "Search" msgid "Search pages" -msgstr "Căută" +msgstr "" #: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" @@ -244,8 +236,7 @@ msgstr "Prima autentificare" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "" -"Tocmai ați terminat de instalat Mayan EDMS, felicitări!" +msgstr "Tocmai ați terminat de instalat Mayan EDMS, felicitări!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -270,9 +261,7 @@ msgstr "Parola: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "" -"Asigurați-vă că pentru a schimba parola pentru a spori securitatea și pentru " -"a dezactiva acest mesaj." +msgstr "Asigurați-vă că pentru a schimba parola pentru a spori securitatea și pentru a dezactiva acest mesaj." #: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" @@ -281,6 +270,3 @@ msgstr "Înscriere" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Nici unul" - -#~ msgid "Home" -#~ msgstr "Acasă" diff --git a/mayan/apps/appearance/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/appearance/locale/ru/LC_MESSAGES/django.mo index c78354810cbbefb2817e2e8cc5594a3475d32c06..d79cb57da68248864f3a70636dfd2cf7dba48756 100644 GIT binary patch delta 1265 zcmX}rUr3Wt7{~GR+H!4~f2OIGscAXaTy1j}SzZ)KUSxmNw4e(YNl4LP8&pv3D!qw_ zB8aRmB!i5K@seHCZ4d+zT}7cmMp0e_UI=+p-{0$t4?FvubKZaFJkR?+4bOyfGXc+S zLnLT5wAYp~`|-pI{)h`6V^-ot^kNQI;VAm>2KwxjWjSEzBdF_-VKEM3 znA@3@d%_r&b6^~+a0*NDJ#NCU$j?~ZP4iwX!D`e3nz094aW#%$HQq#B_XL|Tj|KP% z{XE}%p~GU$57f%$Fo=t|1shnlj&~tbrW=c}5BZrSe=!_J9UpV&$8m)5Bx<2C(pH9h zu^)S}l;@jCI!*WrIoEu1{f(-^JhtHi9>Ny#PS;$*Dz0nws4g2A4q1hk-l{DT;^;tn@YFW_oPk^rL!r_B-6twd(=PcvCo%0 PEU=FTep&XJihb697n^zj delta 1459 zcmYk+OKeP09LMo9HCn039Lv{wn6+O{_2` zZthK0c#j3V_=rU~fwM84)=RMnd1Th2o^QllY(~a3`%x1K<8JK6S@;@@@hz(TcPzyT zOk;dAmuabCF{-2Gs2P@H8P;J5?nAvli?lTtF$=FDKXaE$0Q+$+j-u*KAV2e)%Q^gu zn)n&Qn8*00m%?7`N3HBHs^c8uTZ#)%9c-F%8)|oUV-4=bUD$&(HJ>m)&6uxK_kRe3 z`t{K1e9TAP`!KGVHc+^WEqED!B70*_XHQmqhzj8dmf zL`AZkSyy5MZotE+1>Q$}T~APF=soVh(Kv-Dg;HA6x9LN^K=&YlTe(~Xk|wG_^mQm{ zAjWl*R;|RgyIZBQk4*ROSy_qt9CeNqQI3S0;`2bE(0WjR$5Nhmi(VM2JW_L%M^_&4Yis=HQ7&ILe|0fKk1KY6M}p-3neK48Vdkt0#NFQdehVI2s^LhT*)vl+#n ztXf|n;0vy?{K5K~>tiz)R@M6ab-qBg6$sP^gB5;K=JrrD=4*+BI-?z-SXZRp>S*ui zs_G7Pwzt`pnV-G0?l=Rf^Ui=X>?G~%-2Sxcr>RrUb0_HxrY<=N%NgR`Nb01MOr1(y zvZ$KiCgBWOlTV#T+zi_f@_u+KX*kH;WAY2Jznp-aX(t@=*FzFn}{ F^AC%R($N3_ diff --git a/mayan/apps/appearance/locale/ru/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/ru/LC_MESSAGES/django.po index b31bbfe5f5..c3897fdc02 100644 --- a/mayan/apps/appearance/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # lilo.panic, 2016 msgid "" @@ -9,17 +9,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-07-14 11:22+0000\n" -"Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" -"language/ru/)\n" -"Language: ru\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:12 msgid "Appearance" @@ -47,19 +44,15 @@ msgstr "Ошибка сервера" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." -msgstr "" -"Тут какая-то ошибка. Её нужно сообщить администрации сайта по электронной " -"почте, и она будет исправлена. Спасибо за терпение." +"There's been an error. It's been reported to the site administrators via " +"e-mail and should be fixed shortly. Thanks for your patience." +msgstr "Тут какая-то ошибка. Её нужно сообщить администрации сайта по электронной почте, и она будет исправлена. Спасибо за терпение." #: templates/500.html:14 msgid "" "If you need assistance, you may reference this error via the following " "identifier:" -msgstr "" -"Если вам нужна помощь, вы можете сослаться на эту ошибку по следующему " -"идентификатору:" +msgstr "Если вам нужна помощь, вы можете сослаться на эту ошибку по следующему идентификатору:" #: templates/appearance/about.html:8 templates/appearance/about.html:57 msgid "About" @@ -133,10 +126,8 @@ msgid "Create" msgstr "Создать" #: templates/appearance/dashboard_widget.html:25 -#, fuzzy -#| msgid "User details" msgid "View details" -msgstr "сведения о пользователе" +msgstr "" #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 @@ -193,9 +184,7 @@ msgstr "Нет результатов" msgid "" "Total (%(start)s - %(end)s out of %(total)s) (Page %(page_number)s of " "%(total_pages)s)" -msgstr "" -"Всего (%(start)s - %(end)s из %(total)s) (Страница %(page_number)s из " -"%(total_pages)s)" +msgstr "Всего (%(start)s - %(end)s из %(total)s) (Страница %(page_number)s из %(total_pages)s)" #: templates/appearance/generic_list_subtemplate.html:14 #: templates/appearance/generic_list_subtemplate.html:17 @@ -217,15 +206,11 @@ msgstr "Приступая к работе" #: templates/appearance/home.html:25 msgid "Before you can fully use Mayan EDMS you need the following:" -msgstr "" -"Вам кое-что понадобится, прежде чем вы начнёте полноценно использовать Mayan " -"EDMS:" +msgstr "Вам кое-что понадобится, прежде чем вы начнёте полноценно использовать Mayan EDMS:" #: templates/appearance/home.html:46 -#, fuzzy -#| msgid "Search" msgid "Search pages" -msgstr "Поиск" +msgstr "" #: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" @@ -251,8 +236,7 @@ msgstr "Первое время входа в систему" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "" -"Вы только что закончили установку Mayan EDMS, поздравляем!" +msgstr "Вы только что закончили установку Mayan EDMS, поздравляем!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -277,9 +261,7 @@ msgstr "Пароль: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "" -"Обязательно измените пароль для повышения безопасности и отключения этого " -"сообщения." +msgstr "Обязательно измените пароль для повышения безопасности и отключения этого сообщения." #: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" @@ -288,9 +270,3 @@ msgstr "Вход" #: templatetags/appearance_tags.py:16 msgid "None" msgstr "Ни один" - -#~ msgid "Home" -#~ msgstr "Начало" - -#~ msgid "Space separated terms" -#~ msgstr "Поисковые запросы через пробел" diff --git a/mayan/apps/appearance/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/appearance/locale/sl_SI/LC_MESSAGES/django.mo index 4aeea11ec00626dba25a71b50b3d464873e27f88..981c57414de99a5e64cd79a0a13197f781ad55c9 100644 GIT binary patch delta 40 ocmdnMvVmp7A|7*H0~1{%Lj^-4E2D|)WO(6xGbAzFtqjaIUXNr10N)S_vH$=8 diff --git a/mayan/apps/appearance/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/sl_SI/LC_MESSAGES/django.po index 2d2955b2cb..65b0f248d9 100644 --- a/mayan/apps/appearance/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/sl_SI/LC_MESSAGES/django.po @@ -1,23 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" -"edms/language/sl_SI/)\n" -"Language: sl_SI\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" +"Language: sl_SI\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: apps.py:12 msgid "Appearance" @@ -45,8 +43,8 @@ msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via " +"e-mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 diff --git a/mayan/apps/appearance/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/appearance/locale/vi_VN/LC_MESSAGES/django.mo index 6ae170c99b30e5458d504bf502deada98bbd6f20..56bf7d5dbff7712ab14fc5d1a1aa5853d9b7ff8b 100644 GIT binary patch delta 443 zcmY+=ze~eF6u|L!No@VmL|Yt0A~;zg7VK$TsBTV9_D|?2g5aR&Rs@}jQ*iMQaO%(! zm(C8Z4kENrhk|o=UHraKgdV*6T#mc;R;%u!z0|nWAyL>_52kUMOt#lLN9hu4<@Juhj@ZxoJZ@5JW=!j zHNhv@w4raj!3i$mDOI(BOVkGLnbxt5K0f0%zMw~a8L?PnV~i30q9!WR)ei1q4x4z3 z=eURyq@T1ImT7Xmr!T2vna~DFH#4+3{vmyhZ2Vv%lTZ34F!6`;o~xC1_e-|CS+;c> Vciqtc->BAYB^kKaPJEVm`vYr4E$aXP delta 519 zcmXZY&npCB9LMoz##*ekeqENx9E7q{GsCW0CqIsAH&Pt8OpI8u8*VuG12m+RiySy8 z;^If4Epa0^2ep5LgWAh_e>YF_Jg;Y-=J|drZiD9hAU6deu$fHhJ+VKnF zN(zl*8>TUaizq=4aR*N^ggvAsS0xljl_qju{;UiMBS9%&8I7_^<7R(V8`4^?&$Wow zY|Od&jJK3i(>Zr7n^|`KkzkkqrC-Dorfr+ffMGewxMNy_mK92;%t?3M%XuqVb3BuG zlZIp23DX)d9oum1q?NdSsM^rm#uhvy?-lPJ^G0_5<+6Bx>=|=~+w8pW1YiFEx1dQx diff --git a/mayan/apps/appearance/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/appearance/locale/vi_VN/LC_MESSAGES/django.po index 60e968c777..5e2b4dab90 100644 --- a/mayan/apps/appearance/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/appearance/locale/vi_VN/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" -"mayan-edms/language/vi_VN/)\n" -"Language: vi_VN\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:12 @@ -44,8 +43,8 @@ msgstr "" #: templates/500.html:11 msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." +"There's been an error. It's been reported to the site administrators via " +"e-mail and should be fixed shortly. Thanks for your patience." msgstr "" #: templates/500.html:14 @@ -126,10 +125,8 @@ msgid "Create" msgstr "Tạo" #: templates/appearance/dashboard_widget.html:25 -#, fuzzy -#| msgid "User details" msgid "View details" -msgstr "Chi tiết người dùng" +msgstr "" #: templates/appearance/generic_confirm.html:6 #: templates/appearance/generic_confirm.html:13 @@ -211,10 +208,8 @@ msgid "Before you can fully use Mayan EDMS you need the following:" msgstr "" #: templates/appearance/home.html:46 -#, fuzzy -#| msgid "Search" msgid "Search pages" -msgstr "Tìm kiếm" +msgstr "" #: templates/appearance/home.html:48 templates/appearance/home.html:58 msgid "Search" @@ -240,9 +235,7 @@ msgstr "Đăng nhập lần đầu" msgid "" "You have just finished installing Mayan EDMS, " "congratulations!" -msgstr "" -"Bạn đã cài đặt xong Hệ thống quản lý tài liệu điện tử Mayan EDMS. Xin chúc mừng bạn!" +msgstr "Bạn đã cài đặt xong Hệ thống quản lý tài liệu điện tử Mayan EDMS. Xin chúc mừng bạn!" #: templates/appearance/login.html:25 msgid "Login using the following credentials:" @@ -267,9 +260,7 @@ msgstr "Mật khẩu: %(password)s" msgid "" "Be sure to change the password to increase security and to disable this " "message." -msgstr "" -"Bạn nên thay đổi mật khẩu để tăng tính bảo mật và để không nhìn thấy lời " -"nhắc này nữa." +msgstr "Bạn nên thay đổi mật khẩu để tăng tính bảo mật và để không nhìn thấy lời nhắc này nữa." #: templates/appearance/login.html:45 templates/appearance/login.html:54 msgid "Sign in" diff --git a/mayan/apps/appearance/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/appearance/locale/zh_CN/LC_MESSAGES/django.mo index f1b389e29bffb750dabc37bc9acdc11ab3ba7d21..61de3079f088ccc8415ef481584209d1ec6ecefe 100644 GIT binary patch delta 755 zcmX}qy)VN-9LMo%wG>rUJr@=6G)VLpB|3;m3_{{zAO;B%BY%KMIibH1Yn_amoE&_q}WHzW4ALJPIaWf}VXtX`zOxA(t`T=y&s>oL~{2 zVliIg6lSmxLj}L%jTj(qL-jjYi-TB!)7Xm3Hr~P#V-jYcMjZo(=*3Iyz%;Ukc|#Ar zqZatUPRwCDwlk>laXwmj3Zpn@<89P@yQqy^Ab&M!jIqAS(3qs-3w=077JHn+3~ItG zA3uKJ2!5mbhnP){qQ)m|JdgFni&%y0*oHe;j%TR<-JqZK&7JLdz((R{REA&H9BKg< z*>zw5wLlCt(WG@2n~4`}yn$WBn>Id1&6~nbyuidTjaU1F2p7!8O#@Yh`!S{YmNAv6 zB*-OyN@ccR32Rp>dLN;D>-S2VXzK*@u9WCsQIZ_Cij%){Wu?2;Bh=3RN|1&gQ4Lj( zsG1r`-MX``!nLKeGAfPG0#A FegNc%L!AHs delta 785 zcmXxi&nv@W9Ki8sKMfl;=C}DGqgd^`wH-*waTh<1ZbBiEtQ2KY&JMUK?I2RiVNGtX z9ObY?JI$|)e?ZCm^WEcV&+~eIeD{2wUl)PrK&BLMo+y$*?v!j(YDlzGknXVxAFvu9 zaSC71jl+)0cpU3!kD~Oaumz{F0hh4{w{`mzYm~~U9FHId~l{3k=o08ge{-vMfd(p*%DW!Ak9v@($$g zyR9DU;pkcgIZkIjXaBHyjD^MY-16#X{?J)(^Clyv8HvS>Xlx{Lbmi*wB_q*zBxV{h Xb0nI~Ke=w~?($vseee2c-*f&4Yq>k+Fh-k(KG>BE~h7wV9%Ld=m50OB2&mtrQZAHn%YOG6DcU CUJc9u diff --git a/mayan/apps/authentication/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/authentication/locale/bg/LC_MESSAGES/django.mo index 51c2d9a4071b6dc742a008e00661c1d45a54edb3..b1a26a59fb92c283f35074e6921fad6780e925b9 100644 GIT binary patch delta 45 zcmZ3%wt{Vg4kM4bu7QcJk)eX2k(JS83&!<4K8bnhrHSdORtib!lbk+Fh-k(KFW3&!=6zc5De_$20~mnNpCS}7!@PxfWH4FDs* B4f_B9 diff --git a/mayan/apps/authentication/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/authentication/locale/bs_BA/LC_MESSAGES/django.mo index 7e6cdb88d10fb9ae2a819f7866b11a222faa376f..53ef82d6ab081534240255a1b977a9ac70aca988 100644 GIT binary patch delta 48 zcmZo=Z)M+*#>iu?Yha>lWT;?hWMwqDi18%9PhwtrX<~Y+l|oW+yp!W(E2iklOPL-3 E07p*_+5i9m delta 48 zcmZo=Z)M+*#>iu)YiOuzWUOFdWMw+Ji1FlPZ>A`IpTxZM(!}&sD}|)ucqhlnOPC%4 E07h93>i_@% diff --git a/mayan/apps/authentication/locale/da/LC_MESSAGES/django.mo b/mayan/apps/authentication/locale/da/LC_MESSAGES/django.mo index a406f7aafe589b2d068ec7140679fb2f9c0de7a8..d6d799e0aac84635416727377351f638f7c881b9 100644 GIT binary patch delta 43 zcmeyy{Ed0S5*~A10~1{%Lj^-4E2D`U*6{cw=B1Y=rl(pdq$Ey`W{jSEn9&#jK@bj# delta 43 zcmeyy{Ed0S5*{;MLqlC7V+8{vE7OS^)=bW1jN?&aRFkcr1!*T6*A$WX!1$jWH)TBd{iK8bnhrHSdORthPp@h+~DbD5(z-(cR# F2moyi54r#V delta 49 zcmeC>?&aRFkcr1k*U(Vc$XLO^$jWr`TBd`O>zJeXeG>E1OB2&mtrSvH<6T@gUuWLN F2mo(?56b`m diff --git a/mayan/apps/authentication/locale/en/LC_MESSAGES/django.mo b/mayan/apps/authentication/locale/en/LC_MESSAGES/django.mo index 21eaaf8a16f9acc1b4baa8fa1e5f6db91cbca6d9..fa72cf2a1946688bd759d1c17e2c1ddd2ab1ccfe 100644 GIT binary patch delta 22 dcmeyx^owai7mvBFfr+k>p@N~2mC?j$PXJcW2XO!Z delta 22 dcmeyx^owai7mt~)p`oskv4Vk-mFdK3PXJcH2XX)a diff --git a/mayan/apps/authentication/locale/es/LC_MESSAGES/django.mo b/mayan/apps/authentication/locale/es/LC_MESSAGES/django.mo index 8f5caa87a82c675f6a75fdbc2891d31dc011ec2d..cf6fec46c4462f48c518a01259fe6563e13435cb 100644 GIT binary patch delta 46 zcmZ3+y^MRqLM9$_T>}$cBSQs4BP*lHYnc}F_$20~mnNpCS}CL!Pxfby-n^apJtF`{ C*ADFf delta 46 zcmZ3+y^MRqLM9$FT|+}%BVz>vBP-L%Ync{Lj%AMG@kz`}FHKBOwNgke-n@k+Fh-k(KFWIi|IfZ!ksi_$20~mnNpCS}CL@ZZ>3YU<3dx Chz)H3 diff --git a/mayan/apps/authentication/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/authentication/locale/fr/LC_MESSAGES/django.mo index f0be360e41246776aa47fc53db9953f014208aa1..2ab06829961d676c44a3bcc213b27d9d150bc084 100644 GIT binary patch delta 46 zcmbQmJ&Sw8LM9$_T>}$cBSQs4BP*lHYnhJl_$20~mnNpCS}CLzO)g-L-h6}k5F-Fa C$qx$v delta 46 zcmbQmJ&Sw8LM9$FT|+}%BVz>vBP-L%YnhHru49hk@kz`}FHKBOwNgkc+I*e)Fe3m+ CM-LeQ diff --git a/mayan/apps/authentication/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/authentication/locale/hu/LC_MESSAGES/django.mo index 4705a4e2564250c649bd323bcfe09d9d179bff6d..5cf675156d1f7aceb12eb59d7c90fe1002376ada 100644 GIT binary patch delta 43 zcmZo8Vx<8Ksls7^5d2W3&bU96}At delta 43 zcmZos}^^}$cBSQs4BP*lHYZy21_$20~mnNpCS}A0vOpa!Xo_v^T4FFF< B4vBP-L%YZy07&SZ+>@kz`}FHKBOwNl7TnS6+8EdWoz B4>JG& diff --git a/mayan/apps/authentication/locale/it/LC_MESSAGES/django.mo b/mayan/apps/authentication/locale/it/LC_MESSAGES/django.mo index b2c2dbdc310166be41ecdf0a784309d9d637cd03..b92287e8e40fda41ddfeb89c6f28f23c2c37aec2 100644 GIT binary patch delta 46 zcmaFC^@3}|LM9$_T>}$cBSQs4BP*lHYncx4_$20~mnNpCS}A0fOwM7B-h7353L^kv CDi3e~ delta 44 zcmaFC^@3}|LM9$FT|+}%BVz>vBP-L%YncvAu40bj@=44~FHKBOwNlu8k$E~J07Ib; Ap8x;= diff --git a/mayan/apps/authentication/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/authentication/locale/nl_NL/LC_MESSAGES/django.mo index 41fb75b73f4451b17475d03c409df58f4a8c57d3..e1d9319ec69746ae1f6be0c7bc32dad522fa7e87 100644 GIT binary patch delta 49 zcmbQlJ&Ak6LM9$_T>}$cBSQs4BP*lHYnd+a`y}S2mnNpCS}Ek^#QXV7u3?Ve{G53; FBLH%(5D5SP delta 49 zcmbQlJ&Ak6LM9$FT|+}%BVz>vBP-L%Ynd)g?q!bR_eso4FHKBOwNl8-iTCr_{ET@G FBLH=X5E=jg diff --git a/mayan/apps/authentication/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/authentication/locale/pl/LC_MESSAGES/django.mo index d9dcf936db36b35a53dd4ab6f5d0815175887e4d..9c0ceb0f32740e5ee36b34cf7537fa7e982d232f 100644 GIT binary patch delta 46 zcmaFG^@?l5LM9$_T>}$cBSQs4BP*lHYncx6_$20~mnNpCS}7FdOwMJF-h7pLDkA`5 C01tNn delta 46 zcmaFG^@?l5LM9$FT|+}%BVz>vBP-L%YncvCu4azn@kz`}FHKBOwNfa^*?fh08Y2K> CM-PPn diff --git a/mayan/apps/authentication/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/authentication/locale/pt/LC_MESSAGES/django.mo index 940c4fd966b76fee71d09a00336a8cf2b9e0d1c9..ff366495103ed636fe3bd264af2cca45cbc25cd0 100644 GIT binary patch delta 45 zcmZ3&zJz_ld`2E~T>}$cBSQs4BP*lHs~Iow_$20~mnNpCS}7EiOs-;zp8SaE5CA%I B4;laf delta 44 zcmZ3&zJz_ld`2EKT|+}%BVz>vBP-L%s~Im$?qG`I_DRf3FHKBOwNfaU{DA2Q04-Jy Avj6}9 diff --git a/mayan/apps/authentication/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/authentication/locale/pt_BR/LC_MESSAGES/django.mo index d5aa336217f5bca2c83ab97084554c16fe4a7f46..0a124d9830c16f194fc2cd75fac8a2b857047c22 100644 GIT binary patch delta 49 zcmeyv^@nT2LM9$_T>}$cBSQs4BP*lHYnjgQ`y}S2mnNpCS}7Ei#5)B|u3(Pd{Fr$r FBLJC?5WxTd delta 49 zcmeyv^@nT2LM9$FT|+}%BVz>vBP-L%YnjeW?qrVQ_eso4FHKBOwNfZ3iFXRx{D^rL FBLJKl5Yhku diff --git a/mayan/apps/authentication/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/authentication/locale/ro_RO/LC_MESSAGES/django.mo index 1020060a2f5398fbf881b063e2d3d5a69a9410e4..e8670b7c9c781a0aac27afcd5c4a9e999fc892b3 100644 GIT binary patch delta 48 zcmaFO_L^-&8Y7Rnu7QcJk)eX2k(JTpBF5ePK8bnhrHSdORtiP=@j?ERb(o?jPiMLU E0BkQ0m;e9( delta 48 zcmaFO_L^-&8Y7RHuA!l>k+Fh-k(KG>BF5d5ZJDC@eG>E1OB2&mtrUv#@~ diff --git a/mayan/apps/authentication/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/authentication/locale/ru/LC_MESSAGES/django.mo index a0b7b1afc7c1c970c047a21395a7d0bfcebc2854..2f315a97a2f95666c6b0e214f488228800e2023e 100644 GIT binary patch delta 46 zcmaFC`+|4FLM9$_T>}$cBSQs4BP*lHYnkTp_$20~mnNpCS}7EjPWEDs-n@y~j2Qr3 CKMuYC delta 46 zcmaFC`+|4FLM9$FT|+}%BVz>vBP-L%YnkRvj$n@B@kz`}FHKBOwNfZ5-Mo?6oEZRI ClMc)P diff --git a/mayan/apps/authentication/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/authentication/locale/sl_SI/LC_MESSAGES/django.mo index a04f021c5a9a0e3b9ea587cb646598919886ea31..3247b4ca8303ae39ddb34a5d9ccefa8c511bb259 100644 GIT binary patch delta 46 zcmbQiGJ|D8E04LZfr+k>p@N~2mC?kBd-;75^U_Nb(^IV!igV(FJtzAzMo-?sm;eAs CCl1d5 delta 46 zcmbQiGJ|D8E03A3p`oskv4Vk-mFdKZdnd;+M)CV3=B1Y=rl(pd6z9YTdrscYmdH?_b delta 48 zcmeyw`iXUeCL@oTuA!l>k+Fh-k(KFWQ^tLhnVF*aeG>E1OB2&mtrW^K}$cBSQs4BP*lH-xzoB`y}S2mnNpCS}9az#5?;vBP-L%-xzmH-p3Th?~|C9UYeMmYNb$>5%26bS)BPc E0GdA#xBvhE diff --git a/mayan/apps/cabinets/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/ar/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..fd2a0cfbefb217e310f404cc9e6714ed52319aa7 GIT binary patch literal 772 zcmYk2J#W)M7{?DNAdG|%Gs7)ZAh`G?DWpzaa1$3Ik|qjiCAwYhYho1pqPt5{BorcD;IgyRqSEH7XTp3mVHFRb1G(&bu^^u8&5eoJtpmyKFC= z(*>7Qgk0zf2BdE0mx=|Q3jLN=uhzZ!zc6!#R_3vSA4l5H`|w7^_LSc5(J(Gyze|N= z%GqqMlj6KDy=j*T;>A7>!nkAO;!ddkeWZ=4(3-u0pgpqAMI>z;_p_sP?w0V>IHQ> sGDaZ#$r0GYmm0Y>TE_y7O^ literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/locale/ar/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/ar/LC_MESSAGES/django.po index bbec87b79c..fabd669195 100644 --- a/mayan/apps/cabinets/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/cabinets/locale/ar/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,14 +10,13 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: Mohammed ALDOUB , 2017\n" +"Language-Team: Arabic (https://www.transifex.com/rosarior/teams/13584/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 #: views.py:153 @@ -50,7 +49,7 @@ msgstr "" #: links.py:67 msgid "Edit" -msgstr "" +msgstr "تحرير" #: links.py:71 msgid "All" @@ -58,7 +57,7 @@ msgstr "" #: links.py:74 msgid "Details" -msgstr "" +msgstr "التفاصيل" #: models.py:22 msgid "Label" @@ -66,7 +65,7 @@ msgstr "" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "الوثائق" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" @@ -126,7 +125,8 @@ msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" #: serializers.py:69 serializers.py:175 @@ -180,13 +180,17 @@ msgstr "" #: views.py:198 msgid "Add" -msgstr "" +msgstr "إضافة" #: views.py:200 msgid "Add document to cabinets" msgid_plural "Add documents to cabinets" msgstr[0] "" msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" #: views.py:211 #, python-format @@ -219,13 +223,17 @@ msgstr "" #: views.py:282 msgid "Remove" -msgstr "" +msgstr "إزالة" #: views.py:284 msgid "Remove document from cabinets" msgid_plural "Remove documents from cabinets" msgstr[0] "" msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" #: views.py:295 #, python-format diff --git a/mayan/apps/cabinets/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/bg/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..ddcf7f6bb3d986bf84f8505b4cd9eb10df2911b3 GIT binary patch literal 731 zcmY+AL2DC16vs!cimP}i;>p8!YpIjXu9b$35z}N_gH03STF~2MGu@1AcEZdgX~9EL zJbKfcphrE3Rl1keHQ*xf6v*N| za0d7QoCiJv7l0I)0e%8m?=N8Q6hePMF9AEJ5xNZe5_A^y4d_+SPoP&oe}jU364`tx zC-bH!2%SAjve}a;cRHxbH07~ERS^z)EYS-29j;M}^~8{&rW8+Ds7b9uHkedgBpz;- zEBDK*KHl(K4{D8dtHt_4YEoAb?~vs|q(~qN25{hM5`@@0*{ckh8|@*H*Xad?RI3(TlHGqKmHphm$xb+(eRNZ*zUudHQUm5 zKc+k>;;>7lV!HG&SRsXDU$*2Xlf+L#(cwwt;X<41|9g749a+tIAZbiigzPB~C;dsO zN^TKP)6!gmua~ehU$l^UWe&|}vunPXuUV0fpF#1>e4mzwW`F$L{4l9GfD3TEgLDrZ a`&l{Of$YGf$h?I#1>f%YMRov}Df$QD6Xiny literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/locale/bg/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/bg/LC_MESSAGES/django.po index d96f0d6fa2..2eae0e8d95 100644 --- a/mayan/apps/cabinets/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/cabinets/locale/bg/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,12 +10,12 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: Iliya Georgiev , 2017\n" +"Language-Team: Bulgarian (https://www.transifex.com/rosarior/teams/13584/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 @@ -49,7 +49,7 @@ msgstr "" #: links.py:67 msgid "Edit" -msgstr "" +msgstr "Редактиране" #: links.py:71 msgid "All" @@ -57,7 +57,7 @@ msgstr "" #: links.py:74 msgid "Details" -msgstr "" +msgstr "Детайли" #: models.py:22 msgid "Label" @@ -65,7 +65,7 @@ msgstr "" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "Документи" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" @@ -125,7 +125,8 @@ msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" #: serializers.py:69 serializers.py:175 @@ -179,7 +180,7 @@ msgstr "" #: views.py:198 msgid "Add" -msgstr "" +msgstr "Добави" #: views.py:200 msgid "Add document to cabinets" @@ -218,7 +219,7 @@ msgstr "" #: views.py:282 msgid "Remove" -msgstr "" +msgstr "Премахнете" #: views.py:284 msgid "Remove document from cabinets" diff --git a/mayan/apps/cabinets/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/bs_BA/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..9bff785deecada4d4fdb8dedd2b096ae7d11b010 GIT binary patch literal 764 zcmYLH%Wl&^6g5y@X2+Vvu%Jo=6F*u+>a;?}K(-NW^2hV5a#d z?^PU)@nDF15jq$KgZ{(U!=u!o}8m`?HT*GVP, YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,13 +10,13 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: www.ping.ba , 2017\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (https://www.transifex.com/rosarior/teams/13584/bs_BA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 #: views.py:153 @@ -49,7 +49,7 @@ msgstr "" #: links.py:67 msgid "Edit" -msgstr "" +msgstr "Urediti" #: links.py:71 msgid "All" @@ -57,7 +57,7 @@ msgstr "" #: links.py:74 msgid "Details" -msgstr "" +msgstr "Detalji" #: models.py:22 msgid "Label" @@ -65,7 +65,7 @@ msgstr "" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "Dokumenti" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" @@ -125,7 +125,8 @@ msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" #: serializers.py:69 serializers.py:175 @@ -179,13 +180,14 @@ msgstr "" #: views.py:198 msgid "Add" -msgstr "" +msgstr "Dodati" #: views.py:200 msgid "Add document to cabinets" msgid_plural "Add documents to cabinets" msgstr[0] "" msgstr[1] "" +msgstr[2] "" #: views.py:211 #, python-format @@ -218,13 +220,14 @@ msgstr "" #: views.py:282 msgid "Remove" -msgstr "" +msgstr "Ukloniti" #: views.py:284 msgid "Remove document from cabinets" msgid_plural "Remove documents from cabinets" msgstr[0] "" msgstr[1] "" +msgstr[2] "" #: views.py:295 #, python-format diff --git a/mayan/apps/cabinets/locale/da/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/da/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..e61265002f2e5f03973b7a82c37700e837c8da59 GIT binary patch literal 561 zcmYL`+m6#P5J1CCKpuGpX?Q`q0yh_ms9d_*(qy5cX{r)df+vQ=n|ev?$ad)RA$$Zs z#kVl&B6g&snX%^LnfdeR?k|tz4)K^66ZeP}G00cqK7qtTLK44kd7dTxfOvA-^L*0J zNYnE{hFauaOClV~#(Ie^`&KAty^YbAqI7Iov2$Up)QZDqzW6YIm%@3v{kY86{#JC_ zIF{L3R_twGTUKZe{w6Qj!U%Mf#1eFZLmWo0SvY2K1X0Z6nCvj5K(-Y>Gtz(5jWgB$baLBN-uo}TyipB~BZ>%&;uc{i+RHt=Ivy4jJ zp1e3TrhHZRSPNDNY&j&Tq}{>M&biL=AlUEsBR5o+7vgHj3yijCq&9)01RF#zUrokA zg~73(Ewl7yA<-!G7g{;m7%P5uG^i6-F6bJRY6|5JjTLV8sW@Yko4BFVg)l5trLLr^ zIZVDu_y3a|D)cu^Z?Iu!+O(E~>JF}*#Z$O8XGaR2&LBFT`rdH6=293s-uJ`t$ovby Cj+`|B literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/locale/da/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/da/LC_MESSAGES/django.po index d96f0d6fa2..38b55423c0 100644 --- a/mayan/apps/cabinets/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/cabinets/locale/da/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,12 +10,12 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: Mads L. Nielsen , 2017\n" +"Language-Team: Danish (https://www.transifex.com/rosarior/teams/13584/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 @@ -57,7 +57,7 @@ msgstr "" #: links.py:74 msgid "Details" -msgstr "" +msgstr "Detaljer" #: models.py:22 msgid "Label" @@ -65,7 +65,7 @@ msgstr "" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "Dokumenter" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" @@ -125,7 +125,8 @@ msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" #: serializers.py:69 serializers.py:175 diff --git a/mayan/apps/cabinets/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/de_DE/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..db2c00a95a3138f4ad6b04ac9a9951b608fa75f0 GIT binary patch literal 1950 zcmaKrJ!~9B6vr0`UkBkM1j3ilfMR5etj~7@Vb&btY;PO~+jp45Qc_^e-9F!~Jv(d7 z%=xROKms8us3>XDP?{z}LavYkJq2_~6o?|!k@&y$uFn?>k2L$+nfKnjdHJ7@G0;T$m`a?N5KYo2D}b(-cP^>K?SnE0eQVo!B@b~ z!Smovko|uI_fgYru*QA}ehmBx5jQKjqd8fh0!MU6*kk^+W$8CXJ z=a=9G@Eefp`92@-gRI-HAlLI3SOV|l^LO*{1qAU~yauvg4ZH}>VW39Mx4XkI;u7U%Xp2-ff>jRNhy0cDW)6c3T5kp!9Th?M46QdyiX7!Aym;El zSb_P*3d@O!fs6IRD0bPW@V4FpSMD{XL2*LrNE}WqQ<83xcZg%vubDI%1n1`A$(0z2 z97)tP={j|sKOgxkWNe)3Ks4(!AJpeUu@WwSG~ZY%Ez@RdoWE$hapX_;yVh@|fhaW_ zEk6?nLH;Z>3Pg3H^0q&5*{@bar5aSL_@9`7qrXgBF)yC`T@UNa{$j(Qt&6LTU~&G9 z8;zx~v>>hXTSjWDq)Sa8u921NQiNM%RIIz=-E|yf_WOP}fxP3LGxw@)@Z)4_Wc*Nf z(g<|~VzM2(qa6n#%T;QszLCnmlA6Q@LT_e6TdPiq!{6Gd7O&PsWo)YC-Sc9S*oi16 zOUcP6lRcG~j1z4#6!WXO8tc9O+QF?ZY23$+?B$Ty>x=pZDzlv)cDx~a$Gn!PPaJ~n*Pu8R4=OUw(^{?Sq>b0EO6 z`7Fi2;!Tq@ZD@BgO?zOOrag)~Jx#_t_?ETK3wlU-*|)>e<9g*z P^;1m6VHJW{Vjcbi_Dcw_ literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/de_DE/LC_MESSAGES/django.po index c17169b1f3..88f7f4686e 100644 --- a/mayan/apps/cabinets/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/cabinets/locale/de_DE/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,107 +10,107 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: Jesaja Everling , 2017\n" +"Language-Team: German (Germany) (https://www.transifex.com/rosarior/teams/13584/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" +"Language: de_DE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 #: views.py:153 msgid "Cabinets" -msgstr "" +msgstr "Aktenschrank" #: links.py:27 links.py:38 msgid "Remove from cabinets" -msgstr "" +msgstr "Aus Aktenschrank entfernen" #: links.py:31 msgid "Add to a cabinets" -msgstr "" +msgstr "Zu Aktenschrank hinzufügen" #: links.py:35 msgid "Add to cabinets" -msgstr "" +msgstr "Zu Aktenschrank hinzufügen" #: links.py:55 msgid "Add new level" -msgstr "" +msgstr "Neue Ebene hinzufügen" #: links.py:60 views.py:39 msgid "Create cabinet" -msgstr "" +msgstr "Aktenschrank anlegen" #: links.py:64 msgid "Delete" -msgstr "" +msgstr "Löschen" #: links.py:67 msgid "Edit" -msgstr "" +msgstr "Bearbeiten" #: links.py:71 msgid "All" -msgstr "" +msgstr "Alle" #: links.py:74 msgid "Details" -msgstr "" +msgstr "Details" #: models.py:22 msgid "Label" -msgstr "" +msgstr "Bezeichner" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "Dokumente" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" -msgstr "" +msgstr "Aktenschrank" #: models.py:67 serializers.py:135 msgid "Parent and Label" -msgstr "" +msgstr "Überebene und Bezeichnung" #: models.py:74 serializers.py:141 #, python-format msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" +msgstr "%(model_name)s mit diesem %(field_labels)s existiert bereits." #: models.py:86 msgid "Document cabinet" -msgstr "" +msgstr "Dokumenten-Aktenschrank" #: models.py:87 msgid "Document cabinets" -msgstr "" +msgstr "Dokumenten-Aktenschränke" #: permissions.py:12 msgid "Add documents to cabinets" -msgstr "" +msgstr "Dokumente zu Aktenschrank hinzufügen" #: permissions.py:15 msgid "Create cabinets" -msgstr "" +msgstr "Aktenschränke anlegen" #: permissions.py:18 msgid "Delete cabinets" -msgstr "" +msgstr "Aktenschränke löschen" #: permissions.py:21 msgid "Edit cabinets" -msgstr "" +msgstr "Aktenschränke bearbeiten" #: permissions.py:24 msgid "Remove documents from cabinets" -msgstr "" +msgstr "Dokumente aus Aktenschrank entfernen" #: permissions.py:27 msgid "View cabinets" -msgstr "" +msgstr "Aktenschränke ansehen" #: serializers.py:20 msgid "List of children cabinets." @@ -125,7 +125,8 @@ msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" #: serializers.py:69 serializers.py:175 @@ -179,7 +180,7 @@ msgstr "" #: views.py:198 msgid "Add" -msgstr "" +msgstr "Hinzufügen" #: views.py:200 msgid "Add document to cabinets" @@ -218,7 +219,7 @@ msgstr "" #: views.py:282 msgid "Remove" -msgstr "" +msgstr "Entfernen" #: views.py:284 msgid "Remove document from cabinets" diff --git a/mayan/apps/cabinets/locale/en/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/en/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..2003843bf5bfde5dc01b6228ef37f47f8bc758d2 GIT binary patch literal 429 zcmYL_yH3L}6ox@CWn^aXzy_xz5fa61QA6XFh}@K>6|kAsgrL-pY!|_U@OnH8CxGaY zKKb_9{_U@$!_PgeedHK9K@N~Jq^mw+aPbP;&iSugt5>nI5UpV;w5gS(Bo8Kc!Hkh5 zE9Oy_I)!MJwvd>rUc=3{GEgc?oIERGq6N3O2|{iKCBExjf_nkJM?9bUKK5M~MJU8u z-5vhtJ+PpFB!e&@w;4^M)5k1jPRxykQgdkiWmIP5e4#Kct^Z7NZ zvfA=WKq>f!k~m0bi!Smoj>k>iQ@YwY7&VC!wtJt~bDfEjR!F?=qs81-yxa4(;k6u) z)eF}~*wLb#LVxFVv7UtnCRb`*%ZifzQ*E8R*=pXvROyYOM7BReGm6rZ%~&xYzY`;N MpLfCWHwVt%H|=FF9R*Klt+0@0|A$^cH+L>21pa9M9oXC8;J^3O}rC(+T9&@W^Fe; zapwe5PjEp!a6kwNP!C85iCnl;h!cVX7sM5g2yx;6?X1^!oc6%VyT9F;Z@&3nGvnWO z@3_uz<#9iY`<=TOI|6=uHy*fJ_b_$>yaM9KKEvZV@C&d6-U6Qn*$&1Y0rr89gL&{V za0=W7E`v1wB6vSo2Oj`0gB*;(W8ihL0^S05f_v_DM2dmbcx0(=5g z;G^JsAkF^)_#k)#gi7{#+W#d;_HKgsv7hjG2>cm*75p8f`F7&L!M)%q@F@5^XhHJx zLvRlK6g&g|36kEUFzO~^ISU@b_rGwK>@32Vaqt*81HKFH2R{MH{!Nhb@N4@0cgmeP zXXiMGA3KQ0!{AZyAUFfgf*QO4ehpF_cEPFLAO~R@I|S|l%ivSs5=ePyfcwA}NO651 zq`ck$p^AMA()b_1z2J`^>G=bs@&ABi&)s-XUF-s>{WSP8cormo4LAng1WC^?;41hR zSOez}JhJ;E5aCN|jq2tV+%Mv$F%&P#0bS%9>8IS1ozLK=yi*J*4;1qkaOZJTNz>e< zpM0nKq8yT66nnZjZpsh&h7w3F@`J9V&fRPBq&U$<_1(K(N?#C;B%bsM*OD5fcQ&36 zwJ(E@O|kQ*o+QC0lAhif&>Eu zj_dVIId2&i3bVm4%Z)@i#!)nq_@_~X7KA;PJ)gFGS~d$aVws{R)oV@+O*N4#Z$J(% z2GpOB%o*rsv%O@djUx>hnTl9e@l~8WhEz~%ufehfDj&8aI;tUJrK2)iYKLpm493B7 z9Su3{l3ZX_8S0Kq(GS~5p*gv}z`D_4--Io_mj9pb;W0JjpH>WcF__8~ z8p^FK*Sw_OFvy!l*_C-|V)B?bao8(O^2t)URKokj1O&aR>?l&6%Dr8gu6m2h-t07g zYq`8QfAGTcQYE(_Z0yyHh-@I>bD38)l8+j%YAcM={FHGG1>+hD4INz*fxPx+BSfJV z>NNLd|BW!W< z(2?VZi_#Vkd{cIpfY5A2lc1~ng z$w(reLFRjUVq~(Zuk|)+&khN?jlPabM;LhrwxGpuk(li30$aeg-rMGV!LhI~WhgAi zIt>ERfj+m2l e(5O4ol%>@s3S^|Pw6XyAD*{S!mJB2kUjGN~{L@GP literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/locale/es/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/es/LC_MESSAGES/django.po index d96f0d6fa2..7687a1e4b8 100644 --- a/mayan/apps/cabinets/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/cabinets/locale/es/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,66 +10,66 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: Roberto Rosario , 2017\n" +"Language-Team: Spanish (https://www.transifex.com/rosarior/teams/13584/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 #: views.py:153 msgid "Cabinets" -msgstr "" +msgstr "Archivadores" #: links.py:27 links.py:38 msgid "Remove from cabinets" -msgstr "" +msgstr "Remover de archivador" #: links.py:31 msgid "Add to a cabinets" -msgstr "" +msgstr "Agregar a archivadores" #: links.py:35 msgid "Add to cabinets" -msgstr "" +msgstr "Agregar a archivadores" #: links.py:55 msgid "Add new level" -msgstr "" +msgstr "Agregar un nuevo nivel" #: links.py:60 views.py:39 msgid "Create cabinet" -msgstr "" +msgstr "Crear archivador" #: links.py:64 msgid "Delete" -msgstr "" +msgstr "Borrar" #: links.py:67 msgid "Edit" -msgstr "" +msgstr "Editar" #: links.py:71 msgid "All" -msgstr "" +msgstr "Todos" #: links.py:74 msgid "Details" -msgstr "" +msgstr "Detalles" #: models.py:22 msgid "Label" -msgstr "" +msgstr "Etiqueta" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "Documentos" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" -msgstr "" +msgstr "Archivador" #: models.py:67 serializers.py:135 msgid "Parent and Label" @@ -78,39 +78,39 @@ msgstr "" #: models.py:74 serializers.py:141 #, python-format msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" +msgstr "%(model_name)s con este %(field_labels)s ya existe." #: models.py:86 msgid "Document cabinet" -msgstr "" +msgstr "Archivador de documento" #: models.py:87 msgid "Document cabinets" -msgstr "" +msgstr "Archivadores de documento" #: permissions.py:12 msgid "Add documents to cabinets" -msgstr "" +msgstr "Agregar documentos a archivadores" #: permissions.py:15 msgid "Create cabinets" -msgstr "" +msgstr "Crear archivadores" #: permissions.py:18 msgid "Delete cabinets" -msgstr "" +msgstr "Borrar archivadores" #: permissions.py:21 msgid "Edit cabinets" -msgstr "" +msgstr "Editar archivadores" #: permissions.py:24 msgid "Remove documents from cabinets" -msgstr "" +msgstr "Remover documentos de archivadores" #: permissions.py:27 msgid "View cabinets" -msgstr "" +msgstr "Ver archivadores" #: serializers.py:20 msgid "List of children cabinets." @@ -118,19 +118,26 @@ msgstr "" #: serializers.py:23 msgid "Number of documents on this cabinet level." -msgstr "" +msgstr "Número de documentos en este nivel de archivador." #: serializers.py:27 msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" +"El nombre de este nivel de archivador anejado a de los archivadores que lo " +"contienen. " #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" +"URL del servicio de la API que muetra los documentos contenidos en este " +"archivador. " #: serializers.py:69 serializers.py:175 msgid "Comma separated list of document primary keys to add to this cabinet." msgstr "" +"Lista separada por comas de llaves primarias de documentos para agregar a " +"este archivador." #: serializers.py:154 msgid "" @@ -140,32 +147,32 @@ msgstr "" #: templates/cabinets/cabinet_details.html:21 msgid "Navigation:" -msgstr "" +msgstr "Navegación:" #: views.py:70 #, python-format msgid "Add new level to: %s" -msgstr "" +msgstr "Agregar un nuevo nivel a: %s" #: views.py:83 #, python-format msgid "Delete the cabinet: %s?" -msgstr "" +msgstr "¿Borrar archivador: %s?" #: views.py:111 #, python-format msgid "Details of cabinet: %s" -msgstr "" +msgstr "Detalles de archivador: %s" #: views.py:142 #, python-format msgid "Edit cabinet: %s" -msgstr "" +msgstr "Editar archivador: %s" #: views.py:177 #, python-format msgid "Cabinets containing document: %s" -msgstr "" +msgstr "Archivadores que contienen el documento: %s" #: views.py:188 #, python-format @@ -179,22 +186,22 @@ msgstr "" #: views.py:198 msgid "Add" -msgstr "" +msgstr "Agregar" #: views.py:200 msgid "Add document to cabinets" msgid_plural "Add documents to cabinets" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Agregar document al archivador" +msgstr[1] "Agregar documents a los archivadores" #: views.py:211 #, python-format msgid "Add document \"%s\" to cabinets" -msgstr "" +msgstr "Agregar documento \"%s\" a archivadores" #: views.py:222 msgid "Cabinets to which the selected documents will be added." -msgstr "" +msgstr "Archivador a los cuales el documento seleccionado va a ser agregado." #: views.py:250 #, python-format @@ -218,18 +225,18 @@ msgstr "" #: views.py:282 msgid "Remove" -msgstr "" +msgstr "Eliminar" #: views.py:284 msgid "Remove document from cabinets" msgid_plural "Remove documents from cabinets" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Remover documento de archivadores" +msgstr[1] "Remove documentos de archivadores" #: views.py:295 #, python-format msgid "Remove document \"%s\" to cabinets" -msgstr "" +msgstr "Remover documento \"%s\" de archivadores" #: views.py:306 msgid "Cabinets from which the selected documents will be removed." diff --git a/mayan/apps/cabinets/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/fa/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..1013ada7e96f45f617d9fd1c1bb32439fa49e65c GIT binary patch literal 755 zcmYL_zi$&U6vqveUk4L2gGUfJmkUKi7lH`M6(X7@IzlB7i<5J%hwjdi?KGuZm#70P z8#9RzD71x*KY$Kw9UMSNEG)3FG4h;*_DLUq{hr=?e$U@8EWAKqXMl^q6W|>15-|1& zI05Vfr-0AEY2W}j3w#3>fS{s7}+2>k^;4~&k_;vYbb{}I#z-JkmhbN>gZ zss9ZMkKsnf6Cg5R0Fcggp7FV;zp@_zjW8btDgU$T3@kz*5yKxnhc|W-06jqG`WkdM!iYO zf>8xUq(T*QaW3oJAlXHdbFhE(l!sGG<0#k6{*81 zUEHBoBklEg6Ib!E{h;Muj9Em%koCtG@VvaQFH0n%^vyU7;PZ}hHy_4T

            ', + ((document_metadata.metadata_type,document_metadata.metadata_type_id,document_metadata.id,document_metadata.value) + for document_metadata in document.metadata.all() + ) ) From 105eab07400b957d2556210bc72477d8d78eef77 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 4 May 2017 01:04:53 -0400 Subject: [PATCH 143/144] Add new document version list view permission. GitLab issue #379 Signed-off-by: Roberto Rosario --- HISTORY.rst | 6 + docs/releases/3.0.rst | 3 + mayan/apps/documents/api_views.py | 4 +- mayan/apps/documents/links.py | 5 +- mayan/apps/documents/permissions.py | 4 + mayan/apps/documents/tests/literals.py | 1 + mayan/apps/documents/tests/test_api.py | 26 +++++ mayan/apps/documents/tests/test_views.py | 106 ++++++++++++------ .../documents/views/document_version_views.py | 4 +- 9 files changed, 118 insertions(+), 41 deletions(-) diff --git a/HISTORY.rst b/HISTORY.rst index c0d083a4f0..0a347ac5ce 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -1,3 +1,9 @@ +3.0 (2017-XX-XX) +================ +- Metadat widget appearance changes +- Content windows appearance changes +- Add new document's version list view permission + 2.2 (2017-04-26) ================ - Remove the installation app (GitLab #301). diff --git a/docs/releases/3.0.rst b/docs/releases/3.0.rst index 3998d3b4f0..c7602c8009 100644 --- a/docs/releases/3.0.rst +++ b/docs/releases/3.0.rst @@ -12,6 +12,7 @@ Other changes ------------- - Metadat widget appearance changes - Content windows appearance changes +- Add new document's version list view permission Removals -------- @@ -71,5 +72,7 @@ Bugs fixed or issues closed =========================== * `GitLab issue #378 `_ Add metadata widget changes from @Macrobb +* `GitLab issue #379 `_ Add new document version list view permission. + .. _PyPI: https://pypi.python.org/pypi/mayan-edms/ diff --git a/mayan/apps/documents/api_views.py b/mayan/apps/documents/api_views.py index 99d2d90d1e..1edd63e5ab 100644 --- a/mayan/apps/documents/api_views.py +++ b/mayan/apps/documents/api_views.py @@ -24,7 +24,7 @@ from .permissions import ( permission_document_restore, permission_document_trash, permission_document_view, permission_document_type_create, permission_document_type_delete, permission_document_type_edit, - permission_document_type_view + permission_document_type_view, permission_document_version_view ) from .runtime import cache_storage_backend from .serializers import ( @@ -500,7 +500,7 @@ class APIDocumentVersionsListView(generics.ListCreateAPIView): """ mayan_object_permissions = { - 'GET': (permission_document_view,), + 'GET': (permission_document_version_view,), } mayan_permission_attribute_check = 'document' mayan_view_permissions = {'POST': (permission_document_new_version,)} diff --git a/mayan/apps/documents/links.py b/mayan/apps/documents/links.py index 351a1b04ad..9764013a3b 100644 --- a/mayan/apps/documents/links.py +++ b/mayan/apps/documents/links.py @@ -14,7 +14,8 @@ from .permissions import ( permission_document_version_revert, permission_document_view, permission_document_trash, permission_document_type_create, permission_document_type_delete, permission_document_type_edit, - permission_document_type_view, permission_empty_trash + permission_document_type_view, permission_empty_trash, + permission_document_version_view ) from .settings import setting_zoom_max_level, setting_zoom_min_level @@ -58,7 +59,7 @@ link_document_properties = Link( args='resolved_object.id' ) link_document_version_list = Link( - icon='fa fa-code-fork', permissions=(permission_document_view,), + icon='fa fa-code-fork', permissions=(permission_document_version_view,), text=_('Versions'), view='documents:document_version_list', args='resolved_object.pk' ) diff --git a/mayan/apps/documents/permissions.py b/mayan/apps/documents/permissions.py index c428188da4..c928a1a909 100644 --- a/mayan/apps/documents/permissions.py +++ b/mayan/apps/documents/permissions.py @@ -40,6 +40,10 @@ permission_document_version_revert = namespace.add_permission( name='document_version_revert', label=_('Revert documents to a previous version') ) +permission_document_version_view = namespace.add_permission( + name='document_version_view', + label=_('View documents\' versions list') +) permission_document_view = namespace.add_permission( name='document_view', label=_('View documents') ) diff --git a/mayan/apps/documents/tests/literals.py b/mayan/apps/documents/tests/literals.py index 36f860848f..6cf82e4c24 100644 --- a/mayan/apps/documents/tests/literals.py +++ b/mayan/apps/documents/tests/literals.py @@ -75,3 +75,4 @@ TEST_SMALL_DOCUMENT_PATH = os.path.join( settings.BASE_DIR, 'apps', 'documents', 'tests', 'contrib', 'sample_documents', TEST_SMALL_DOCUMENT_FILENAME ) +TEST_VERSION_COMMENT = 'test version comment' diff --git a/mayan/apps/documents/tests/test_api.py b/mayan/apps/documents/tests/test_api.py index f30ebf7f2c..95fd104978 100644 --- a/mayan/apps/documents/tests/test_api.py +++ b/mayan/apps/documents/tests/test_api.py @@ -213,6 +213,32 @@ class DocumentAPITestCase(BaseAPITestCase): self.assertEqual(document.versions.first(), document.latest_version) + def test_document_version_list(self): + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + document = self.document_type.new_document( + file_object=file_object, + ) + + # Needed by MySQL as milliseconds value is not store in timestamp field + time.sleep(1) + + with open(TEST_DOCUMENT_PATH) as file_object: + document.new_version(file_object=file_object) + + self.assertEqual(document.versions.count(), 2) + + last_version = document.versions.last() + + response = self.client.get( + reverse( + 'rest_api:document-version-list', + args=(document.pk,) + ) + ) + self.assertEqual( + response.data['results'][1]['checksum'], last_version.checksum + ) + def test_document_download(self): with open(TEST_SMALL_DOCUMENT_PATH) as file_object: document = self.document_type.new_document( diff --git a/mayan/apps/documents/tests/test_views.py b/mayan/apps/documents/tests/test_views.py index a40ea03bf4..588b630f69 100644 --- a/mayan/apps/documents/tests/test_views.py +++ b/mayan/apps/documents/tests/test_views.py @@ -20,12 +20,14 @@ from ..permissions import ( permission_document_trash, permission_document_type_create, permission_document_type_delete, permission_document_type_edit, permission_document_type_view, permission_document_version_revert, - permission_document_view, permission_empty_trash + permission_document_view, permission_empty_trash, + permission_document_version_view ) from .literals import ( TEST_DOCUMENT_TYPE, TEST_DOCUMENT_TYPE_QUICK_LABEL, - TEST_SMALL_DOCUMENT_FILENAME, TEST_SMALL_DOCUMENT_PATH + TEST_SMALL_DOCUMENT_FILENAME, TEST_SMALL_DOCUMENT_PATH, + TEST_VERSION_COMMENT ) @@ -432,39 +434,6 @@ class DocumentsViewsTestCase(GenericDocumentViewTestCase): self.assertEqual(DeletedDocument.objects.count(), 0) self.assertEqual(Document.objects.count(), 0) - def test_document_version_revert_no_permission(self): - first_version = self.document.latest_version - - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: - self.document.new_version( - file_object=file_object - ) - - response = self.post( - 'documents:document_version_revert', args=(first_version.pk,) - ) - - self.assertEqual(response.status_code, 403) - self.assertEqual(self.document.versions.count(), 2) - - def test_document_version_revert_with_permission(self): - first_version = self.document.latest_version - - with open(TEST_SMALL_DOCUMENT_PATH) as file_object: - self.document.new_version( - file_object=file_object - ) - - self.grant(permission=permission_document_version_revert) - - response = self.post( - 'documents:document_version_revert', args=(first_version.pk,), - follow=True - ) - - self.assertContains(response, 'reverted', status_code=200) - self.assertEqual(self.document.versions.count(), 1) - def test_document_page_view_no_permissions(self): response = self.get( 'documents:document_page_view', args=( @@ -644,6 +613,73 @@ class DocumentTypeViewsTestCase(GenericDocumentViewTestCase): self.assertEqual(self.document_type.filenames.count(), 1) +class DocumentVersionTestCase(GenericDocumentViewTestCase): + def setUp(self): + super(DocumentVersionTestCase, self).setUp() + self.login_user() + + def test_document_version_list_no_permission(self): + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + self.document.new_version( + comment=TEST_VERSION_COMMENT, file_object=file_object + ) + + response = self.get( + 'documents:document_version_list', args=(self.document.pk,) + ) + + self.assertEqual(response.status_code, 403) + + def test_document_version_list_with_permission(self): + self.grant(permission=permission_document_version_view) + + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + self.document.new_version( + comment=TEST_VERSION_COMMENT, file_object=file_object + ) + + response = self.get( + 'documents:document_version_list', args=(self.document.pk,) + ) + + self.assertContains(response, TEST_VERSION_COMMENT, status_code=200) + + def test_document_version_revert_no_permission(self): + first_version = self.document.latest_version + + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + self.document.new_version( + file_object=file_object + ) + + response = self.post( + 'documents:document_version_revert', args=(first_version.pk,) + ) + + self.assertEqual(response.status_code, 403) + self.assertEqual(self.document.versions.count(), 2) + + def test_document_version_revert_with_permission(self): + first_version = self.document.latest_version + + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + self.document.new_version( + file_object=file_object + ) + + self.grant(permission=permission_document_version_revert) + + response = self.post( + 'documents:document_version_revert', args=(first_version.pk,), + follow=True + ) + + self.assertContains(response, 'reverted', status_code=200) + self.assertEqual(self.document.versions.count(), 1) + + + + class DeletedDocumentTestCase(GenericDocumentViewTestCase): def setUp(self): super(DeletedDocumentTestCase, self).setUp() diff --git a/mayan/apps/documents/views/document_version_views.py b/mayan/apps/documents/views/document_version_views.py index 47f41cc42d..2faefe9ae5 100644 --- a/mayan/apps/documents/views/document_version_views.py +++ b/mayan/apps/documents/views/document_version_views.py @@ -12,7 +12,7 @@ from common.generics import ConfirmView, SingleObjectListView from ..models import Document, DocumentVersion from ..permissions import ( permission_document_download, permission_document_version_revert, - permission_document_view + permission_document_version_view, permission_document_view ) from .document_views import DocumentDownloadFormView, DocumentDownloadView @@ -23,7 +23,7 @@ logger = logging.getLogger(__name__) class DocumentVersionListView(SingleObjectListView): def dispatch(self, request, *args, **kwargs): AccessControlList.objects.check_access( - permissions=permission_document_view, user=request.user, + permissions=permission_document_version_view, user=request.user, obj=self.get_document() ) From acdc7dca48c1921c0d3bab16db34dcec5c8edec4 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 12 May 2017 17:53:44 -0400 Subject: [PATCH 144/144] Convert the API URL system from an App based one to a resource based one. Signed-off-by: Roberto Rosario --- docs/releases/3.0.rst | 3 +- docs/topics/deploying.rst | 18 ++++--- docs/topics/development.rst | 14 ++--- docs/topics/features.rst | 4 +- docs/topics/transformations.rst | 29 +++++----- mayan/apps/acls/managers.py | 6 ++- mayan/apps/acls/urls.py | 8 +-- mayan/apps/checkouts/api_views.py | 25 +++++---- mayan/apps/checkouts/apps.py | 5 +- mayan/apps/checkouts/managers.py | 2 +- mayan/apps/checkouts/serializers.py | 42 ++++++++++++--- mayan/apps/checkouts/tests/test_api.py | 75 ++++++++++++++++++++++++++ mayan/apps/checkouts/urls.py | 4 +- mayan/apps/document_comments/urls.py | 4 +- mayan/apps/document_indexing/urls.py | 8 +-- mayan/apps/document_states/urls.py | 8 +-- mayan/apps/documents/apps.py | 5 +- mayan/apps/dynamic_search/urls.py | 2 +- mayan/apps/events/urls.py | 4 +- mayan/apps/folders/urls.py | 2 +- mayan/apps/ocr/api_views.py | 36 +++++++------ mayan/apps/ocr/tests/test_api.py | 9 +++- mayan/apps/ocr/urls.py | 6 +-- mayan/apps/permissions/urls.py | 1 - mayan/apps/rest_api/api_views.py | 19 +++++++ mayan/apps/rest_api/classes.py | 36 +++++++++++-- mayan/apps/rest_api/exceptions.py | 16 ++++++ mayan/apps/rest_api/serializers.py | 9 ++++ mayan/apps/rest_api/urls.py | 11 ++-- mayan/apps/rest_api/views.py | 7 --- 30 files changed, 310 insertions(+), 108 deletions(-) create mode 100644 mayan/apps/checkouts/tests/test_api.py create mode 100644 mayan/apps/rest_api/api_views.py create mode 100644 mayan/apps/rest_api/exceptions.py create mode 100644 mayan/apps/rest_api/serializers.py diff --git a/docs/releases/3.0.rst b/docs/releases/3.0.rst index c7602c8009..bd4fc5a4b7 100644 --- a/docs/releases/3.0.rst +++ b/docs/releases/3.0.rst @@ -71,7 +71,8 @@ Backward incompatible changes Bugs fixed or issues closed =========================== -* `GitLab issue #378 `_ Add metadata widget changes from @Macrobb +* `GitLab issue #366 `_ Proofread documentation +* `GitLab issue #379 `_ Add new document version list view permission. * `GitLab issue #379 `_ Add new document version list view permission. diff --git a/docs/topics/deploying.rst b/docs/topics/deploying.rst index f16bbd59ad..8952357901 100644 --- a/docs/topics/deploying.rst +++ b/docs/topics/deploying.rst @@ -3,7 +3,8 @@ Advanced deployment =================== Mayan EDMS should be deployed like any other Django_ project and -preferably using virtualenv_. +preferably using virtualenv_. Below are some ways to deploy and use Mayan EDMS. +Do not use more than one method. Being a Django_ and a Python_ project, familiarity with these technologies is recommended to better understand why Mayan EDMS does some of the things it @@ -58,7 +59,7 @@ to /usr/bin/ with ... sudo ln -s /opt/local/bin/tesseract /usr/bin/tesseract -... alternatively set the paths in the ``settings/locals.py`` +Alternatively, set the paths in the ``settings/locals.py`` .. code-block:: python @@ -76,9 +77,9 @@ With Homebrew installed run the command: Set the Binary paths ******************** -Mayan EDMS by default will look in /usr/bin/ for the binary files it needs -so either you can symlink the binaries installed via brew in /usr/local/bin/ -to /usr/bin/ with ... +Mayan EDMS by default will look in /usr/bin/ for the binary files it needs. +You can symlink the binaries installed via brew in /usr/local/bin/ +to /usr/bin/ with: .. code-block:: bash @@ -87,7 +88,7 @@ to /usr/bin/ with ... sudo ln -s /usr/local/bin/pdftotext /usr/bin/pdftotext && \ sudo ln -s /usr/local/bin/gs /usr/bin/gs -... alternatively set the paths in the ``settings/locals.py`` +Alternatively, set the paths in the ``settings/locals.py`` .. code-block:: python @@ -265,15 +266,18 @@ Make the installation directory readable and writable by the webserver user:: chown www-data:www-data /usr/share/mayan-edms -R -Restart the services:: +Enable and restart the services [1_]:: systemctl enable supervisor systemctl restart supervisor systemctl restart nginx +[1]: https://bugs.launchpad.net/ubuntu/+source/supervisor/+bug/1594740 + .. _Debian: http://www.debian.org/ .. _Django: http://www.djangoproject.com/ .. _Python: http://www.python.org/ .. _SQLite: https://www.sqlite.org/ .. _Ubuntu: http://www.ubuntu.com/ .. _virtualenv: http://www.virtualenv.org/en/latest/index.html +.. _1: https://bugs.launchpad.net/ubuntu/+source/supervisor/+bug/1594740 diff --git a/docs/topics/development.rst b/docs/topics/development.rst index 1682d08c12..91312b2165 100644 --- a/docs/topics/development.rst +++ b/docs/topics/development.rst @@ -16,8 +16,8 @@ request on GitLab_. Project philosophies -------------------- -How to think about Mayan EDMS when doing changes or adding new features, -why things are the way they are in Mayan EDMS. +How to think about Mayan EDMS when doing changes or adding new features; +why things are the way they are in Mayan EDMS: - Functionality must be as market/sector independent as possible, code for the 95% of use cases. @@ -36,7 +36,7 @@ why things are the way they are in Mayan EDMS. not viable/mature/efficient. - Each app is as independent and self contained as possible. Exceptions, the basic requirements: navigation, permissions, common, main. -- If an app is meant to be used by more than one other app it should be as +- If an app is meant to be used by more than one other app, it should be as generic as possible in regard to the project and another app will bridge the functionality. - Example: since indexing (document_indexing) only applies to documents, the @@ -48,7 +48,7 @@ Coding conventions Follow PEP8 ~~~~~~~~~~~ -Whenever possible, but don't obsess over things like line length. +Whenever possible, but don't obsess over things like line length: .. code-block:: bash @@ -103,9 +103,9 @@ Example: ) from .models import Index, IndexInstanceNode, DocumentRenameCount -All local app module imports are in relative form, local app module name is to +All local app module imports are in relative form. Local app module name is to be referenced as little as possible, unless required by a specific feature, -trick, restriction, ie: Runtime modification of the module's attributes. +trick, restriction (e.g., Runtime modification of the module's attributes). Incorrect: @@ -128,7 +128,7 @@ Dependencies Mayan EDMS apps follow a hierarchical model of dependency. Apps import from their parents or siblings, never from their children. Think plugins. A parent app must never assume anything about a possible existing child app. The -documents app and the Document model are the basic entities they must never +documents app and the Document model are the basic entities; they must never import anything else. The common and main apps are the base apps. diff --git a/docs/topics/features.rst b/docs/topics/features.rst index 33d32c7159..3d93dc0145 100644 --- a/docs/topics/features.rst +++ b/docs/topics/features.rst @@ -30,7 +30,7 @@ Features * Dynamic default values for metadata. * Metadata fields can have an initial value, which can be static or determined - by an user provided template code snippet. + by a template code snippet provided by the user. * Documents can be uploaded from different sources. @@ -68,7 +68,7 @@ Features * Multi page document support. - * Multiple page PDFs and TIFFs files are supported. + * Multiple page PDF and TIFF files are supported. * Automatic OCR processing. diff --git a/docs/topics/transformations.rst b/docs/topics/transformations.rst index ffde0c7c7c..ebe4355be8 100644 --- a/docs/topics/transformations.rst +++ b/docs/topics/transformations.rst @@ -2,21 +2,20 @@ Transformations =============== -Transformation are persistent manipulations to the previews of the stored -documents. For example: a scanning equipment may only produce landscape PDFs. -In this case an useful transformation for that document source would be to -rotate all documents scanned by 270 degrees after being uploaded, this way -whenever a document is uploaded from that scanner it will appear in portrait -orientation. In this case add a this transformation to the Mayan EDMS source -that is connected to that device this way all pages scanned via that source -with inherit the transformation as they are created. +Transformations are persistent manipulations to the previews of the stored +documents. For example: a scanning equipment may only produce landscape PDFs. +In this case a useful transformation for that document source would be to rotate +all scanned documents by 270 degrees after being uploaded. By adding this +transformation to the Mayan EDMS source that is connected to the scanner, all +pages scanned via that source will inherit the transformation as they are +created. The result is that whenever a document is uploaded from that scanner, +it will appear in portrait orientation, instead of landscape orientation. -Transformations can also be added to existing documents, by clicking on a -document's page, then clicking on "transformations". In this view the Actions -menu will have a new option that reads "Create new transformation". At the -moment the rotation, zoom, crop, and resize transformations are available. -Once the document image has been corrected resubmit it for OCR for improved -results. +Transformations can also be added to existing documents by clicking on a +document's page and then clicking on "transformations". In this view the Actions +menu will have a new option that reads "Create new transformation". Currently, +the available transformations are: rotation, zoom, crop, and resize. Once the +document image has been corrected, resubmit it for OCR for improved results. -Transformations are not destructive and do not physically modify the document +Transformations are not destructive and do not physically modify the document file, they just modify the document's graphical representation. diff --git a/mayan/apps/acls/managers.py b/mayan/apps/acls/managers.py index bfe0c5dd0c..e1facbb712 100644 --- a/mayan/apps/acls/managers.py +++ b/mayan/apps/acls/managers.py @@ -115,8 +115,10 @@ class AccessControlListManager(models.Manager): def filter_by_access(self, permission, user, queryset): if user.is_superuser or user.is_staff: - logger.debug('Unfiltered queryset returned to user "%s" as superuser or staff', - user) + logger.debug( + 'Unfiltered queryset returned to user "%s" as superuser ' + 'or staff', user + ) return queryset try: diff --git a/mayan/apps/acls/urls.py b/mayan/apps/acls/urls.py index 325dccb67a..ea0adb9d8b 100644 --- a/mayan/apps/acls/urls.py +++ b/mayan/apps/acls/urls.py @@ -28,19 +28,19 @@ urlpatterns = [ api_urls = [ url( - r'^object/(?P[-\w]+)/(?P[-\w]+)/(?P\d+)/acls/$', + r'^objects/(?P[-\w]+)/(?P[-\w]+)/(?P\d+)/acls/$', APIObjectACLListView.as_view(), name='accesscontrollist-list' ), url( - r'^object/(?P[-\w]+)/(?P[-\w]+)/(?P\d+)/acls/(?P\d+)/$', + r'^objects/(?P[-\w]+)/(?P[-\w]+)/(?P\d+)/acls/(?P\d+)/$', APIObjectACLView.as_view(), name='accesscontrollist-detail' ), url( - r'^object/(?P[-\w]+)/(?P[-\w]+)/(?P\d+)/acls/(?P\d+)/permissions/$', + r'^objects/(?P[-\w]+)/(?P[-\w]+)/(?P\d+)/acls/(?P\d+)/permissions/$', APIObjectACLPermissionListView.as_view(), name='accesscontrollist-permission-list' ), url( - r'^object/(?P[-\w]+)/(?P[-\w]+)/(?P\d+)/acls/(?P\d+)/permissions/(?P\d+)/$', + r'^objects/(?P[-\w]+)/(?P[-\w]+)/(?P\d+)/acls/(?P\d+)/permissions/(?P\d+)/$', APIObjectACLPermissionView.as_view(), name='accesscontrollist-permission-detail' ), ] diff --git a/mayan/apps/checkouts/api_views.py b/mayan/apps/checkouts/api_views.py index 6264dfc4a4..42b859af08 100644 --- a/mayan/apps/checkouts/api_views.py +++ b/mayan/apps/checkouts/api_views.py @@ -1,20 +1,13 @@ from __future__ import absolute_import, unicode_literals -import pytz - -from django.shortcuts import get_object_or_404 - -from rest_framework import generics, status -from rest_framework.response import Response +from rest_framework import generics from acls.models import AccessControlList -from documents.models import Document from documents.permissions import permission_document_view from .models import DocumentCheckout from .permissions import ( - permission_document_checkout, permission_document_checkin, - permission_document_checkin_override + permission_document_checkin, permission_document_checkin_override ) from .serializers import ( DocumentCheckoutSerializer, NewDocumentCheckoutSerializer @@ -47,12 +40,23 @@ class APICheckedoutDocumentListView(generics.ListCreateAPIView): APICheckedoutDocumentListView, self ).get(request, *args, **kwargs) + def get_serializer_context(self): + """ + Extra context provided to the serializer class. + """ + return { + 'format': self.format_kwarg, + 'request': self.request, + 'view': self + } + + ''' def post(self, request, *args, **kwargs): """ Checkout a document. """ - serializer = self.get_serializer(data=request.DATA, files=request.FILES) + serializer = self.get_serializer(data=request.data, files=request.file) if serializer.is_valid(): document = get_object_or_404( @@ -83,6 +87,7 @@ class APICheckedoutDocumentListView(generics.ListCreateAPIView): return Response(status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) + ''' class APICheckedoutDocumentView(generics.RetrieveDestroyAPIView): diff --git a/mayan/apps/checkouts/apps.py b/mayan/apps/checkouts/apps.py index 2f57b48efa..f20e602aa6 100644 --- a/mayan/apps/checkouts/apps.py +++ b/mayan/apps/checkouts/apps.py @@ -57,7 +57,10 @@ class CheckoutsApp(MayanAppConfig): Document.add_to_class( 'check_in', - lambda document, user=None: DocumentCheckout.objects.check_in_document(document, user) + lambda document, + user=None: DocumentCheckout.objects.check_in_document( + document, user + ) ) Document.add_to_class( 'checkout_info', diff --git a/mayan/apps/checkouts/managers.py b/mayan/apps/checkouts/managers.py index 064c4bda37..6d795729ce 100644 --- a/mayan/apps/checkouts/managers.py +++ b/mayan/apps/checkouts/managers.py @@ -19,7 +19,7 @@ logger = logging.getLogger(__name__) class DocumentCheckoutManager(models.Manager): def checkout_document(self, document, expiration_datetime, user, block_new_version=True): - self.create( + return self.create( document=document, expiration_datetime=expiration_datetime, user=user, block_new_version=block_new_version ) diff --git a/mayan/apps/checkouts/serializers.py b/mayan/apps/checkouts/serializers.py index 72f7947cca..d322111069 100644 --- a/mayan/apps/checkouts/serializers.py +++ b/mayan/apps/checkouts/serializers.py @@ -1,15 +1,19 @@ from __future__ import unicode_literals +from django.utils.translation import ugettext_lazy as _ + from rest_framework import serializers +from acls.models import AccessControlList +from documents.models import Document +from documents.serializers import DocumentSerializer + from .models import DocumentCheckout +from .permissions import permission_document_checkout class DocumentCheckoutSerializer(serializers.ModelSerializer): def __init__(self, *args, **kwargs): - # Hide this import otherwise strange circular import error occur - from documents.serializers import DocumentSerializer - super(DocumentCheckoutSerializer, self).__init__(*args, **kwargs) self.fields['document'] = DocumentSerializer() @@ -17,7 +21,33 @@ class DocumentCheckoutSerializer(serializers.ModelSerializer): model = DocumentCheckout -class NewDocumentCheckoutSerializer(serializers.Serializer): - document = serializers.IntegerField() - expiration_datetime = serializers.DateTimeField() +class NewDocumentCheckoutSerializer(serializers.ModelSerializer): block_new_version = serializers.BooleanField() + document_pk = serializers.IntegerField( + help_text=_('Primary key of the document to be checked out.'), + write_only=True + ) + expiration_datetime = serializers.DateTimeField() + + class Meta: + fields = ( + 'block_new_version', 'document', 'document_pk', + 'expiration_datetime', 'id' + ) + model = DocumentCheckout + read_only_fields = ('document',) + write_only_fields = ('document_pk',) + + def create(self, validated_data): + document = Document.objects.get(pk=validated_data.pop('document_pk')) + + AccessControlList.objects.check_access( + permissions=permission_document_checkout, + user=self.context['request'].user, obj=document + ) + + validated_data['document'] = document + validated_data['user'] = self.context['request'].user + return super(NewDocumentCheckoutSerializer, self).create( + validated_data + ) diff --git a/mayan/apps/checkouts/tests/test_api.py b/mayan/apps/checkouts/tests/test_api.py new file mode 100644 index 0000000000..eccdb4d265 --- /dev/null +++ b/mayan/apps/checkouts/tests/test_api.py @@ -0,0 +1,75 @@ +from __future__ import unicode_literals + +import datetime + +from django.contrib.auth import get_user_model +from django.core.urlresolvers import reverse +from django.test import override_settings +from django.utils.encoding import force_text +from django.utils.timezone import now + +from rest_framework.test import APITestCase + +from documents.models import DocumentType +from documents.tests import TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH +from user_management.tests.literals import ( + TEST_ADMIN_EMAIL, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME +) + +from ..models import DocumentCheckout + + +@override_settings(OCR_AUTO_OCR=False) +class CheckoutAPITestCase(APITestCase): + def setUp(self): + super(CheckoutAPITestCase, self).setUp() + + self.admin_user = get_user_model().objects.create_superuser( + username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, + password=TEST_ADMIN_PASSWORD + ) + + self.client.login( + username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD + ) + + self.document_type = DocumentType.objects.create( + label=TEST_DOCUMENT_TYPE + ) + + with open(TEST_SMALL_DOCUMENT_PATH) as file_object: + self.document = self.document_type.new_document( + file_object=file_object, + ) + + def tearDown(self): + self.document_type.delete() + super(CheckoutAPITestCase, self).tearDown() + + def test_document_checkout_get_view(self): + expiration_datetime = now() + datetime.timedelta(days=1) + + DocumentCheckout.objects.checkout_document( + document=self.document, expiration_datetime=expiration_datetime, + user=self.admin_user, block_new_version=True + ) + + response = self.client.get(reverse('rest_api:checkout-document-list')) + + self.assertEqual( + response.data['results'][0]['document']['uuid'], + force_text(self.document.uuid) + ) + + def test_document_checkout_post_view(self): + response = self.client.post( + reverse('rest_api:checkout-document-list'), data={ + 'document_pk': self.document.pk, + 'expiration_datetime': '2099-01-01T12:00' + } + ) + + self.assertEqual(response.status_code, 201) + self.assertEqual( + DocumentCheckout.objects.first().document, self.document + ) diff --git a/mayan/apps/checkouts/urls.py b/mayan/apps/checkouts/urls.py index bbc29b12c6..dabf479251 100644 --- a/mayan/apps/checkouts/urls.py +++ b/mayan/apps/checkouts/urls.py @@ -26,11 +26,11 @@ urlpatterns = [ api_urls = [ url( - r'^documents/$', APICheckedoutDocumentListView.as_view(), + r'^checkouts/$', APICheckedoutDocumentListView.as_view(), name='checkout-document-list' ), url( - r'^documents/(?P[0-9]+)/$', APICheckedoutDocumentView.as_view(), + r'^checkouts/(?P[0-9]+)/$', APICheckedoutDocumentView.as_view(), name='checkedout-document-view' ), ] diff --git a/mayan/apps/document_comments/urls.py b/mayan/apps/document_comments/urls.py index b46f295399..2dd6929abf 100644 --- a/mayan/apps/document_comments/urls.py +++ b/mayan/apps/document_comments/urls.py @@ -25,11 +25,11 @@ urlpatterns = [ api_urls = [ url( - r'^document/(?P[0-9]+)/comments/$', + r'^documents/(?P[0-9]+)/comments/$', APICommentListView.as_view(), name='comment-list' ), url( - r'^document/(?P[0-9]+)/comments/(?P[0-9]+)/$', + r'^documents/(?P[0-9]+)/comments/(?P[0-9]+)/$', APICommentView.as_view(), name='comment-detail' ), ] diff --git a/mayan/apps/document_indexing/urls.py b/mayan/apps/document_indexing/urls.py index bdf0a432cc..e2b81beebd 100644 --- a/mayan/apps/document_indexing/urls.py +++ b/mayan/apps/document_indexing/urls.py @@ -72,12 +72,12 @@ urlpatterns = [ api_urls = [ url( - r'^index/node/(?P[0-9]+)/documents/$', + r'^indexes/node/(?P[0-9]+)/documents/$', APIIndexNodeInstanceDocumentListView.as_view(), name='index-node-documents' ), url( - r'^index/template/(?P[0-9]+)/$', APIIndexTemplateView.as_view(), + r'^indexes/template/(?P[0-9]+)/$', APIIndexTemplateView.as_view(), name='index-template-detail' ), url( @@ -85,12 +85,12 @@ api_urls = [ name='index-detail' ), url( - r'^index/(?P[0-9]+)/template/$', + r'^indexes/(?P[0-9]+)/template/$', APIIndexTemplateListView.as_view(), name='index-template-detail' ), url(r'^indexes/$', APIIndexListView.as_view(), name='index-list'), url( - r'^document/(?P[0-9]+)/indexes/$', + r'^documents/(?P[0-9]+)/indexes/$', APIDocumentIndexListView.as_view(), name='document-index-list' ), ] diff --git a/mayan/apps/document_states/urls.py b/mayan/apps/document_states/urls.py index e6217a66cf..1492f37156 100644 --- a/mayan/apps/document_states/urls.py +++ b/mayan/apps/document_states/urls.py @@ -164,20 +164,20 @@ api_urls = [ APIWorkflowTransitionView.as_view(), name='workflowtransition-detail' ), url( - r'^document/(?P[0-9]+)/workflows/$', + r'^documents/(?P[0-9]+)/workflows/$', APIWorkflowInstanceListView.as_view(), name='workflowinstance-list' ), url( - r'^document/(?P[0-9]+)/workflows/(?P[0-9]+)/$', + r'^documents/(?P[0-9]+)/workflows/(?P[0-9]+)/$', APIWorkflowInstanceView.as_view(), name='workflowinstance-detail' ), url( - r'^document/(?P[0-9]+)/workflows/(?P[0-9]+)/log_entries/$', + r'^documents/(?P[0-9]+)/workflows/(?P[0-9]+)/log_entries/$', APIWorkflowInstanceLogEntryListView.as_view(), name='workflowinstancelogentry-list' ), url( - r'^document_type/(?P[0-9]+)/workflows/$', + r'^document_types/(?P[0-9]+)/workflows/$', APIDocumentTypeWorkflowListView.as_view(), name='documenttype-workflow-list' ), diff --git a/mayan/apps/documents/apps.py b/mayan/apps/documents/apps.py index 8e0468f6a8..65d9200e5c 100644 --- a/mayan/apps/documents/apps.py +++ b/mayan/apps/documents/apps.py @@ -27,7 +27,7 @@ from events.links import link_events_for_object from events.permissions import permission_events_view from mayan.celery import app from navigation import SourceColumn -from rest_api.classes import APIEndPoint +from rest_api.classes import APIEndPoint, APIResource from rest_api.fields import DynamicSerializerField from statistics.classes import StatisticNamespace, CharJSLine @@ -91,6 +91,9 @@ class DocumentsApp(MayanAppConfig): from actstream import registry APIEndPoint(app=self, version_string='1') + APIResource(label=_('Document types'), name='document_types') + APIResource(label=_('Documents'), name='documents') + APIResource(label=_('Trashed documents'), name='trashed_documents') DeletedDocument = self.get_model('DeletedDocument') Document = self.get_model('Document') diff --git a/mayan/apps/dynamic_search/urls.py b/mayan/apps/dynamic_search/urls.py index 1300f2fa61..ddcb1aab9a 100644 --- a/mayan/apps/dynamic_search/urls.py +++ b/mayan/apps/dynamic_search/urls.py @@ -29,7 +29,7 @@ api_urls = [ name='search-view' ), url( - r'^advanced/(?P[\.\w]+)/$', APIAdvancedSearchView.as_view(), + r'^search/advanced/(?P[\.\w]+)/$', APIAdvancedSearchView.as_view(), name='advanced-search-view' ), ] diff --git a/mayan/apps/events/urls.py b/mayan/apps/events/urls.py index 873a38a576..f5fc5b8fbb 100644 --- a/mayan/apps/events/urls.py +++ b/mayan/apps/events/urls.py @@ -20,10 +20,10 @@ urlpatterns = [ ] api_urls = [ - url(r'^types/$', APIEventTypeListView.as_view(), name='event-type-list'), + url(r'^event_types/$', APIEventTypeListView.as_view(), name='event-type-list'), url(r'^events/$', APIEventListView.as_view(), name='event-list'), url( - r'^object/(?P[-\w]+)/(?P[-\w]+)/(?P\d+)/events/$', + r'^objects/(?P[-\w]+)/(?P[-\w]+)/(?P\d+)/events/$', APIObjectEventListView.as_view(), name='object-event-list' ), ] diff --git a/mayan/apps/folders/urls.py b/mayan/apps/folders/urls.py index e8b3496bb9..47ae13b2ec 100644 --- a/mayan/apps/folders/urls.py +++ b/mayan/apps/folders/urls.py @@ -60,7 +60,7 @@ api_urls = [ ), url(r'^folders/$', APIFolderListView.as_view(), name='folder-list'), url( - r'^document/(?P[0-9]+)/folders/$', + r'^documents/(?P[0-9]+)/folders/$', APIDocumentFolderListView.as_view(), name='document-folder-list' ), ] diff --git a/mayan/apps/ocr/api_views.py b/mayan/apps/ocr/api_views.py index ded56e8ed8..c7449d7a50 100644 --- a/mayan/apps/ocr/api_views.py +++ b/mayan/apps/ocr/api_views.py @@ -3,6 +3,8 @@ from __future__ import absolute_import, unicode_literals from rest_framework import generics, status from rest_framework.response import Response +from django.shortcuts import get_object_or_404 + from documents.models import Document, DocumentPage, DocumentVersion from rest_api.permissions import MayanPermission @@ -26,10 +28,6 @@ class APIDocumentOCRView(generics.GenericAPIView): Submit a document for OCR. --- omit_serializer: true - parameters: - - name: pk - paramType: path - type: number responseMessages: - code: 202 message: Accepted @@ -40,12 +38,19 @@ class APIDocumentOCRView(generics.GenericAPIView): class APIDocumentVersionOCRView(generics.GenericAPIView): + lookup_url_kwarg = 'version_pk' mayan_object_permissions = { 'POST': (permission_ocr_document,) } permission_classes = (MayanPermission,) queryset = DocumentVersion.objects.all() + def get_document(self): + return get_object_or_404(Document, pk=self.kwargs['document_pk']) + + def get_queryset(self): + return self.get_document().versions.all() + def get_serializer_class(self): return None @@ -54,10 +59,6 @@ class APIDocumentVersionOCRView(generics.GenericAPIView): Submit a document version for OCR. --- omit_serializer: true - parameters: - - name: pk - paramType: path - type: number responseMessages: - code: 202 message: Accepted @@ -70,20 +71,25 @@ class APIDocumentVersionOCRView(generics.GenericAPIView): class APIDocumentPageContentView(generics.RetrieveAPIView): """ Returns the OCR content of the selected document page. - --- - GET: - parameters: - - name: pk - paramType: path - type: number """ + lookup_url_kwarg = 'page_pk' mayan_object_permissions = { 'GET': (permission_ocr_content_view,), } permission_classes = (MayanPermission,) serializer_class = DocumentPageContentSerializer - queryset = DocumentPage.objects.all() + + def get_document(self): + return get_object_or_404(Document, pk=self.kwargs['document_pk']) + + def get_document_version(self): + return get_object_or_404( + self.get_document().versions.all(), pk=self.kwargs['version_pk'] + ) + + def get_queryset(self): + return self.get_document_version().pages.all() def retrieve(self, request, *args, **kwargs): instance = self.get_object() diff --git a/mayan/apps/ocr/tests/test_api.py b/mayan/apps/ocr/tests/test_api.py index 181ff14ca1..bb6619d0c9 100644 --- a/mayan/apps/ocr/tests/test_api.py +++ b/mayan/apps/ocr/tests/test_api.py @@ -63,7 +63,9 @@ class OCRAPITestCase(BaseAPITestCase): response = self.client.post( reverse( 'rest_api:document-version-ocr-submit-view', - args=(self.document.latest_version.pk,) + args=( + self.document.pk, self.document.latest_version.pk, + ) ) ) @@ -77,7 +79,10 @@ class OCRAPITestCase(BaseAPITestCase): response = self.client.get( reverse( 'rest_api:document-page-content-view', - args=(self.document.latest_version.pages.first().pk,) + args=( + self.document.pk, self.document.latest_version.pk, + self.document.latest_version.pages.first().pk, + ) ), ) diff --git a/mayan/apps/ocr/urls.py b/mayan/apps/ocr/urls.py index a96060f904..8e31b8cc1f 100644 --- a/mayan/apps/ocr/urls.py +++ b/mayan/apps/ocr/urls.py @@ -43,16 +43,16 @@ urlpatterns = [ api_urls = [ url( - r'^document/(?P\d+)/submit/$', APIDocumentOCRView.as_view(), + r'^documents/(?P\d+)/ocr/$', APIDocumentOCRView.as_view(), name='document-ocr-submit-view' ), url( - r'^document_version/(?P\d+)/submit/$', + r'^documents/(?P\d+)/versions/(?P\d+)/ocr/$', APIDocumentVersionOCRView.as_view(), name='document-version-ocr-submit-view' ), url( - r'^page/(?P\d+)/content/$', APIDocumentPageContentView.as_view(), + r'^documents/(?P\d+)/versions/(?P\d+)/pages/(?P\d+)/ocr/$', APIDocumentPageContentView.as_view(), name='document-page-content-view' ), ] diff --git a/mayan/apps/permissions/urls.py b/mayan/apps/permissions/urls.py index 6044f99aec..2eb8d57546 100644 --- a/mayan/apps/permissions/urls.py +++ b/mayan/apps/permissions/urls.py @@ -30,5 +30,4 @@ api_urls = [ url(r'^permissions/$', APIPermissionList.as_view(), name='permission-list'), url(r'^roles/$', APIRoleListView.as_view(), name='role-list'), url(r'^roles/(?P[0-9]+)/$', APIRoleView.as_view(), name='role-detail'), - url(r'^$', APIPermissionList.as_view(), name='permission-list'), ] diff --git a/mayan/apps/rest_api/api_views.py b/mayan/apps/rest_api/api_views.py new file mode 100644 index 0000000000..93ab0e3f4d --- /dev/null +++ b/mayan/apps/rest_api/api_views.py @@ -0,0 +1,19 @@ +from __future__ import unicode_literals + +from rest_framework import generics + +from rest_api.filters import MayanObjectPermissionsFilter +from rest_api.permissions import MayanPermission + +from .classes import APIResource +from .serializers import APIResourceSerializer + + +class APIResourceTypeListView(generics.ListAPIView): + """ + Returns a list of all the available API resources. + """ + + serializer_class = APIResourceSerializer + def get_queryset(self): + return APIResource.all() diff --git a/mayan/apps/rest_api/classes.py b/mayan/apps/rest_api/classes.py index 6a47538bbe..3394b446c1 100644 --- a/mayan/apps/rest_api/classes.py +++ b/mayan/apps/rest_api/classes.py @@ -4,9 +4,33 @@ from django.conf.urls import include, url from django.conf import settings from django.utils.module_loading import import_string +from .exceptions import APIResourcePatternError + + +class APIResource(object): + _registry = {} + + @classmethod + def all(cls): + return cls._registry.values() + + @classmethod + def get(cls, name): + return cls._registry[name] + + def __unicode__(self): + return unicode(self.name) + + def __init__(self, name, label, description=None): + self.label = label + self.name = name + self.description = description + self.__class__._registry[self.name] = self + class APIEndPoint(object): _registry = {} + _patterns = [] @classmethod def get_all(cls): @@ -46,6 +70,12 @@ class APIEndPoint(object): def register_urls(self, urlpatterns): from .urls import urlpatterns as app_urls - app_urls += [ - url(r'^%s/' % (self.name or self.app.name), include(urlpatterns)), - ] + for url in urlpatterns: + if url.regex.pattern not in self.__class__._patterns: + app_urls.append(url) + self.__class__._patterns.append(url.regex.pattern) + else: + raise APIResourcePatternError( + 'App "{}" tried to register API URL pattern "{}", which ' + 'already exists'.format(self.app.label, url.regex.pattern) + ) diff --git a/mayan/apps/rest_api/exceptions.py b/mayan/apps/rest_api/exceptions.py new file mode 100644 index 0000000000..4e0e6ac964 --- /dev/null +++ b/mayan/apps/rest_api/exceptions.py @@ -0,0 +1,16 @@ +from __future__ import unicode_literals + + +class APIError(Exception): + """ + Base exception for the API app + """ + pass + + +class APIResourcePatternError(APIError): + """ + Raised when an app tries to override an existing URL regular expression + pattern + """ + pass diff --git a/mayan/apps/rest_api/serializers.py b/mayan/apps/rest_api/serializers.py new file mode 100644 index 0000000000..ecfa25faec --- /dev/null +++ b/mayan/apps/rest_api/serializers.py @@ -0,0 +1,9 @@ +from __future__ import unicode_literals + +from rest_framework import serializers + + +class APIResourceSerializer(serializers.Serializer): + description = serializers.CharField() + label = serializers.CharField() + name = serializers.CharField() diff --git a/mayan/apps/rest_api/urls.py b/mayan/apps/rest_api/urls.py index cfe3955b66..9f2a4a95d3 100644 --- a/mayan/apps/rest_api/urls.py +++ b/mayan/apps/rest_api/urls.py @@ -2,15 +2,18 @@ from __future__ import unicode_literals from django.conf.urls import url -from .views import APIBase, APIAppView, BrowseableObtainAuthToken +from .api_views import APIResourceTypeListView +from .views import APIBase, BrowseableObtainAuthToken -urlpatterns = [ -] +urlpatterns = [] api_urls = [ url(r'^$', APIBase.as_view(), name='api_root'), - url(r'^api/(?P.*)/?$', APIAppView.as_view(), name='api_app'), + url( + r'^resources/$', APIResourceTypeListView.as_view(), + name='resource-list' + ), url( r'^auth/token/obtain/$', BrowseableObtainAuthToken.as_view(), name='auth_token_obtain' diff --git a/mayan/apps/rest_api/views.py b/mayan/apps/rest_api/views.py index f5e8118697..8a2064fd36 100644 --- a/mayan/apps/rest_api/views.py +++ b/mayan/apps/rest_api/views.py @@ -13,13 +13,6 @@ class APIBase(SwaggerResourcesView): renderer_classes = (renderers.BrowsableAPIRenderer, renderers.JSONRenderer) -class APIAppView(SwaggerApiView): - """ - Entry points of the selected app. - """ - renderer_classes = (renderers.BrowsableAPIRenderer, renderers.JSONRenderer) - - class BrowseableObtainAuthToken(ObtainAuthToken): """ Obtain an API authentication token.

            erB<_a*~4$7r$*u^l~x^F7idz4K+D_w?w0**`;I;Y9!d literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/locale/fa/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/fa/LC_MESSAGES/django.po index ae64cfc890..d6bf020335 100644 --- a/mayan/apps/cabinets/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/cabinets/locale/fa/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,12 +10,12 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: Roberto Rosario , 2017\n" +"Language-Team: Persian (https://www.transifex.com/rosarior/teams/13584/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 @@ -45,11 +45,11 @@ msgstr "" #: links.py:64 msgid "Delete" -msgstr "" +msgstr "حذف" #: links.py:67 msgid "Edit" -msgstr "" +msgstr "ویرایش" #: links.py:71 msgid "All" @@ -57,15 +57,15 @@ msgstr "" #: links.py:74 msgid "Details" -msgstr "" +msgstr "جزئیات" #: models.py:22 msgid "Label" -msgstr "" +msgstr "برچسب" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "اسناد" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" @@ -125,7 +125,8 @@ msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" #: serializers.py:69 serializers.py:175 @@ -179,13 +180,12 @@ msgstr "" #: views.py:198 msgid "Add" -msgstr "" +msgstr "افزودن" #: views.py:200 msgid "Add document to cabinets" msgid_plural "Add documents to cabinets" msgstr[0] "" -msgstr[1] "" #: views.py:211 #, python-format @@ -218,13 +218,12 @@ msgstr "" #: views.py:282 msgid "Remove" -msgstr "" +msgstr "حذف" #: views.py:284 msgid "Remove document from cabinets" msgid_plural "Remove documents from cabinets" msgstr[0] "" -msgstr[1] "" #: views.py:295 #, python-format diff --git a/mayan/apps/cabinets/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/fr/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..63dbd1e51e1ee322a2a5044a0a497c0d8709413a GIT binary patch literal 747 zcmZ9Jzi$&U6vqveU&qGG;IS1rmph86E~Mf}E;J(7MCmmWh{e5gF0StElkH2&AHv2z zP&Sy^DkK;X3j+f}VqsxoW8^uFTEvq+dVcoz{jmN0=GsdHb`7`%JO^$7uK;TwfJ?wf z;0o{wxC(p$t^?nIHQ*<38TbWQ-EZK{1%&>9xBAx?PxWuX+g|Th@%vT$dF8*Z_J4qf z^rhMQ5H9Q64LgtRVa?XE^--8*sLKjw7&t?Dp;1?+b;*R$D9X4&1A4#;G-jooGc;22 zkfnz7GcsXHb14Em3Oi52#}S@Haiu_)7OQ3dbZKl5U81hC$rF{cN}!IRmN!fBdZz1otkP;Zt^G^IRo0Ra`39K!SF?yZ5#>-KlanoVXuH=P%F#ve7bC}3%rfJjh2JLLs=W9&|Y0tikGnJo*e)G(J^$IayT1s`0V23 H_#gRS#u&!R literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/locale/fr/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/fr/LC_MESSAGES/django.po index aa77c5d27c..23e7f18408 100644 --- a/mayan/apps/cabinets/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/cabinets/locale/fr/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,12 +10,12 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: Christophe CHAUVET , 2017\n" +"Language-Team: French (https://www.transifex.com/rosarior/teams/13584/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 @@ -45,11 +45,11 @@ msgstr "" #: links.py:64 msgid "Delete" -msgstr "" +msgstr "Supprimer" #: links.py:67 msgid "Edit" -msgstr "" +msgstr "Modifier" #: links.py:71 msgid "All" @@ -57,15 +57,15 @@ msgstr "" #: links.py:74 msgid "Details" -msgstr "" +msgstr "Détails" #: models.py:22 msgid "Label" -msgstr "" +msgstr "Libellé" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "Documents" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" @@ -125,7 +125,8 @@ msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" #: serializers.py:69 serializers.py:175 @@ -179,7 +180,7 @@ msgstr "" #: views.py:198 msgid "Add" -msgstr "" +msgstr "Ajouter" #: views.py:200 msgid "Add document to cabinets" @@ -218,7 +219,7 @@ msgstr "" #: views.py:282 msgid "Remove" -msgstr "" +msgstr "Supprimer" #: views.py:284 msgid "Remove document from cabinets" diff --git a/mayan/apps/cabinets/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/hu/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..82be8cc1f34dcdf7358d8c226f8e017d0d16b43e GIT binary patch literal 561 zcmYL`&5qMB5Xa4z5D_PCNF0pBVOQYhg94RH5v9qph0Uf4VI??Wl4+W4Vn?<^m%arD z9)SaA9%036@GMNah#l#tnX%?Sg!J|axrqqm7E&QUt`K6- zJILLugxp5|06iY>tnY>Cg@s^6RT~njylX&OLl#<{LT=f-U?-qWr6i||>Fn+Fbwp31 z^xZr;c2a1Swk$SfRj^lGX;`K>brwm+W*US=5etO{P6N+>#=Id5eCh{02r%|MEMzHs zsru&s>OMr%l*I`Pr}Qx4@%-V(, YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,12 +10,12 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: Dezső József , 2017\n" +"Language-Team: Hungarian (https://www.transifex.com/rosarior/teams/13584/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 @@ -57,7 +57,7 @@ msgstr "" #: links.py:74 msgid "Details" -msgstr "" +msgstr "Részletek" #: models.py:22 msgid "Label" @@ -65,7 +65,7 @@ msgstr "" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "dokumentumok" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" @@ -125,7 +125,8 @@ msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" #: serializers.py:69 serializers.py:175 diff --git a/mayan/apps/cabinets/locale/id/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/id/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..2831db574870c28dbecd1ac63ddefca013b3271c GIT binary patch literal 602 zcmYL`&u-K(5XKD@Dstq^!AB5y^M_VldD)6|lR`w(U8SKC+}y-XToOC7oo@REaNvkI za^tah7RK8Z9qFfU#+q-Oc>X@y`H3JN1J8j3*abSk#W&y)@EvgHKY*uzGd%%*1HT?1 z^k-WiKD;|mL0$g|sGD7aLK_0v)F7L1vv*t;*ELGGWuh}EQPtRUX$>lPudX>-X?4Xb zOR}1rb8Uo@6tCjN$M}7U&(q>8Tb_CaAC$HvH;t&t(byPLDvG_;vLp-5nFSL`nB^2l zL3ludJradDjA#@=9t6-x3Vtoz@NM7cG%iTKBuR`vENPy-`m#Jty%T0EDK(R(V^(R3 z&v?r$eruc@?7zEZtx}Up^@p!FH-SMmBWpM*IqNCTWUVAOf=T?MwRSMn_t)$7#JZ8< zlHWM5ua#k1DD7J?89#ipKi%_1?Z5Q$EKl!WA)Ex>LP-m+MatU&{?76n>kl0ha)zsx zX~XUOQ+Z6L_kHfBORh;OD^&~GP&~a5_Wy@cENXAnjhc1jSn1wSEQd{L=HU$ArSo9s WA, YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,12 +10,12 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: Sehat , 2017\n" +"Language-Team: Indonesian (https://www.transifex.com/rosarior/teams/13584/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 @@ -57,7 +57,7 @@ msgstr "" #: links.py:74 msgid "Details" -msgstr "" +msgstr "Detail" #: models.py:22 msgid "Label" @@ -65,7 +65,7 @@ msgstr "" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "Dokumen" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" @@ -125,7 +125,8 @@ msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" #: serializers.py:69 serializers.py:175 @@ -179,13 +180,12 @@ msgstr "" #: views.py:198 msgid "Add" -msgstr "" +msgstr "tambah" #: views.py:200 msgid "Add document to cabinets" msgid_plural "Add documents to cabinets" msgstr[0] "" -msgstr[1] "" #: views.py:211 #, python-format @@ -218,13 +218,12 @@ msgstr "" #: views.py:282 msgid "Remove" -msgstr "" +msgstr "hapus" #: views.py:284 msgid "Remove document from cabinets" msgid_plural "Remove documents from cabinets" msgstr[0] "" -msgstr[1] "" #: views.py:295 #, python-format diff --git a/mayan/apps/cabinets/locale/it/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/it/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..13a0481853fe21cac3be8f01edc27856b669372e GIT binary patch literal 743 zcmYL`zi-n(6vq!Jzs$zWaBQvM;@A`sIi#vdT!^Tf$e2nXmaBbn4xR6;yK_?h5H@x; z#LCJ95^S&`*jSj@7`o?PnaRs;mya28NZvYpcfD6E9;1ci^ zxD0#)t^z-R4d6F$5%>eRy1&4?a|rzdb>45!pXmFwegJj-AJ_Spb^aaH`Tqii_Ek84 zNLT*ugWHdr;lg>ldK8x>8Zp5v1F@6~gGQ=oYbLEhNy#nRr$5(YR3qcDVZw+n?NV+-!g*LBa5I3wwVjAHy~5~br?&nE|ow@-~Fxu((xYL$*~ zN_C;|kk*Z0hT;3Q%R9w7@6^R^Rl^B8g{pUMuZDw%tXf(zk~3OIcxS{bUj(!PZb;|F){_O^X){VgvYr^(r^1f8xoRMNsllKfQzr?u?Z z`i-Dm_Hi+%+AuqKn(vX`S)H3SW11wgP$idDgnLKap6)WjkW59ZsUUkw*CxWUS*2zW z_VLMbuqpA)0S>nM9*V1qx3c1BNM*r, YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,12 +10,12 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: Marco Camplese , 2017\n" +"Language-Team: Italian (https://www.transifex.com/rosarior/teams/13584/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 @@ -45,11 +45,11 @@ msgstr "" #: links.py:64 msgid "Delete" -msgstr "" +msgstr "Cancella" #: links.py:67 msgid "Edit" -msgstr "" +msgstr "Modifica" #: links.py:71 msgid "All" @@ -57,15 +57,15 @@ msgstr "" #: links.py:74 msgid "Details" -msgstr "" +msgstr "Dettagli" #: models.py:22 msgid "Label" -msgstr "" +msgstr "Etichetta" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "Documenti" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" @@ -125,7 +125,8 @@ msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" #: serializers.py:69 serializers.py:175 @@ -179,7 +180,7 @@ msgstr "" #: views.py:198 msgid "Add" -msgstr "" +msgstr "Aggiungi" #: views.py:200 msgid "Add document to cabinets" @@ -218,7 +219,7 @@ msgstr "" #: views.py:282 msgid "Remove" -msgstr "" +msgstr "Rimuovi" #: views.py:284 msgid "Remove document from cabinets" diff --git a/mayan/apps/cabinets/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/nl_NL/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..b2d958ad8d75462211fd6e96f73917689e348ba8 GIT binary patch literal 764 zcmYL{zmL-}6vqu5zrx1MV76A^rU{2Qr4-R?b4Q`SR6->X5^|GwsY_~Cw%Z`5xIbT zLM|d-kjuz7WC!_)oJW2kF7FTW?hGOSP+jl0XE%M{qdNaHs)zdZ#Q%Zn>VKoUzJF1% zd~L2jy6g8Y;P&HYICH(+en=zBNDB(EfMU5Q3~8x!F#~B0i8EnIhmWBkLzt;0kbzcH zNG)q;Yy{c}B_ld$G#@n%V>*h5kK6s8H-x#;mUT@oGPb|S4NFu+y+J==O%2>)5o>V^ z5e=)s9ai0CVL*d03PW61tC+}!uoSNON#4`AF=X97Yc=SDe$;K>c-HU5UWXgY63wM4 zxK%o$4;RJ?NgKu3SbSz6rl9HF={kI$yYMDfk;T26>*?4;<_n$!OMuTJ+FICjLQ6fc z6VL^hnJLrK#M-%ue1ElCRjivQj^MbGs+q5q;aVu|TdX#IaO?Kot}lxhy^de@y6tYf zJ*A*h^_ogrJXn^zn&a17IJW-0;6m1DI^o)Ytv^W)*xokJ4LbtOVwtK;$ULHZV_{D> z9ntkHZ%`~WFW7<7GlQ}D+BNmCMmNiPNz&_e8kB1u87auARY36mR$`ig21yPfhb74E S-D7MYR-j+vV)Fx>rj!3_^2{dy literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/nl_NL/LC_MESSAGES/django.po index c17169b1f3..488ff0599f 100644 --- a/mayan/apps/cabinets/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/cabinets/locale/nl_NL/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,13 +10,13 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: Justin Albstbstmeijer , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/rosarior/teams/13584/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" +"Language: nl_NL\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 #: views.py:153 @@ -45,11 +45,11 @@ msgstr "" #: links.py:64 msgid "Delete" -msgstr "" +msgstr "Verwijderen" #: links.py:67 msgid "Edit" -msgstr "" +msgstr "Bewerken" #: links.py:71 msgid "All" @@ -57,15 +57,15 @@ msgstr "" #: links.py:74 msgid "Details" -msgstr "" +msgstr "Gegevens" #: models.py:22 msgid "Label" -msgstr "" +msgstr "Label" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "Documenten" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" @@ -125,7 +125,8 @@ msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" #: serializers.py:69 serializers.py:175 @@ -179,7 +180,7 @@ msgstr "" #: views.py:198 msgid "Add" -msgstr "" +msgstr "Voeg toe" #: views.py:200 msgid "Add document to cabinets" @@ -218,7 +219,7 @@ msgstr "" #: views.py:282 msgid "Remove" -msgstr "" +msgstr "Verwijder" #: views.py:284 msgid "Remove document from cabinets" diff --git a/mayan/apps/cabinets/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/pl/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..bc7fc39e7698189027c603c6c4bf34ff43d9b86f GIT binary patch literal 883 zcmYjPO>Yx15H(P~mK$dd=0KGQoc(Aj!ls*&Hro=>G*Ozi0>Q!Eb+=A-*OBcsP1O_P zFL2{u@DoraIB?^LIC9~{jU(fwG+26i2fsOwru<73cHu~4V<_s~g z(Ph9_fXy=gU{&PJ9!f=ziA|3=4{F9SYO$1Q2BaxZ6>5oSlCfMX6vkYmEqcIG)MuGE zW~e8{kVTrbW3tDj;v)BPuetubxf$ZUu)ovpZd-je7E+UrN_b4xCW#^g;bW`U9gua& zsD>ueqMG^GbKJ+osS?k{uIGCm#Et_((r3rqm|y5#gv~zbbV;j;pLP9C`{B#(c4%!; zrO80jT%}YC>EnGd)NF+JsfcG>E*JK_9U+=^qZ zi(JD?lEG{Y*VXJqgOc*Rj-w+g71P1)V1v}=Iy32zNfPFfhx!(~0 literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/locale/pl/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/pl/LC_MESSAGES/django.po index 229eec2d7f..7c86110c41 100644 --- a/mayan/apps/cabinets/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/cabinets/locale/pl/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,14 +10,13 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: Wojtek Warczakowski , 2017\n" +"Language-Team: Polish (https://www.transifex.com/rosarior/teams/13584/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 #: views.py:153 @@ -46,11 +45,11 @@ msgstr "" #: links.py:64 msgid "Delete" -msgstr "" +msgstr "Usuń" #: links.py:67 msgid "Edit" -msgstr "" +msgstr "Edytuj" #: links.py:71 msgid "All" @@ -58,15 +57,15 @@ msgstr "" #: links.py:74 msgid "Details" -msgstr "" +msgstr "Szczegóły" #: models.py:22 msgid "Label" -msgstr "" +msgstr "Etykieta" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "Dokumenty" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" @@ -126,7 +125,8 @@ msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" #: serializers.py:69 serializers.py:175 @@ -180,13 +180,15 @@ msgstr "" #: views.py:198 msgid "Add" -msgstr "" +msgstr "Dodaj" #: views.py:200 msgid "Add document to cabinets" msgid_plural "Add documents to cabinets" msgstr[0] "" msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:211 #, python-format @@ -219,13 +221,15 @@ msgstr "" #: views.py:282 msgid "Remove" -msgstr "" +msgstr "Usuń" #: views.py:284 msgid "Remove document from cabinets" msgid_plural "Remove documents from cabinets" msgstr[0] "" msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:295 #, python-format diff --git a/mayan/apps/cabinets/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/pt/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..a3b0788ddb32b551cca90fd45bc1fe3fbd777611 GIT binary patch literal 740 zcmYL`JC74F5XTK1ucf1=Fx{QN*$0P+HUtrpJ&3qGlv_>$(fD@fHb%Sl%JyE44?@Qm zphKdiMS=o}0*U5CNkc_P$vBC~NI(6(v-7g&=k={O1nmlP19^#DL*63JJ|h>9FUTe2 zD{>k6j$B2~kS*jFauNBBxVS&a`*Vc+MRjrS&aZlWSnEer5B;A|UHmsxSLX++tAB=y z=}U8d{9M*|4mXd>apvZB@uZjMWB?^tK(Snuh745JR3NP(NiHne=SNVI8C2>7$W*IW zkXbg&*&%2nl#J=L*MHi3oY2E$b}*cby&2R>TQ)L<$l0T&Ff3Iu^`?`Q^)+ydNo>F^ z#54-Rdo0*xQAoomjv_n<0S2-eoCsHZ9rrxx&Ddzd20i*@5|4(rUQEV`x6h4bspis@ z+$tT@q{5Muqz8&?F!a8XEm*nC((|yW@Pe&ORS#}2dt(V%G`s+o0^OyxorF>N0S`+v}w*4CSrjpilWQ@S!S zmG$z|bfXSk9lP6--t5wFr{m#%MTQT_HAzZQ33qUNF6XdWv|4Q%e~ncI>s4#=4;DSc AA^-pY literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/locale/pt/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/pt/LC_MESSAGES/django.po index d96f0d6fa2..c85114434c 100644 --- a/mayan/apps/cabinets/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/cabinets/locale/pt/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,12 +10,12 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: Emerson Soares , 2017\n" +"Language-Team: Portuguese (https://www.transifex.com/rosarior/teams/13584/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 @@ -45,11 +45,11 @@ msgstr "" #: links.py:64 msgid "Delete" -msgstr "" +msgstr "Eliminar" #: links.py:67 msgid "Edit" -msgstr "" +msgstr "Editar" #: links.py:71 msgid "All" @@ -57,15 +57,15 @@ msgstr "" #: links.py:74 msgid "Details" -msgstr "" +msgstr "Detalhes" #: models.py:22 msgid "Label" -msgstr "" +msgstr "Nome" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "Documentos" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" @@ -125,7 +125,8 @@ msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" #: serializers.py:69 serializers.py:175 @@ -179,7 +180,7 @@ msgstr "" #: views.py:198 msgid "Add" -msgstr "" +msgstr "Adicionar" #: views.py:200 msgid "Add document to cabinets" @@ -218,7 +219,7 @@ msgstr "" #: views.py:282 msgid "Remove" -msgstr "" +msgstr "Remover" #: views.py:284 msgid "Remove document from cabinets" diff --git a/mayan/apps/cabinets/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/pt_BR/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..8df9d9466ea0c47f8a1fc4852e378a117729b897 GIT binary patch literal 754 zcmYL{zpv9U5XS>Neua&h!DB0M(}ahp($^=_Hie4U*D91Jfsl}!TvMYo4z}}J_&?bA zH`tIEfdPqu2_YmF2AJ3wIj0pp>65ch-@CJY`F?fpm4$W*xrRJJt{|@wV;_)n$VcP? z@(HaA-vrEgOpY;A%jm5jNvu9(paGp`JX2O*#N`rlt*kKN+B#x0$gBvK;uNfj z6we^mbePZ+kcx}kCzGIeKe!u`lQ4QP93R^e6hdk`QYlYpw@ekC3ZK}M@s#!?FpWvH z&oubNYr3~-bDw%HaXsJjaNTU8kVbIIP4TVnQ5ZyYG^YK4+#CC&;q}MkZG>Nx=_C3tX8XrHof>9)~1dlg<_Hm>1fPWj(hV~Yu_pK({AL{?a^=)?q0}k zH0_?qH9jhxz9{hK8rIq=GRE^Zi5E;N(4B|V0d4Jcrr8`M4f9weJWqYnnsNRA&_1bp z*^{i4ETaP}D>inHz=X M&rAFvwu6_}Kk^pG-T(jq literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/pt_BR/LC_MESSAGES/django.po index aa77c5d27c..b8a35f9ed5 100644 --- a/mayan/apps/cabinets/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/cabinets/locale/pt_BR/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,12 +10,12 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: Aline Freitas , 2017\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/rosarior/teams/13584/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 @@ -45,11 +45,11 @@ msgstr "" #: links.py:64 msgid "Delete" -msgstr "" +msgstr "Excluir" #: links.py:67 msgid "Edit" -msgstr "" +msgstr "Editar" #: links.py:71 msgid "All" @@ -57,15 +57,15 @@ msgstr "" #: links.py:74 msgid "Details" -msgstr "" +msgstr "Detalhes" #: models.py:22 msgid "Label" -msgstr "" +msgstr "Etiqueta" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "Documento" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" @@ -125,7 +125,8 @@ msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" #: serializers.py:69 serializers.py:175 @@ -179,7 +180,7 @@ msgstr "" #: views.py:198 msgid "Add" -msgstr "" +msgstr "Adicionar" #: views.py:200 msgid "Add document to cabinets" @@ -218,7 +219,7 @@ msgstr "" #: views.py:282 msgid "Remove" -msgstr "" +msgstr "Remover" #: views.py:284 msgid "Remove document from cabinets" diff --git a/mayan/apps/cabinets/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/ro_RO/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..c3c79aec01f4899b7559f7eaae79fdfaf3bf9783 GIT binary patch literal 788 zcmYL{O>fgM7{|jHZ-EnM4(7m=2;3yy5XB`M-I|Sxb*(~~#Ds+0#LJ8lyRzMFNW1YF zkT@Vd4M^j_4RL}UcR@npwj+<*YP0my|FQFbUL5)4_WTD2)^*?x@EW)Yd;;t`1}+2N zfUCfF;2Q7)xB>hE=7Ce-3h)Q8zJI{)OOA5}YW+Xwrg}2dQ&5}#ccy1Eor7l9e+v}S zC(G7{&y)K0z|LcP*k$Loey5e^PMej?Fc3p|shzgW#uXDrJ4w!svq^`nbW&EyedhF) ze9JO}J2~EFN^>a)>bKUOw>A>Aoun^1y)8FoBdHAT>VoHZbzEpXkOaB?-T<#DMhzt4 zHZ_c(dKf*z;S#P#D5{fs9pW$qBTm^qx5a0^S4k_y-5zeY(6b)tcJA-=wi0)fYJ&%g z3SCko6+x>sXB2JFq2jDWPl{}451tkkT&tGJYWcyWBP5DqObdnwj8+7tvZ8`hfxKDd zBX7@`ktRWKaBxsFwgum1hqgwbq^62X6&Og?LA3a=u>^;2(q7=Z-A*^T_%Tr}bl0RX z@GtS;-3Tsh*r5qVCFP=tvOTIaGx5v8I&NI}Y_naaa3V69b5Rh~7;&yI_@iN}n7)XT^Ya(MoG#3?%QNsKhG%=sK=k$V)cqeQWX|>g literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/ro_RO/LC_MESSAGES/django.po index c17169b1f3..6f1ad4d6c4 100644 --- a/mayan/apps/cabinets/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/cabinets/locale/ro_RO/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,13 +10,13 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: Badea Gabriel , 2017\n" +"Language-Team: Romanian (Romania) (https://www.transifex.com/rosarior/teams/13584/ro_RO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 #: views.py:153 @@ -45,11 +45,11 @@ msgstr "" #: links.py:64 msgid "Delete" -msgstr "" +msgstr "Șterge" #: links.py:67 msgid "Edit" -msgstr "" +msgstr "Modifică" #: links.py:71 msgid "All" @@ -57,15 +57,15 @@ msgstr "" #: links.py:74 msgid "Details" -msgstr "" +msgstr "Detalii" #: models.py:22 msgid "Label" -msgstr "" +msgstr "Etichetă" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "Documente" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" @@ -125,7 +125,8 @@ msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" #: serializers.py:69 serializers.py:175 @@ -179,13 +180,14 @@ msgstr "" #: views.py:198 msgid "Add" -msgstr "" +msgstr "Adaugă" #: views.py:200 msgid "Add document to cabinets" msgid_plural "Add documents to cabinets" msgstr[0] "" msgstr[1] "" +msgstr[2] "" #: views.py:211 #, python-format @@ -218,13 +220,14 @@ msgstr "" #: views.py:282 msgid "Remove" -msgstr "" +msgstr "Şterge" #: views.py:284 msgid "Remove document from cabinets" msgid_plural "Remove documents from cabinets" msgstr[0] "" msgstr[1] "" +msgstr[2] "" #: views.py:295 #, python-format diff --git a/mayan/apps/cabinets/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/ru/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..ab7eadb64c1f26c9a8ed0acf306701fa45871b29 GIT binary patch literal 919 zcmZ9I&1(}u7{*tvU#p1pC>}<^(xB7*NJ{HAo0>MM2Ad|tSWvu7H`8<_*;!|1`vDcC zUW9tAHxGh;fVEgCt$NmjFaeL^(TgW<9(^b22RQKKdEc4meP(ul_V>LqV4VRj1CM}n zz-vISFTe@lD{u<<2Al@I180FBKp*f6I0^g)wC@j)I&K($K`#PVA>;yR8uUEq1ZY2K z1@sc=9H^sO&K}c1;!*?8QZ7Okd8nG7yqmvWM6<=(y;5bytkIZpiOZrH zHtn{;)DrG^dG>xXwu=T0}DLp_oKOuz88HL12%#grsk=n5;Y*3RpXLqk9_+ zMa_gXDXvq}_E0SmA|w$ST#zyro@Fg9Ee%PX8P3yXJ!o+z2oD*zBuog)Ne_=^ES^{? zvs@|{kA8zQWSf&LlJMtneIr;62$fs|bryLiffHlIX z>7miNP#(V0Lp(97t%Q>no?^T$JQT&AWFxRc zpYz>=qpY9NWp~2PIxbpW?TzG|ObSMv{Sn`{^-A3SAs4PWxHIcR!Z>mv zAe|aB4Yi>@tM_VCZK<8kTIZ#q-l`AK?j5unYP+-6+vu5hJI~cewXHsZece!Rpwt7q Y;M(atgS0KR*-Lr{?OtbH?fxJ74?JrSzyJUM literal 0 HcmV?d00001 diff --git a/mayan/apps/cabinets/locale/ru/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/ru/LC_MESSAGES/django.po index 971141fda2..ba30edfe15 100644 --- a/mayan/apps/cabinets/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/cabinets/locale/ru/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,15 +10,13 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: panasoft , 2017\n" +"Language-Team: Russian (https://www.transifex.com/rosarior/teams/13584/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 #: views.py:153 @@ -47,11 +45,11 @@ msgstr "" #: links.py:64 msgid "Delete" -msgstr "" +msgstr "Удалить" #: links.py:67 msgid "Edit" -msgstr "" +msgstr "Редактировать" #: links.py:71 msgid "All" @@ -59,15 +57,15 @@ msgstr "" #: links.py:74 msgid "Details" -msgstr "" +msgstr "Детали" #: models.py:22 msgid "Label" -msgstr "" +msgstr "Ярлык" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "Документы" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" @@ -127,7 +125,8 @@ msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" #: serializers.py:69 serializers.py:175 @@ -181,13 +180,15 @@ msgstr "" #: views.py:198 msgid "Add" -msgstr "" +msgstr "Добавить" #: views.py:200 msgid "Add document to cabinets" msgid_plural "Add documents to cabinets" msgstr[0] "" msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:211 #, python-format @@ -220,13 +221,15 @@ msgstr "" #: views.py:282 msgid "Remove" -msgstr "" +msgstr "Удалить" #: views.py:284 msgid "Remove document from cabinets" msgid_plural "Remove documents from cabinets" msgstr[0] "" msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:295 #, python-format diff --git a/mayan/apps/cabinets/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/sl_SI/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..a606edabd929c4c18a8ec29b4f6cffa6bca9572a GIT binary patch literal 657 zcmYL{-EPw`6vqP$Cc+)pT=)j56}b6m5tX|zN}EB%vP5l|1VTb?>Sd;h9c*{q&@Pa; zf_q+%2jD3p~&Tui-Mrxf}8)RCaB$Ir{!AF5+6xbX@W%EraBmm&^8P@ z;<4wtLExc7l, YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,13 +10,13 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: kontrabant , 2017\n" +"Language-Team: Slovenian (Slovenia) (https://www.transifex.com/rosarior/teams/13584/sl_SI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" +"Language: sl_SI\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 #: views.py:153 @@ -57,15 +57,15 @@ msgstr "" #: links.py:74 msgid "Details" -msgstr "" +msgstr "Podrobnosti" #: models.py:22 msgid "Label" -msgstr "" +msgstr "Oznaka" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "Dokumenti" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" @@ -125,7 +125,8 @@ msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" #: serializers.py:69 serializers.py:175 @@ -186,6 +187,8 @@ msgid "Add document to cabinets" msgid_plural "Add documents to cabinets" msgstr[0] "" msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:211 #, python-format @@ -225,6 +228,8 @@ msgid "Remove document from cabinets" msgid_plural "Remove documents from cabinets" msgstr[0] "" msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:295 #, python-format diff --git a/mayan/apps/cabinets/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/vi_VN/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..29503de3bdef95b56956b132b2258c4e753d42a3 GIT binary patch literal 680 zcmYL_F^|(Q6vqu5Ai~DX;PFo2CMk!g(kr60IjFd_RW4M(f_#lHF-q*pcG^Q?V1k)} z5ebO}kZuANZn&XrdZ1FizE02`ly3&0oP zGH?uB0e%1*z$sw8zku)O5c&;z5qNzbAqVsgsGau?)YdTj2bYJJ~b@BP0znWylv9-vEK}uO~^eD8cEFN z+z$WO_cZLrBpQ)^7e5>Y(cs3j(J*xOs5T@~ROo^lsREp+N@RGPQ-LEca=atxyp#vL zVE3{T9@Uu2^6t%gE0{%A(TtIV(K5gj&WxZX(+qFg91m%^g*S6!W;$@)#bVJgb`w8j zM|O;>q^62X!;XwQD<~Ij zJk6=n%yb?nyQFp2XO|r^MM5!^DHmCQTL;|yzjlD@UCy|u6fMZERHY8EnAJz!@!NQv pcD%NOl6?8KM7^A2!&g5~4N8_DIWG9>, YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,13 +10,13 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: Trung Phan Minh , 2017\n" +"Language-Team: Vietnamese (Viet Nam) (https://www.transifex.com/rosarior/teams/13584/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" +"Language: vi_VN\n" +"Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 #: views.py:153 @@ -49,7 +49,7 @@ msgstr "" #: links.py:67 msgid "Edit" -msgstr "" +msgstr "Sửa" #: links.py:71 msgid "All" @@ -57,7 +57,7 @@ msgstr "" #: links.py:74 msgid "Details" -msgstr "" +msgstr "Chi tiết" #: models.py:22 msgid "Label" @@ -65,7 +65,7 @@ msgstr "" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "Tài liệu" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" @@ -125,7 +125,8 @@ msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" #: serializers.py:69 serializers.py:175 @@ -179,13 +180,12 @@ msgstr "" #: views.py:198 msgid "Add" -msgstr "" +msgstr "Thêm" #: views.py:200 msgid "Add document to cabinets" msgid_plural "Add documents to cabinets" msgstr[0] "" -msgstr[1] "" #: views.py:211 #, python-format @@ -218,13 +218,12 @@ msgstr "" #: views.py:282 msgid "Remove" -msgstr "" +msgstr "Xóa" #: views.py:284 msgid "Remove document from cabinets" msgid_plural "Remove documents from cabinets" msgstr[0] "" -msgstr[1] "" #: views.py:295 #, python-format diff --git a/mayan/apps/cabinets/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/zh_CN/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..cf33156835011002006ce3c204c18fadfb9ea16f GIT binary patch literal 621 zcmYL_OK%e~5XTJ^5PRgz!N*qM?1LgAhg5{kwgkw7uvEaMGP};kW!GNW-lp`(ftSP) zBrYHx0*Mp%eiv@E@GY24BRbO0{~2o@_WU}(^cI1g1}*?y;4F{>wY>yR0k44i{ta*r zsEf`3AAuhy5c;-=@18umf3VQ4g-$>r4S~#Ofy}M$y;OUhG(}x*naB<5s-!Bov<8iN zp>{YLX|>H0OL{5Ul28 zIkQkiy3BHl1JA!oyj2qT*bitBfbV&bNXC3e)Xf)p52MbQ^oOL|!8eDr-@Eu|IEb7( z%vcg@CQZ()(iCrSnG1<;38wJ1Z8)?1dikU>dkvmejYO_pnoop6nN=*~B<8H3IGhT} z4adv1!&dO})Y{Te*PYE~4O{mY6TaI>RN-o6m=;RA7AlSFU%t{@b@!%Q;lN#S`n`U1 zycNIUIiZpkwnyTpCH&U%UF()P6S9SqDbt4A_WgLBG>`M@VH2)NBombinNi$)EbRXW zQ#_yLjPgpeoUAKd7>Z>%4^7)|;Ul;0wH$Qt?&t5%AJF0c^FObjLG, YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -10,13 +10,13 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Last-Translator: Genlin Jiao , 2017\n" +"Language-Team: Chinese (China) (https://www.transifex.com/rosarior/teams/13584/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 #: views.py:153 @@ -57,7 +57,7 @@ msgstr "" #: links.py:74 msgid "Details" -msgstr "" +msgstr "细节" #: models.py:22 msgid "Label" @@ -65,7 +65,7 @@ msgstr "" #: models.py:25 msgid "Documents" -msgstr "" +msgstr "文档" #: models.py:33 models.py:66 serializers.py:134 msgid "Cabinet" @@ -125,7 +125,8 @@ msgid "The name of this cabinet level appended to the names of its ancestors." msgstr "" #: serializers.py:33 -msgid "URL of the API endpoint showing the list documents inside this cabinet." +msgid "" +"URL of the API endpoint showing the list documents inside this cabinet." msgstr "" #: serializers.py:69 serializers.py:175 @@ -179,13 +180,12 @@ msgstr "" #: views.py:198 msgid "Add" -msgstr "" +msgstr "新增" #: views.py:200 msgid "Add document to cabinets" msgid_plural "Add documents to cabinets" msgstr[0] "" -msgstr[1] "" #: views.py:211 #, python-format @@ -218,13 +218,12 @@ msgstr "" #: views.py:282 msgid "Remove" -msgstr "" +msgstr "移除" #: views.py:284 msgid "Remove document from cabinets" msgid_plural "Remove documents from cabinets" msgstr[0] "" -msgstr[1] "" #: views.py:295 #, python-format diff --git a/mayan/apps/checkouts/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/ar/LC_MESSAGES/django.mo index aa5d21016f822cc4e82040886621a4447f2d0794..ecb7c92ae2dbaa17fa167125b5dc5d4085e11e00 100644 GIT binary patch delta 43 scmew$_(5>PB^DlYT>}$cBSQs4BP*lH_gG|j;R0q>My8wDSzj^(02<;8r2qf` delta 43 zcmew$_(5>PB^DktT|+}%BVz>vBP-L%_gG|j&2$Znb&U)aj0~*|EH<;VzGMaf8m9}P diff --git a/mayan/apps/checkouts/locale/ar/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/ar/LC_MESSAGES/django.po index 943c0552a2..892bbc595b 100644 --- a/mayan/apps/checkouts/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,26 +9,23 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:08+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" -"ar/)\n" -"Language: ar\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:35 links.py:30 msgid "Checkouts" msgstr "" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "" #: events.py:9 msgid "Document automatically checked in" @@ -55,10 +52,12 @@ msgid "Document status" msgstr "" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "مستخدم" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -67,6 +66,7 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -123,6 +123,7 @@ msgid "Block new version upload" msgstr "" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -135,10 +136,12 @@ msgid "Document checkouts" msgstr "" #: models.py:97 +#| msgid "New versions allowed: %s" msgid "New version block" msgstr "" #: models.py:98 +#| msgid "New versions allowed: %s" msgid "New version blocks" msgstr "" @@ -192,6 +195,9 @@ msgstr "Check out details for document: %s" #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" @@ -199,6 +205,7 @@ msgstr "" #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" @@ -260,11 +267,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/checkouts/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/bg/LC_MESSAGES/django.mo index c7fd7497edba7bdb0b89456a3fb5c41776f6b4ca..8d67a612ae3dc4cabb1e08f656778e51d1820781 100644 GIT binary patch delta 43 rcmeAc?H1i|iG{~p*T6*A$WX!1$jWH)Jr)^WxPY0Jk?Cf3))rO(`Y#HA delta 43 ycmeAc?H1i|iG{~Z*U(Vc$XLO^$jWr`Jr)^WGhG8?T_ZyUBSR|#i_Pq;Evx|f^a^|c diff --git a/mayan/apps/checkouts/locale/bg/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/bg/LC_MESSAGES/django.po index 44e3ffd0a4..116b1f5e71 100644 --- a/mayan/apps/checkouts/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:08+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/bg/)\n" -"Language: bg\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:35 links.py:30 @@ -24,10 +23,9 @@ msgid "Checkouts" msgstr "" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "" #: events.py:9 msgid "Document automatically checked in" @@ -54,10 +52,12 @@ msgid "Document status" msgstr "" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "Потребител" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -66,6 +66,7 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -122,6 +123,7 @@ msgid "Block new version upload" msgstr "" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -134,10 +136,12 @@ msgid "Document checkouts" msgstr "" #: models.py:97 +#| msgid "New versions allowed: %s" msgid "New version block" msgstr "" #: models.py:98 +#| msgid "New versions allowed: %s" msgid "New version blocks" msgstr "" @@ -191,6 +195,9 @@ msgstr "Данни от проверката на документ: %s" #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" @@ -198,6 +205,7 @@ msgstr "" #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" @@ -259,11 +267,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/checkouts/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/bs_BA/LC_MESSAGES/django.mo index 2a001d3520fefc86871963638c7cda11254782c0..2037a04ebe739b70d2f2844765b34e0df4126cb6 100644 GIT binary patch delta 43 scmcaAcvW!2B^DlYT>}$cBSQs4BP*lH_gG|j;R0q>My8wDSvBP-L%_gG|j&2$Znb&U)aj0~*|EH<;Vo?`|85tR#2 diff --git a/mayan/apps/checkouts/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/bs_BA/LC_MESSAGES/django.po index 599b2f8167..0f1ba452a0 100644 --- a/mayan/apps/checkouts/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,26 +9,23 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:08+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" -"rosarior/mayan-edms/language/bs_BA/)\n" -"Language: bs_BA\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:35 links.py:30 msgid "Checkouts" msgstr "" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "" #: events.py:9 msgid "Document automatically checked in" @@ -55,10 +52,12 @@ msgid "Document status" msgstr "" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "Korisnik" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -67,6 +66,7 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -123,6 +123,7 @@ msgid "Block new version upload" msgstr "" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -135,10 +136,12 @@ msgid "Document checkouts" msgstr "" #: models.py:97 +#| msgid "New versions allowed: %s" msgid "New version block" msgstr "" #: models.py:98 +#| msgid "New versions allowed: %s" msgid "New version blocks" msgstr "" @@ -192,6 +195,9 @@ msgstr "Odjavni detalji za dokument: %s" #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" @@ -199,6 +205,7 @@ msgstr "" #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" @@ -260,11 +267,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/checkouts/locale/da/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/da/LC_MESSAGES/django.mo index 2204e3016d67b296c12d7bb36b9d76969c1196c8..65842562bfeae58d0d52db559c0cf63711b82eb7 100644 GIT binary patch delta 40 ocmaFG{EB(PA|7*H0~1{%Lj^-4E2D|)WO(6xGbAzFtqd$SUKeHr0PpS!-~a#s diff --git a/mayan/apps/checkouts/locale/da/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/da/LC_MESSAGES/django.po index 562a448ce2..7d8b4555ab 100644 --- a/mayan/apps/checkouts/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/da/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:08+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" -"da/)\n" -"Language: da\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:35 links.py:30 @@ -24,10 +23,9 @@ msgid "Checkouts" msgstr "" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "" #: events.py:9 msgid "Document automatically checked in" @@ -54,10 +52,12 @@ msgid "Document status" msgstr "" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "Bruger" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -66,6 +66,7 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -122,6 +123,7 @@ msgid "Block new version upload" msgstr "" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -134,10 +136,12 @@ msgid "Document checkouts" msgstr "" #: models.py:97 +#| msgid "New versions allowed: %s" msgid "New version block" msgstr "" #: models.py:98 +#| msgid "New versions allowed: %s" msgid "New version blocks" msgstr "" @@ -191,6 +195,9 @@ msgstr "" #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" @@ -198,6 +205,7 @@ msgstr "" #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" @@ -259,11 +267,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/checkouts/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/de_DE/LC_MESSAGES/django.mo index 0beae97e149c190cb90d7f8d199934a8988fe5c4..ee4bef54b87bb38a6550aba17c4bb21851e8ffa6 100644 GIT binary patch delta 1306 zcmZY8U2Ka{9LMpq*$ZY&%{FvAn7y!0*K`?0yk{bUh`1qdCvKt|2fa3_ulfMaZkxL zL-A9+)aymY>{NReKa}PYV>V$6)}f6H@f>>aDlWy_I1is=Exy53_#JDoth6w`9@Y2b zB4dV37maEj97Vlw3O8aF=i@u~|6j3!{*>GQgG^vNWrYbFaSr`0sQ0^YHlD{uyn;>m z2AGT!SC55r3f;@Upt*38CiM zhZ=tzi_yU{);DKpkR>yO%K8O7g2VWjz#&aAN<%NccKw9w=uf)+Y7SPBHy~@7klWvldhe)f9QiY6`3d1L z61#bU4fxh|3YXEZsU-g^Xap(?J2~Wf0=3W}GS*x~UCt4-@F7;=M^s=F*n-oj)UV{? zX#7^xPLH9+rBRpjGAiRY=aYYq%iQ6CB7J~5n(*!}5PDp`1v{ZjtEqtoXP`U34%dmt1D(DwW19z5VX zWDmqN(6=j`u|rnC-(DCOq#5eikR6|0+pyP8hkL`;ZsttHl2L1OukALsMf<|BL|Y`) zm-EiKU+jt6-A?3W#GD7{~F~&D8Z@QJ}JAVb1KAY~V+?{9Z{;N8!>GxNUlywCgYbmKz(#OIpg zNkiDQdfL?@WA@`>fFELRl`)<86*pl+u`%l~fi>8Tb$9|RaSUtm3U0$G+=$On?|<<7 z3m7tH!u;i8Jr6>w3j=Wa1H$)+<^VK1213;-bQ`kh5!5$s)$R- zROUCbR(*(%!7~eM~T+C4Rlh{E&R9?ui8-}k8b=PRi{*XAcbI(#c=VO^CmYq1lRP!G1@AgaVSQ14Hp4%=%~X}=)V zHQ!K)EuyyI7kc;yDRh2LZMn{0K2$zUpsW?VmygZ9I?38={R0$AZYQmkroYMzIN~(j^PSd`!8)g?x zp}(Xm5mrZWVA#8u&RE_VE0Y>_t&C@#_0FHRa$Uu9H+eZh<(%@OO2+yw0&?O<0h?`6HVAo+>SX`ESl_avZsQz;XZFLH85)R4!9%d kTx(w@-;IpqyIln$X*ZLb3O)*C$E!+nZsl@O_ImZbf6)Vcod5s; diff --git a/mayan/apps/checkouts/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/de_DE/LC_MESSAGES/django.po index 5e7299430f..90ec8e64aa 100644 --- a/mayan/apps/checkouts/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/de_DE/LC_MESSAGES/django.po @@ -1,23 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Berny , 2015-2016 +# Jesaja Everling , 2017 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-05-20 21:40+0000\n" -"Last-Translator: Tobias Paepke \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" -"edms/language/de_DE/)\n" -"Language: de_DE\n" +"PO-Revision-Date: 2017-04-24 20:58+0000\n" +"Last-Translator: Jesaja Everling \n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:35 links.py:30 @@ -25,10 +25,9 @@ msgid "Checkouts" msgstr "Ausbuchungen" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "Ausgebuchte Dokumente" #: events.py:9 msgid "Document automatically checked in" @@ -55,10 +54,12 @@ msgid "Document status" msgstr "Dokumentenstatus" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "Benutzer" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "Ausbuchungszeit" @@ -67,6 +68,7 @@ msgid "Check out expiration" msgstr "Ausbuchungsende" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "Neue Versionen erlaubt?" @@ -123,6 +125,7 @@ msgid "Block new version upload" msgstr "Hochladen neuer Versionen sperren" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "Ausbuchungsende muss in der Zukunft liegen." @@ -135,16 +138,14 @@ msgid "Document checkouts" msgstr "Ausbuchungen" #: models.py:97 -#, fuzzy -#| msgid "New versions allowed?" +#| msgid "New versions allowed: %s" msgid "New version block" -msgstr "Neue Versionen erlaubt?" +msgstr "Akutialisierungsschutz" #: models.py:98 -#, fuzzy -#| msgid "New versions allowed?" +#| msgid "New versions allowed: %s" msgid "New version blocks" -msgstr "Neue Versionen erlaubt?" +msgstr "Aktualisierungsschutz" #: permissions.py:10 msgid "Check in documents" @@ -196,15 +197,17 @@ msgstr "Ausbuchungsdetails für Dokument %s" #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" -msgstr "" -"Sie haben dieses Dokument ursprünglich nicht ausgebucht. Soll Dokument %s " -"trotzdem zwingend eingebucht werden?" +msgstr "Sie haben dieses Dokument ursprünglich nicht ausgebucht. Soll Dokument %s trotzdem zwingend eingebucht werden?" #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "Dokument %s einbuchen?" @@ -266,11 +269,11 @@ msgstr "Einheit" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/checkouts/locale/en/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/en/LC_MESSAGES/django.mo index fe5f421a48df8d14c098f058b8395efc18dc9944..623eb32faf525f0eb095ddc13f726e00c20ace39 100644 GIT binary patch delta 25 gcmX>ra8_VL9}ADUu7QcJk)eX2k(JTrSuC5G0cDp5R{#J2 delta 25 gcmX>ra8_VL9}AC}uA!l>k+Fh-k(KG@SuC5G0cDB@SO5S3 diff --git a/mayan/apps/checkouts/locale/es/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/es/LC_MESSAGES/django.mo index ee5710166d3e4591eef0c3b5e84826b2c0bfdd97..0ca023da566c2ea766f7344697e457ee7d910db8 100644 GIT binary patch delta 1204 zcmY+@%}*0S0LJ0L7OBuu1(AXlmZH=TYD*P~)q?^DjfpmX#TZ2^*%%^eW09Jem`e00 z@ld?zKhSvag7Ki@-NYCpHw`3SHQb0Mc=7j6TcVRppV{f`&dfWzE8#y~#pM?7Q$vYU zcTnf*j2S_{haXDFYs?Yszz|-*Ettg?e1M%;LO;I5c6^HwT*Pho3pGAaU%7U$)tI6g zqOp}fPN8nNj)(CfHseC||Bu+j^>^e(vx0hX-9}?JVF-0!1buh~`_RQGKE^P6VH?ijE_{J~_!%|9Z&X5UtU}L;qQ<9i1E!HF z%{lZkzqw39X!YattEdId1jyg6gbqbi#_jkXwUe)?=+~+03t2tXN}I?UFCX7E-k58%K`VMyF4#pQ`lqS?UE;QvVjcQ;J)O zszfW;uSiXYsu$KqVjHwc+J1KG@0?%qGlEDl)I=^@=_!3{_%t{a zOB{?P2b_UqDw(96NHnI;#Ll{f2@Q;mX70EtCz%*nA9pB~9GqYF&D1A`Cv&%_-Avxe WPP>In?b+u4?x|Y8J5?HMe)1PoMt1K2 delta 1100 zcmXZbPe_zO7{~EZSJN%EcC-I$V{QJaUU>Iy)mkwS41x`kh$t#bXrl%7h1xt-n^cDm z3ZYRHUW3lksp!uo=oUoXDkFj@g+RzdM16m=?*p@+ciwm2ooAkz_fP9$s{APtyK4xK zwuN@H%9ws!sOE>5uQ8?%zu*Q;#f({lJ($3QxCu||n65LX9X;&8qnN@g z*oF@<$^7OS7n%wOGhp+`t;SRir?RXzG!HekmM^q7)kiRm& zk+qt?NHI+{Ssr74Q^&<5Wj~FB^nbFPPW0oIL{6YqJc8Py>&Q?ui(By#?#9=siY%cP z5T{%lF@<`+7q!qlYP-*3Srblip_RQu4g88K=`yMURcx##w%CaMIDmQ7xJlfO_adL7 zrT;nV>m?1CC66eo- z0UoM43N4OexX@YAIa4GwzcME=x2HN73hkq%v6XIx;6ewiExJ}Ib+C5Pw0-QBI|txC zNmZgl9mT+CczLX3!}GRO94**VXfK2#=j@yx`&Bc2p#D{NkC(}K!5-@ex$eO8v%Vi6 qI_w=Oj2ABz!!d7gxKzm5z|Szw_kz9F@6BbibA1gHwbP4DQ~v>)8f4A@ diff --git a/mayan/apps/checkouts/locale/es/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/es/LC_MESSAGES/django.po index dd70a285fc..7929ff7edd 100644 --- a/mayan/apps/checkouts/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Roberto Rosario, 2015-2016 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:44+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" -"language/es/)\n" -"Language: es\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:35 links.py:30 @@ -25,10 +24,9 @@ msgid "Checkouts" msgstr "Reservaciones" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "" #: events.py:9 msgid "Document automatically checked in" @@ -55,10 +53,12 @@ msgid "Document status" msgstr "Estatus del documento" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "Usuario" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "Hora de reserva" @@ -67,6 +67,7 @@ msgid "Check out expiration" msgstr "Salida de la reserva" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "¿Nuevas versiones permitidas?" @@ -123,6 +124,7 @@ msgid "Block new version upload" msgstr "Restringir la subida de nuevas versiones" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "Fecha y hora de la expiración de la reserva deben ser en el futuro." @@ -135,16 +137,14 @@ msgid "Document checkouts" msgstr "Reservaciones de documentos" #: models.py:97 -#, fuzzy -#| msgid "New versions allowed?" +#| msgid "New versions allowed: %s" msgid "New version block" -msgstr "¿Nuevas versiones permitidas?" +msgstr "Bloquear nueva version" #: models.py:98 -#, fuzzy -#| msgid "New versions allowed?" +#| msgid "New versions allowed: %s" msgid "New version blocks" -msgstr "¿Nuevas versiones permitidas?" +msgstr "Bloquear nuevas versiones" #: permissions.py:10 msgid "Check in documents" @@ -196,15 +196,17 @@ msgstr "Detalles de la reserva para el documento: %s" #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" -msgstr "" -"Usted no reservó inicialmente este documento. ¿Devolver forzosamente el " -"documento: %s?" +msgstr "Usted no reservó inicialmente este documento. ¿Devolver forzosamente el documento: %s?" #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "¿Devolver el documento: %s?" @@ -266,11 +268,11 @@ msgstr "Periodo" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/checkouts/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/fa/LC_MESSAGES/django.mo index 4b7565c8a87dcfe8e859951d098ae9dda34b0161..adac04625470eb45830b603bc3dc0367e58a7944 100644 GIT binary patch delta 43 rcmZpZZj;{dl#Rz+*T6*A$WX!1$jWH)M>ZK=xPY0Jk?CeB_8c|<|AGpt delta 43 ycmZpZZj;{dl#Rzs*U(Vc$XLO^$jWr`M>ZK=GhG8?T_ZyUBSR|#i_KE(Icxy`M+&9@ diff --git a/mayan/apps/checkouts/locale/fa/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/fa/LC_MESSAGES/django.po index eb4bfb767a..8e54b1eeba 100644 --- a/mayan/apps/checkouts/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:08+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" -"language/fa/)\n" -"Language: fa\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:35 links.py:30 @@ -24,10 +23,9 @@ msgid "Checkouts" msgstr "خروج Checkout" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "" #: events.py:9 msgid "Document automatically checked in" @@ -54,10 +52,12 @@ msgid "Document status" msgstr "" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "کاربر" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -66,6 +66,7 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -122,6 +123,7 @@ msgid "Block new version upload" msgstr "آپلود نسخه و یا بلوک جدید" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -134,16 +136,14 @@ msgid "Document checkouts" msgstr "خروجی های check out سند" #: models.py:97 -#, fuzzy -#| msgid "Block new version upload" +#| msgid "New versions allowed: %s" msgid "New version block" -msgstr "آپلود نسخه و یا بلوک جدید" +msgstr "" #: models.py:98 -#, fuzzy -#| msgid "Block new version upload" +#| msgid "New versions allowed: %s" msgid "New version blocks" -msgstr "آپلود نسخه و یا بلوک جدید" +msgstr "" #: permissions.py:10 msgid "Check in documents" @@ -195,6 +195,9 @@ msgstr "جزئیات خروج و یا Checkout سند: %s" #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" @@ -202,6 +205,7 @@ msgstr "" #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" @@ -263,11 +267,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/checkouts/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/fr/LC_MESSAGES/django.mo index 60374568fcfff4e63bed50357d4abdfc0da72d1f..865b65dd3709380b83457305675ad2df7f563610 100644 GIT binary patch delta 1232 zcmZ|OT}YEr9LMov&YbV1*`{Sat(sY_&4TyQ@ZKE+2`z>^PHFe|9M_?FIc%!tM7rK zM5$Y;b5+Ki#KvlVC_$ewN3a8fcpf)m23zqCc48hI@hJxIIfn2(ZpNRe`As$D{}#3x zlQRP}HZgD-^}rQ8jCZjamn!3Luz~-dkO$3I)WTKkjj6*R>bVg5@e+p7!5*B&E?mIv zxQuP=Z+_6w0sOV)n{}a18pUlmh&osjTW|*3aSnIkJcjWdYJ*>>2(@zxtW%5e`>0SaqEfYtI^efTe>36H0eW#aCU6U0 z$8MZOJ@*7V@HOVN;Aa{=_!|=#CXqUE1~qX888QV_q~=i@y+kf+R`57}LC$Q#O~&lO zC@M0esEwyl`xH>`$g3veuLVnV=;iv3+OUztTNp+ykU)hpgUb0dp1_BA6hELA4v-(+ z_!w%#i>O@RLPhuy>VO5*g&wyMe+?ArxQ&ZQYl@87ik(=AXK@c+!A&@cJMk{o;VkaJx2Weo=g)s&l`%Q< zkArR8s48B6p$U(2ehxR|eboI&xDn@&7tI^ghu>ovE~DOC#Sqq)7}J0@HsTQ0;56>X zr&z`OW`P4u@ClXKchpM%;64nOt}m<^D>(1R?RXUrVhS7Z32K7H{QWPeBK|@?Wqu>M zn!iXfO#!RC#Qdg&gE`864Nr4k8aAdGFQ7_0g=)$HDrTKE|uL(bJ!NL{P2SPMnEoejaxDR{rGIrxE>cdN@UaBuD zX&q`o4X6a#^4Gg?n)4G#p@U?#5beJp4)CkqsC)|65rh_}&`wsbwQ9u{hB8*!)hb0j zL*-`w1=-rDjj2#OC{7ScQ2R_#srj`@NF-RfvQQ{%i$QCHor&n7dLf5Xa*Cp;_TTQ~iQ>(*{iJ=$&3G{@>O?wir$f(0otV?!;t=6}H=VJEQf@Lm;b#0)%<4;J zlfHGbcQD=`9~!W_M|9pg>fZJyyo}%Dj*O, 2016 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-05-23 20:04+0000\n" -"Last-Translator: Bruno CAPELETO \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" -"fr/)\n" -"Language: fr\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:35 links.py:30 @@ -26,10 +25,9 @@ msgid "Checkouts" msgstr "Verrous" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "" #: events.py:9 msgid "Document automatically checked in" @@ -56,10 +54,12 @@ msgid "Document status" msgstr "Status du document" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "Utilisateur" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "Heure du vérouillage" @@ -68,6 +68,7 @@ msgid "Check out expiration" msgstr "Expiration du vérouillage" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "Autoriser de nouvelles versions ?" @@ -124,9 +125,9 @@ msgid "Block new version upload" msgstr "Empêcher l'import d'une nouvelle version" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." -msgstr "" -"La date et l'heure d'expiration du verrou doit se situer dans le futur." +msgstr "La date et l'heure d'expiration du verrou doit se situer dans le futur." #: models.py:87 permissions.py:7 msgid "Document checkout" @@ -137,16 +138,14 @@ msgid "Document checkouts" msgstr "Verrouillages du document" #: models.py:97 -#, fuzzy -#| msgid "New versions allowed?" +#| msgid "New versions allowed: %s" msgid "New version block" -msgstr "Autoriser de nouvelles versions ?" +msgstr "Bloc de la nouvelle version" #: models.py:98 -#, fuzzy -#| msgid "New versions allowed?" +#| msgid "New versions allowed: %s" msgid "New version blocks" -msgstr "Autoriser de nouvelles versions ?" +msgstr "Blocs de la nouvelle version" #: permissions.py:10 msgid "Check in documents" @@ -198,15 +197,17 @@ msgstr "Détails du verrou pour le document : %s" #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" -msgstr "" -"Ce n'est pas vous qui avec posé le verrou sur ce document. Êtes vous certain " -"de vouloir forcer le déverrouillage de : %s?" +msgstr "Ce n'est pas vous qui avec posé le verrou sur ce document. Êtes vous certain de vouloir forcer le déverrouillage de : %s?" #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "Verrouiller le document : %s ?" @@ -268,11 +269,11 @@ msgstr "Période" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/checkouts/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/hu/LC_MESSAGES/django.mo index 40a6c7bcfecba5f8957d5a1ce76befdc9b9eac22..b40b20ae5a5b31f77128cc802e1858498afa91bf 100644 GIT binary patch delta 40 ocmeyu{DpbKA|7*H0~1{%Lj^-4E2D|)WO(6xGbAzFtqd$SUYBJA0P_wC{r~^~ diff --git a/mayan/apps/checkouts/locale/hu/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/hu/LC_MESSAGES/django.po index 687559f98c..07389d2983 100644 --- a/mayan/apps/checkouts/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/hu/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:08+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/hu/)\n" -"Language: hu\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:35 links.py:30 @@ -24,10 +23,9 @@ msgid "Checkouts" msgstr "" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "" #: events.py:9 msgid "Document automatically checked in" @@ -54,10 +52,12 @@ msgid "Document status" msgstr "" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "Felhasználó" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -66,6 +66,7 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -122,6 +123,7 @@ msgid "Block new version upload" msgstr "" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -134,10 +136,12 @@ msgid "Document checkouts" msgstr "" #: models.py:97 +#| msgid "New versions allowed: %s" msgid "New version block" msgstr "" #: models.py:98 +#| msgid "New versions allowed: %s" msgid "New version blocks" msgstr "" @@ -191,6 +195,9 @@ msgstr "" #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" @@ -198,6 +205,7 @@ msgstr "" #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" @@ -259,11 +267,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/checkouts/locale/id/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/id/LC_MESSAGES/django.mo index 68e2426cca77c1ddad6ffa36e8d1241fe5cf8e89..008b6d02d2f383f902374674ec9f625b1c0bf7ea 100644 GIT binary patch delta 40 ocmaFK{E~UXA|7*H0~1{%Lj^-4E2D|)WO(6xGbAzFtqd$SUKe5n0Pmg(-2eap diff --git a/mayan/apps/checkouts/locale/id/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/id/LC_MESSAGES/django.po index 40a2951c79..b0ea648fd8 100644 --- a/mayan/apps/checkouts/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/id/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:08+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" -"language/id/)\n" -"Language: id\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:35 links.py:30 @@ -24,10 +23,9 @@ msgid "Checkouts" msgstr "" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "" #: events.py:9 msgid "Document automatically checked in" @@ -54,10 +52,12 @@ msgid "Document status" msgstr "" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "Pengguna" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -66,6 +66,7 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -122,6 +123,7 @@ msgid "Block new version upload" msgstr "" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -134,10 +136,12 @@ msgid "Document checkouts" msgstr "" #: models.py:97 +#| msgid "New versions allowed: %s" msgid "New version block" msgstr "" #: models.py:98 +#| msgid "New versions allowed: %s" msgid "New version blocks" msgstr "" @@ -191,6 +195,9 @@ msgstr "" #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" @@ -198,6 +205,7 @@ msgstr "" #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" @@ -259,11 +267,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/checkouts/locale/it/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/it/LC_MESSAGES/django.mo index 7a08d2395ad4e3ed393822d2e5402b8cb91b6345..2197c6cacf83a868a7a6acc1e2af1663501475fd 100644 GIT binary patch delta 1220 zcmYk*-%FEG9LMov&YV9s(`8O;_DoB&Ty7(i76evE5SXkVPz0spp+?~oYI@PdB7?f9 zs~Ob4P*4{dK@r$Z6hu_s1dkv0 zq4jZX#D1 zoWua@n{#xO?F)DYb9kRJyu=Lm$7)MEm_-Hp1U2y@w&D^hQ)~Y7KiJECBk9_O zhfo>2geuJq-y#<5gmkpSMbtU?f!b+=f-1$GsE9MDg$GgJo$|-?IK=%mR4HCy55B=} zTt#Id5;A57_MpBW4v~LFmSbQO&iLL%9jZsD)GnX`T1Ex1iYff-n`HajxgSFp?1@%sD6P$a>e$Pr?CEc*EUAS5H=U_Y zuC4x{N})z|ZFBh5fwd{I9r|R{9wv>q&3~(`3q+l z`v(%qeTj6+Nu@LCH2q|rUtOV&drNl$&wV$<+FL`!nhO;!3ckA?uB~6H}g( o^(IFr^4@&BCSKJ$eBGP&?DRRWyqaq?nlFuB&aV#_2g7&%0rC-jnE(I) delta 1174 zcmXZb-Afcv7{~GBYr3VC+MA_KYQAJ+v#S}d6`2)6Mo|(-b}_7*F7EEc?r1l`8om4j z7DQflRT5o@cVcu`cZGCW7!g!-Ap`|MFW=wnJ}~<^XJ*fw=RD`kQsb+J+=rUd2Zpe@ z_Hf-PGUgb5FXo3>D>0@YKjKboC^cp)_F@eVVLe{KO*n%)@HRH#JZ{Go)c@ZV`d_ft zn4I}XqmBo)W%&W^*hl{?R^wgN^ZU3FpCALx66(dTu@cu%%h(QhjAN@;eO0uD?UU`@S^biJ*tR5kXMcVyaTm^^D)X%Hd>IeYe~az-7geD) z%B8L7FL()q_o23C7ITMaJf@+Qt)fc$36=40)Wk(>tOnMh?swoBbWo+gfgN}Y+i(F@ zp;c_buc-0WRr$o4aSQz;Rn%XNA#UgpjbbbMsD$QG2`pe3R|>A*GuM3SG>&i+TpMr>9(9m^l-#> zdK@Qo;kU;kIQd@m7 diff --git a/mayan/apps/checkouts/locale/it/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/it/LC_MESSAGES/django.po index 0948b9f797..11af0249f3 100644 --- a/mayan/apps/checkouts/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Marco Camplese , 2016 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-09-24 10:31+0000\n" -"Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:35 links.py:30 @@ -25,10 +24,9 @@ msgid "Checkouts" msgstr "Uscite" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "" #: events.py:9 msgid "Document automatically checked in" @@ -55,10 +53,12 @@ msgid "Document status" msgstr "Stato documento" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "Utente" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "Tempo di uscita" @@ -67,6 +67,7 @@ msgid "Check out expiration" msgstr "Scadenza dell'uscita" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "Accetta nuove versioni" @@ -123,6 +124,7 @@ msgid "Block new version upload" msgstr "Blocca la nuova versione in caricamento" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "La data e ora di uscita deve essere nel futuro." @@ -135,16 +137,14 @@ msgid "Document checkouts" msgstr "Documenti usciti" #: models.py:97 -#, fuzzy -#| msgid "New versions allowed?" +#| msgid "New versions allowed: %s" msgid "New version block" -msgstr "Accetta nuove versioni" +msgstr "Nuovo blocco versione" #: models.py:98 -#, fuzzy -#| msgid "New versions allowed?" +#| msgid "New versions allowed: %s" msgid "New version blocks" -msgstr "Accetta nuove versioni" +msgstr "Nuovi blocchi versione" #: permissions.py:10 msgid "Check in documents" @@ -196,15 +196,17 @@ msgstr "Dettaglio del check out per il documento: %s" #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" -msgstr "" -"Non hai originariamente fatto il checkout di questo documento. Forzare nel " -"documento: %s?" +msgstr "Non hai originariamente fatto il checkout di questo documento. Forzare nel documento: %s?" #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "Accetti il documento: %s?" @@ -266,11 +268,11 @@ msgstr "Periodo" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/checkouts/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/nl_NL/LC_MESSAGES/django.mo index fdead81dea027dcf0324ce2dc617534af7bec96d..333f63cd080945fd1f538ec6c47226e9bda02153 100644 GIT binary patch delta 283 zcmX}mu}Z^G6vpwBMq68<9cmFpFrwffS8py=A(KM~2cZ(&T)aYtXvu{n6rK7Ab#$sP z(5<7Zn~uJKTi?LJ#eW?<%kSgka5&GcpXSrY=*1Ix_eIV`Z53@i9B zd-Nui>r%7j5^B4fx}H!k}sPKIfbx=i(KnM8rn;s4%AWR4Fs)3~rjsjhOH6$4wk UJPKlWo8+a#!se-)jhE{FFGqGRqyPW_ delta 319 zcmXZW!Ae3w6b9hqH8l-vp%O&kgo_q6GWS{+yhs?>PAIAu7-EpAaV~gof{Soj(k2MO zl`rAe7l?X*wmm{?LHaXi^Ue7==WrJJ$@c5#aGoIgND?)P=s87n0N-H&{=hs;rHOW6 z5f, 2016 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-11-09 16:39+0000\n" -"Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" -"edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:35 links.py:30 @@ -26,10 +25,9 @@ msgid "Checkouts" msgstr "Checkouts" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "" #: events.py:9 msgid "Document automatically checked in" @@ -56,10 +54,12 @@ msgid "Document status" msgstr "" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "Gebruiker" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -68,6 +68,7 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "Nieuwe versies toegestaan?" @@ -124,6 +125,7 @@ msgid "Block new version upload" msgstr "Blokkeer uploaden van een nieuwe versie" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -136,16 +138,14 @@ msgid "Document checkouts" msgstr "" #: models.py:97 -#, fuzzy -#| msgid "New versions allowed?" +#| msgid "New versions allowed: %s" msgid "New version block" -msgstr "Nieuwe versies toegestaan?" +msgstr "" #: models.py:98 -#, fuzzy -#| msgid "New versions allowed?" +#| msgid "New versions allowed: %s" msgid "New version blocks" -msgstr "Nieuwe versies toegestaan?" +msgstr "" #: permissions.py:10 msgid "Check in documents" @@ -197,6 +197,9 @@ msgstr "" #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" @@ -204,6 +207,7 @@ msgstr "" #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" @@ -265,11 +269,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/checkouts/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/pl/LC_MESSAGES/django.mo index e883efc6217833e237ed7ec46681308521d3cdb6..8b30f423114506b874beb5b7bb52a729d4370da6 100644 GIT binary patch delta 561 zcmYMuOG`pQ6bJB=Df!4nFQ^P0Aw{DLGm~1~yxs`6WwZ&Zjh2fGa*G~9AXv+wR&Ht$ zErJ#i6u50spP_HivV8OVFq4E*NIdCgtqC-St_(};SA&ija#iRd9f#Nam^fRP~4 zAT;0@T!bj44LAhLFa~Q-)nCF9cn?+Ii_X8nEaFd{pAHe>&{BvR?S>UZ!+6+%YQZrS z@D%!C3mWiQ`vIefNBfDU;2fNQ+u9STK6I^pgbeX3R3Cna>Z9JUO_aiAJWMnR3s4Pq zU@ts_K6nAKlbZVd25ut0ZC!b6UuM?eX+sJoq$wrtoCjBn##*K395}nKQ79c&OeVSL z)MZVXX@>n@jr0QBs~+u_s#emqEWvEXnaPrFT=2XlSt7yIHD{$$>fV0mIU!lS-cF!M tAZ0UwE;oh&|5bU5ce_POHR!3C?)!Yan^2=V3$gKUuEgA#Rxz;d{RI&DQ=tF= delta 471 zcmXZWyGlbr5C-6h8cdD}cr7G~BWO&7h1tyoIp%npV4;XNP*9s7K?5O*w?YD`1skyv zY-~iZ5%K_{g)gAJrHHjy>c8<+-^{-|yYrj4O+0Lc8ZRND^G>1#B3g|SF}#62@EP{P zH#i7CAg)r#A?kxsI0}cMz3;;TxD4&wPH=t-^XRXG^Hq-J;Sh9U|4u-=P%&@~GWuO;7e0e_(fgQBlt%G{U<`gi`*3%h zs2vIn!z{!f#f}0 Pku+vBW=!)gy58{zxnn;I diff --git a/mayan/apps/checkouts/locale/pl/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/pl/LC_MESSAGES/django.po index f49ca7fd7e..7ea7f1fee3 100644 --- a/mayan/apps/checkouts/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Wojtek Warczakowski , 2016 @@ -10,26 +10,23 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:08+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" -"pl/)\n" -"Language: pl\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:35 links.py:30 msgid "Checkouts" msgstr "Blokady" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "" #: events.py:9 msgid "Document automatically checked in" @@ -56,10 +53,12 @@ msgid "Document status" msgstr "" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "Użytkownik" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -68,6 +67,7 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -109,8 +109,7 @@ msgstr "Data i czas blokady" #: models.py:33 msgid "Amount of time to hold the document checked out in minutes." -msgstr "" -"Liczba dni, godzin lub minut w trakcie których dokument będzie zablokowany." +msgstr "Liczba dni, godzin lub minut w trakcie których dokument będzie zablokowany." #: models.py:35 msgid "Check out expiration date and time" @@ -125,6 +124,7 @@ msgid "Block new version upload" msgstr "Blokuj załadowanie nowej wersji" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "Wygaśnięcie blokady musi nastąpić w przyszłości." @@ -137,16 +137,14 @@ msgid "Document checkouts" msgstr "Blokady dokumentu" #: models.py:97 -#, fuzzy -#| msgid "Block new version upload" +#| msgid "New versions allowed: %s" msgid "New version block" -msgstr "Blokuj załadowanie nowej wersji" +msgstr "" #: models.py:98 -#, fuzzy -#| msgid "Block new version upload" +#| msgid "New versions allowed: %s" msgid "New version blocks" -msgstr "Blokuj załadowanie nowej wersji" +msgstr "" #: permissions.py:10 msgid "Check in documents" @@ -198,15 +196,17 @@ msgstr "Szczegóły blokady dokumentu: %s" #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" -msgstr "" -"Ten dokument nie został przez ciebie zablokowany. Czy wymusić odblokowanie " -"dokumentu: %s?" +msgstr "Ten dokument nie został przez ciebie zablokowany. Czy wymusić odblokowanie dokumentu: %s?" #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "Odblokować dokument: %s?" @@ -268,11 +268,11 @@ msgstr "Okres" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/checkouts/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/pt/LC_MESSAGES/django.mo index a2431293e10b49e4b68a55b67f5eb9aaee752609..5478a03666f144953069d8ad38631c4fa39d28cc 100644 GIT binary patch delta 64 zcmZ3)vWR8ENmFxO0~1{%Lj^-4D`R!U6;g?R4WA|14A=i T17lqyLj@y4D+7y-|5O+OH)|16 diff --git a/mayan/apps/checkouts/locale/pt/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/pt/LC_MESSAGES/django.po index d12c2c3f51..f7855bcf3b 100644 --- a/mayan/apps/checkouts/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:08+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" -"language/pt/)\n" -"Language: pt\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:35 links.py:30 @@ -24,10 +23,9 @@ msgid "Checkouts" msgstr "" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "" #: events.py:9 msgid "Document automatically checked in" @@ -54,10 +52,12 @@ msgid "Document status" msgstr "" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "Utilizador" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -66,6 +66,7 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -122,6 +123,7 @@ msgid "Block new version upload" msgstr "" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -134,10 +136,12 @@ msgid "Document checkouts" msgstr "" #: models.py:97 +#| msgid "New versions allowed: %s" msgid "New version block" msgstr "" #: models.py:98 +#| msgid "New versions allowed: %s" msgid "New version blocks" msgstr "" @@ -191,6 +195,9 @@ msgstr "" #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" @@ -198,6 +205,7 @@ msgstr "" #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" @@ -259,11 +267,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/checkouts/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/pt_BR/LC_MESSAGES/django.mo index 08cb131b3ce702b85cf2ca6d14cd207488e68a68..63a10f768f5da9722288cdf07230c48991350206 100644 GIT binary patch delta 1226 zcmZA0O>7Kd9LMpey0zQ4t+uM$vTGE5wYr_CvM#K~frMs-AWhiTh>d24ZI!r`=t&$T zTNe_S9wZJDsSDB*iA&RnCL*K_7dIT*aP|GoPDMP)GoNRkd1jvf^M9WC5S@!nEY$_> z8%j5I6LqS@n1fhV%7qdM7_$$XFoGwr7IRpKH?bKDScOlq5no{oF5m|Ig&JR7R=l^c z-k1r~M`Jw?j-XyRhkNlhhH=(^K8Kaue??w2-%%efS!+x=Mo{myUwNKV4x=7d}LN@GU9>pRfskAVW=v^e7{>*n#b+ zacSQRs4cwV-xqK~kv^uO6}&*D@C$0C&1|S5??k0|KWc)*z8TcS*D-~+P~+a9GBc0c za0QjgrfOrh;vQ6BgVp3;jmvasqDj;Q4^Vsb3^(HfYTPnvT#$pIfTO4n_M^sMM6K`+ zDl^ll!#RtbKl2e4@S^XxF!@*Nf6{RZmyyhS(So;%ov8ESr52T$)uKr`hu(gwuanxY zhF`jTl@;y1vZ1ZfqP(L0S6N3@#QFu}RIO4GtB^e}YW<>YwRZ;ei|wE)D_XI#p+ov_ z(ZZCSjecjFFT3j%i>nT-;lLIfNQS-N4ovgRVrgX{VhxSB!hkTy?Upb>6XZ?s&$V@%6N8Rv(Q1|D}Y@ocYJYDt@Rd%fHZp+vy*|8oZ49{W>ngd&rCC5o+SsScMCy_r7B#ww4>yjy7(_ zVQj?nxDjt-9qXGXJZOP;sLU2oJN=7I7^=u`tP^YL58`S(fo+(1Wx^M)wkr`CRH?aZlqcVJjs=!<9#6{G& zTFN9_P)F8Z=ntV197An*8gnYyT^^L#2UKQXQ6*hMEl|P1$|lspy|@PlP~$G5Dscr{ z@gb^m^VovFQ5$Ng&TFIAiC0s9O?-?mbS7zR#%qOv4+;ZcqIUcdHDM7KL*v^}m+t_o zw4-6~WSi^h=#rGy}K!IZf|CDq01qUrcJ zEwh!TP*u2R!Od6S#8ci>+PA!M%TJ~fmhV}oy~#0a&MEy_GP|$xMXt||MC@pf zQQO((IH94#_L0PNGMn_$_FmUd#H^?j3C2bGt!OmX)7Rw?p+Pt6+rt?*ot<=jFB7xk ylgV_#+Mh`zeK%|Ebk*G*e2(Y8>ptbBx<@kuyqcbvawih@+?lH8ve~CKSN{VJczuBY diff --git a/mayan/apps/checkouts/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/pt_BR/LC_MESSAGES/django.po index c6f4add966..f415e5e87f 100644 --- a/mayan/apps/checkouts/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-11-17 22:36+0000\n" -"Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" -"edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:35 links.py:30 @@ -25,10 +24,9 @@ msgid "Checkouts" msgstr "Reservas" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "" #: events.py:9 msgid "Document automatically checked in" @@ -55,10 +53,12 @@ msgid "Document status" msgstr "Status do documento" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "Usuário" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "Hora da reserva" @@ -67,6 +67,7 @@ msgid "Check out expiration" msgstr "Saída da reserva" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "Novas versões permitidas?" @@ -123,6 +124,7 @@ msgid "Block new version upload" msgstr "Restringir o carregamento de novas versões" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "Data e hora da expiração da reserva deve ser no futuro." @@ -135,16 +137,14 @@ msgid "Document checkouts" msgstr "Reservas de documentos" #: models.py:97 -#, fuzzy -#| msgid "New versions allowed?" +#| msgid "New versions allowed: %s" msgid "New version block" -msgstr "Novas versões permitidas?" +msgstr "Bloqueio de nova versão" #: models.py:98 -#, fuzzy -#| msgid "New versions allowed?" +#| msgid "New versions allowed: %s" msgid "New version blocks" -msgstr "Novas versões permitidas?" +msgstr "Bloqueios de nova versão" #: permissions.py:10 msgid "Check in documents" @@ -196,15 +196,17 @@ msgstr "Detalhes da reserva para o documento: %s " #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" -msgstr "" -"Você não reservou inicialmente este documento. Devolver forçosamente o " -"documento: %s?" +msgstr "Você não reservou inicialmente este documento. Devolver forçosamente o documento: %s?" #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "Devolver o documento: %s?" @@ -266,11 +268,11 @@ msgstr "Período" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/checkouts/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/ro_RO/LC_MESSAGES/django.mo index 5104216595cec9f0b953c5dae4f8d1c4a6a52837..aaa3c5fa358c2b8aa85bf1b17eb6c07f956bf512 100644 GIT binary patch delta 43 scmaDL_&{*OB^DlYT>}$cBSQs4BP*lH_gG|j;R0q>My8wDS#L4}02P7@bpQYW delta 43 zcmaDL_&{*OB^DktT|+}%BVz>vBP-L%_gG|j&2$Znb&U)aj0~*|EH<;V-ed*<6-Ntk diff --git a/mayan/apps/checkouts/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/ro_RO/LC_MESSAGES/django.po index 68108872ce..44adbf0152 100644 --- a/mayan/apps/checkouts/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,26 +9,23 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:08+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" -"edms/language/ro_RO/)\n" -"Language: ro_RO\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:35 links.py:30 msgid "Checkouts" msgstr "" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "" #: events.py:9 msgid "Document automatically checked in" @@ -55,10 +52,12 @@ msgid "Document status" msgstr "" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "utilizator" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -67,6 +66,7 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -108,8 +108,7 @@ msgstr "" #: models.py:33 msgid "Amount of time to hold the document checked out in minutes." -msgstr "" -"Total timp alocat pentru a deține documentul pentru aprobare în minute." +msgstr "Total timp alocat pentru a deține documentul pentru aprobare în minute." #: models.py:35 msgid "Check out expiration date and time" @@ -124,6 +123,7 @@ msgid "Block new version upload" msgstr "" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -136,10 +136,12 @@ msgid "Document checkouts" msgstr "" #: models.py:97 +#| msgid "New versions allowed: %s" msgid "New version block" msgstr "" #: models.py:98 +#| msgid "New versions allowed: %s" msgid "New version blocks" msgstr "" @@ -193,6 +195,9 @@ msgstr "Verificat detaliile documentului:% s" #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" @@ -200,6 +205,7 @@ msgstr "" #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" @@ -261,11 +267,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/checkouts/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/ru/LC_MESSAGES/django.mo index 1d7f582765c68771e6a9e7a77546e4052b9eebee..51f96d9af83bc774d3338ad556ef75207b1122c8 100644 GIT binary patch delta 1267 zcmZ|O%}Z2K7{~Erjyb-LFPWqHa+}gIb8==#r3os_78RrzMM#h@%wi}U7{wMX6pUyg zgp6%!*D|3j4Mek*?M!aA3=RK)f*`C__Wj*EL=YV~^EqekbIti)vu;78n#JE-`g9Jg;_xiRCW zgT_7{TtdCjk0)>vi*Y6Md<_feZzC_7FQ|dD_8OCie$;yb^x_R{#5e|V3Ttrz58?)v zGr##xLksZcx;v{yt+W;E@GNR!1L(thSb;OxfX}cIZPWxmP$yKuDl|?I6(7Sr*n>=I zuAqncO&<-N_D#HoLs&`V5?-Lck?&qf4cpg*{TRag*o+IP>-(J1$2~;ppGN(k!lU>! z(_cru{|m?Uprwdi;&mLtCs>cWs0r)22i@^`RD3^b;3!>GW=*p6!%vpG*KD25^ILnY+{jNmF>#2xI!PR?CUqQ-rP zI`VJGkme^Une)mye-hIK$fyJckq^MRcW_pD43!^BHpX{y0Gy&k%Asm-6fc2< zb%=T(^Jg$)K}HLeu!e+n8_1PApB?h9iIC+GEkS^p>~M*P9%Sr$&=j zZ*pWHl}OI-dbhnz)Aq9c)?Ts~KTO~&T631YK=Y+NM|atNZLjd~Vfsa}zuDOThA;j% JJiS%={x>YIuIvB+ delta 1133 zcmXZbOK1~89LMpoO>3G~TT@?Et83p6S2wYZCMvW(z-pmVN)J8`u||xf*^Tg^Z)OS)`!g#AHso~ zhOlXyXjhjRvk$+Q@I%a(8nXu%a6Q%sj9G;-4C7(kfG4mD$8jBA!3Mm8Yw;Os{9C{O z6>E)|F#ot%&5hc!;sb3Mr+*Yz;x*L$DXhc?$b;rFYT}nzf%B;6zF`oX%8hA38(VP* z>+uq9#oJiR`eud;E${}lvoEMO{f(P3w7mFY?O08}AJ^bXY{ne6;4Rbwv;O@#)FJ*t zrZS7jUd>In4T|oQp6cPhlVZv5+wb@Cj;xB~*Hv*nS5N;tss*`v{}-=lp&R zdFZ6ygBq7XJ%88#{}t}1zlakfT*Oxxvjy*=7JQ1z>1WhLOQ?xD$VUW^;{aaA8hno$ z_X9PquDUp`4}0ieM9n*c?f3~bzN&`v*Mz&7C5GpH@1tJm9oqN@RfH|%N8?Z95u8Fz z^bvK$mE?_~CX6c9M%0n-#WeOJ_3fokDOde@(a5g`ZY*{U8}_2kw*j>SO{&l$N<|w@ zJ5n^!^aYjC^abd}D`*OBhST;!wZi*)5!U*o-m7%d?-hpbsIn~@srQNyyikFudKLN# zv}>IJC+dA2+fbqOQDCu!`aIJH0=8QG%1b&uI9tu7mj@glj z9o=a;(L{IDcDfuVbZo#LOpT}WX*X*hOcqiJE9yjIwzJEQ#H~m?(cRVQ5TX8LzF-gK flG%JFS#Wa+E0fN++sBgG^vHCwVj(#BBK-P44{>yr diff --git a/mayan/apps/checkouts/locale/ru/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/ru/LC_MESSAGES/django.po index 49f439ded4..b1375a5649 100644 --- a/mayan/apps/checkouts/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -10,27 +10,23 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-07-19 19:54+0000\n" -"Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" -"language/ru/)\n" -"Language: ru\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:35 links.py:30 msgid "Checkouts" msgstr "Забронированные документы" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "" #: events.py:9 msgid "Document automatically checked in" @@ -57,10 +53,12 @@ msgid "Document status" msgstr "Статус документа" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "Пользователь" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "Время бронивания" @@ -69,6 +67,7 @@ msgid "Check out expiration" msgstr "Окончание бронирования" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "Новые версии разрешены?" @@ -125,6 +124,7 @@ msgid "Block new version upload" msgstr "Заблокировать загрузку новых версий" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "Время окончания брованирования должно быть в будущем." @@ -137,16 +137,14 @@ msgid "Document checkouts" msgstr "Забронированные документы" #: models.py:97 -#, fuzzy -#| msgid "New versions allowed?" +#| msgid "New versions allowed: %s" msgid "New version block" -msgstr "Новые версии разрешены?" +msgstr "Блокировка добавления новых версий" #: models.py:98 -#, fuzzy -#| msgid "New versions allowed?" +#| msgid "New versions allowed: %s" msgid "New version blocks" -msgstr "Новые версии разрешены?" +msgstr "Блокировки добавления новых версий" #: permissions.py:10 msgid "Check in documents" @@ -198,6 +196,9 @@ msgstr "Подробности бронирования %s" #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" @@ -205,6 +206,7 @@ msgstr "Документ был забронирован не вами. Осво #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "Освободить документ: %s?" @@ -266,11 +268,11 @@ msgstr "Интервал" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/checkouts/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/sl_SI/LC_MESSAGES/django.mo index 0546f1fa47fd3c0bc7a8f62d638fc8f7ab8ae665..42922b9515282b022a054d4ea125d7b9533c792e 100644 GIT binary patch literal 1313 zcma)*OK;Oa5XTKI6vDfJ0P)Zwfz%3ZY$pLKR}m6@h)6_<+Q5ZFwY4|truJ@RuhUlQ zfeSYf2LxBHd;l(7dIIqUxFK=l%opImf9*V=aA2kJZ)WztGh=7-ZF=&xg>@2k1@;_v z7WNZn)`J67O>YD{=R@?M3YXWv6^YRBqwycE>?r#zyNuc~R;!=+? zwn~QqJQ6U?36lZQBH{y4mjB}%4^YcyeI`P-9u9O!j%vY4ti|D(p+i_0a~A9n-;9&% ziz69fsa6rw!e?PP)(AOP4A1>5XL^qswN>o%cDk=lGge*hYg!BFV;(0$NsrXo4wGbQ zvA$YZ;XM^=T2DG6p!d^GLR-osg=V8g7cjSmo-X41c%?kt(v(7NZ@_SV)`QJY$#&9{rbitISA65Ek^HOhl1vBN<{I|ER7E-_~|7WJ1p4*J5$Pb@fqena+)MrfHkUbV>Ru5VGTuxpkpO z!+Rv_RcMB3%tE@X;wbTm>}6q6t<00$t0!bd05W3^AOm=sNTNP}T zuvMO&FIdf3bXi~EW^d**{pvm{xg@FCjCU1!)#E9 GS-$`$WMWPL delta 124 zcmZ3;)yHCSPl#nI0}wC*u?!Ha05LNV>i{tbSOD=Aprj>`2C0F8$$m_}re?Z^hPp<^ z3I;}2rbfC3CI$vv0sgu{sb!hPnfZCTE{P?nRtiQ2hGx13#=1s^3Py%j1{RwyFoiGz E0P9f{m;e9( diff --git a/mayan/apps/checkouts/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/sl_SI/LC_MESSAGES/django.po index 65ba906588..1574abdb6f 100644 --- a/mayan/apps/checkouts/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/sl_SI/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,56 +9,55 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:08+0000\n" +"PO-Revision-Date: 2017-04-23 16:43+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" -"edms/language/sl_SI/)\n" -"Language: sl_SI\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" +"Language: sl_SI\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: apps.py:35 links.py:30 msgid "Checkouts" -msgstr "" +msgstr "Odjave" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "" #: events.py:9 msgid "Document automatically checked in" -msgstr "" +msgstr "Dokument je avtomatsko prijavljen" #: events.py:12 msgid "Document checked in" -msgstr "" +msgstr "Dokument prijavljen" #: events.py:15 msgid "Document checked out" -msgstr "" +msgstr "Dokument prijavljen" #: events.py:19 msgid "Document forcefully checked in" -msgstr "" +msgstr "Dokumentu je vsiljena prijava" #: exceptions.py:25 views.py:49 msgid "Document already checked out." -msgstr "" +msgstr "Dokument je že odjavljen" #: forms.py:28 msgid "Document status" msgstr "" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -67,6 +66,7 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -80,31 +80,31 @@ msgstr "" #: links.py:35 msgid "Check out document" -msgstr "" +msgstr "Odjavi dokument" #: links.py:41 msgid "Check in document" -msgstr "" +msgstr "Prijavi dokument" #: links.py:48 msgid "Check in/out" -msgstr "" +msgstr "Prijava / Odjava" #: literals.py:12 msgid "Checked out" -msgstr "" +msgstr "Odjavljen" #: literals.py:13 msgid "Checked in/available" -msgstr "" +msgstr "Prijavljen / na voljo" #: models.py:27 models.py:92 msgid "Document" -msgstr "" +msgstr "Dokument" #: models.py:29 msgid "Check out date and time" -msgstr "" +msgstr "Oglejte si datum in čas" #: models.py:33 msgid "Amount of time to hold the document checked out in minutes." @@ -123,6 +123,7 @@ msgid "Block new version upload" msgstr "" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -135,10 +136,12 @@ msgid "Document checkouts" msgstr "" #: models.py:97 +#| msgid "New versions allowed: %s" msgid "New version block" msgstr "" #: models.py:98 +#| msgid "New versions allowed: %s" msgid "New version blocks" msgstr "" @@ -192,6 +195,9 @@ msgstr "" #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" @@ -199,6 +205,7 @@ msgstr "" #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" @@ -260,11 +267,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/checkouts/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/vi_VN/LC_MESSAGES/django.mo index 3a10880f306cd53fb5defb64b11eb4a2b0cc607f..0100b9910c4334941e36248eac42a766d6b3306e 100644 GIT binary patch delta 40 ocmZo*X<(VKh{s&lz(m)`P{Gj1%4p&`8D2Qw%*x1g<8@6&0MJqjC;$Ke delta 40 vcmZo*X<(VKh{sIV&`{UNSi!)^%5>s78D2A817lqyLj@y4D+7y-*EJad&>9LP diff --git a/mayan/apps/checkouts/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/vi_VN/LC_MESSAGES/django.po index 1432dd14c5..2517136726 100644 --- a/mayan/apps/checkouts/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:08+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" -"mayan-edms/language/vi_VN/)\n" -"Language: vi_VN\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:35 links.py:30 @@ -24,10 +23,9 @@ msgid "Checkouts" msgstr "" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "" #: events.py:9 msgid "Document automatically checked in" @@ -54,10 +52,12 @@ msgid "Document status" msgstr "" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "Người dùng" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -66,6 +66,7 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -122,6 +123,7 @@ msgid "Block new version upload" msgstr "" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -134,10 +136,12 @@ msgid "Document checkouts" msgstr "" #: models.py:97 +#| msgid "New versions allowed: %s" msgid "New version block" msgstr "" #: models.py:98 +#| msgid "New versions allowed: %s" msgid "New version blocks" msgstr "" @@ -191,6 +195,9 @@ msgstr "" #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" @@ -198,6 +205,7 @@ msgstr "" #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" @@ -259,11 +267,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/checkouts/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/checkouts/locale/zh_CN/LC_MESSAGES/django.mo index 59d2ad8ca25c014cbfdcefa563a21ee6c8c2178a..398a3d04b5740aee95004f1a2d1842c8a8c62843 100644 GIT binary patch delta 43 scmX@ae~5p>B^DlYT>}$cBSQs4BP*lH_gG|j;R0q>My8wDS$8u501C+q761SM delta 43 zcmX@ae~5p>B^DktT|+}%BVz>vBP-L%_gG|j&2$Znb&U)aj0~*|EH<;V?q&i23XTgB diff --git a/mayan/apps/checkouts/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/checkouts/locale/zh_CN/LC_MESSAGES/django.po index fb5b3a55c4..a6eedb01a4 100644 --- a/mayan/apps/checkouts/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/checkouts/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:08+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" -"language/zh_CN/)\n" -"Language: zh_CN\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:35 links.py:30 @@ -24,10 +23,9 @@ msgid "Checkouts" msgstr "" #: apps.py:54 -#, fuzzy #| msgid "checked out documents" msgid "Checkedout documents" -msgstr "checked out documents" +msgstr "" #: events.py:9 msgid "Document automatically checked in" @@ -54,10 +52,12 @@ msgid "Document status" msgstr "" #: forms.py:37 models.py:37 views.py:79 +#| msgid "User: %s" msgid "User" msgstr "用户" #: forms.py:41 +#| msgid "Check out time: %s" msgid "Check out time" msgstr "" @@ -66,6 +66,7 @@ msgid "Check out expiration" msgstr "" #: forms.py:51 +#| msgid "New versions allowed: %s" msgid "New versions allowed?" msgstr "" @@ -122,6 +123,7 @@ msgid "Block new version upload" msgstr "" #: models.py:54 +#| msgid "Check out expiration date and time" msgid "Check out expiration date and time must be in the future." msgstr "" @@ -134,10 +136,12 @@ msgid "Document checkouts" msgstr "" #: models.py:97 +#| msgid "New versions allowed: %s" msgid "New version block" msgstr "" #: models.py:98 +#| msgid "New versions allowed: %s" msgid "New version blocks" msgstr "" @@ -191,6 +195,9 @@ msgstr "文档:%s的检出信息" #: views.py:130 #, python-format +#| msgid "" +#| "dn't originally checked out this document. Are you sure you wish cefully " +#| "check in document: %s?" msgid "" "You didn't originally checked out this document. Forcefully check in the " "document: %s?" @@ -198,6 +205,7 @@ msgstr "" #: views.py:134 #, python-format +#| msgid "Check out document: %s" msgid "Check in the document: %s?" msgstr "" @@ -259,11 +267,11 @@ msgstr "" #~ msgstr "Enter a valid time difference." #~ msgid "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgstr "" -#~ "Amount of time to hold the document in the checked out state in days, " -#~ "hours and/or minutes." +#~ "Amount of time to hold the document in the checked out state in days, hours " +#~ "and/or minutes." #~ msgid "Document \"%(document)s\" checked out by %(fullname)s." #~ msgstr "Document \"%(document)s\" checked out by %(fullname)s." diff --git a/mayan/apps/common/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/common/locale/ar/LC_MESSAGES/django.mo index 081c594fabc70f1269e48a529bbdfd541bee06fc..c9b43fd29e2c5b41e8e7aab21fea379e910f9ec9 100644 GIT binary patch delta 43 rcmcb?d4qF92osOFu7QcJk)eX2k(JTp1ST0?xPY0Jk?H16CVwUX^DzoZ delta 43 xcmcb?d4qF92osN)uA!l>k+Fh-k(KG>1ST0?pn!p{k%fYRxs|c;=1wMmCIItB3QPb1 diff --git a/mayan/apps/common/locale/ar/LC_MESSAGES/django.po b/mayan/apps/common/locale/ar/LC_MESSAGES/django.po index da5f7d94ac..52ca4dd57e 100644 --- a/mayan/apps/common/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" -"ar/)\n" -"Language: ar\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:76 settings.py:9 msgid "Common" @@ -212,7 +210,8 @@ msgstr "" #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." +"Time to delay background tasks that depend on a database commit to " +"propagate." msgstr "" #: settings.py:27 @@ -224,6 +223,9 @@ msgid "A storage backend that all workers can use to share files." msgstr "" #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." @@ -246,6 +248,7 @@ msgid "Edit current user locale profile details" msgstr "" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" msgstr "" @@ -255,6 +258,7 @@ msgid "Results for filter: %s" msgstr "" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" msgstr "" @@ -308,11 +312,11 @@ msgstr "لا شيء" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -321,11 +325,11 @@ msgstr "لا شيء" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/common/locale/bg/LC_MESSAGES/django.mo index cca57d9b8577f1daec8d817130058f045f7b0d81..22fcf78b05f105e06a03171be045317abf40bbdf 100644 GIT binary patch delta 66 zcmZ3+v5aHGZ$?vdT>}$cBSQs4BP$~#AltxzE5KhjD77rJI5R&_*Cnwe)k?w0z!0v^ N%*x1gvjNjLMgU>V5y1ce delta 66 zcmZ3+v5aHGZ$?uyT|+}%BVz>vBP&xQT>}#X1Fisn-JsO6%;L=aJYAQ>l2j`NBLhRA UIs;uJ3k3snD`Vr$229@=0b%$N!~g&Q diff --git a/mayan/apps/common/locale/bg/LC_MESSAGES/django.po b/mayan/apps/common/locale/bg/LC_MESSAGES/django.po index bbf042d913..d3f57920c0 100644 --- a/mayan/apps/common/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pavlin Koldamov , 2012 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/bg/)\n" -"Language: bg\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:76 settings.py:9 @@ -211,7 +210,8 @@ msgstr "" #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." +"Time to delay background tasks that depend on a database commit to " +"propagate." msgstr "" #: settings.py:27 @@ -223,6 +223,9 @@ msgid "A storage backend that all workers can use to share files." msgstr "" #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." @@ -245,6 +248,7 @@ msgid "Edit current user locale profile details" msgstr "" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" msgstr "" @@ -254,6 +258,7 @@ msgid "Results for filter: %s" msgstr "" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" msgstr "" @@ -307,11 +312,11 @@ msgstr "Няма" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -320,11 +325,11 @@ msgstr "Няма" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/common/locale/bs_BA/LC_MESSAGES/django.mo index d899ed42235060f842ec867a4d13f73806091b24..bc0fd0be6b339e5390cb6f96f5e0b1f294bf4dc2 100644 GIT binary patch delta 43 rcmdnVxs!842osOFu7QcJk)eX2k(JTp1ST0?xPY0Jk?H16CIcn_=*J1{ delta 43 xcmdnVxs!842osN)uA!l>k+Fh-k(KG>1ST0?pn!p{k%fYRxs|c;=1wL9CIIN%3GV;^ diff --git a/mayan/apps/common/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/common/locale/bs_BA/LC_MESSAGES/django.po index 61ef4ce433..2aba44583a 100644 --- a/mayan/apps/common/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" -"rosarior/mayan-edms/language/bs_BA/)\n" -"Language: bs_BA\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:76 settings.py:9 msgid "Common" @@ -212,7 +210,8 @@ msgstr "" #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." +"Time to delay background tasks that depend on a database commit to " +"propagate." msgstr "" #: settings.py:27 @@ -224,6 +223,9 @@ msgid "A storage backend that all workers can use to share files." msgstr "" #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." @@ -246,6 +248,7 @@ msgid "Edit current user locale profile details" msgstr "" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" msgstr "" @@ -255,6 +258,7 @@ msgid "Results for filter: %s" msgstr "" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" msgstr "" @@ -308,11 +312,11 @@ msgstr "Nijedno" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -321,11 +325,11 @@ msgstr "Nijedno" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/da/LC_MESSAGES/django.mo b/mayan/apps/common/locale/da/LC_MESSAGES/django.mo index 2aa007928790b3bd0b4a469095b87659e3551ee9..2b010009b261c7577c57774604808c52e4c83683 100644 GIT binary patch delta 43 rcmZ3)x`=gyAtR5uu7QcJk)eX2k(JS8TSggPxPY0Jk?H0%MjJ)|*9{3( delta 43 xcmZ3)x`=gyAtR5OuA!l>k+Fh-k(KFWTSggPpn!p{k%fYRxs|c;<}^kdMgZ3$30MFC diff --git a/mayan/apps/common/locale/da/LC_MESSAGES/django.po b/mayan/apps/common/locale/da/LC_MESSAGES/django.po index 96a37a81ad..91da79a231 100644 --- a/mayan/apps/common/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/da/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" -"da/)\n" -"Language: da\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:76 settings.py:9 @@ -210,7 +209,8 @@ msgstr "" #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." +"Time to delay background tasks that depend on a database commit to " +"propagate." msgstr "" #: settings.py:27 @@ -222,6 +222,9 @@ msgid "A storage backend that all workers can use to share files." msgstr "" #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." @@ -244,6 +247,7 @@ msgid "Edit current user locale profile details" msgstr "" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" msgstr "" @@ -253,6 +257,7 @@ msgid "Results for filter: %s" msgstr "" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" msgstr "" @@ -306,11 +311,11 @@ msgstr "Ingen" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -319,11 +324,11 @@ msgstr "Ingen" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/common/locale/de_DE/LC_MESSAGES/django.mo index 66cdb8896f956cb7865a6848d0209b8d5c45542f..71b6d4f9ed88838e61e6440c9133bfa2becd00a8 100644 GIT binary patch delta 1513 zcmYk*U1*b69LMp0x;8b|sH-ovbr`T%O9gQ$&+U<32pD1|1>qIP~7*WtAP{zp7QeHMo>NN1jh*p6w` z0?wi$a2~a=uTbOujB_0CB0AJ3n6#vhUr^}8>)3^VV;q|qWh*8zi5b*{mysrR)prp; zpnezk;0De`J3WldWn;Jj^SBMCQ2pn^#9u4E$qTuJ{OngAI{Uv+3;7S5v6J|3#sSnq zK1EI7qC)PWA~%T|=K`wTH^?d3_r5=&+Rv^e{tC?v|Bt(vpneZ^sTx<+I<})aL{JmN zP!kWL&iD{&f-%(2PNG781~=kGd>dy_{eH($yjP;&QP{V-cBV6^2G?*0-tyl+Mw;3) z)Mpxavo_!+`3V!idbA?nPqg2a(4d=T(De-0~Q1rFaZOja(w&HqWnEj{$C@b zc2Uk@0?%U#3z*+Q<_Vbr{Dc}XLGNTu77t@T_TVgPWlP8yW(6a-iZT3+`d=(mo@m;2 z59&z!Py-KP0~SK;|28srsL;SmsE(hZw)PD+;R^DYZ@kz&=X|7}b5grH)DDDE^<9|8 zEb6XYaOC3u1%tJ8iXAwP1=Nvwxnb(B z8r!i6Rlgr;Vh*9cveT%3Ci7%CGUrFlT-&I$lV~Qi3X9lHbQ1|eE9Gy_9nfH!7)R}V zR;{R=`ujO&$TMftN$3(Q=?L4LoW8&RlKa{JtJOJ0iF!hJB}v2yC0$0XGD~PXm2}Qp zv66OB+pnbKRq~c`c9m?**>=@wJ9HP6x(Hn?T^5~JNAX8R%wxx@KH3>ygWc(yu^;(9 z7Z?0zJ;7W&m5Qe`Rx;h&ZAStvAu5vbOv*~_?M, 2015-2016 +# Jesaja Everling , 2017 # Mathias Behrle , 2014 # Stefan Lodders , 2012 # Tobias Paepke , 2014,2016 @@ -13,14 +14,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-31 19:01+0000\n" -"Last-Translator: Tobias Paepke \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" -"edms/language/de_DE/)\n" -"Language: de_DE\n" +"PO-Revision-Date: 2017-04-24 23:12+0000\n" +"Last-Translator: Jesaja Everling \n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:76 settings.py:9 @@ -83,10 +83,8 @@ msgid "%(object)s updated successfully." msgstr "%(object)s erfolgreich aktualisiert." #: links.py:9 -#, fuzzy -#| msgid "About" msgid "About this" -msgstr "Über" +msgstr "Über Mayan" #: links.py:12 msgid "User details" @@ -106,11 +104,11 @@ msgstr "Lokalisierungsprofil bearbeiten" #: links.py:27 msgid "Source code" -msgstr "" +msgstr "Quelltext" #: links.py:31 msgid "Documentation" -msgstr "" +msgstr "Dokumentation" #: links.py:35 msgid "Data filters" @@ -118,7 +116,7 @@ msgstr "Datenfilter" #: links.py:39 msgid "Forum" -msgstr "" +msgstr "Forum" #: links.py:43 views.py:168 msgid "License" @@ -216,27 +214,26 @@ msgstr "Protokollierung für alle Apps automatisch freischalten." #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." -msgstr "" -"Zeit für die Verzögerung von Hintergrundaufgaben, die für ihre Fortsetzung " -"auf einen Datenbankcommit warten." +"Time to delay background tasks that depend on a database commit to " +"propagate." +msgstr "Zeit für die Verzögerung von Hintergrundaufgaben, die für ihre Fortsetzung auf einen Datenbankcommit warten." #: settings.py:27 msgid "An integer specifying how many objects should be displayed per page." -msgstr "" -"Eine Ganzzahl, die die Anzahl der angezeigten Datensätze pro Seite angibt." +msgstr "Eine Ganzzahl, die die Anzahl der angezeigten Datensätze pro Seite angibt." #: settings.py:33 msgid "A storage backend that all workers can use to share files." msgstr "Datenbackend, das alle Worker benutzen können, um Dateien zu teilen" #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." -msgstr "" -"Temporäres Verzeichnis zum systemweiten Speichern von Thumbnails, Vorschauen " -"und temporären Dateien. " +msgstr "Temporäres Verzeichnis zum systemweiten Speichern von Thumbnails, Vorschauen und temporären Dateien. " #: views.py:43 msgid "Current user details" @@ -255,6 +252,7 @@ msgid "Edit current user locale profile details" msgstr "Aktuelle Benutzerlokalisierungsdetails bearbeiten" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" msgstr "Filterauswahl" @@ -264,6 +262,7 @@ msgid "Results for filter: %s" msgstr "Ergebnis für Filter %s" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" msgstr "Filter nicht gefunden" @@ -317,11 +316,11 @@ msgstr "Kein(e)" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -330,11 +329,11 @@ msgstr "Kein(e)" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/en/LC_MESSAGES/django.mo b/mayan/apps/common/locale/en/LC_MESSAGES/django.mo index 6e17d877d88aae96521fe91c78672ecbca5379e2..78ff179f258fef59224a599d160884de99fd1e56 100644 GIT binary patch delta 25 gcmZo>Yi8S!#mHl>Yha>lWT;?hWM#CujIoyy08#q}IRF3v delta 25 gcmZo>Yi8S!#mHl(YiOuzWUOFdWM#U!jIoyy08#D+IsgCw diff --git a/mayan/apps/common/locale/es/LC_MESSAGES/django.mo b/mayan/apps/common/locale/es/LC_MESSAGES/django.mo index 95bcacfccc9ebdcbc6fc3ad53e399dd55da854fd..12239b1586e89e07a25c322f432fb97f035cc499 100644 GIT binary patch delta 66 zcmeyZ_*-#9C#R{ou7QcJk)eX2k(H4VkZoYV72vNMlvylWKYNcRgUk+Fh-k(H^Du7Qbx0at*(Zcu7jW^rbIo~}z`Nvf5Ck%1vl Uoq?{Ag@S>(m8s$8eVn%J0D(Ia7ytkO diff --git a/mayan/apps/common/locale/es/LC_MESSAGES/django.po b/mayan/apps/common/locale/es/LC_MESSAGES/django.po index 0bc9c3f740..b82e890a67 100644 --- a/mayan/apps/common/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 @@ -13,14 +13,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:51+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" -"language/es/)\n" -"Language: es\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:76 settings.py:9 @@ -83,10 +82,8 @@ msgid "%(object)s updated successfully." msgstr "%(object)s actualizado con éxito." #: links.py:9 -#, fuzzy -#| msgid "About" msgid "About this" -msgstr "Acerca de" +msgstr "" #: links.py:12 msgid "User details" @@ -216,29 +213,26 @@ msgstr "Activar bitácoras automáticamente a todas las aplicaciones." #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." -msgstr "" -"Tiempo para retrasar las tareas de fondo que dependen de la propagación de " -"información en la base de datos." +"Time to delay background tasks that depend on a database commit to " +"propagate." +msgstr "Tiempo para retrasar las tareas de fondo que dependen de la propagación de información en la base de datos." #: settings.py:27 msgid "An integer specifying how many objects should be displayed per page." -msgstr "" -"Un número entero que especifica cuántos objetos se debe mostrar por página." +msgstr "Un número entero que especifica cuántos objetos se debe mostrar por página." #: settings.py:33 msgid "A storage backend that all workers can use to share files." -msgstr "" -"Un soporte de almacenamiento que todos los 'workers' puedan utilizar para " -"compartir archivos." +msgstr "Un soporte de almacenamiento que todos los 'workers' puedan utilizar para compartir archivos." #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." -msgstr "" -"Directorio temporero utilizado en todo el sitio para almacenar imágenes en " -"miniatura, visualizaciones y archivos temporeros." +msgstr "Directorio temporero utilizado en todo el sitio para almacenar imágenes en miniatura, visualizaciones y archivos temporeros." #: views.py:43 msgid "Current user details" @@ -257,6 +251,7 @@ msgid "Edit current user locale profile details" msgstr "Editar los detalles del perfil del usuario local" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" msgstr "Selección de filtro" @@ -266,6 +261,7 @@ msgid "Results for filter: %s" msgstr "Resultados para el filtro: %s" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" msgstr "Filtro no encontrado" @@ -319,11 +315,11 @@ msgstr "Ninguno" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -332,11 +328,11 @@ msgstr "Ninguno" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/common/locale/fa/LC_MESSAGES/django.mo index b5a88d03a79221f09b8a905b80770b2f07531948..70b42ffc2dc1791a4d8aeb1d4e0975be60d9fa13 100644 GIT binary patch delta 66 zcmeAZ?GxQFgVoer*T6*A$WX!1$jZnF$Tl$G3h>trN-fJQ&dkr#bxABqwNfxLFodf! NvobQ>e3tbf3jjxp5xM{X delta 66 zcmeAZ?GxQFgVoeb*U(Vc$XLO^$ja16*TBTUfGfaXHz>6%vp6$9PuC@}B-Kj6$iNV& U&Oq15Lcze?%Gh}GS=NIr07thGy#N3J diff --git a/mayan/apps/common/locale/fa/LC_MESSAGES/django.po b/mayan/apps/common/locale/fa/LC_MESSAGES/django.po index 0340486bc5..0a1008331c 100644 --- a/mayan/apps/common/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammad Dashtizadeh , 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" -"language/fa/)\n" -"Language: fa\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:76 settings.py:9 @@ -80,10 +79,8 @@ msgid "%(object)s updated successfully." msgstr "" #: links.py:9 -#, fuzzy -#| msgid "About" msgid "About this" -msgstr "درباره" +msgstr "" #: links.py:12 msgid "User details" @@ -213,7 +210,8 @@ msgstr "" #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." +"Time to delay background tasks that depend on a database commit to " +"propagate." msgstr "" #: settings.py:27 @@ -225,6 +223,9 @@ msgid "A storage backend that all workers can use to share files." msgstr "محلی که کلیه کاربران جهت به اشتراک گذاری فایل میتوانند استفاه کنند." #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." @@ -247,6 +248,7 @@ msgid "Edit current user locale profile details" msgstr "ویرایش شرح پروفایل محلی کاربر فعلی" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" msgstr "" @@ -256,6 +258,7 @@ msgid "Results for filter: %s" msgstr "" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" msgstr "" @@ -309,11 +312,11 @@ msgstr "هیچکدام." #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -322,11 +325,11 @@ msgstr "هیچکدام." #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/common/locale/fr/LC_MESSAGES/django.mo index 13d3146c262fb41f96342457100dbf00b12ed0cc..a48578ab0204d227fed3b7d1fe490c9ba9bbdc60 100644 GIT binary patch delta 1451 zcmZA0OGs2v9LMqFEAx@PG|Q}xJvAL2Z)!0W2q{z=MNf(rPR=zisWZ*JV-$fzw6aAl zD%$meY8SX@VYE<+f*{(oXc0k>iwJ_C+ys4pGq;cq^S_^S?%aFM|2*!kx-VA^|nR$y!{0nL& zzGE5wL`^iGL8}cak)la4)uCCtg4eIEkA1TU282aXZe2 z|FKaU84g-2&FXiOLK&G+-s`uBET#q5&Fl2|B15c8B**gvL?t z4Wh+V*uIV}v~Oc}B~XdXgnmPvu^$zzzh+#$Ft^8b$ZDBRBq!5@`YMj&8XU#-coX|@ z634NYlSQBA5i0SgsEIvC7S()3P2^X2zjSeKMYfJnVap8tWM{GwRW=Ycg!au6Ekrxf zOlT$OCwm5z{7OPeHxSxRCI0tw-a=i8H4-|+Dmt8-vNe5w{}p|!bBnUp9+PKw=246g zDmskyL>r;~RME0>PP0Wb*QctYo-qS&M(eu-x`UwMVwaK>ckv}dNf*kV1MKw@A+PGB+?ZR+?aKut^c0u zh&k;O2TFby_4T?ok@S7fP5Ta#JnpxY6?b@onZ0YFiizU042*VJTtcye^5kWx;N+M57P*81$ zgrXw4g^&je_7DXHfpiHB>d*@$okA+=pqGlM?{9YYVV?Os&+N=R|L6ZavtQb8wH23| zgEx)RON~(%0%ij^S<8uXIcS!^E537>r2h){;;L_JsB+&C%yE4JIqW_sy=o5oaUS*D z3T`$lT6~Qehh;f!!aR215Jqqc>+k|HmX&ZDUPlEohq~`AZp6>1`&KcGzmUUf)|xe8 zoo@?<7~eW+=*ARsSdLR89`gIgu$BG^)BxvE16)JBcm}uNZNL8rnVCIC1-^((*52bf zTtZFsD@GaL{?RC4lqeL)C?`EIiEVfWHQ)`@Oz)rqnMJ+mDVA8a*BGaNvcB@%G^Xj_ z#V%aLKKz62m?fIxFpXgviu558i#@?Xe1Qis!l)XsfSU0LDzI_P<5mCnm)Jo6BWeQ6 z*o{B%Fvj^Yilf+t(+%Wb1I}_mDW69T@C=)A0X4&S{`K#^E2!swV*+b|fThHtn7!|Tmk=T@V;lwT1Dwq zW>mCiltmRSqyA&GZyah1m1H$~-!g44J*o1&;7o1#VmK7&-S4DQPCAot)4ATX<7QpA ue(0!keC*uB*@@Gqoc@uiv0NhUrnt{_(tQc{KrWLhKd<{6D#w}z1OEY>u4@kf diff --git a/mayan/apps/common/locale/fr/LC_MESSAGES/django.po b/mayan/apps/common/locale/fr/LC_MESSAGES/django.po index 76f1af746a..fe08fcff23 100644 --- a/mayan/apps/common/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/fr/LC_MESSAGES/django.po @@ -1,9 +1,10 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: +# Christophe CHAUVET , 2016 # Franck Boucher , 2016 # PatrickHetu , 2012 # Pierre Lhoste , 2012 @@ -14,14 +15,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" -"fr/)\n" -"Language: fr\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:76 settings.py:9 @@ -84,10 +84,8 @@ msgid "%(object)s updated successfully." msgstr "%(object)s, mise à jour réussie." #: links.py:9 -#, fuzzy -#| msgid "About" msgid "About this" -msgstr "À propos" +msgstr "" #: links.py:12 msgid "User details" @@ -217,27 +215,26 @@ msgstr "Activation automatique de la trace pour toutes les applications." #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." -msgstr "" -"Durée pendant laquelle les tâches d'arrière plan sont différées pour les " -"tâches dépendant d'une mise à jour de la base de données." +"Time to delay background tasks that depend on a database commit to " +"propagate." +msgstr "Durée pendant laquelle les tâches d'arrière plan sont différées pour les tâches dépendant d'une mise à jour de la base de données." #: settings.py:27 msgid "An integer specifying how many objects should be displayed per page." -msgstr "" -"Valeur entière indiquant combien d'objets sont affichés sur chaque page." +msgstr "Valeur entière indiquant combien d'objets sont affichés sur chaque page." #: settings.py:33 msgid "A storage backend that all workers can use to share files." -msgstr "" -"Un espace de stockage que tous les agents pourront utiliser pour partager " -"des fichiers." +msgstr "Un espace de stockage que tous les agents pourront utiliser pour partager des fichiers." #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." -msgstr "" +msgstr "Le dossier temporaire est utilisé pour stocker les vignettes, aperçus et fichiers temporaires." #: views.py:43 msgid "Current user details" @@ -256,6 +253,7 @@ msgid "Edit current user locale profile details" msgstr "Éditer le détail des paramètres régionaux de l'utilisateur actuel" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" msgstr "Sélection du filtre" @@ -265,6 +263,7 @@ msgid "Results for filter: %s" msgstr "Résultats pour le filtre : %s" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" msgstr "Filtre non trouvé" @@ -318,11 +317,11 @@ msgstr "Aucun" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -331,11 +330,11 @@ msgstr "Aucun" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/common/locale/hu/LC_MESSAGES/django.mo index a87109bddc2070b25ee2ab7ced185966fcc77168..ae07d99a9dcd9b14aeedee0a6fe371c1a98498c8 100644 GIT binary patch delta 42 qcmaFI@{VP~R~~a+0~1{%Lj^-4E2GJbj554%0W&Kj)6H6pE{p*FObQ+V delta 42 wcmaFI@{VP~R~|E6LqlC7V+8{vE7Qr0j554H0Rvql3k3snD`Vr$T8u7?0RCYLApigX diff --git a/mayan/apps/common/locale/hu/LC_MESSAGES/django.po b/mayan/apps/common/locale/hu/LC_MESSAGES/django.po index e3035e3b23..74e97a0ef7 100644 --- a/mayan/apps/common/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/hu/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/hu/)\n" -"Language: hu\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:76 settings.py:9 @@ -210,7 +209,8 @@ msgstr "" #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." +"Time to delay background tasks that depend on a database commit to " +"propagate." msgstr "" #: settings.py:27 @@ -222,6 +222,9 @@ msgid "A storage backend that all workers can use to share files." msgstr "" #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." @@ -244,6 +247,7 @@ msgid "Edit current user locale profile details" msgstr "" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" msgstr "" @@ -253,6 +257,7 @@ msgid "Results for filter: %s" msgstr "" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" msgstr "" @@ -306,11 +311,11 @@ msgstr "Semmi" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -319,11 +324,11 @@ msgstr "Semmi" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/id/LC_MESSAGES/django.mo b/mayan/apps/common/locale/id/LC_MESSAGES/django.mo index 3ec12cb1271f0c657289f487d654c0175ca468d5..cb5ed5f62b7898cec44ee8e18ff20fd96225de7a 100644 GIT binary patch delta 66 zcmeyw^@(ePIJ2p_u7QcJk)eX2k(H4VkZoYV72vNMlvylWKYNcRgU?=D5Xk@l delta 66 zcmeyw^@(ePIJ2pluA!l>k+Fh-k(H^Du7Qbx0at*(Zcu7jW^rbIo~}z`Nvf5Ck%1vl Uoq?{Ag@S>(m9g<=A7(Ws08)q$%m4rY diff --git a/mayan/apps/common/locale/id/LC_MESSAGES/django.po b/mayan/apps/common/locale/id/LC_MESSAGES/django.po index 69a336d940..77f452d7bc 100644 --- a/mayan/apps/common/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/id/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" -"language/id/)\n" -"Language: id\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:76 settings.py:9 @@ -79,10 +78,8 @@ msgid "%(object)s updated successfully." msgstr "" #: links.py:9 -#, fuzzy -#| msgid "About" msgid "About this" -msgstr "Tentang" +msgstr "" #: links.py:12 msgid "User details" @@ -212,7 +209,8 @@ msgstr "" #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." +"Time to delay background tasks that depend on a database commit to " +"propagate." msgstr "" #: settings.py:27 @@ -224,6 +222,9 @@ msgid "A storage backend that all workers can use to share files." msgstr "" #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." @@ -246,6 +247,7 @@ msgid "Edit current user locale profile details" msgstr "" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" msgstr "" @@ -255,6 +257,7 @@ msgid "Results for filter: %s" msgstr "" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" msgstr "" @@ -308,11 +311,11 @@ msgstr "" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -321,11 +324,11 @@ msgstr "" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/it/LC_MESSAGES/django.mo b/mayan/apps/common/locale/it/LC_MESSAGES/django.mo index cc57276c96748d2a8afe60a3d7cfe64044ec2d17..2b5ccd0c5dce85c2912f86cac13fa7cd12f23f8a 100644 GIT binary patch delta 524 zcmX}oJ4gdT5P;zcYBXn_iit09!H8)NFNcY6U}q;miC_~DA_Tm~gCqpRB8{z;5NjJt z38WG6Q5b9#ODhqqY{X7dDgLX6u8C<{yCh-)5c!ks0MP2_jEKQ+?7!eVAkR<9vg>yKM zc`RT84={x-?8h_I7k5yfyTlQ^#W+6s`)|GJ#xxH9LWuvo|9`f$Mr4kQ95^Vo)?)Ivg~Y{9?rIlTS0^>+ zIXI$RByu1Q%F$8D_vK%&|L6VQ`@P@$z5kW*VqDyMD(4=NDW8ZTBAEb)W)S4N1Zr@gP6f2 zZek~%VFYW~h&QM&zDIrT2}Agb9r*38HwORr1K7-Z2pJL$R{l3eh;(NPqnJgVxZzqx zeer=CpI|TXDeA^Aks)u+=}H(&UEd=x9a@^QvpgP diff --git a/mayan/apps/common/locale/it/LC_MESSAGES/django.po b/mayan/apps/common/locale/it/LC_MESSAGES/django.po index 881eb8414f..09a4ae9812 100644 --- a/mayan/apps/common/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Carlo Zanatto <>, 2012 @@ -14,14 +14,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-30 21:18+0000\n" -"Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:76 settings.py:9 @@ -84,10 +83,8 @@ msgid "%(object)s updated successfully." msgstr "%(object)s aggiornato con successo." #: links.py:9 -#, fuzzy -#| msgid "About" msgid "About this" -msgstr "About" +msgstr "" #: links.py:12 msgid "User details" @@ -217,29 +214,26 @@ msgstr "Abilita automaticamente i log per tutte le app." #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." -msgstr "" -"Il ritardo per i task in background dipende dalla propagazione del commit su " -"database." +"Time to delay background tasks that depend on a database commit to " +"propagate." +msgstr "Il ritardo per i task in background dipende dalla propagazione del commit su database." #: settings.py:27 msgid "An integer specifying how many objects should be displayed per page." -msgstr "" -"Un intero che specifica quanti oggetti devono essere visualizzati per pagina." +msgstr "Un intero che specifica quanti oggetti devono essere visualizzati per pagina." #: settings.py:33 msgid "A storage backend that all workers can use to share files." -msgstr "" -"Un backend di memorizzazione che tutti i lavoratori possono utilizzare per " -"condividere i file." +msgstr "Un backend di memorizzazione che tutti i lavoratori possono utilizzare per condividere i file." #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." -msgstr "" -"Directory temporanea utilizzata in tutto il sito per memorizzare, miniature, " -"anteprime e files temporanei" +msgstr "Directory temporanea utilizzata in tutto il sito per memorizzare, miniature, anteprime e files temporanei" #: views.py:43 msgid "Current user details" @@ -258,6 +252,7 @@ msgid "Edit current user locale profile details" msgstr "Modificare i dettagli del profilo corrente dell'utente" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" msgstr "Scegli il filtro" @@ -267,6 +262,7 @@ msgid "Results for filter: %s" msgstr "Risultati per il filtro: %s" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" msgstr "Filtro non trovato" @@ -320,11 +316,11 @@ msgstr "Nessuno" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -333,11 +329,11 @@ msgstr "Nessuno" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/common/locale/nl_NL/LC_MESSAGES/django.mo index 91e85e30b45e781c75e5134d436f5b452690b8e6..5b4f00a9899c67fc199be3ca6f89046b7cbc805f 100644 GIT binary patch literal 4115 zcma);U5F(|6@V)mjgEi2tI-%^tf-sJn7wy?l4!WgJWO_GCmVKV*V);uZ(8?u&AmOh zyXw+aJ(F2M6htB-K8PU5nwR)skboe03K&sA%!4Qh@xk~O1bq-9BItwP>F#^yH!;oa z{<^A9ojP^SsXF)7Gq-_))k8W&W>1 zk^3?HAbbIe+;8E#;O`(m^$L$u@GlMj0hwCec1JCD2jr(t@pwPHt7$&~@1;EpMgKY! z{aq+}`|u;sHSKReS=YCr*!?V&d7g*wfj@(?&X?ew@Q?61{2N?@OBgM7e}{*R`#!u6 z{t(K%FF{%Fuc6rU2PpbpgU=AN|3FRq2U9g)gb&gFbHmdZF;9C1o`t*c33v-4qW%g| zp)|K$fifP~sY(==&Co@JH}V@NO0@lI`4jMM+z)b#Z6D{BImON(t_>z6n=9W0iTE>^`U-8jG(;@MfYnoepCf6sqaeZ~k z`ajmZORmbbi;g}!UA@eNgPKIJ(RN($(3~P!juJ8K|424cN6cT+A^O7ft?ruM z(7Hs&fr;8=ncnrq&=#!QI9&#-qt{_z3ahu$%!amF>iROOr6f^HPNy!~zAbbZ*iw7s)BjW%zqb+1jOwvn-k^f{}pRJpCL#6cB?-jKP1&g#j6 z+OWCbu^^OL447Ipo+NF9x;8QPnvLa%HqUBCzDc4aWM<|~!i$9D#Ll2LZ9XCci#@WU zVD+9iqRc+Sc)gn@b>`8}%b?7=PGWzKK--iL=TQwNXfx)SX8OdD*sxiQ0d=ya|H zx(MvpVmIARY{Aw$P*YrLIcz6`&&hERbDPz+PHMyPG5h-7`k210YrtC?v5TqJHPu3v zI3C?rEA;yjdC?!&j3njM&Ny`$Rn?4P=^Rph+bznJvZ8&?xgR2VL4$oQ)y=ilCC8zX zleJbo>205FXDjv2#Ih{1bbE-7Xfhd(n`C6)?x14efu+AX!RTlTN$Lzn*rHE05;=+( zGq%-ZHuMJRuq*Y;rhN`mGG@g7@2FLq+eurdq^BAj^bS)F$~0lXWG#hSuFH>>EKgmC zHp@sYG3uD;SQDqxxB!*8Ml_NP6d^`ons^QUZ#wCXbo*x7ujUMgCKVewBahGB=p7fQ zH&P(3k+_T*oH6;)LM3U6d0xWTd}~fTtFBX+)uu67U8N+JoDIn#E1OE?nxa8~be_7D z9g}IC-_)s9d6h~<5uy-P^#xJ3jC>hat0jyeiX$@|+E~{r1}F~8dWSXjiZjsZ9e-lY zq81%1S<8}6ef!H7tD2<~-z#&@8lru$pZ`hYG*+vb@5*0}{czOt$toniR+5RoOFqM3 z$zWMBiH*O`Rg!Gt=v|#VhsR7NK{NaP!)$Ek|;dM;^^?FEsEMmAct6}JY) z4Xf$(&2$?#NFEbHChQiLl3I6(p+^dz)Vl4Ys&%V)*(T$CqShq`a^J7jvYK%MX#OJ< m)t;9BkyI-wfUC{UFVy%9C~$6_;rkz1)1gE;@@3z#ME`&0$Zbdf delta 1170 zcmY+CO-vI(6vqcGHPhO2&jQ_V?4!+ELzj?DW@4b0Dir?w3f9na| zXOJ=IF!Xp6V<*6weK3$eAP08?4((^G8U9HSgJod)!C9~mTmjp_YhVbx1rCDiU;<1SzSr41Oj@z935LN>ASKui*1v!)@V|pm@Mqxv24nF5f)sEB*(hNghT=?t1K_E^ zUjnJH6_DZ=!9G@J%);a#7H)%7$ira6V-SNqg`vt{g749tw;+dKMHb=%upN8@()o|z z5cnCS0(Za&*o<3H;$CnZ90a4t&(2^%1nM=M1dIW z2@L(h7a+BK3#4;DK#H>i(y#gjQYS(PQl~&s7}_`hQp<)x3XlXb*gOm+S_bK05$pjg zAR6Ke?cWpHLqbWZ1Ban>b9z$L2@>iMV$l5?NvVKQ-)lT9dQ2$PZ}9eOYKCbUIZJRuO4rO) zrSQ^Rb%p!Ya(F_$3ddDb%e~G;VTrsn9h)r*S*@rKEn3Vhi<^!uSk`eYk1ct^^$jlw ziI{4)b-q5O#p7CHlIw|dDxv8~U2k8wq+J#@(?cxnydg!JC-k_#PoL)TR63PBrbF82 z3{PrV*RVaykdB+?vo&FvYc^jr3`?4JiO-0}iWe-LT`eQ;MBXW%#%X)CYP^2lmTc<1 zXcrx~Y)DhED~?#@(h+K*Bc|4&UpuCco)g!FTMEkdSgzq(P6=^&#dV6Nuv95BGP>jn zn`N=e=FGgXDd61yyS5|cNYEb3t_kt diff --git a/mayan/apps/common/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/common/locale/nl_NL/LC_MESSAGES/django.po index 4240b86881..48334f818d 100644 --- a/mayan/apps/common/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/nl_NL/LC_MESSAGES/django.po @@ -1,29 +1,29 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 +# Johan Braeken, 2017 # woei , 2014 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-11-09 15:54+0000\n" -"Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" -"edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:76 settings.py:9 msgid "Common" -msgstr "" +msgstr "Gemeenschappelijk" #: classes.py:106 msgid "Available attributes: " @@ -40,7 +40,7 @@ msgstr "Filter" #: generics.py:133 #, python-format msgid "Unable to transfer selection: %s." -msgstr "" +msgstr "Niet mogelijk om selectie over te dragen: %s." #: generics.py:157 msgid "Add" @@ -53,7 +53,7 @@ msgstr "Verwijder" #: generics.py:327 #, python-format msgid "%(object)s not created, error: %(error)s" -msgstr "" +msgstr "%(object)s niet aangemaakt, foutmelding: %(error)s." #: generics.py:338 #, python-format @@ -63,7 +63,7 @@ msgstr "%(object)s succesvol aangemaakt." #: generics.py:363 #, python-format msgid "%(object)s not deleted, error: %(error)s." -msgstr "" +msgstr "%(object)s niet verwijderd, foutmelding: %(error)s." #: generics.py:374 #, python-format @@ -73,18 +73,16 @@ msgstr "%(object)s succesbol verwijderd." #: generics.py:419 #, python-format msgid "%(object)s not updated, error: %(error)s." -msgstr "" +msgstr "%(object)s niet geupdate, foutmelding: %(error)s." #: generics.py:430 #, python-format msgid "%(object)s updated successfully." -msgstr "" +msgstr "%(object)s werden succesvol geupdate." #: links.py:9 -#, fuzzy -#| msgid "About" msgid "About this" -msgstr "Informatie" +msgstr "" #: links.py:12 msgid "User details" @@ -96,11 +94,11 @@ msgstr "Bewerk details" #: links.py:19 msgid "Locale profile" -msgstr "Lokaal profiel" +msgstr "Landsinstellingen" #: links.py:23 msgid "Edit locale profile" -msgstr "bewerk lokaal profiel" +msgstr "Wijzig landsinstellingen" #: links.py:27 msgid "Source code" @@ -112,7 +110,7 @@ msgstr "" #: links.py:35 msgid "Data filters" -msgstr "" +msgstr "Gegevensfilters" #: links.py:39 msgid "Forum" @@ -128,7 +126,7 @@ msgstr "Andere pakketlicensies" #: links.py:50 msgid "Setup" -msgstr "Setu" +msgstr "Setup" #: links.py:53 msgid "Support" @@ -202,11 +200,11 @@ msgstr "Taal" #: models.py:67 msgid "User locale profile" -msgstr "" +msgstr "Gebruikerslandsinstelling" #: models.py:68 msgid "User locale profiles" -msgstr "" +msgstr "Gebruikerslandinstellingen" #: settings.py:13 msgid "Automatically enable logging to all apps." @@ -214,22 +212,26 @@ msgstr "" #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." -msgstr "" +"Time to delay background tasks that depend on a database commit to " +"propagate." +msgstr "Wachttijd voor achtergrondtaken die afhankelijk zijn van het verbreiden van een database commit." #: settings.py:27 msgid "An integer specifying how many objects should be displayed per page." -msgstr "" +msgstr "Een natuurlijk getal om aan te geven hoeveel objecten per pagina weergegeven worden." #: settings.py:33 msgid "A storage backend that all workers can use to share files." -msgstr "" +msgstr "Een opslagbackend die alle werkers kunnen gebruiken om bestanden te delen." #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." -msgstr "" +msgstr "Globale instelling voor een tijdelijke folder om miniaturen, voorvertoningen en tijdelijke bestanden in op te slaan." #: views.py:43 msgid "Current user details" @@ -241,28 +243,30 @@ msgstr "Bewerk gegevens van huidige gebruiker" #: views.py:68 msgid "Current user locale profile details" -msgstr "" +msgstr "Details landinstellingen huidige gebruiker" #: views.py:75 msgid "Edit current user locale profile details" -msgstr "" +msgstr "Wijzig landsinstellingen van de huidige gebruiker" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" -msgstr "" +msgstr "Filterselectie" #: views.py:147 #, python-format msgid "Results for filter: %s" -msgstr "" +msgstr "Resultaten voor filter: %s" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" -msgstr "" +msgstr "Filter niet gevonden" #: views.py:195 msgid "Setup items" -msgstr "" +msgstr "Setup items" #: views.py:239 msgid "No action selected." @@ -310,11 +314,11 @@ msgstr "Geen" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -323,11 +327,11 @@ msgstr "Geen" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/common/locale/pl/LC_MESSAGES/django.mo index 9f9cde7e7ca858813469f6029eaef861d7833213..87a60a31dd48eaa6ef9a95197383ca62ccc6033f 100644 GIT binary patch delta 624 zcmYMw&nt9M7{Kvo%nZh_{78x7Sj;eK>YihU43|O{Z{ECF*jbF4h0-OzO4Ma#VWDIz zvb9lD7PgYVz|PWNV8Pb+8TU1-&ppp`o*(DF^xpK{U&g|LI+3tJWJN@-Qz9++iAjt% ziOgXNef*1Ecoun$9h@uJkI&eO@7RVP7{^$%NDn44js4MizFER*VwFIG#6Ifa!^jit z=6s6U_zKxo?yw#!*ocp)i#$c~SIlyL!vU=4RoXv;S~r6F5Z4m^3|t_fgBFn*SwohW zAc`MgC+Bn2!dv`<52!DVv7O#;$06)P?K6kE*b?d=DxofPj4|x3bi^MMh4Gx1&pB(X zD>}!w=QaIX$}N}o*LT)8gWP;+w_G&Nv%mMoimq_c_!Z_S&DO@=c4@;O4t(F58RMCv z84l9coA#Z_WQ=}J`T4AVSL5E4b>`@(n&6TpHDfGQ!5|I(-#eEJJkQKC^UPfKJZElCW8qUwsjyk8b*0ooQmGcaz(%~n zIlRRHzp)c->fZ%yC*Ht5EMY4iV;i1f16HvcuW=9`qxd7G!umoytyG+aUX+UmBD2^< zJc@GgJkqOL!zSFo1m;m1*^2TN93ei!e!M|B|0P;~MR~|uI{d%zlZ0IKg$$MC8)#B> zq2x7oU=F2l5tnci<)u}W{dYKw4=Crnqcrw|@9AFndC_J;fTc+PQM$9mdW zf807|%$U^binCTYEbbMz%g%g$zu;?YT=p5qPHHpZd)`UnciEfLJEeo&d@0D5gTU3Z r+Gt;w2VFB0SUogUpH2s3GR;cbOuI%`D)qeVF(cHt)Y#g2vN8S#p@>8- diff --git a/mayan/apps/common/locale/pl/LC_MESSAGES/django.po b/mayan/apps/common/locale/pl/LC_MESSAGES/django.po index cf069dfe85..ee4c08ca89 100644 --- a/mayan/apps/common/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Annunnaky , 2015 @@ -14,16 +14,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" -"pl/)\n" -"Language: pl\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:76 settings.py:9 msgid "Common" @@ -85,10 +83,8 @@ msgid "%(object)s updated successfully." msgstr "" #: links.py:9 -#, fuzzy -#| msgid "About" msgid "About this" -msgstr "Informacje o" +msgstr "" #: links.py:12 msgid "User details" @@ -218,7 +214,8 @@ msgstr "Włącz dla wszystkich aplikacji automatyczny zapis zdarzeń." #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." +"Time to delay background tasks that depend on a database commit to " +"propagate." msgstr "Czas opóźnienia wykonania zadań zależnych od operacji na bazie danych." #: settings.py:27 @@ -227,11 +224,12 @@ msgstr "Liczba określająca ile obiektów będzie wyświetlane na stronie." #: settings.py:33 msgid "A storage backend that all workers can use to share files." -msgstr "" -"Backend przechowywania umożliwiający wszystkim użytkownikom udostępnianie " -"plików." +msgstr "Backend przechowywania umożliwiający wszystkim użytkownikom udostępnianie plików." #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." @@ -254,6 +252,7 @@ msgid "Edit current user locale profile details" msgstr "Edytuj profil regionalny użytkownika" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" msgstr "Wybór filtru" @@ -263,6 +262,7 @@ msgid "Results for filter: %s" msgstr "Wyniki dla filtru: %s" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" msgstr "Nie znaleziono filtru" @@ -316,11 +316,11 @@ msgstr "Brak" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -329,11 +329,11 @@ msgstr "Brak" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/common/locale/pt/LC_MESSAGES/django.mo index fc6e2c3ae192da7b49fb5c1de468cc5fbf5d10fb..ba6466da15fb68d4278ebf4524465f3dace7d7dd 100644 GIT binary patch delta 66 zcmZqRY~b7w$z*D-Yha>lWT;?hWMyOoWE&W81^DX*rIuwDXXfYWx+IpQS}7PA7{b+= NSs9sb?qmAI2mmS)5ikG% delta 66 zcmZqRY~b7w$z*D#YiOuzWUOFdWMyikYhYqvz!l)H8S)7@lr|Xhfl4_-3WMBwX UXP|3jp, 2011 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" -"language/pt/)\n" -"Language: pt\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:76 settings.py:9 @@ -213,7 +212,8 @@ msgstr "" #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." +"Time to delay background tasks that depend on a database commit to " +"propagate." msgstr "" #: settings.py:27 @@ -225,6 +225,9 @@ msgid "A storage backend that all workers can use to share files." msgstr "" #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." @@ -247,6 +250,7 @@ msgid "Edit current user locale profile details" msgstr "" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" msgstr "" @@ -256,6 +260,7 @@ msgid "Results for filter: %s" msgstr "" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" msgstr "" @@ -309,11 +314,11 @@ msgstr "Nenhum" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -322,11 +327,11 @@ msgstr "Nenhum" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/common/locale/pt_BR/LC_MESSAGES/django.mo index 1fc8a21a780d468a5bf498bac3600903226ed278..c25dd43783f213f65dee9ca7e5ed62833d0d62fd 100644 GIT binary patch delta 524 zcmX}nF-QVo7{>8eEK4($iiEPdOCgXh&ODdiqIul^kW`%EZ`a* zpt^U96WGKdeDU&kR1bXPBzABddpLk&k^X>j9Ohd`en~pg=ohULBnk33jr*ty&pgk) z{1Vl}cbLFORGYU^4fu&_<1Wsjk5KjMc#NCqU<=g%DKpmJ+`=V-4O9~zqS~~M8eVwb zH&6VrKyJk_vxb$?GL~&woJ}*dvuzZedbwJ5kBma8=GdBLX8!Lj+g9$X6^uuV?w(Vr QxmwY!mMUep*$Z|9f9~EuZU6uP delta 550 zcmXZXO(+C$7{~EvTbA{*l$Vtivm8Wbn;CZ1up1>VTH2G8)zYXbFNMU#y2(u`2R8@h zsFYkd$!YiC##Kt|q?Ch`?|*kL^O@(@)AN6xV)Qe5Q}E^QeIm)ANVkam)`@7?Rxi?z z2^_>M4&e#*;vFvG8&>0Jg9sxeiD{fc8_zL}FBrfQcH%c$Sl=jlY2qiYH$hFf1fm2j=P)N(Z+MCoG5?SDp_oGYa_O@ox1%9mID9W0!lUj diff --git a/mayan/apps/common/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/common/locale/pt_BR/LC_MESSAGES/django.po index 6117e2d199..5dda1aa60d 100644 --- a/mayan/apps/common/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -13,14 +13,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-11-17 22:46+0000\n" -"Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" -"edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:76 settings.py:9 @@ -83,10 +82,8 @@ msgid "%(object)s updated successfully." msgstr "%(object)s atualizado com sucesso." #: links.py:9 -#, fuzzy -#| msgid "About" msgid "About this" -msgstr "Sobre" +msgstr "" #: links.py:12 msgid "User details" @@ -216,29 +213,26 @@ msgstr "Ativar automaticamente o registro de todos os aplicativos." #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." -msgstr "" -"Tempo para atrasar as tarefas de fundo que dependem da propagação de " -"informação na base de dados." +"Time to delay background tasks that depend on a database commit to " +"propagate." +msgstr "Tempo para atrasar as tarefas de fundo que dependem da propagação de informação na base de dados." #: settings.py:27 msgid "An integer specifying how many objects should be displayed per page." -msgstr "" -"Um número inteiro que especifica quantos objetos se deve mostrar por página." +msgstr "Um número inteiro que especifica quantos objetos se deve mostrar por página." #: settings.py:33 msgid "A storage backend that all workers can use to share files." -msgstr "" -"Um suporte de armazenamento que todos os trabalhadores podem usar para " -"compartilhar arquivos." +msgstr "Um suporte de armazenamento que todos os trabalhadores podem usar para compartilhar arquivos." #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." -msgstr "" -"Pasta temporária utilizada em todo o site para armazenar imagens em " -"miniatura, visualizações e arquivos temporários." +msgstr "Pasta temporária utilizada em todo o site para armazenar imagens em miniatura, visualizações e arquivos temporários." #: views.py:43 msgid "Current user details" @@ -257,6 +251,7 @@ msgid "Edit current user locale profile details" msgstr "Editar detalhes do perfil de localização do usuário atual" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" msgstr "Seleção de filtro" @@ -266,6 +261,7 @@ msgid "Results for filter: %s" msgstr "Resultados para o filtro: %s" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" msgstr "Filtro não encontrado" @@ -319,11 +315,11 @@ msgstr "Nenhum" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -332,11 +328,11 @@ msgstr "Nenhum" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/common/locale/ro_RO/LC_MESSAGES/django.mo index bb5457a5ae791bcbc8cbae1e3e228e4bd3422308..7874e4aa26609c1eb62bb800ae7d63ce4f73d560 100644 GIT binary patch delta 43 scmeyw`H6GG93~!fT>}$cBSQs4BP*lHE0|<>;R0q>My8uDGAS|v01a#lCjbBd delta 43 ycmeyw`H6GG93~z!T|+}%BVz>vBP-L%E0|<>fdU4)MivSN=2phWn=djcG64V$feR`C diff --git a/mayan/apps/common/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/common/locale/ro_RO/LC_MESSAGES/django.po index b2f417532a..862f90236a 100644 --- a/mayan/apps/common/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Badea Gabriel , 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" -"edms/language/ro_RO/)\n" -"Language: ro_RO\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:76 settings.py:9 msgid "Common" @@ -81,10 +79,8 @@ msgid "%(object)s updated successfully." msgstr "" #: links.py:9 -#, fuzzy -#| msgid "About" msgid "About this" -msgstr "Despre" +msgstr "" #: links.py:12 msgid "User details" @@ -214,7 +210,8 @@ msgstr "" #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." +"Time to delay background tasks that depend on a database commit to " +"propagate." msgstr "" #: settings.py:27 @@ -226,6 +223,9 @@ msgid "A storage backend that all workers can use to share files." msgstr "" #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." @@ -248,6 +248,7 @@ msgid "Edit current user locale profile details" msgstr "" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" msgstr "" @@ -257,6 +258,7 @@ msgid "Results for filter: %s" msgstr "" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" msgstr "" @@ -310,11 +312,11 @@ msgstr "Nici unul" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -323,11 +325,11 @@ msgstr "Nici unul" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/common/locale/ru/LC_MESSAGES/django.mo index 91e509bf60833feaf82ca494ac3528f7b2198a24..7a4cb5be453950e0d911a3862c511c36f1f4ec09 100644 GIT binary patch delta 66 zcmX@Fab9DCG^eS#u7QcJk)eX2k(H4VkZoYV72vNMlvylWKYNcRgUk+Fh-k(H^Du7Qbx0at*(Zcu7jW^rbIo~}z`Nvf5Ck%1vl Uoq?{Ag@S>(m9g>W0M7qh08{!Aw*UYD diff --git a/mayan/apps/common/locale/ru/LC_MESSAGES/django.po b/mayan/apps/common/locale/ru/LC_MESSAGES/django.po index d81ef13a83..ec601668f7 100644 --- a/mayan/apps/common/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -10,17 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" -"language/ru/)\n" -"Language: ru\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:76 settings.py:9 msgid "Common" @@ -82,10 +79,8 @@ msgid "%(object)s updated successfully." msgstr "%(object)s успешно обновлён." #: links.py:9 -#, fuzzy -#| msgid "About" msgid "About this" -msgstr "Инфо" +msgstr "" #: links.py:12 msgid "User details" @@ -211,29 +206,26 @@ msgstr "Профили локали пользователей" #: settings.py:13 msgid "Automatically enable logging to all apps." -msgstr "" -"Автоматически разрешать всем установленным приложениям делать записи в " -"журнале." +msgstr "Автоматически разрешать всем установленным приложениям делать записи в журнале." #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." -msgstr "" -"Время задержки фоновых задач зависящих от процесса распространения " -"записанных в БД данных." +"Time to delay background tasks that depend on a database commit to " +"propagate." +msgstr "Время задержки фоновых задач зависящих от процесса распространения записанных в БД данных." #: settings.py:27 msgid "An integer specifying how many objects should be displayed per page." -msgstr "" -"Числовое значение указывающее как много объектов может быть отображено на " -"одной странице." +msgstr "Числовое значение указывающее как много объектов может быть отображено на одной странице." #: settings.py:33 msgid "A storage backend that all workers can use to share files." -msgstr "" -"Бекенд хранения, который каждый может использовать для хранения файлов." +msgstr "Бекенд хранения, который каждый может использовать для хранения файлов." #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." @@ -256,6 +248,7 @@ msgid "Edit current user locale profile details" msgstr "Редактировать настройки локали текущего пользователя" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" msgstr "Фильтр по выбранным" @@ -265,6 +258,7 @@ msgid "Results for filter: %s" msgstr "Результаты для фильтра: %s" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" msgstr "Фильтр не найден" @@ -318,11 +312,11 @@ msgstr "Ни один" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -331,11 +325,11 @@ msgstr "Ни один" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/common/locale/sl_SI/LC_MESSAGES/django.mo index 835e209426fa8ff726c8604d70dc911cbc3bc355..772a6dadb39a6ed5249c5197aabfac8c4376a331 100644 GIT binary patch delta 64 zcmcb{a*bueZc}qz0~1{%Lj^-4D`R!U6;g?R4WA|14E!X S16?Bv1p{*{W8;k<(ij0wY!T-G diff --git a/mayan/apps/common/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/common/locale/sl_SI/LC_MESSAGES/django.po index ffeaaafd36..0400f5054a 100644 --- a/mayan/apps/common/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/sl_SI/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,16 +9,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" -"edms/language/sl_SI/)\n" -"Language: sl_SI\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" +"Language: sl_SI\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: apps.py:76 settings.py:9 msgid "Common" @@ -211,7 +209,8 @@ msgstr "" #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." +"Time to delay background tasks that depend on a database commit to " +"propagate." msgstr "" #: settings.py:27 @@ -223,6 +222,9 @@ msgid "A storage backend that all workers can use to share files." msgstr "" #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." @@ -245,6 +247,7 @@ msgid "Edit current user locale profile details" msgstr "" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" msgstr "" @@ -254,6 +257,7 @@ msgid "Results for filter: %s" msgstr "" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" msgstr "" @@ -307,11 +311,11 @@ msgstr "Brez" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -320,11 +324,11 @@ msgstr "Brez" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/common/locale/vi_VN/LC_MESSAGES/django.mo index a69381cf29d682654bae74b0703360c988070fbf..3ca803d0a0d49f3d9544c19035b064f2af27f3c6 100644 GIT binary patch delta 66 zcmeC>=;he(lhM>%*T6*A$WX!1$jZnF$Tl$G3h>trN-fJQ&dkr#bxABqwNfxLFodf! NvobQ>tjBbp5dc(b5p)0m delta 66 zcmeC>=;he(lhM>n*U(Vc$XLO^$ja16*TBTUfGfaXHz>6%vp6$9PuC@}B-Kj6$iNV& U&Oq15Lcze?%Gh|b9@BkB092L{cK`qY diff --git a/mayan/apps/common/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/common/locale/vi_VN/LC_MESSAGES/django.po index 01078ca88d..47b8e88af7 100644 --- a/mayan/apps/common/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Trung Phan Minh , 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" -"mayan-edms/language/vi_VN/)\n" -"Language: vi_VN\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:76 settings.py:9 @@ -211,7 +210,8 @@ msgstr "" #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." +"Time to delay background tasks that depend on a database commit to " +"propagate." msgstr "" #: settings.py:27 @@ -223,6 +223,9 @@ msgid "A storage backend that all workers can use to share files." msgstr "" #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." @@ -245,6 +248,7 @@ msgid "Edit current user locale profile details" msgstr "" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" msgstr "" @@ -254,6 +258,7 @@ msgid "Results for filter: %s" msgstr "" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" msgstr "" @@ -307,11 +312,11 @@ msgstr "None" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -320,11 +325,11 @@ msgstr "None" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/common/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/common/locale/zh_CN/LC_MESSAGES/django.mo index 65b56fb7378318fd8bb1f792668d76cea5108461..a60d24c28dd6b4381fb8f771acbbf3c59368f358 100644 GIT binary patch delta 43 rcmZ3>v6f>)2osOFu7QcJk)eX2k(JTp1ST0?xPY0Jk?H16rX`F3v6f>)2osN)uA!l>k+Fh-k(KG>1ST0?pn!p{k%fYRxs|c;=1!(1i~!|<3P=C| diff --git a/mayan/apps/common/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/common/locale/zh_CN/LC_MESSAGES/django.po index 83fdd45518..620fbe821a 100644 --- a/mayan/apps/common/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/common/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" -"language/zh_CN/)\n" -"Language: zh_CN\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:76 settings.py:9 @@ -211,7 +210,8 @@ msgstr "" #: settings.py:19 msgid "" -"Time to delay background tasks that depend on a database commit to propagate." +"Time to delay background tasks that depend on a database commit to " +"propagate." msgstr "" #: settings.py:27 @@ -223,6 +223,9 @@ msgid "A storage backend that all workers can use to share files." msgstr "" #: settings.py:38 +#| msgid "" +#| "ary directory used site wide to store thumbnails, previews and porary es. " +#| "If none is specified, one will be created using pfile.mkdtemp()" msgid "" "Temporary directory used site wide to store thumbnails, previews and " "temporary files." @@ -245,6 +248,7 @@ msgid "Edit current user locale profile details" msgstr "" #: views.py:131 +#| msgid "Selection" msgid "Filter selection" msgstr "" @@ -254,6 +258,7 @@ msgid "Results for filter: %s" msgstr "" #: views.py:154 +#| msgid "Page not found" msgid "Filter not found" msgstr "" @@ -307,11 +312,11 @@ msgstr "无" #~ msgstr "Email" #~ msgid "" -#~ "Please enter a correct email and password. Note that the password field " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password field is " +#~ "case-sensitive." #~ msgstr "" -#~ "Please enter a correct email and password. Note that the password fields " -#~ "is case-sensitive." +#~ "Please enter a correct email and password. Note that the password fields is " +#~ "case-sensitive." #~ msgid "This account is inactive." #~ msgstr "This account is inactive." @@ -320,11 +325,11 @@ msgstr "无" #~ msgstr "change password" #~ msgid "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgstr "" -#~ "Controls the mechanism used to authenticated user. Options are: " -#~ "username, email" +#~ "Controls the mechanism used to authenticated user. Options are: username, " +#~ "email" #~ msgid "Allow non authenticated users, access to all views" #~ msgstr "Allow non authenticated users, access to all views" diff --git a/mayan/apps/converter/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/converter/locale/ar/LC_MESSAGES/django.mo index 59215be475107a7892706a16dd001d5cd8a61096..d626a59ce681d9e9b6d4297fb601df880f4d6929 100644 GIT binary patch delta 44 rcmX@ic9?C0Gb69Lu7QcJk)eX2k(H6rk+Fh-k(H_O, 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" -"ar/)\n" -"Language: ar\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" @@ -43,6 +41,7 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 +#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -76,22 +75,19 @@ msgid "Rotate" msgstr "تدوير" #: classes.py:378 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 90 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:389 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 180 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:400 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 270 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:410 msgid "Unsharp masking" @@ -146,6 +142,7 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 +#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -219,13 +216,14 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " -#~ "and converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick.ImageMagick, " +#~ "converter.backends.graphicsmagick.GraphicsMagick and " +#~ "converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." -#~ "python." +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " +#~ "converter.backends.python." #~ msgid "Help" #~ msgstr "Help" @@ -538,11 +536,9 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -658,8 +654,7 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "" -#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/converter/locale/bg/LC_MESSAGES/django.mo index 365ae29165eeb8e37e79c39e6db82ac9b5af9d9a..57882d122ec901f42fafaf1a9f9200a87fc30ac9 100644 GIT binary patch delta 44 rcmdnXx|el>5F@X-u7QcJk)eX2k(H6rWO+tugov4yk?Cf4#xh0#;tvU% delta 44 ycmdnXx|el>5F@XduA!l>k+Fh-k(H_OWO+tupooF7u92aFk)f4=*=BdfGDZO5;R%)i diff --git a/mayan/apps/converter/locale/bg/LC_MESSAGES/django.po b/mayan/apps/converter/locale/bg/LC_MESSAGES/django.po index 6125cf5f5e..349edd9fb4 100644 --- a/mayan/apps/converter/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pavlin Koldamov , 2012 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/bg/)\n" -"Language: bg\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:19 permissions.py:7 settings.py:7 @@ -42,6 +41,7 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 +#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -75,22 +75,19 @@ msgid "Rotate" msgstr "Завъртете" #: classes.py:378 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 90 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:389 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 180 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:400 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 270 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:410 msgid "Unsharp masking" @@ -145,6 +142,7 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 +#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -218,13 +216,14 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " -#~ "and converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick.ImageMagick, " +#~ "converter.backends.graphicsmagick.GraphicsMagick and " +#~ "converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." -#~ "python." +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " +#~ "converter.backends.python." #~ msgid "Help" #~ msgstr "Help" @@ -537,11 +536,9 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -657,8 +654,7 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "" -#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/converter/locale/bs_BA/LC_MESSAGES/django.mo index acd84bd0d011bf31da341bf3239f47b17b08eb17..8ea1eddb8942c9d697b98a557707b2b66c4e5777 100644 GIT binary patch delta 44 rcmdnPwufzlGb69Lu7QcJk)eX2k(H6rk+Fh-k(H_O, 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" -"rosarior/mayan-edms/language/bs_BA/)\n" -"Language: bs_BA\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" @@ -43,6 +41,7 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 +#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -76,22 +75,19 @@ msgid "Rotate" msgstr "Rotiraj" #: classes.py:378 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 90 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:389 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 180 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:400 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 270 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:410 msgid "Unsharp masking" @@ -146,6 +142,7 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 +#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -219,13 +216,14 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " -#~ "and converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick.ImageMagick, " +#~ "converter.backends.graphicsmagick.GraphicsMagick and " +#~ "converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." -#~ "python." +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " +#~ "converter.backends.python." #~ msgid "Help" #~ msgstr "Help" @@ -538,11 +536,9 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -658,8 +654,7 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "" -#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/da/LC_MESSAGES/django.mo b/mayan/apps/converter/locale/da/LC_MESSAGES/django.mo index e4df92419c7d6e6708704977026a541809728dc4..f84facde6059873f70bba644928a4b7eeb6db434 100644 GIT binary patch delta 41 pcmaFC{DOJHB3^S{0~1{%Lj^-4D!lF_W>!X~8?Os80s#3^3lRVS delta 41 wcmaFC{DOJHB3?6HLqlC7V+8{vD^uf%>!pDL2FAKZh6+Z8Rt9DpuM08)0Qn~i3;+NC diff --git a/mayan/apps/converter/locale/da/LC_MESSAGES/django.po b/mayan/apps/converter/locale/da/LC_MESSAGES/django.po index 40162c5e96..f184431c75 100644 --- a/mayan/apps/converter/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/da/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" -"da/)\n" -"Language: da\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:19 permissions.py:7 settings.py:7 @@ -41,6 +40,7 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 +#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -74,22 +74,19 @@ msgid "Rotate" msgstr "" #: classes.py:378 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 90 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:389 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 180 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:400 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 270 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:410 msgid "Unsharp masking" @@ -144,6 +141,7 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 +#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -217,13 +215,14 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " -#~ "and converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick.ImageMagick, " +#~ "converter.backends.graphicsmagick.GraphicsMagick and " +#~ "converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." -#~ "python." +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " +#~ "converter.backends.python." #~ msgid "Help" #~ msgstr "Help" @@ -536,11 +535,9 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -656,8 +653,7 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "" -#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/converter/locale/de_DE/LC_MESSAGES/django.mo index 620ab439d9b59b3e79d7f67c63f954c6d9042084..e63bceef495706347f9ca4b0abbbd67ec84feaca 100644 GIT binary patch delta 1188 zcmZY8Pe>F|9Ki9Xu9~i9ZGSfZHm1p1Z0v4|DHhTn`-4eoLeXi|=kD6>>@u?oL9}!T zgy=LxL5DCpcrhZ6d8mX4NeBw+=e@Tx@6YeOy&e2spI;C7 z?kS>!yNP?KM5%7PQObk3P^MHBUMzYQ>#1vO#XL6PJo<1MEASPbz_+*?Yxq%qZ{sn5 zA>7I5DoH^)yoqD@07JNeTq;(I4x7qJePF^KPq^)J{={U^!<0+mWVCwoDZjIC}d_z~s3 zbu{od?!{(a@-x0VN`W?Y7Kd>JB_s1#jW2Kz-(Vxw(zp*hQ8G4!UHBN8i~5A5R;^}_dHVdm{9890tIz(}!vrDzf*Q`d{m;Wp~` zQTks%$?!{*g?&Joz}Fh~pNx6?W}u{L4>xDVdl5Ec7bWS0?0O*sN+%MM4G9@k29%IP zCySDdF`k!U+19@y3+Yg!g_X*|l8}QY(Oy8wpFs9XqJ?`0H`(;kD~C)%GQ-Yz|DOHQ zu(VjZS`rvcC9~?ZIpa7<(=x_WGqyYHyIgTTY1M^#*VMb&;)eY#?&tD`x-rX1n0D4ko6fbQ6?eatXKQ=Hk*;toYD8mwv6yRBG@dE6 zbQ!V3eUa$F2vI#`I=S#A+q9gNnakLH#yRbn)24B1R@*6hGWw@=u{aPUZ7_+6#L5$UO1tl?;+3P>q>k&9+g<&ub1W@ud;QFqEPOd79p`{mb6=KV^b3%h7=`?eb=-TBN+r|-?Y?cwMXt$Q#Od!}d; zJYzh=5v67@eS(hm3Qytd&>b9Q{sAZP8(zRjRH+z_VFD*{9uEdmB!5-#HdypQrKKBFA)FUk!yHc168quhKJ z2k<6JoGNzZgmngz;1P21;C-D%Sv$`o<(7b)L-BV0w-H9#?mIFL-! z;hI39g9A_nGbo`f4oVj`IVDvJ%6Adv7W~h8f6(ov=x)Tn62I$j#J~GniIRVmaQll! zK5v)>J!h7$7yPwk=62D@6$~@4oB49Ccr`~$En4l4vFuq+yJ>Y?udFXwoz;fb)^FLX zUeneqt=_yg*SgW3tu@xS_mi=x|1(whYkj}THSWJiXC{IOb=PBe!*y&&x14pmv0^*w Ip6j;MKN7}hHUIzs diff --git a/mayan/apps/converter/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/converter/locale/de_DE/LC_MESSAGES/django.po index 2e60e26a92..7fc587f2df 100644 --- a/mayan/apps/converter/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/de_DE/LC_MESSAGES/django.po @@ -1,9 +1,10 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: +# Jesaja Everling , 2017 # Mathias Behrle , 2014 # Tobias Paepke , 2014 msgid "" @@ -11,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" -"Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" -"edms/language/de_DE/)\n" -"Language: de_DE\n" +"PO-Revision-Date: 2017-04-24 23:01+0000\n" +"Last-Translator: Jesaja Everling \n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:19 permissions.py:7 settings.py:7 @@ -43,6 +43,7 @@ msgid "Exception determining PDF page count; %s" msgstr "Ausnahme bei der Ermittlung der PDF-Seitenanzahl: %s" #: classes.py:97 +#| msgid "suported file formats" msgid "Not an office file format." msgstr "Kein Office-Dateiformat" @@ -57,15 +58,15 @@ msgstr "Zuschneiden" #: classes.py:299 msgid "Flip" -msgstr "" +msgstr "Drehen" #: classes.py:310 msgid "Gaussian blur" -msgstr "" +msgstr "Gaußsche Unschärfe" #: classes.py:321 msgid "Mirror" -msgstr "" +msgstr "Spiegeln" #: classes.py:332 msgid "Resize" @@ -76,26 +77,23 @@ msgid "Rotate" msgstr "Drehen" #: classes.py:378 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 90 degrees" -msgstr "Rotate by n degress." +msgstr "Um 90° drehen" #: classes.py:389 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 180 degrees" -msgstr "Rotate by n degress." +msgstr "Um 180° drehen" #: classes.py:400 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 270 degrees" -msgstr "Rotate by n degress." +msgstr "Um 270° drehen" #: classes.py:410 msgid "Unsharp masking" -msgstr "" +msgstr "Unscharf maskieren" #: classes.py:426 msgid "Zoom" @@ -121,9 +119,7 @@ msgstr "Transformationen" msgid "" "Order in which the transformations will be executed. If left unchanged, an " "automatic order value will be assigned." -msgstr "" -"Reihenfolge in der die Transformationen ausgeführt werden. Ohne Eintrag wird " -"automatisch eine Reihenfolge zugewiesen." +msgstr "Reihenfolge in der die Transformationen ausgeführt werden. Ohne Eintrag wird automatisch eine Reihenfolge zugewiesen." #: models.py:38 msgid "Name" @@ -133,9 +129,7 @@ msgstr "Name" msgid "" "Enter the arguments for the transformation as a YAML dictionary. ie: " "{\"degrees\": 180}" -msgstr "" -"Argumemte für die Transformation als YAML dictionary eingeben, z.B: " -"{\"degrees\": 180}" +msgstr "Argumemte für die Transformation als YAML dictionary eingeben, z.B: {\"degrees\": 180}" #: permissions.py:10 msgid "Create new transformations" @@ -150,6 +144,7 @@ msgid "Edit transformations" msgstr "Transformationen bearbeiten" #: permissions.py:19 +#| msgid "Raw application information" msgid "View existing transformations" msgstr "Transformationen anzeigen" @@ -172,9 +167,7 @@ msgstr "Einen gültigen YAML Wert eingeben" #: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" -msgstr "" -"Transformation \"%(transformation)s\" für %(content_object)s wirklich " -"löschen?" +msgstr "Transformation \"%(transformation)s\" für %(content_object)s wirklich löschen?" #: views.py:127 #, python-format @@ -184,8 +177,7 @@ msgstr "Transformation erstellen für %s" #: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" -msgstr "" -"Transformation \"%(transformation)s\" für %(content_object)s bearbeiten" +msgstr "Transformation \"%(transformation)s\" für %(content_object)s bearbeiten" #: views.py:216 #, python-format @@ -226,13 +218,14 @@ msgstr "Transformationen von %s" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " -#~ "and converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick.ImageMagick, " +#~ "converter.backends.graphicsmagick.GraphicsMagick and " +#~ "converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." -#~ "python." +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " +#~ "converter.backends.python." #~ msgid "Help" #~ msgstr "Help" @@ -545,11 +538,9 @@ msgstr "Transformationen von %s" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -665,8 +656,7 @@ msgstr "Transformationen von %s" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "" -#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/en/LC_MESSAGES/django.mo b/mayan/apps/converter/locale/en/LC_MESSAGES/django.mo index cbfcb93b5e6bb62055d44c7635410339f55cbeae..19765c6c8284f28da90a0136dc633295856fce28 100644 GIT binary patch delta 26 hcmZolWT;?hWMyQuS&T885dckY1%m(p delta 26 hcmZok+Fh-k(H_O, 2015 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-05-09 01:47+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" -"language/es/)\n" -"Language: es\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:19 permissions.py:7 settings.py:7 @@ -43,6 +42,7 @@ msgid "Exception determining PDF page count; %s" msgstr "Excepción determinando el número de páginas del PDF; %s" #: classes.py:97 +#| msgid "suported file formats" msgid "Not an office file format." msgstr "No es un formato de archivo de la oficina." @@ -76,22 +76,19 @@ msgid "Rotate" msgstr "Girar" #: classes.py:378 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 90 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:389 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 180 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:400 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 270 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:410 msgid "Unsharp masking" @@ -121,9 +118,7 @@ msgstr "Transformaciones" msgid "" "Order in which the transformations will be executed. If left unchanged, an " "automatic order value will be assigned." -msgstr "" -"Orden de ejecución de las transformaciones. Si lo deja en blanco, un valor " -"de orden sera asignado automáticamente. " +msgstr "Orden de ejecución de las transformaciones. Si lo deja en blanco, un valor de orden sera asignado automáticamente. " #: models.py:38 msgid "Name" @@ -133,9 +128,7 @@ msgstr "Nombre" msgid "" "Enter the arguments for the transformation as a YAML dictionary. ie: " "{\"degrees\": 180}" -msgstr "" -"Entre el argumento de la transformación como un diccionario YAML. Ejemplo: " -"{\"degrees\": 180}" +msgstr "Entre el argumento de la transformación como un diccionario YAML. Ejemplo: {\"degrees\": 180}" #: permissions.py:10 msgid "Create new transformations" @@ -150,6 +143,7 @@ msgid "Edit transformations" msgstr "Editar transformaciones" #: permissions.py:19 +#| msgid "Raw application information" msgid "View existing transformations" msgstr "Ver transformaciones existentes" @@ -172,8 +166,7 @@ msgstr "Entre un valor YAML." #: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" -msgstr "" -"¿Borrar transformación \"%(transformation)s\" para: %(content_object)s?" +msgstr "¿Borrar transformación \"%(transformation)s\" para: %(content_object)s?" #: views.py:127 #, python-format @@ -224,13 +217,14 @@ msgstr "Transformaciones para: %s" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " -#~ "and converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick.ImageMagick, " +#~ "converter.backends.graphicsmagick.GraphicsMagick and " +#~ "converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." -#~ "python." +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " +#~ "converter.backends.python." #~ msgid "Help" #~ msgstr "Help" @@ -543,11 +537,9 @@ msgstr "Transformaciones para: %s" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -663,8 +655,7 @@ msgstr "Transformaciones para: %s" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "" -#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/converter/locale/fa/LC_MESSAGES/django.mo index 89afae4d8fd6c5b359b7c87ac40b6ec1b23d2c1c..90fc5ee88725e19b6afe993d3e22fbc456b89035 100644 GIT binary patch delta 44 rcmaFF`G|8v0~4>gu7QcJk)eX2k(H6rAuA!l>k+Fh-k(H_O6-s67_Az`BSV!^C1ol#XlaS^ p|H-kbD!C#nQny^sxNxkNduw^NW2VmSt82%z(Y2hWJ^j)up>H~PE}sAZ delta 378 zcmXZXyGz4R6vy#XZL6);g80M-@r6R0lBBdl5fO1v5Fc0^TqKrgs{y zx)!0UPP#ZKxVt-wPHy@Yz1({~_Xn4II3NAz12;W^dLtmx8y1O($U~b*44-ivUonZ_ zIDyIbzjy1{LEgp#+`|!kLAJb8mhlURae>dra0e@RiUxj0q%H|AQ&Evs+`v}6#8JG$ z5Z>bnKH>~6(R~t+u?sKoxAFCVZeW~zhlBWp)A)u#jCYDKxAaM~yJamH%c{Dr8fir{ za+&m5IXtwLRkgHg=!&7|v}{6SMORGESM#n}_DZJjxH%(R2?v g)_m2oTrX92T&q&5rS^-yUENI;oTItsZ8#J90Uvli*8l(j diff --git a/mayan/apps/converter/locale/fr/LC_MESSAGES/django.po b/mayan/apps/converter/locale/fr/LC_MESSAGES/django.po index 52543ec6f8..b9e75c2779 100644 --- a/mayan/apps/converter/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pierre Lhoste , 2012 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" -"Last-Translator: Thierry Schott \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" -"fr/)\n" -"Language: fr\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:19 permissions.py:7 settings.py:7 @@ -43,14 +42,14 @@ msgid "Exception determining PDF page count; %s" msgstr "Exception déterminant le nombre de pages PDF : %s" #: classes.py:97 +#| msgid "suported file formats" msgid "Not an office file format." msgstr "Format de fichier non reconnu." #: classes.py:120 #, python-format msgid "LibreOffice not installed or not found at path: %s" -msgstr "" -"LibreOffice n'est pas installé ou n'a pas été trouvé à l'emplacement : %s" +msgstr "LibreOffice n'est pas installé ou n'a pas été trouvé à l'emplacement : %s" #: classes.py:286 msgid "Crop" @@ -77,22 +76,19 @@ msgid "Rotate" msgstr "Rotation" #: classes.py:378 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 90 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:389 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 180 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:400 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 270 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:410 msgid "Unsharp masking" @@ -122,9 +118,7 @@ msgstr "Transformations" msgid "" "Order in which the transformations will be executed. If left unchanged, an " "automatic order value will be assigned." -msgstr "" -"Ordre dans lequel les transformations seront exécutées. En l'absence de " -"modification, un ordre est automatiquement assigné." +msgstr "Ordre dans lequel les transformations seront exécutées. En l'absence de modification, un ordre est automatiquement assigné." #: models.py:38 msgid "Name" @@ -134,9 +128,7 @@ msgstr "Nom" msgid "" "Enter the arguments for the transformation as a YAML dictionary. ie: " "{\"degrees\": 180}" -msgstr "" -"Saisir les arguments pour la transformation sous la forme d'un dictionnaire " -"YAML. Par exemple : {\"degrees\": 180}" +msgstr "Saisir les arguments pour la transformation sous la forme d'un dictionnaire YAML. Par exemple : {\"degrees\": 180}" #: permissions.py:10 msgid "Create new transformations" @@ -151,6 +143,7 @@ msgid "Edit transformations" msgstr "Modifier des transformations" #: permissions.py:19 +#| msgid "Raw application information" msgid "View existing transformations" msgstr "Afficher les transformations existantes" @@ -173,9 +166,7 @@ msgstr "Saisissez une valeur YAML valide." #: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" -msgstr "" -"Êtes vous certain de vouloir supprimer la transformation \"%(transformation)s" -"\" pour : %(content_object)s ?" +msgstr "Êtes vous certain de vouloir supprimer la transformation \"%(transformation)s\" pour : %(content_object)s ?" #: views.py:127 #, python-format @@ -185,8 +176,7 @@ msgstr "Créer une nouvelle transformation pour : %s" #: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" -msgstr "" -"Modifier la transformation \"%(transformation)s\" pour : %(content_object)s" +msgstr "Modifier la transformation \"%(transformation)s\" pour : %(content_object)s" #: views.py:216 #, python-format @@ -227,13 +217,14 @@ msgstr "Transformations pour : %s" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " -#~ "and converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick.ImageMagick, " +#~ "converter.backends.graphicsmagick.GraphicsMagick and " +#~ "converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." -#~ "python." +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " +#~ "converter.backends.python." #~ msgid "Help" #~ msgstr "Help" @@ -546,11 +537,9 @@ msgstr "Transformations pour : %s" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -666,8 +655,7 @@ msgstr "Transformations pour : %s" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "" -#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/converter/locale/hu/LC_MESSAGES/django.mo index 3d323404212f716cb77726a709e98dbdbea38baf..7ac2baaf57b65aa7a57b4bfa425cf2934c6c21f8 100644 GIT binary patch delta 64 zcmX@fe3E%WtEsuJfr+k>p@N~2m5~vUZD7C^;IA8$T9#RynV+ZYl30>zrC?-W2v=uj LWn{W>7e6BaIiC>) delta 64 zcmX@fe3E%WtEri;p`oskv4Vk-m8r3=fr)_uSAf56P-m67GfUHpsyIvx=Z diff --git a/mayan/apps/converter/locale/hu/LC_MESSAGES/django.po b/mayan/apps/converter/locale/hu/LC_MESSAGES/django.po index cbe79054fd..d0af9661fa 100644 --- a/mayan/apps/converter/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/hu/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2015-08-20 19:29+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/hu/)\n" -"Language: hu\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:19 permissions.py:7 settings.py:7 @@ -41,6 +40,7 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 +#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -74,22 +74,19 @@ msgid "Rotate" msgstr "" #: classes.py:378 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 90 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:389 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 180 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:400 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 270 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:410 msgid "Unsharp masking" @@ -144,6 +141,7 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 +#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -217,13 +215,14 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " -#~ "and converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick.ImageMagick, " +#~ "converter.backends.graphicsmagick.GraphicsMagick and " +#~ "converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." -#~ "python." +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " +#~ "converter.backends.python." #~ msgid "Help" #~ msgstr "Help" @@ -536,11 +535,9 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -656,8 +653,7 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "" -#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/id/LC_MESSAGES/django.mo b/mayan/apps/converter/locale/id/LC_MESSAGES/django.mo index 06d2ace2df031a594ecd54cb9f95913254c42beb..a312c678397853f07c675085187e6da92cb9f65e 100644 GIT binary patch delta 64 zcmX@ie3*GctEsuJfr+k>p@N~2m5~vUZD7C^;IA8$T9#RynV+ZYl30>zrC?-W2v=uj LWn{W>7bhbCHlGml delta 64 zcmX@ie3*GctEri;p`oskv4Vk-m8r3=fr)_uSAf56P-m67GfU7U;nHy#lE diff --git a/mayan/apps/converter/locale/id/LC_MESSAGES/django.po b/mayan/apps/converter/locale/id/LC_MESSAGES/django.po index 72cdc1bba3..8e2371f773 100644 --- a/mayan/apps/converter/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/id/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2015-08-20 19:29+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" -"language/id/)\n" -"Language: id\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:19 permissions.py:7 settings.py:7 @@ -41,6 +40,7 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 +#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -74,22 +74,19 @@ msgid "Rotate" msgstr "" #: classes.py:378 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 90 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:389 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 180 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:400 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 270 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:410 msgid "Unsharp masking" @@ -144,6 +141,7 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 +#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -217,13 +215,14 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " -#~ "and converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick.ImageMagick, " +#~ "converter.backends.graphicsmagick.GraphicsMagick and " +#~ "converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." -#~ "python." +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " +#~ "converter.backends.python." #~ msgid "Help" #~ msgstr "Help" @@ -536,11 +535,9 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -656,8 +653,7 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "" -#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/it/LC_MESSAGES/django.mo b/mayan/apps/converter/locale/it/LC_MESSAGES/django.mo index 0880c9dbf9dab8d7bad7dd9a4c4aa944c29a1854..370d99085458392e856f1f1387830d82e87f2b12 100644 GIT binary patch delta 343 zcmX}nF-yZh7{>9Z5@Q>+gS5d~#4L&+k@RX6gS#MtAd2$|4uUk8WbY@?#lcMkaTJ7Z zE`EtFg5c&CaI!A`gTdpt-@VV>ad+STyZ_v%46Z6t)0JwH9;T!je8LvK;4+SI5y!|@ z%~vJ5mKgSM6&Elo^K0CtzAf_)45-I=jBPIK;$=+(tuuKf*v1h~V%_^Y(7@ut9$MTf z^E+Ije#PR!pUB(vg?0QX^`<4Cx`oC52pv2@{>|EOZsNe1-3p_P&~$>1iH*7GyY23O ovKgD+T14~qZI*{esqJSMHc!$xI808@(mcV;rsv7<&AoSi0UQD^2><{9 delta 372 zcmXZXJxjwt9LMp0HAY(>D59+o2)C$1NyvjOHWU#=1hFWhgX0m32uUMt_PzrVd;`w9 z2zApz9DM^WeG?r82fx7_$9?YizdP=3RQajAEENV%1(9V_q$naE(;{>Dg{%0Dn>fY| ztj>tARq9BW7Q-a51~^ z95r6$^*7uik1%`ihO71pR$PLW)x6!~9`8R9B#fej6zG1np<@w6-g1Z0E zHP_D?meaJn9pyTK@75ez=|uNa>!PQ-{Ya-tFHmjW3lnvq, 2016 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-09-24 10:31+0000\n" -"Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:19 permissions.py:7 settings.py:7 @@ -43,6 +42,7 @@ msgid "Exception determining PDF page count; %s" msgstr "Eccezione che determina il conteggio pagine PDF: %s" #: classes.py:97 +#| msgid "suported file formats" msgid "Not an office file format." msgstr "Non è un formato di file office" @@ -76,22 +76,19 @@ msgid "Rotate" msgstr "Ruotare" #: classes.py:378 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 90 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:389 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 180 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:400 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 270 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:410 msgid "Unsharp masking" @@ -121,9 +118,7 @@ msgstr "Trasformazioni" msgid "" "Order in which the transformations will be executed. If left unchanged, an " "automatic order value will be assigned." -msgstr "" -"Ordine delle trasformazioni da eseguire. Se resta invariato verrà assegnato " -"l'ordine automatico." +msgstr "Ordine delle trasformazioni da eseguire. Se resta invariato verrà assegnato l'ordine automatico." #: models.py:38 msgid "Name" @@ -133,9 +128,7 @@ msgstr "Nome " msgid "" "Enter the arguments for the transformation as a YAML dictionary. ie: " "{\"degrees\": 180}" -msgstr "" -"Scrivi gli argomenti per la trasformazione come dizionario YAML. es: " -"{\"degrees\": 180}" +msgstr "Scrivi gli argomenti per la trasformazione come dizionario YAML. es: {\"degrees\": 180}" #: permissions.py:10 msgid "Create new transformations" @@ -150,6 +143,7 @@ msgid "Edit transformations" msgstr "Modifica le trasformazioni" #: permissions.py:19 +#| msgid "Raw application information" msgid "View existing transformations" msgstr "Visualizza le trasformazioni esistenti" @@ -172,8 +166,7 @@ msgstr "Inserisci un valore YAML valido." #: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" -msgstr "" -"Cancellare le trasformazioni \"%(transformation)s\" per: %(content_object)s?" +msgstr "Cancellare le trasformazioni \"%(transformation)s\" per: %(content_object)s?" #: views.py:127 #, python-format @@ -183,8 +176,7 @@ msgstr "Crea una nuove trasformazioni per: %s" #: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" -msgstr "" -"Modifica le trasformazioni \"%(transformation)s\" per: %(content_object)s" +msgstr "Modifica le trasformazioni \"%(transformation)s\" per: %(content_object)s" #: views.py:216 #, python-format @@ -225,13 +217,14 @@ msgstr "Trasformazione per: %s" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " -#~ "and converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick.ImageMagick, " +#~ "converter.backends.graphicsmagick.GraphicsMagick and " +#~ "converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." -#~ "python." +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " +#~ "converter.backends.python." #~ msgid "Help" #~ msgstr "Help" @@ -544,11 +537,9 @@ msgstr "Trasformazione per: %s" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -664,8 +655,7 @@ msgstr "Trasformazione per: %s" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "" -#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/converter/locale/nl_NL/LC_MESSAGES/django.mo index 1f65b33f348ff8eadd6477588153de65e7bb196f..73511323fcbec21070e210ca72711f3ccaa99a6c 100644 GIT binary patch literal 2994 zcmbuAJ!~9B6vrnJ0vrKCNC+PRCWa_BWbf<~gy^gY?AQqwwquz~5H!*3?z{EayR*y8 zoX;_$q5+ALR20+*AwU8NDGd^$AO#Ht5=Cez5e1?^qT&Dc){f7*2q9L!{q4@qym?>q z_l<*luL@jG;&&9kLwkf61NYyC8?Mj6yTLCiUIQP&`*+|m@E7n=aL?^R>;;d4`@m!1 zS#T752uwl#{toyO_%3(|{2pX`H^7VFU*IUXh{;cZJ+KLW2=e+LaO3@c1n&TU2QBy~ z_%xVcP=fD+?8m1SzXb2Y`!(=>@H%(|{26>4`~!puaR7@xLJkgtHN1ayXFvXLK#uo1 z_zd_P_yl<5uKv7JAm?ccd>MQNWIsOu@h3jRZ5sR3aOUjcp)RW#S<2t#`l-Ier^%sdb zEqNSPZnc&_<%O7`lsr|~WnPXPA06Cq%#Bo*N2A<$_<1=GS1Iyi?#1CYoS2QZFK_?H z`Y;194Hv9ba$Ti5mak7O%=2TH>eUy&LQ-udlpU8mG8mFn4i?I_v5q*a%3i5UO)dG> zNKA<(aw9D{aeDl1F}o2_!Bb?6q}faxZ4$XOb50g2AsOXe<0m=m=dCJMbmTC^MRdF* zRM8rlSo&Oc9bBB(p`{C*j*d{;+)HhoS7}PIgr7Xnfw@>J595BNEasxhNG#%$GBWS4 z?C6v@GBiY8T(B|PrM$zO?7@YVAt5{2(`hP0lC(il*Hc`Va~+vd$IGsXR+LF7KFOP? zuFtvEBKQQ;{p@b9R?g|fV6|9+ha4EEcPTFl_*B?Du_}{A-0>L61}CK)d=)}9vo4m& z=}i*LxktN;_F$_IzPeqXUDcLOT+%ouw4t5n+6>m(i8t~*6H7Mdo(<;W;8MRhExDks zAl})Tg;#6KROHqN3og-dFx^dD(9T=3wsfH#l&1;B3})bAOE$+RUI@mY3z`#hqSE*@w z##n7(ZejLj4kqg3HK-0B>!5w5K!Bb$e4|K}Hj@&4VIBE17u)B8(>LdpRU#YAnkbKv z@|HXuYQOD!OO|`pmeQ_OX>bmm>M&N6ukK89QuZIuj2e0DjGP#otZi!`LEyGUa6zdx zNo1ta)a?zPVw`ei#J|pv>v^S$<K=B3+6Hk^Zb)~IRJ)vHn_+Qsa8R}JD6B72gwTu$alPlz*M1@LuBbJ>0 z4^k+@RK=TR8Oks408(2DVVmH8XuBG@+7{N*O=wO>y9he8CB3_)R%642zWt<VTznhbuua?wC@#q61q$l9O&P{w?SFv=H5DS Z)3l~n*HCFB58Lf(CMV|1CZrkG{{i8oVr2jT delta 621 zcmXxh&r2IY6u|L`(HPgp9}x^jt7|BDkVq0WV36WPyoeSQ&kh=Gbd!Zm$iYiaf)`JN z=vD8bPz$|y(6fgWL68;&@t+Xdg5MW6kG%cly)ZLxvfpD5-L z@F1?S3vYaHv7P!JL--p9@!9Xc;t=(JzmByj)j>UipD=+oE+Ok{>g)R#pI4%e_|N#(8fQ=NBwK|Yf1$eZ-Rz}Nz7nB zZek~T7{LRS0gq4yJH;{lhH^jynM(!9Rxo2T2xwPZKpE1 z*=bV>4S#8NQge1Xo0~~ZrU+|Umn+G2PnXJ$uDD*#UaaPw!d}T<)7q&NO8fSF{=HN7 s8w, 2016 +# Johan Braeken, 2017 # Lucas Weel , 2013 # woei , 2014 msgid "" @@ -12,14 +13,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-11-09 16:40+0000\n" -"Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" -"edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:19 permissions.py:7 settings.py:7 @@ -41,16 +41,17 @@ msgstr "Argumenten" #: backends/python.py:86 backends/python.py:100 #, python-format msgid "Exception determining PDF page count; %s" -msgstr "" +msgstr "Exceptie bij het bepalen van aan aantal bladzijden van de PDF: %s" #: classes.py:97 +#| msgid "suported file formats" msgid "Not an office file format." -msgstr "" +msgstr "Geen office bestandsformaat." #: classes.py:120 #, python-format msgid "LibreOffice not installed or not found at path: %s" -msgstr "" +msgstr "LibreOffice niet geënstalleerd of niet gevonden in pad: %s" #: classes.py:286 msgid "Crop" @@ -77,22 +78,19 @@ msgid "Rotate" msgstr "Roteren" #: classes.py:378 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 90 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:389 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 180 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:400 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 270 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:410 msgid "Unsharp masking" @@ -104,7 +102,7 @@ msgstr "Inzoomen" #: links.py:35 msgid "Create new transformation" -msgstr "" +msgstr "Maak een nieuwe transformatie aan" #: links.py:39 msgid "Delete" @@ -122,7 +120,7 @@ msgstr "Transformaties" msgid "" "Order in which the transformations will be executed. If left unchanged, an " "automatic order value will be assigned." -msgstr "" +msgstr "Volgorde waarin de transformaties worden uitgevoerd. Indien ongewijzigd zal automatisch een volgorde toegekend worden." #: models.py:38 msgid "Name" @@ -132,11 +130,11 @@ msgstr "Naam" msgid "" "Enter the arguments for the transformation as a YAML dictionary. ie: " "{\"degrees\": 180}" -msgstr "" +msgstr "Voer de argumenten voor de transformatie in als een YAML statement, bijvoorbeeld: {\"degrees\": 180}" #: permissions.py:10 msgid "Create new transformations" -msgstr "" +msgstr "Maak nieuwe transformaties aan" #: permissions.py:13 msgid "Delete transformations" @@ -144,15 +142,16 @@ msgstr "Transformaties verwijderen" #: permissions.py:16 msgid "Edit transformations" -msgstr "" +msgstr "Wijzig transformaties" #: permissions.py:19 +#| msgid "Raw application information" msgid "View existing transformations" msgstr "Bekijk bestaande transformaties" #: settings.py:10 msgid "Graphics conversion backend to use." -msgstr "" +msgstr "Te gebruiken backend voor grafische conversie." #: settings.py:16 msgid "Path to the libreoffice program." @@ -169,17 +168,17 @@ msgstr "Voer een geldige YAML-waarde in." #: views.py:64 #, python-format msgid "Delete transformation \"%(transformation)s\" for: %(content_object)s?" -msgstr "" +msgstr "Transformatie verwijderen \"%(transformation)s\" voor: %(content_object)s?" #: views.py:127 #, python-format msgid "Create new transformation for: %s" -msgstr "" +msgstr "Maak een nieuwe transformatie aan voor: %s" #: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" -msgstr "" +msgstr "Wijzig transformatie \"%(transformation)s\" voor: %(content_object)s" #: views.py:216 #, python-format @@ -220,13 +219,14 @@ msgstr "Transformaties voor: %s" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " -#~ "and converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick.ImageMagick, " +#~ "converter.backends.graphicsmagick.GraphicsMagick and " +#~ "converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." -#~ "python." +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " +#~ "converter.backends.python." #~ msgid "Help" #~ msgstr "Help" @@ -539,11 +539,9 @@ msgstr "Transformaties voor: %s" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -659,8 +657,7 @@ msgstr "Transformaties voor: %s" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "" -#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/converter/locale/pl/LC_MESSAGES/django.mo index addab585d1fa7a91014a9a06c034a6654d11b5c7..d889b8b60a77c94e8d78ea445102e0a9bfd0f787 100644 GIT binary patch delta 513 zcmYMtKTASU7{~FWm8Bs;sr`jce-x#pd#+k!UZtTR2!e2Hxi%t|jBTl1fkOdc*Q8 zCx)Hfw4U11IKES}T#4sx(<&FtO3_Zs^Wx=|T`6MOv~P=zZ%?O|JdmZrooyD3sAU*R z=A9Shw4S1v&<)q@5wMM}ItE{1oeyf=CVUU^{ Y_4mW0ffF@c$i{xIPHv*ro%|a60}@14P5=M^ delta 454 zcmYk%yG{Z@6b9gf2m*$XD5z13@d9FG$;_^9v9hRz7HHxnBqVejLI|?#nq3UW5DA5) z6@`zX39WW^Rwfn}CRRRzm5o1_!fC#9{+T(Gxt)8ReT;hA-yWivpD0K~zY{}!0is3p z5x5Fda2}q*NoYbJyn_4i22R5lh*9(b_uvm1LN?1ls`lKn`WptHFi86RwW@M zSz%n(wv?{rUpP}Gu1K4cGIm@ zS*Dq8{_A%ub)#ygOLjfmee%B@D%8e Y$2=oAYqbV>{|sNp9f3P?PXyk*e|Aw!PXGV_ diff --git a/mayan/apps/converter/locale/pl/LC_MESSAGES/django.po b/mayan/apps/converter/locale/pl/LC_MESSAGES/django.po index acf25f399a..c1b773fc03 100644 --- a/mayan/apps/converter/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # mic , 2012,2015 @@ -11,16 +11,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" -"Last-Translator: Wojtek Warczakowski \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" -"pl/)\n" -"Language: pl\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" @@ -44,6 +42,7 @@ msgid "Exception determining PDF page count; %s" msgstr "Wyjątek określający liczbę stron PDF: %s" #: classes.py:97 +#| msgid "suported file formats" msgid "Not an office file format." msgstr "Format niezgodny z formatem plików LibreOffice." @@ -77,22 +76,19 @@ msgid "Rotate" msgstr "Obrócenie" #: classes.py:378 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 90 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:389 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 180 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:400 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 270 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:410 msgid "Unsharp masking" @@ -122,9 +118,7 @@ msgstr "Transformacje" msgid "" "Order in which the transformations will be executed. If left unchanged, an " "automatic order value will be assigned." -msgstr "" -"Kolejność wykonywania transformacji. Jeśli nie zostanie zmieniona, przyjmie " -"wartość automatyczną." +msgstr "Kolejność wykonywania transformacji. Jeśli nie zostanie zmieniona, przyjmie wartość automatyczną." #: models.py:38 msgid "Name" @@ -134,9 +128,7 @@ msgstr "Nazwa" msgid "" "Enter the arguments for the transformation as a YAML dictionary. ie: " "{\"degrees\": 180}" -msgstr "" -"Wprowadź argumenty dla transformacji w postaci słownika YAML np.: {\"degrees" -"\": 180}" +msgstr "Wprowadź argumenty dla transformacji w postaci słownika YAML np.: {\"degrees\": 180}" #: permissions.py:10 msgid "Create new transformations" @@ -151,6 +143,7 @@ msgid "Edit transformations" msgstr "Edytuj transformacje" #: permissions.py:19 +#| msgid "Raw application information" msgid "View existing transformations" msgstr "Przeglądaj istniejące transformacje" @@ -224,13 +217,14 @@ msgstr "Transformacje dla: %s" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " -#~ "and converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick.ImageMagick, " +#~ "converter.backends.graphicsmagick.GraphicsMagick and " +#~ "converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." -#~ "python." +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " +#~ "converter.backends.python." #~ msgid "Help" #~ msgstr "Help" @@ -543,11 +537,9 @@ msgstr "Transformacje dla: %s" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -663,8 +655,7 @@ msgstr "Transformacje dla: %s" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "" -#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/converter/locale/pt/LC_MESSAGES/django.mo index 78311170ab59b676c772feb95bfe631144f42a4d..7c6fb83525268a1325795eb18482a36ca14006c0 100644 GIT binary patch delta 66 zcmey!`jK@*6r-uRu7QcJk)eX2k(H4VkZoYV72vNMlvylWKYNcRgUk+Fh-k(H^ju7Qbx0at*(Zcu7jW^rbIo~}z`Nvf5Ck%6I^ Vu7R, 2011 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" -"language/pt/)\n" -"Language: pt\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:19 permissions.py:7 settings.py:7 @@ -44,6 +43,7 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 +#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -77,22 +77,19 @@ msgid "Rotate" msgstr "Rodar" #: classes.py:378 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 90 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:389 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 180 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:400 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 270 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:410 msgid "Unsharp masking" @@ -147,6 +144,7 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 +#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -220,13 +218,14 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " -#~ "and converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick.ImageMagick, " +#~ "converter.backends.graphicsmagick.GraphicsMagick and " +#~ "converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." -#~ "python." +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " +#~ "converter.backends.python." #~ msgid "Help" #~ msgstr "Help" @@ -539,11 +538,9 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -659,8 +656,7 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "" -#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/converter/locale/pt_BR/LC_MESSAGES/django.mo index f53f134c0e3f14adc0e363706d2cb0648545baa2..0ab900755ca1314672b3cea6104ef17e3eec30ef 100644 GIT binary patch delta 343 zcmX}nK}!Nb7{>9}ST{A6BC<`l!$Rdn)^w~bmX1;vQ4lX3Cx{5bh28ZiUONVXxBLJd zB(P)PxqEo@5FPpqo%&1Az|3#vVVHT}XZyi^*-8z^DUrM>k`s~FRgo;tu!!%thhMmh znG6#TScs&8=jh`O4v?p0gbjQ`8$Z#-AG}0|PfoF)m7yH6nGl@e0*&Pbs`1dpG`8>t zyI96I+{bUU&|3Rzz`=FSCEP$C3wVJg)VM7C9_d@QWxBc2Hmnn`dgQ5^TT_8jk3G|= p|0jN+j>}a>uBqe1>qfd4-{~Zb0=E-hT}MfXv5s!T>D>G?>!`*A!x*S8+6K|a-ePKnH#B3Ti68yCsoCobX_uHr8) z`)_=Fbzpu#-O&(OmP_A=6yO%AUFRs2RHdB8L_`Z$Ky zc!dEL@B`N{Jt>mI4I~l|r?7_8*uVwUxQ@4&4E})pTjpdqlRhzW+qUD_ZdsLF-z(n* z=F;&fadwpJ`dgJkiIqLlQEZ=vI*8gj?u5SDZ?}S`s)x;1tRq#`$+b4Bm;YJuqH|L` L4|j(z=DYC+w{, 2016 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-11-17 22:48+0000\n" -"Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" -"edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:19 permissions.py:7 settings.py:7 @@ -44,6 +43,7 @@ msgid "Exception determining PDF page count; %s" msgstr "Exceção ao determinar o número de páginas do PDF; %s" #: classes.py:97 +#| msgid "suported file formats" msgid "Not an office file format." msgstr "Não é um formato de arquivo de escritório." @@ -77,22 +77,19 @@ msgid "Rotate" msgstr "Rotacionar" #: classes.py:378 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 90 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:389 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 180 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:400 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 270 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:410 msgid "Unsharp masking" @@ -122,9 +119,7 @@ msgstr "Transformações" msgid "" "Order in which the transformations will be executed. If left unchanged, an " "automatic order value will be assigned." -msgstr "" -"Ordem de execução das transformações. Se deixar em branco, um valor " -"automático vai ser atribuído." +msgstr "Ordem de execução das transformações. Se deixar em branco, um valor automático vai ser atribuído." #: models.py:38 msgid "Name" @@ -134,9 +129,7 @@ msgstr "Nome" msgid "" "Enter the arguments for the transformation as a YAML dictionary. ie: " "{\"degrees\": 180}" -msgstr "" -"Entre com os argumentos da transformação como um dicionário YAML. ie: " -"{\"degrees\": 180}" +msgstr "Entre com os argumentos da transformação como um dicionário YAML. ie: {\"degrees\": 180}" #: permissions.py:10 msgid "Create new transformations" @@ -151,6 +144,7 @@ msgid "Edit transformations" msgstr "Editar transformações" #: permissions.py:19 +#| msgid "Raw application information" msgid "View existing transformations" msgstr "Visualizar transformações existentes" @@ -224,13 +218,14 @@ msgstr "Transformações para: %s" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " -#~ "and converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick.ImageMagick, " +#~ "converter.backends.graphicsmagick.GraphicsMagick and " +#~ "converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." -#~ "python." +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " +#~ "converter.backends.python." #~ msgid "Help" #~ msgstr "Help" @@ -543,11 +538,9 @@ msgstr "Transformações para: %s" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -663,8 +656,7 @@ msgstr "Transformações para: %s" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "" -#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/converter/locale/ro_RO/LC_MESSAGES/django.mo index 213bccd870cf167a8b9eebd85064c729e300a287..c2b3cc998c9b37e71d5fdc73cf0b825935c35c7e 100644 GIT binary patch delta 66 zcmZ3@wwi526r-uRu7QcJk)eX2k(H4VkZoYV72vNMlvylWKYNcRgUk+Fh-k(H^ju7Qbx0at*(Zcu7jW^rbIo~}z`Nvf5Ck%6HZ UP)^s-T*1K7%EWkcKjR!m06s(!G5`Po diff --git a/mayan/apps/converter/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/converter/locale/ro_RO/LC_MESSAGES/django.po index 72e54b3cea..6ade9c434e 100644 --- a/mayan/apps/converter/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Badea Gabriel , 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-04-17 09:43+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" -"edms/language/ro_RO/)\n" -"Language: ro_RO\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" @@ -43,6 +41,7 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 +#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -76,22 +75,19 @@ msgid "Rotate" msgstr "Roti" #: classes.py:378 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 90 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:389 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 180 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:400 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 270 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:410 msgid "Unsharp masking" @@ -146,6 +142,7 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 +#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -219,13 +216,14 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " -#~ "and converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick.ImageMagick, " +#~ "converter.backends.graphicsmagick.GraphicsMagick and " +#~ "converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." -#~ "python." +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " +#~ "converter.backends.python." #~ msgid "Help" #~ msgstr "Help" @@ -538,11 +536,9 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -658,8 +654,7 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "" -#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/converter/locale/ru/LC_MESSAGES/django.mo index 00b91fb8083318ee47a4c5f7af5486eed372c4a6..f4e5c171a506700b798c87a3899261671c04b0a1 100644 GIT binary patch delta 343 zcmX}n&q@MO6vy$OQw*jVC}m&?wu+D&&eaTNRRpz2ivBFyj8G7S12eO7BeZDIMyPd* z-XJmvdV&`D4!%VDzJtH;xNj`RQh%eYdlh;6fnton7!(ZetI$D$t@C4IAPdLF> z^zgng9r%G8k delta 338 zcmXZXze>YU7>4n;MMCW#!C*V6g$RO`l6sP2#5k!?5Q-u=>JS8>5K?LDB1my?6bBav zZ$T7_o4Z}S0v9jA8&G^gJrnTT(4IaSH=_AGh)5zu&P! z|Kbdmr=??D#yVc(JU-zWj?u-nycFUI-r)nbu~yJfms~Ci(jk5$f6-1++QmIg2i@Wq zKB9+LrOCi&T%tcQefNWlSR_(caRpo0!UWSrUonFfjqL2fR4H&h&-I&*@x%4zePS&% t0@rM~-lpT5(3ra6&^k&WG{s2zcE%E>W diff --git a/mayan/apps/converter/locale/ru/LC_MESSAGES/django.po b/mayan/apps/converter/locale/ru/LC_MESSAGES/django.po index d033973a84..2689164a33 100644 --- a/mayan/apps/converter/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -10,17 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-07-19 20:00+0000\n" -"Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" -"language/ru/)\n" -"Language: ru\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" @@ -44,6 +41,7 @@ msgid "Exception determining PDF page count; %s" msgstr "Ошибка при определении числа страниц PDF; %s" #: classes.py:97 +#| msgid "suported file formats" msgid "Not an office file format." msgstr "Не является файлом офисного формата." @@ -77,22 +75,19 @@ msgid "Rotate" msgstr "Вращать" #: classes.py:378 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 90 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:389 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 180 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:400 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 270 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:410 msgid "Unsharp masking" @@ -122,9 +117,7 @@ msgstr "Преобразования" msgid "" "Order in which the transformations will be executed. If left unchanged, an " "automatic order value will be assigned." -msgstr "" -"Порядок выполнения преобразований. Если оставить неизменным, будет " -"установлен флаг автоматического выставления порядка." +msgstr "Порядок выполнения преобразований. Если оставить неизменным, будет установлен флаг автоматического выставления порядка." #: models.py:38 msgid "Name" @@ -134,9 +127,7 @@ msgstr "Имя" msgid "" "Enter the arguments for the transformation as a YAML dictionary. ie: " "{\"degrees\": 180}" -msgstr "" -"Введите аргументы для преобразования в формате YAML-словаря, например: " -"{\"degrees\": 180}" +msgstr "Введите аргументы для преобразования в формате YAML-словаря, например: {\"degrees\": 180}" #: permissions.py:10 msgid "Create new transformations" @@ -151,6 +142,7 @@ msgid "Edit transformations" msgstr "Изменить преобразования" #: permissions.py:19 +#| msgid "Raw application information" msgid "View existing transformations" msgstr "Просмотр существующих преобразований" @@ -183,9 +175,7 @@ msgstr "Создать новое преобразование для: %s" #: views.py:175 #, python-format msgid "Edit transformation \"%(transformation)s\" for: %(content_object)s" -msgstr "" -"Изменить преобразование \"%(transformation)s\" for: " -"%(content_object)sjavascript:;" +msgstr "Изменить преобразование \"%(transformation)s\" for: %(content_object)sjavascript:;" #: views.py:216 #, python-format @@ -226,13 +216,14 @@ msgstr "Преобразования для: %s" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " -#~ "and converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick.ImageMagick, " +#~ "converter.backends.graphicsmagick.GraphicsMagick and " +#~ "converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." -#~ "python." +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " +#~ "converter.backends.python." #~ msgid "Help" #~ msgstr "Help" @@ -545,11 +536,9 @@ msgstr "Преобразования для: %s" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -665,8 +654,7 @@ msgstr "Преобразования для: %s" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "" -#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/converter/locale/sl_SI/LC_MESSAGES/django.mo index f3668dcd27b9bd2e9062288c5f50817835b74239..04bdcced1c4a87b964018b98560bf9a4ec782a35 100644 GIT binary patch delta 41 pcmZ3_vYutaB3^S{0~1{%Lj^-4D!lF_W>!X~8?Q$&0s!b<3g`d; delta 41 wcmZ3_vYutaB3?6HLqlC7V+8{vD^uf%>!pDL2FAKZh6+Z8Rt9DpuSYNf0O&Ic;{X5v diff --git a/mayan/apps/converter/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/converter/locale/sl_SI/LC_MESSAGES/django.po index b1bfb35990..ef5336e33e 100644 --- a/mayan/apps/converter/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/sl_SI/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,16 +9,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" -"edms/language/sl_SI/)\n" -"Language: sl_SI\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" +"Language: sl_SI\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: apps.py:19 permissions.py:7 settings.py:7 msgid "Converter" @@ -42,6 +40,7 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 +#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -75,22 +74,19 @@ msgid "Rotate" msgstr "" #: classes.py:378 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 90 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:389 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 180 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:400 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 270 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:410 msgid "Unsharp masking" @@ -145,6 +141,7 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 +#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -218,13 +215,14 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " -#~ "and converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick.ImageMagick, " +#~ "converter.backends.graphicsmagick.GraphicsMagick and " +#~ "converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." -#~ "python." +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " +#~ "converter.backends.python." #~ msgid "Help" #~ msgstr "Help" @@ -537,11 +535,9 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -657,8 +653,7 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "" -#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/converter/locale/vi_VN/LC_MESSAGES/django.mo index 5e6d0608326df27a1214c856aeecf332c8e3530f..8c4e9dd64466ff4063526323422bd0507578248e 100644 GIT binary patch delta 64 zcmbQpGLdD%c2jd*0~1{%Lj^-4D`R!U6;g?R4WA|14A=i T17lqyLj@y4D+9BQZ&VopD%KGU diff --git a/mayan/apps/converter/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/converter/locale/vi_VN/LC_MESSAGES/django.po index 88fbb7f37c..b1c0d4e5be 100644 --- a/mayan/apps/converter/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" -"mayan-edms/language/vi_VN/)\n" -"Language: vi_VN\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:19 permissions.py:7 settings.py:7 @@ -41,6 +40,7 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 +#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -74,22 +74,19 @@ msgid "Rotate" msgstr "" #: classes.py:378 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 90 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:389 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 180 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:400 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 270 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:410 msgid "Unsharp masking" @@ -144,6 +141,7 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 +#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -217,13 +215,14 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " -#~ "and converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick.ImageMagick, " +#~ "converter.backends.graphicsmagick.GraphicsMagick and " +#~ "converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." -#~ "python." +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " +#~ "converter.backends.python." #~ msgid "Help" #~ msgstr "Help" @@ -536,11 +535,9 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -656,8 +653,7 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "" -#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/converter/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/converter/locale/zh_CN/LC_MESSAGES/django.mo index 74768e857932ac01e98253c7edeb289a92df46ec..71af604dd3fe9c7955f6417747ba117195167e76 100644 GIT binary patch delta 44 rcmZ3-x{h^&9wV>0u7QcJk)eX2k(H6rWNSuggov4yk?H1SMsG#{k+Fh-k(H_OWNSugpooF7u92aFk)f4=+2&+MZ$<#)oe7}; diff --git a/mayan/apps/converter/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/converter/locale/zh_CN/LC_MESSAGES/django.po index 9786b9dda7..47d81b9a3c 100644 --- a/mayan/apps/converter/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/converter/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:06+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" -"language/zh_CN/)\n" -"Language: zh_CN\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:19 permissions.py:7 settings.py:7 @@ -42,6 +41,7 @@ msgid "Exception determining PDF page count; %s" msgstr "" #: classes.py:97 +#| msgid "suported file formats" msgid "Not an office file format." msgstr "" @@ -75,22 +75,19 @@ msgid "Rotate" msgstr "旋转" #: classes.py:378 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 90 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:389 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 180 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:400 -#, fuzzy #| msgid "Rotate by n degress." msgid "Rotate 270 degrees" -msgstr "Rotate by n degress." +msgstr "" #: classes.py:410 msgid "Unsharp masking" @@ -145,6 +142,7 @@ msgid "Edit transformations" msgstr "" #: permissions.py:19 +#| msgid "Raw application information" msgid "View existing transformations" msgstr "" @@ -218,13 +216,14 @@ msgstr "" #~ msgstr "File path to graphicsmagick's program." #~ msgid "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick.ImageMagick, converter.backends.graphicsmagick.GraphicsMagick " -#~ "and converter.backends.python.Python" +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick.ImageMagick, " +#~ "converter.backends.graphicsmagick.GraphicsMagick and " +#~ "converter.backends.python.Python" #~ msgstr "" -#~ "Graphics conversion backend to use. Options are: converter.backends." -#~ "imagemagick, converter.backends.graphicsmagick and converter.backends." -#~ "python." +#~ "Graphics conversion backend to use. Options are: " +#~ "converter.backends.imagemagick, converter.backends.graphicsmagick and " +#~ "converter.backends.python." #~ msgid "Help" #~ msgstr "Help" @@ -537,11 +536,9 @@ msgstr "" #~ msgstr "Magick Image File Format" #~ msgid "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" -#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib " -#~ "1.2.3.3,1.2.3.4)" +#~ "Multiple-image Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgid "Raw Bi-level bitmap in least-significant-byte first order" #~ msgstr "Raw Bi-level bitmap in least-significant-byte first order" @@ -657,8 +654,7 @@ msgstr "" #~ msgid "Joint Photographic Experts Group JFIF format (62)" #~ msgstr "Joint Photographic Experts Group JFIF format (62)" -#~ msgid "" -#~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" +#~ msgid "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" #~ msgstr "" #~ "Portable Network Graphics (libpng 1.2.42,1.2.44, zlib 1.2.3.3,1.2.3.4)" diff --git a/mayan/apps/django_gpg/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/django_gpg/locale/ar/LC_MESSAGES/django.mo index b7c47be34f700722deb75e2ed0bd4c81bd74e444..826dd5ce024a18bee6a7a6da25ec89ef081c5fbf 100644 GIT binary patch delta 47 zcmew^@LgcTUKU<+T>}$cBSQs4BP%1L$){Kr^7tg?rI#kAr&=i_7ER7#joy5Tbtw}7 Dczh4@ delta 47 zcmew^@LgcTUKU<6T|+}%BVz>vBP&zm$){KrPOe~$;_*q$OD|1KPqk7=EZTgLbr}-? DdG-(j diff --git a/mayan/apps/django_gpg/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/django_gpg/locale/bg/LC_MESSAGES/django.mo index 2e72b8837e59764a133025492f1b77d349e6edb9..0d0c628f47ba87588a42f2c311f2e60bf052b574 100644 GIT binary patch delta 47 zcmaDS@=j#K4HjN=T>}$cBSQs4BP%1L$xm69@c1O=rI#kAr&=i_rBCi)jo$o$wT=Y< Dezy=W delta 47 zcmaDS@=j#K4HjNAT|+}%BVz>vBP&zm$xm69OrFLX#p9EhmtLBfo@%9#l)m{rYds49 Df!`25 diff --git a/mayan/apps/django_gpg/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/django_gpg/locale/bs_BA/LC_MESSAGES/django.mo index b683257435e00354369b41b49e9c605248c87cc1..a9900b24feb9635f49e9a1250e74f44b7a08e6ad 100644 GIT binary patch delta 50 zcmdlcxJ_`wUKU<+T>}$cBSQs4BP%1L$){NM@%tp^rI#kAr&=i_6~{X{PHtz7-u#L6 G2onI4`w-Ir delta 50 zcmdlcxJ_`wUKU<6T|+}%BVz>vBP&zm$){NMO`gFT#qX1tmtLBfo@%9#R2=W*xcMXN GQ6>PGH4x}$cBSQs4BP%1L$@4jn^ZO*`rI#kAr&=kbq{h3rPEO^D-h6@U G4l4kPq7Zig delta 50 zcmZ3ZxJGfqBu-v4T|+}%BVz>vBP&zm$@4jnPcGw%;`d3+OD|1KPqk7=NsV`L-F%+w GE-L_yBoK)J diff --git a/mayan/apps/django_gpg/locale/en/LC_MESSAGES/django.mo b/mayan/apps/django_gpg/locale/en/LC_MESSAGES/django.mo index a5966431a4adc7bd66be6bfc95daa1c7877608c7..4f6a0ebb859db574fc5a52a86cdfd285abf6002f 100644 GIT binary patch delta 26 hcmey*_n&Wr2Me#cu7QcJk)eX2k(H6r=1>+bW&mxb2G#%o delta 26 hcmey*_n&Wr2Me#6uA!l>k+Fh-k(H_O=1>+bW&mxV2G{@q diff --git a/mayan/apps/django_gpg/locale/es/LC_MESSAGES/django.mo b/mayan/apps/django_gpg/locale/es/LC_MESSAGES/django.mo index e67ba4fdd0c6a19a3dd46eddcf73910049696e3c..83a82dc472731d47839e53a80482d8be0594d4fd 100644 GIT binary patch delta 47 zcmbQMFjry2Bu-v)T>}$cBSQs4BP%1L$@4iE@%SX>rI#kAr&=kb7EgBIir&0}tCST0 DQSuI= delta 47 zcmbQMFjry2Bu-v4T|+}%BVz>vBP&zm$@4iEP4?r8;_*q$OD|1KPqk7=E#ADGtBe%@ DQFjip diff --git a/mayan/apps/django_gpg/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/django_gpg/locale/fa/LC_MESSAGES/django.mo index 7fc8f54dcba3f6328ea86ec0d16b532137acdd2e..a3aa7069d7f1aa348170a46ed825328fbd3c6c46 100644 GIT binary patch delta 47 zcmX>ueq4NmARDi_u7QcJk)eX2k(H6rWI47)JU)qe>7|M3sa6VUiIexUMQ>JTU%&zY DJk<^C delta 47 zcmX>ueq4NmARDiluA!l>k+Fh-k(H_OWI47)lh3k6@%SX>rI#kAr&=kbC2m$@U&sOg DLfsAf diff --git a/mayan/apps/django_gpg/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/django_gpg/locale/fr/LC_MESSAGES/django.mo index f38174f28ca8437709eef66618796cc226a01b3a..493a11b6f4884d7a1fdd2912f540b361694b0f58 100644 GIT binary patch delta 47 zcmX@Da9Ux*Bu-v)T>}$cBSQs4BP%1L$@4k)^Y|p@rI#kAr&=kb6-|!iir##btBn-^ DW|R+R delta 47 zcmX@Da9Ux*Bu-v4T|+}%BVz>vBP&zm$@4k)PtN9w;_*q$OD|1KPqk7=E82X7tDO}9 DXOa(f diff --git a/mayan/apps/django_gpg/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/django_gpg/locale/hu/LC_MESSAGES/django.mo index 62a8456e056bbdffc8f8a191b785b68361b07332..794e141f7f5a92ebb179eb60d7c1bb51dcf076fc 100644 GIT binary patch delta 44 zcmcc3a+_tsCth=10~1{%Lj^-4D13I(kJnt+z(m)`P{Gj1%E)Nq>7_hAiFxUziRr0U3YjUB^BJQjUuQG|04^mC ALI3~& delta 44 zcmeBV>13I(kJn7s&`{UNSi!)^%G7w`>7|ov8KZc767$ka6Vp?z6f#pLUt=@|057u+ AQ2+n{ diff --git a/mayan/apps/django_gpg/locale/it/LC_MESSAGES/django.mo b/mayan/apps/django_gpg/locale/it/LC_MESSAGES/django.mo index 9ad67ff2edae7686f4807440aa90465311d1dadf..156854f6fe5d36d059be5546191ce7b6f4fd123f 100644 GIT binary patch delta 47 zcmZouXj9lQiIdk{*T6*A$WX!1$jZoQ@_f$yJU)qe>7|M3sa6V^C6i;hqBkGqa%2Sn DO>+*M delta 45 zcmZouXj9lQiIdk%*U(Vc$XLO^$ja1s@_f$yle4*^xO@`x(n}N5Q>_#>AL4Rh1pqLX B4a@)l diff --git a/mayan/apps/django_gpg/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/django_gpg/locale/nl_NL/LC_MESSAGES/django.mo index ed2c5476c6f74ec5ca298346db1f26daff8feb93..6dc9405e3bcc84e45e2b233bfac7e8d75a47f982 100644 GIT binary patch delta 50 zcmdlWv_WV?J1eibu7QcJk)eX2k(H6r_&8a^n4bCMU8*Z$878 G!UO<=Q4iq& delta 50 zcmdlWv_WV?J1ei5uA!l>k+Fh-k(H_OY(CAF G$^-y}%MbGa diff --git a/mayan/apps/django_gpg/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/django_gpg/locale/pl/LC_MESSAGES/django.mo index 8ebc1319ea92f9e245ba46acbb73d0edba837eca..d366f7b58e2c98ff081f1408db666ebc3c20ad18 100644 GIT binary patch delta 47 zcmX>ta$01=H&$MAT>}$cBSQs4BP%1L$;@mEd3+M{(n}N5Q>_#Vawacki{8x5?!XKH DUa<}` delta 47 zcmX>ta$01=H&$LVT|+}%BVz>vBP&zm$;@mECvRkn;_*q$OD|1KPqk7g$l1)r?#K)P DV)+h1 diff --git a/mayan/apps/django_gpg/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/django_gpg/locale/pt/LC_MESSAGES/django.mo index 29851cc43c847d2cb9603326b0b2a826132f1994..91a72cf948af5dc0809c8dcae9e0cb07ae7761e4 100644 GIT binary patch delta 47 zcmeAW>JZxSpM}?4*T6*A$WX!1$jZoQG7sxg9-qX#^wPxiR4avolF1ubqc=;ieP99r DN}vvl delta 46 zcmeAW>JZxSpM}><*U(Vc$XLO^$ja1sG7sz0$@^HNxP21y(n}N5Q>_#VHjA-+Vgdj_ CHV!2K diff --git a/mayan/apps/django_gpg/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/django_gpg/locale/pt_BR/LC_MESSAGES/django.mo index 05c09456f1dc5e7f4192a8f452601015773131c3..807c5affa884e6ccbc8e8901cdec9816fa6320e6 100644 GIT binary patch delta 50 zcmbQKFjHZ}Bu-v)T>}$cBSQs4BP%1L$@4i+^ZO*`rI#kAr&=i#l*Bs)P0r+s-h742 Gl@$PlJrC*t delta 50 zcmbQKFjHZ}Bu-v4T|+}%BVz>vBP&zm$@4i+Pp;yM;`d3+OD|1KPqk7gD2aCp+I*SI GjTHcfXAk@U diff --git a/mayan/apps/django_gpg/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/django_gpg/locale/ro_RO/LC_MESSAGES/django.mo index 4c3443d54b2a9365fac1f4cece36fc091f2daedb..46f21575475b18436fdcc84ca0464e921787c817 100644 GIT binary patch delta 50 zcmbOtG(~8`PZnNtT>}$cBSQs4BP%1L$!x3}__$=^5cX2CvRnq-mJj( Gg$V$Al@GH3 delta 50 zcmbOtG(~8`PZnM?T|+}%BVz>vBP&zm$!x3}CLd#s;`d3+OD|1KPqk7g%8w87-z?Ae Gl?ecX2M@&n diff --git a/mayan/apps/django_gpg/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/django_gpg/locale/ru/LC_MESSAGES/django.mo index bb93c5c08b3cd7f3a2937bfd705989c63982116b..eb306efeb6de3c1a889f757c4afa13e107704634 100644 GIT binary patch delta 47 zcmbQHHcf3q04J}xu7QcJk)eX2k(H6r7|M3sa6U_rIUYhMsH5!+R6a{ DMVt=W delta 47 zcmbQHHcf3q04J}RuA!l>k+Fh-k(H_O_$=N;fBPZQ}p{ DIZ+Mj diff --git a/mayan/apps/django_gpg/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/django_gpg/locale/sl_SI/LC_MESSAGES/django.mo index b95d50b1db4509f326d1e59984bc52d02598d85e..d7a3e036cd6690bdc1cd265a76b18b36928084cd 100644 GIT binary patch delta 47 zcmeyu@`Yu>WnOb#0~1{%Lj^-4Ds}pB<7`;CZ?xaDHP|#2YXJQ$QV8O4`T%Y DiTDug delta 47 zcmeyu@`Yu>WnME~LqlC7V+8{vD^uf%4>nC+#2CfzlbDxYnwXwyrBIv`AM82#H)ACL Djq(uw diff --git a/mayan/apps/django_gpg/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/django_gpg/locale/vi_VN/LC_MESSAGES/django.mo index 98e29e896c7f2b993c59e0eaa1d89b2911ecfbfc..6da29181897ad4939d2768609eb254a7436f9448 100644 GIT binary patch delta 50 zcmdlWut8wM5*A)_T>}$cBSQs4BP%1L$s1WV^ZO*`rI#kAr&=kLWyXj3O-^Qw-h7TV Gi3tFRkPry~ delta 50 zcmdlWut8wM5*A)FT|+}%BVz>vBP&zm$s1WVPcC7N;`d3+OD|1KPqk7g%Zv~6+kBQa GnF#=i-VhrA diff --git a/mayan/apps/django_gpg/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/django_gpg/locale/zh_CN/LC_MESSAGES/django.mo index fb3f37df1cef08b9236806739d6a468206b9f531..258b0e6d132efd71bc88ff54e2c09b97fc9d372e 100644 GIT binary patch delta 50 zcmeyy|BZjcUKU<+T>}$cBSQs4BP%1L$){M>^7|y_rI#kAr&=jgWyCxCO)g`N-u#eN GlnDT-B@l=J delta 50 zcmeyy|BZjcUKU<6T|+}%BVz>vBP&zm$){M>PHtz7;`d3+OD|1KPqk90%7}ON+x&o4 Gj0pg%;}Dtv diff --git a/mayan/apps/document_comments/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/document_comments/locale/ar/LC_MESSAGES/django.mo index b0a550b9352474d96a24039551d33b91ad60612a..d91b52755de2d8f7c338c74133c9c60affa75ebc 100644 GIT binary patch delta 47 zcmaFN{+NBkG)7)?T>}$cBSQs4BP%1L$%`2m^7tg?rI#kAr&=i_7EN|$ir&1M$$}98 DU|kNQ delta 47 zcmaFN{+NBkG)7)CT|+}%BVz>vBP&zm$%`2mP7Y*>;_*q$OD|1KPqk7=EZV$^$&wKO DU$qXh diff --git a/mayan/apps/document_comments/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/document_comments/locale/bg/LC_MESSAGES/django.mo index 64018411385737c1341685bda0ab5cfe72f6df2a..2a87296e2d53d3e19e5d224f5b419b4b26f5aa5b 100644 GIT binary patch delta 47 zcmaFH{)~OYG)7)?T>}$cBSQs4BP%1L$%`46@c1O=rI#kAr&=i_rB8Nair&1A$$}98 DVRsIw delta 47 zcmaFH{)~OYG)7)CT|+}%BVz>vBP&zm$%`46Ob%g+;_*q$OD|1KPqk7=O5ePe$&wKO DVIB^* diff --git a/mayan/apps/document_comments/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/document_comments/locale/bs_BA/LC_MESSAGES/django.mo index f0fbd24ea119e75fb4a7647fe15de44e155b3de5..df52d905a013a891ddbfcceb2db8f23f2ea6c880 100644 GIT binary patch delta 49 zcmdnTzK?ywG)7)?T>}$cBSQs4BP%1L$%`5H@%tp^rI#kAr&=i_6~{X{PEKHoo_w0= FGXQk$5HtV) delta 49 zcmdnTzK?ywG)7)CT|+}%BVz>vBP&zm$%`5HO)g}L;`d3+OD|1KPqk7=Dvoz@oP3Ju F3jlU?5Jmt1 diff --git a/mayan/apps/document_comments/locale/da/LC_MESSAGES/django.mo b/mayan/apps/document_comments/locale/da/LC_MESSAGES/django.mo index 578fd9045b321e182b7b582a271c772815907700..45a79edab02ad1c17d2660468e80b7cc90a63a2a 100644 GIT binary patch delta 46 zcmcb_c8P7nG)7)?T>}$cBSQs4BP%1L$%`2m^7tg?rI#kAr&=kbBu;i_ik`fhX*mE& C+z!70 delta 46 zcmcb_c8P7nG)7)CT|+}%BVz>vBP&zm$%`2mP7Y*>;_*q$OD|1KPqk7=Nu0cjX$1gE CT@KCw diff --git a/mayan/apps/document_comments/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/document_comments/locale/de_DE/LC_MESSAGES/django.mo index 85da4060f8e287df422a20ac4febf71e9b725de1..ecff9d6985f97727af97b503311354a9c8adfe9a 100644 GIT binary patch delta 50 zcmbQmJ&St-2Q#m^u7QcJk)eX2k(H6rWKre={62|!>7|M3sa6UpsqrqZldmvGZ?k+Fh-k(H_OWKre=lbk+Fh-k(H_O=19gqMgV9f2KoR1 diff --git a/mayan/apps/document_comments/locale/es/LC_MESSAGES/django.mo b/mayan/apps/document_comments/locale/es/LC_MESSAGES/django.mo index 37abc63a33bc2a72a2a3ad3c1643fca073f86031..a052241de3036f3892c5fd441f36a260d9caf10a 100644 GIT binary patch delta 47 zcmbQoJ&$_>2Q#m^u7QcJk)eX2k(H6rWKrftJU)qe>7|M3sa6W9#gn%&M{ky6X2Q#mkuA!l>k+Fh-k(H_OWKrftlaDY*@%SX>rI#kAr&=kb7H^hiX=DTd DE5{8_ diff --git a/mayan/apps/document_comments/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/document_comments/locale/fa/LC_MESSAGES/django.mo index 08241c25486a5c423d6f2aedc12a2d5900141513..8eb04c0f3cff0877caa6f437d346cbd597550fcb 100644 GIT binary patch delta 47 zcmbQsIhS*T2NSQku7QcJk)eX2k(H6r7|M3sa6VUiIcxEMQ@H{wr2zY DH`xv3 delta 47 zcmbQsIhS*T2NSQEuA!l>k+Fh-k(H_O_%z5;w;(J1_zO DD~t^E diff --git a/mayan/apps/document_comments/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/document_comments/locale/fr/LC_MESSAGES/django.mo index d741a32707a456641be412af7b8766340560fd6e..817c5c29e23269d59de4e366aadbe5885e124d60 100644 GIT binary patch delta 47 zcmeyt{eyc02Q#m^u7QcJk)eX2k(H6rWKrfLJU)qe>7|M3sa6VUMU!tZM{jmu*}(_^ DOb!l` delta 47 zcmeyt{eyc02Q#mkuA!l>k+Fh-k(H_OWKrfLlbrI#kAr&=kb6>YX>*~th1 DQt%F; diff --git a/mayan/apps/document_comments/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/document_comments/locale/hu/LC_MESSAGES/django.mo index c7ea56a6c9b7caf0320f18126605ffba9aa98cfe..b9bd3626cdfe1419b753d2de4b4932d67d56c23b 100644 GIT binary patch delta 46 zcmcc4cAafQB_pr7u7QcJk)eX2k(H6r7|M3sa6UZrIR(8q9;#eItBnm CdJdHU delta 46 zcmcc4cAafQB_pqyuA!l>k+Fh-k(H_O_#-N+(ZXIt~Cs CNe-j{ diff --git a/mayan/apps/document_comments/locale/id/LC_MESSAGES/django.mo b/mayan/apps/document_comments/locale/id/LC_MESSAGES/django.mo index 55189323d8516f3ec28e5e9b90d64572e732ba1f..829aaa087444754d86d9b67bd4391a18e65a0c00 100644 GIT binary patch delta 46 zcmX@Xc7km~B_pr7u7QcJk)eX2k(H6r7|M3sa6V^DU-FBq9;#c+6DkW CwGLVU delta 46 zcmX@Xc7km~B_pqyuA!l>k+Fh-k(H_O_#-QzlPj+719c C(GF<< diff --git a/mayan/apps/document_comments/locale/it/LC_MESSAGES/django.mo b/mayan/apps/document_comments/locale/it/LC_MESSAGES/django.mo index f14546d0d4bbd7e1f774bd5dfec5dd8dda5b57de..a15d50a0250cb39f46ca550f047e1f215f8c663b 100644 GIT binary patch delta 47 zcmbQwJ)e662Q#m^u7QcJk)eX2k(H6rWKrh*JU)qe>7|M3sa6V^C6g~RM{l-fNnr#4 DD)0@0 delta 45 zcmbQwJ)e662Q#mkuA!l>k+Fh-k(H_OWKrh*lOHliarq?XrI#kAr&=j&wqQwT1OOEX B46*7|M3sa6VkIq`lzlS7!JH}7ZG GWds0`HV@AL delta 50 zcmaFE`G#{t6%((SuA!l>k+Fh-k(H_O_&8a^n4bHt%EB GV*~(^un*w? diff --git a/mayan/apps/document_comments/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/document_comments/locale/pl/LC_MESSAGES/django.mo index 8b127d81dd3fae0794f867ac487ba5dc3b07525d..55912c647d447655fbae524750b9414076d229be 100644 GIT binary patch delta 47 zcmey${grzI2Q#m^u7QcJk)eX2k(H6rWKre=JU)qe>7|M3sa6UFIg_t2M{l-a*~th1 DN}>*h delta 47 zcmey${grzI2Q#mkuA!l>k+Fh-k(H_OWKre=lOHih@%SX>rI#kAr&=i#7|M3sa6UFC6nWrq9-3?IsyPX CVGh** delta 45 zcmeBT?_%GumXX&?*U(Vc$XLO^$ja1s@-D`ulXIA&xP21y(n}N5Q>_#VCLdus1^_G` B4sQSe diff --git a/mayan/apps/document_comments/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/document_comments/locale/pt_BR/LC_MESSAGES/django.mo index f5d30f8963db9a204b24a07e3ee653ad5b739195..a88989010156d5fa4d8af14503fb563dae125ef8 100644 GIT binary patch delta 50 zcmcb}eUW7|M3sa6UFCGk!{lkYP}Z}wto GX9NIhjt?yW delta 50 zcmcb}eUWk+Fh-k(H_OWKrhRlRq#=@%tp^rI#kAr&=i#l*Bs)ZT4j8 GU<3ejs1H8? diff --git a/mayan/apps/document_comments/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/document_comments/locale/ro_RO/LC_MESSAGES/django.mo index b00cd1e8b82505d3c8ba9ac49c85dfab69a0df90..732228d25313a90bcea2574c05ebe05c16b4ffdc 100644 GIT binary patch delta 49 zcmdnVzLR~!T1H-TT>}$cBSQs4BP%1L$-5Xg@cSg@rI#kAr&=i#<;Ms4PtIhDo_vMr FDFAvJ5O@Fp delta 49 zcmdnVzLR~!T1H+oT|+}%BVz>vBP&zm$-5XgOs-;z;`d3+OD|1KPqk7g%8w87pM06= F8322V5Q+c* diff --git a/mayan/apps/document_comments/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/document_comments/locale/ru/LC_MESSAGES/django.mo index b7711739079d0290be88b9cdb78a30847a77e410..bbbbe8a7f32444bf29a716bd89f9f651da66016e 100644 GIT binary patch delta 47 zcmcb>cY$vM2Q#m^u7QcJk)eX2k(H6rWKrh1JU)qe>7|M3sa6U_rIR-@M{ky7F=qw< DISCD8 delta 47 zcmcb>cY$vM2Q#mkuA!l>k+Fh-k(H_OWKrh1llL=6@%SX>rI#kAr&=i#m2Q?`v0w%O DJ+uvS diff --git a/mayan/apps/document_comments/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/document_comments/locale/sl_SI/LC_MESSAGES/django.mo index 32a7002e5bb03a1f3fbcfce924080397c8fd0576..24194339b43bea5b525486d644e3cb02b567c324 100644 GIT binary patch delta 276 zcmcb^_K&Upo)F7a1|Z-7Vi_Qg0b*_-o&&@nZ~};>f%qg4vjg!{AO@*@3&g@e{0)ft zftZUCA}$4_d4YUoAbkah4S^VBE*mpMUKvPp0r@&WTAYEwj=>zr02$;DRges%1%dn= zAPv+D1}s356^Pk@7-Tt63JlmMu8rkz$xklLP0cHr%*hzdYp!cxqHAQRU}$7zWHh;u rQ5q^@tYBznWn#Q}CgVm%X_x$LunvZR{PdjEEQRcRkp9G?tW*X7WuGO| delta 242 zcmeyzc89J0o)F7a1|VPuVi_O~0b*_-?g3&D*a5`SK)e%(L29l7F$WOe1!7?!eg?$+ zK>Q1cd4ZUVk%8d~5K90t$h@~q5cOQlKsg{^7)Xl)X*nPb)UU^224n~V1-yVXP!AZe z07+ILW&>i7r9deNn7B7~vNB^7ubHl)p{|j!f`O5hsqy44Mrojkfw8WUp@Na2m4W5v bO^h2Eg#z-^b5gSuvh#CO^GXtnvQilUJP041 diff --git a/mayan/apps/document_comments/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/document_comments/locale/sl_SI/LC_MESSAGES/django.po index 1862e42eba..7aba9abe9e 100644 --- a/mayan/apps/document_comments/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/document_comments/locale/sl_SI/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,18 +9,17 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:09+0000\n" +"PO-Revision-Date: 2017-04-23 16:43+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" -"edms/language/sl_SI/)\n" -"Language: sl_SI\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" +"Language: sl_SI\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: apps.py:26 +#| msgid "Delete comments" msgid "Document comments" msgstr "" @@ -42,10 +41,12 @@ msgid "Comments" msgstr "Komentarji" #: events.py:9 +#| msgid "Delete comments" msgid "Document comment created" msgstr "" #: events.py:13 +#| msgid "Delete comments" msgid "Document comment deleted" msgstr "" @@ -59,7 +60,7 @@ msgstr "" #: models.py:23 msgid "Document" -msgstr "" +msgstr "Dokument" #: models.py:33 msgid "Date time submitted" @@ -84,6 +85,7 @@ msgstr "Dodaj komentar datotekei: %s" #: views.py:79 #, python-format +#| msgid "Delete comments" msgid "Delete comment: %s?" msgstr "" diff --git a/mayan/apps/document_comments/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/document_comments/locale/vi_VN/LC_MESSAGES/django.mo index 8d4550d6def1d8eb892ab166ae0d16129c3e9914..bedac7142d2c6770ad5bcc20ea5a38b5fe7794fa 100644 GIT binary patch delta 49 zcmey!_K|JFG)7)?T>}$cBSQs4BP%1L$%`2`^ZO*`rI#kAr&=kLWyXj3O%7#>o_v65 FBLIiB5MTfR delta 49 zcmey!_K|JFG)7)CT|+}%BVz>vBP&zm$%`2`PflZs;`d3+OD|1KPqk7g%Zv~6o4lWC F699+d5OM$j diff --git a/mayan/apps/document_comments/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/document_comments/locale/zh_CN/LC_MESSAGES/django.mo index a59929dd9a33d673c2175365ce2835853ed7cac4..6da546c7a834c4c6f61e13133411bc3fb7b69668 100644 GIT binary patch delta 49 zcmdnXwwG}$cBSQs4BP%1L$%`4+^7|y_rI#kAr&=jgWyCxCP4;Jsp1g~x F831yh52yeD delta 49 zcmdnXwwGvBP&zm$%`4+PEKHo;`d3+OD|1KPqk90%7}ONo4k{$ F1psoZ54r#V diff --git a/mayan/apps/document_indexing/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/document_indexing/locale/ar/LC_MESSAGES/django.mo index ee0bee68944ea82f04630cfe105619f0100081b1..ad9bb473b623769814ca19e9cff81f5ae0a26e7b 100644 GIT binary patch delta 47 zcmeyx|BHWvIt#D4u7QcJk)eX2k(H6rWD}N!JU)qe>7|M3sa6V!MU$_vL~piX-Nys~ DQx^`m delta 47 zcmeyx|BHWvIt#CvuA!l>k+Fh-k(H_OWD}N!lOM4}@%SX>rI#kAr&=i_7Hzg>-OmI7 DS>_JL diff --git a/mayan/apps/document_indexing/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/document_indexing/locale/bg/LC_MESSAGES/django.mo index 82a948632ab239d407fef580d478cd3b3f0e53bc..b754d73776fa03e557fff35c857209ccedd75155 100644 GIT binary patch delta 47 zcmX@leV%(mG!w76u7QcJk)eX2k(H6r7|M3sa6U}>65vcqc;~b$1ni^ DNcs)G delta 47 zcmX@leV%(mG!w6xuA!l>k+Fh-k(H_Os>czhD`(n}N5Q>_$|(l-||$1(u` DMXwFc diff --git a/mayan/apps/document_indexing/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/document_indexing/locale/bs_BA/LC_MESSAGES/django.mo index 04b1e5f48383cb37f0caf0d031292d260cbd23f4..143ee3e63ef6c6e76d13dad7dcd9a3d463bf3ade 100644 GIT binary patch delta 50 zcmdlYuti{lIt#D4u7QcJk)eX2k(H6rWD}Ns{62|!>7|M3sa6U}#qmy#lRvUVZ;oNT G!2|$lDi4SN delta 50 zcmdlYuti{lIt#CvuA!l>k+Fh-k(H_OWD}NslbKkf__$|isPLeH%GJH GWC8$O3l5tA diff --git a/mayan/apps/document_indexing/locale/da/LC_MESSAGES/django.mo b/mayan/apps/document_indexing/locale/da/LC_MESSAGES/django.mo index 1aff61ff6c8b2c5765a1d4b4eb8aabc281f3f222..b231a91775c98c80d7215ff5696f809a2a8495f6 100644 GIT binary patch delta 46 zcmcc4dYyHH2_vt$u7QcJk)eX2k(H6rWJkt@JU)qe>7|M3sa6UpiIX2PMo;!+>H`2a CaSkN_ delta 46 zcmcc4dYyHH2_vtWuA!l>k+Fh-k(H_OWJkt@lixE&@%SX>rI#kAr&=kbBu@5V>IVQl C>kc#k diff --git a/mayan/apps/document_indexing/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/document_indexing/locale/de_DE/LC_MESSAGES/django.mo index ace206a5cac86632fa75be24af9d56bfc83a5209..9fbeadd8dfc3367ba9a71fb4661e08b0929d3168 100644 GIT binary patch delta 50 zcmX@Caad!+U2a};T>}$cBSQs4BP%1L$*;KA@%tp^rI#kAr&=kbq{h3rPM*#ay_t#E GksSc0vJeCS delta 50 zcmX@Caad!+U2a}8T|+}%BVz>vBP&zm$*;KAOk+Fh-k(H_O=5A&SW&mdc2G#%o diff --git a/mayan/apps/document_indexing/locale/es/LC_MESSAGES/django.mo b/mayan/apps/document_indexing/locale/es/LC_MESSAGES/django.mo index 75df19f1e7d7162fa8cc4f00dc165a53b62cdc24..e6c5f7e3763fc99f331327b5abce7729a2dd4d9c 100644 GIT binary patch delta 47 zcmeyS@l9hx12?a^u7QcJk)eX2k(H6r7|M3sa6W9#gp}TqBl?DdB6?; DaGnp5 delta 47 zcmeyS@l9hx12?akuA!l>k+Fh-k(H_O_$Ii#Jc@dB_d` DZ&MGT diff --git a/mayan/apps/document_indexing/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/document_indexing/locale/fa/LC_MESSAGES/django.mo index 7b6a192551409473c5a57b47194679eac3c97323..030d38dfaac3078f39ff49150756d5d4e8d05f2a 100644 GIT binary patch delta 47 zcmZouXj9k_z`<*-Yha>lWT;?hWMyPDIhJD)k56J=dTC;Ms+B@o;^coE(VNpa7q9^U DJgg3a delta 47 zcmZouXj9k_z`<*#YiOuzWUOFdWMyhRIhJG5WFF2a9-qX#^wPxiR4awF#LcOk3)uiM C6%CRA diff --git a/mayan/apps/document_indexing/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/document_indexing/locale/fr/LC_MESSAGES/django.mo index fbfe04634f66d42d4b0142c0087dfce90f6bd32c..e66b145ea70817c9200721897804f31a2cd9b4da 100644 GIT binary patch delta 47 zcmdm@wMA>gU2a};T>}$cBSQs4BP%1L$*;H<^7tg?rI#kAr&=kb6;1BqiQfE)$B6>~ Dbnp-5 delta 47 zcmdm@wMA>gU2a}8T|+}%BVz>vBP&zm$*;H7|M3sa6UZrIVj9Mo;!(>IMKe Cst!W{ delta 46 zcmcc4dYyHH2_vtWuA!l>k+Fh-k(H_OWJks&lRq&=@%SX>rI#kAr&=jwluq_$>Hz>g C>kd)? diff --git a/mayan/apps/document_indexing/locale/id/LC_MESSAGES/django.mo b/mayan/apps/document_indexing/locale/id/LC_MESSAGES/django.mo index 707653be22bfe2a768bf6b0f76708e1342b66b9d..7dd4fa7e6914e5afcc03027e7c3ded201ae2e0c9 100644 GIT binary patch delta 46 zcmX@bdWv;}I3usQu7QcJk)eX2k(H6rWEIAxJU)qe>7|M3sa6V^DU(kyMo%_ingswV CISsb} delta 46 zcmX@bdWv;}I3ur_uA!l>k+Fh-k(H_OWEIAxldmyG@%SX>rI#kAr&=jwrcBmnnhgLj CP7THY diff --git a/mayan/apps/document_indexing/locale/it/LC_MESSAGES/django.mo b/mayan/apps/document_indexing/locale/it/LC_MESSAGES/django.mo index c236cbf878d0f08415a85c7608411a53e12237f5..e2f3662228bfe565d333c46dae89ead006cd6767 100644 GIT binary patch delta 47 zcmaE-`A&1gU2a};T>}$cBSQs4BP%1L$*;Kg^Y|p@rI#kAr&=jwmP}s36TMl0_Z~X{ DiuVvw delta 45 zcmaE-`A&1gU2a}8T|+}%BVz>vBP&zm$*;KgPu|88#pRQjmtLBfo@%AAnV0t=I{7|M3sa6VkIq`lzleO5RH&12v GVg>+&N)J>3 delta 50 zcmcaFdS7%y02{BFuA!l>k+Fh-k(H_O_&8a^n4bHcw&q GW(EL)WDjNl diff --git a/mayan/apps/document_indexing/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/document_indexing/locale/pl/LC_MESSAGES/django.mo index bc6e72ca8114e946d91f70b543d9e5b5777da99b..48523a50049016386c52669824c7c102d9f1a90c 100644 GIT binary patch delta 47 zcmaDV{#1O!d^TQlT>}$cBSQs4BP%1L$!pja^7tg?rI#kAr&=i#vBP&zm$!pjaPL5)a;_*q$OD|1KPqk7g$l1J^-G~JM DYda4U diff --git a/mayan/apps/document_indexing/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/document_indexing/locale/pt/LC_MESSAGES/django.mo index efc7a19a4dbe409bb66af3e73c7598193e6416d9..97f7e54a39f559f4773498776314f9bc68cca05a 100644 GIT binary patch delta 47 zcmaDM@IqiiJqxe7u7QcJk)eX2k(H6r7|M3sa6UFC6f(Uqc_iBy}$$j DVUZ6d delta 46 zcmaDM@IqiiJqxdyuA!l>k+Fh-k(H_O_#VHcw-{!~_6P CY!1Hw diff --git a/mayan/apps/document_indexing/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/document_indexing/locale/pt_BR/LC_MESSAGES/django.mo index a2d7540553aa9fba30def76abc1c067c6baf0083..fb4a94b7f9cfc250d0a44ec63a447e5a6b79e6e1 100644 GIT binary patch delta 50 zcmZqDYSP+pmz&pI*T6*A$WX!1$jZoQ@+7|M3sa6UFCGk!{leh3hZ7|M3sa6U_`SC&ilhs(GH&0~M GW(ELxTMqjG delta 50 zcmdlZxJPh977MSLuA!l>k+Fh-k(H_O_$=^5cX2H&0;I GVFmzp-46`_ diff --git a/mayan/apps/document_indexing/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/document_indexing/locale/ru/LC_MESSAGES/django.mo index feeb6d23e4779285b0e6635333a70e671aa747ee..b6dba86a58abfa7ad21dd7ab6b53a50e1a8c09c9 100644 GIT binary patch delta 47 zcmew+|4n{_96PVMu7QcJk)eX2k(H6rWNr3EJU)qe>7|M3sa6U_rIXLFM{hRaIK&PB DR%#B{ delta 47 zcmew+|4n{_96PU>uA!l>k+Fh-k(H_OWNr3ElW(y{@%SX>rI#kAr&=i#m2NiXILru7QcJk)eX2k(H6r7|M3sa6WbIq|`slO>pk+Fh-k(H_O_$=bK-+NCpR%& F1OR2D4_W{K diff --git a/mayan/apps/document_indexing/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/document_indexing/locale/vi_VN/LC_MESSAGES/django.mo index 3b12687e1b8ca5e1d91f8287aa8479848ec7af7c..46cd0818987b371cbd9127b8fe089fd8cdc8b6f7 100644 GIT binary patch delta 49 zcmbQoI*)aO93!u}u7QcJk)eX2k(H6rWNpUH{62|!>7|M3sa6VQnekzMlkYM{PxfF6 F0{}?g4txLr delta 49 zcmbQoI*)aO93!upuA!l>k+Fh-k(H_OWNpUHlix8$@%tp^rI#kAr&=kLWyXj3O?GDr F2LMre4vqi- diff --git a/mayan/apps/document_indexing/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/document_indexing/locale/zh_CN/LC_MESSAGES/django.mo index 49ce22f6f917dd5e8aa685aab6130740ac107583..9c8f71c3261777053eacb109c9af28cf4b61f341 100644 GIT binary patch delta 50 zcmey*`=58iFJ@kIT>}$cBSQs4BP%1L$?Pm^`F#@e(n}N5Q>_%LGUA>6CU0hm-Ym!Z GkP!f(d=OIr delta 50 zcmey*`=58iFJ@jdT|+}%BVz>vBP&zm$?Pm^Cm&&n;`d3+OD|1KPqk90%7}ON+bqla Gh!Fs%`VeIR diff --git a/mayan/apps/document_signatures/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/document_signatures/locale/ar/LC_MESSAGES/django.mo index 1b1733fe7b7c163de5efdd29e34db7685fd2e12f..12fe9771d993a30571cdfa543248144457dd3b2e 100644 GIT binary patch delta 47 zcmZ3=v6N%OJw{%0T>}$cBSQs4BP%1L$*&m~^7tg?rI#kAr&=i_7ESJEir)O0$%qjE DV4Dv^ delta 47 zcmZ3=v6N%OJw{$LT|+}%BVz>vBP&zm$*&m~PM*mW#p9EhmtLBfo@%9#ShV>QlQAOz DW1A0B diff --git a/mayan/apps/document_signatures/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/document_signatures/locale/bg/LC_MESSAGES/django.mo index a3d59316ccfa130e1be0fd56603e7ac9eb228d82..092e191cf8fb574bb5e3333c76b5f83126ad5966 100644 GIT binary patch delta 47 zcmZ3^wVZ2%2@|imu7QcJk)eX2k(H6rWJjhYJU)qe>7|M3sa6U}>64!@MQ`?DzRd^# DH!TiM delta 47 zcmZ3^wVZ2%2@|iGuA!l>k+Fh-k(H_OWJjhYlRq&<@%SX>rI#kAr&=i_rEm6TzQYIr DKH3gl diff --git a/mayan/apps/document_signatures/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/document_signatures/locale/bs_BA/LC_MESSAGES/django.mo index 270f10e31db7a438462f54233d51a17da48f34f5..67eeb76b80a420368a4f112a03368b721f76f528 100644 GIT binary patch delta 50 zcmdnVv6ExNJw{%0T>}$cBSQs4BP%1L$*&pr@%tp^rI#kAr&=i_6~{X{PF}$jy;+!9 GjS&Eri4UOw delta 50 zcmdnVv6ExNJw{$LT|+}%BVz>vBP&zm$*&prP2R~A#qX1tmtLBfo@%9#R2=W*xLJr< Goe=<>qYtwH diff --git a/mayan/apps/document_signatures/locale/da/LC_MESSAGES/django.mo b/mayan/apps/document_signatures/locale/da/LC_MESSAGES/django.mo index 9a860e19625770c944f86d8ff67fff5cf9c9896c..63631bb5e8e714f8aac203e25dbc1ab84c7df9b3 100644 GIT binary patch delta 46 zcmaFM`j&M=AS182u7QcJk)eX2k(H6r7|M3sa6UpiIe{^Mo&&-Y6k#D Cr4GIT delta 46 zcmaFM`j&M=AS17tuA!l>k+Fh-k(H_O_$I5+|oJbpQZ6 Cs}0To diff --git a/mayan/apps/document_signatures/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/document_signatures/locale/de_DE/LC_MESSAGES/django.mo index 4eb6b4ed82cecc93172447d6268562f94194e7b8..9201966fb4d6e8d4777e761851483763c2e1d080 100644 GIT binary patch delta 50 zcmbQLK2?3ge=c5gT>}$cBSQs4BP%1L$voW0`F#@e(n}N5Q>_$IQsZ4*Ctu=@-fYVg G!43e2t`Cg> delta 50 zcmbQLK2?3ge=c4#T|+}%BVz>vBP&zm$voW0CqL$n;`d3+OD|1KPqk7=NsV`L-E6}X G$qoRK5D%XK diff --git a/mayan/apps/document_signatures/locale/en/LC_MESSAGES/django.mo b/mayan/apps/document_signatures/locale/en/LC_MESSAGES/django.mo index 76295457a52435d38dc7a5edb2d43e5da94e855f..cef9d66fadc86f1b06438037f4a414cea4ddf964 100644 GIT binary patch delta 25 gcmey%@|R`8Z(eg<0~1{%Lj^-4D}$cBSQs4BP%1L$voVPczhD`(n}N5Q>_$Iizlz;j@~TF6U_zy Db_5Rb delta 47 zcmeyM@vBP&zm$voVPChz8s;_*q$OD|1KPqk7=E#54`6T=1o Ddmj$~ diff --git a/mayan/apps/document_signatures/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/document_signatures/locale/fa/LC_MESSAGES/django.mo index 5339cabc6033709c6d3bde98217906ffca61bbb4..412b9d44f42267b6233ffa1bc659a3faee14dc73 100644 GIT binary patch delta 47 zcmcb^bBAX`G&8Tcu7QcJk)eX2k(H6r7|M3sa6VUiIX{5qBj?^yk-Od DPZADg delta 47 zcmcb^bBAX`G&8T6uA!l>k+Fh-k(H_O_%z5;qsHykP_Y DOTrFx diff --git a/mayan/apps/document_signatures/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/document_signatures/locale/fr/LC_MESSAGES/django.mo index d78dac99aa3b4d7a61ebe2a71db5dcbd282b22af..9fcd59dc04f051bfedbfb496427206c7d14dab0c 100644 GIT binary patch delta 47 zcmZ3azDRw;e=c5gT>}$cBSQs4BP%1L$voWqd3+M{(n}N5Q>_%ziYA}pj^1pvBP&zm$voWqC*RD diff --git a/mayan/apps/document_signatures/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/document_signatures/locale/hu/LC_MESSAGES/django.mo index 41a1aa6146933863b45868edaa5dd352796c0df3..b4d895bdd5d561240bbfb1e1dd96ff40cc9a8fe0 100644 GIT binary patch delta 46 zcmX@fdXja64kNF*u7QcJk)eX2k(H6rWJ|^+JU)qe>7|M3sa6UZrIYV4Mo)HOY6So= CU=9HQ delta 46 zcmX@fdXja64kNFbuA!l>k+Fh-k(H_OWJ|^+lV34L@%SX>rI#kAr&=jwlumYLY6Ac_ CISvp2 diff --git a/mayan/apps/document_signatures/locale/id/LC_MESSAGES/django.mo b/mayan/apps/document_signatures/locale/id/LC_MESSAGES/django.mo index 3667e8c27963e5b2890f0a1dcf1eb8155b42ee0e..ecd01dce52780870bf55d406719fa5af2adf5982 100644 GIT binary patch delta 46 zcmdnNx`TBCKO?WXu7QcJk)eX2k(H6rWEsY#JU)qe>7|M3sa6V^DU%N{Mo-pYng9SH CgAHi_ delta 46 zcmdnNx`TBCKO?W1uA!l>k+Fh-k(H_OWEsY#lg}|m@%SX>rI#kAr&=jwrc736ng{?V CFb#MB diff --git a/mayan/apps/document_signatures/locale/it/LC_MESSAGES/django.mo b/mayan/apps/document_signatures/locale/it/LC_MESSAGES/django.mo index 58b430eeda592b7075f146e45212a62acf4ac29a..551e05c4c62a8d911a1f0e92ec4803e88ab381c7 100644 GIT binary patch delta 47 zcmaE<@=|5Pe=c5gT>}$cBSQs4BP%1L$voWqd3+M{(n}N5Q>_#-OD3PvBP&zm$voWqC*R7|M3sa6VkIq`lzli#vLZ;oI+ G&jk+Fh-k(H_OWCfOUlmD?q@%tp^rI#kAr&=lG<;45>Yz}9= Gzz6_pau03* diff --git a/mayan/apps/document_signatures/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/document_signatures/locale/pl/LC_MESSAGES/django.mo index 9097a5b7f7f6af792ebcc3587fcfcfba97b4b7f7..d819f89d0bb3a3314056308e05b4556cc214e369 100644 GIT binary patch delta 47 zcmaFI@s4AIH50G7u7QcJk)eX2k(H6rWDll=JU)qe>7|M3sa6UFIg?*7MQ;vZmSY3} DQ4bD5 delta 47 zcmaFI@s4AIH50FyuA!l>k+Fh-k(H_OWDll=lfN-V@%SX>rI#kAr&=i#7EJU)qe>7|M3sa6UFC6g~QMQ^rbW@7{Z DID!px delta 46 zcmdnbv7cju0u!&9uA!l>k+Fh-k(H_OWL>7ElkYP{ar-3ZrI#kAr&=i#Y&K`+U<3d! C=?x74 diff --git a/mayan/apps/document_signatures/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/document_signatures/locale/pt_BR/LC_MESSAGES/django.mo index 87da528bb53e1583c113c27b2b013d18f90f2074..1a177b32065968f45087e214134a7a2f7393b020 100644 GIT binary patch delta 50 zcmX@6c1&%}$cBSQs4BP%1L$voVr`F#@e(n}N5Q>_#VO5&Y@CST)@-t5T3 G$_@aV*$>PB delta 50 zcmX@6c1&%vBP&zm$voVrCqL(o;`d3+OD|1KPqk7gD2aCp+U&r? G#ts0a;}6~d diff --git a/mayan/apps/document_signatures/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/document_signatures/locale/ro_RO/LC_MESSAGES/django.mo index 97d263275eb895fb88c84b202595c51e5007efe1..13dbeaf3a2b85bd59844d18af81ff4132f9d4c3b 100644 GIT binary patch delta 50 zcmbQuIh%8XH50G7u7QcJk)eX2k(H6rWDlkd{62|!>7|M3sa6U_`SC&ilfN@XZ%$&i GWCQ?Vj}Gtv delta 50 zcmbQuIh%8XH50FyuA!l>k+Fh-k(H_OWDlkdlR229__$=^5cX2HzzV% GF#-To2o3`P diff --git a/mayan/apps/document_signatures/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/document_signatures/locale/ru/LC_MESSAGES/django.mo index f66faf89e34a70c20fab29cdfec4aedfa65fa2c3..b7ecd279f04f6dcae047a655350a8fd9acd823e9 100644 GIT binary patch delta 47 zcmaE*_eyWWe=c5gT>}$cBSQs4BP%1L$voV1d3+M{(n}N5Q>_$=N++-2j@~T56U7Yx DcUKPm delta 47 zcmaE*_eyWWe=c4#T|+}%BVz>vBP&zm$voV1CvW49;_*q$OD|1KPqk7gD&5S_6U_|( Dd-V?t diff --git a/mayan/apps/document_signatures/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/document_signatures/locale/sl_SI/LC_MESSAGES/django.mo index 89a180821a31b1ef602094cade3f9b0a13d75a95..e3cc8cb43d31e28b693f9fb4833351252aa34f5b 100644 GIT binary patch delta 49 zcmbQiHiK=04kNF*u7QcJk)eX2k(H6rWJ|_P{62|!>7|M3sa6WbIq|`slV34LPYz`| F3;;`J4-5bR delta 49 zcmbQiHiK=04kNFbuA!l>k+Fh-k(H_OWJ|_PlYcWt@%tp^rI#kAr&=i#=fnqlP7Yx@ F0svI<4;}yj diff --git a/mayan/apps/document_signatures/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/document_signatures/locale/vi_VN/LC_MESSAGES/django.mo index 47fe2505cbcb1b289cc7651e07c5f89d755bb1ee..7496a8cd1f95efa9f5534a298bfb4e9dc8938a6e 100644 GIT binary patch delta 49 zcmZ3&wuEg%4kNF*u7QcJk)eX2k(H6r7|M3sa6VQnekzMleL+mCr@MQ F0{~rU4*LKA delta 49 zcmZ3&wuEg%4kNFbuA!l>k+Fh-k(H_O_%rGULPiCQoJR F2LM|14-EhS diff --git a/mayan/apps/document_signatures/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/document_signatures/locale/zh_CN/LC_MESSAGES/django.mo index 89fda776a719efa5a1a0f5fd1b7fc07cff922cc5..8286755e486ba67ed0d49f0a3489b293bfd08d75 100644 GIT binary patch delta 49 zcmeyt{)2skBonW>u7QcJk)eX2k(H6rWHqL>{62|!>7|M3sa6VA8S&13lP@tvPqt;= F4FG8m4`%=X delta 49 zcmeyt{)2skBonWhuA!l>k+Fh-k(H_OWHqL>lOHoh@%tp^rI#kAr&=jgWyCxCO}1g) F0|0SL4|xCp diff --git a/mayan/apps/document_states/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/document_states/locale/ar/LC_MESSAGES/django.mo index a3be1e0026c0509006c65b62529db3e9946340d4..0eacecbc8a113c93eb2e9b4e2263c8b01e93ab92 100644 GIT binary patch delta 44 rcmaFJ`jB;lFe9(Iu7QcJk)eX2k(H6rWCccPgov4yk=bSs#+i%&?z9RD delta 44 ycmaFJ`jB;lFe9&-uA!l>k+Fh-k(H_OWCccPpooF7u92aFk)f4==3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:41 msgid "Document states" diff --git a/mayan/apps/document_states/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/document_states/locale/bg/LC_MESSAGES/django.mo index 40738808352c263f53226dbd0da062f919e7e90f..c8fb7b91e9fde8d9682609f00e8bb2d75469c579 100644 GIT binary patch delta 44 rcmZ3-x{h^&Fe9(Iu7QcJk)eX2k(H6rWCccPgov4yk=bSs#xzC%-7E=l delta 44 ycmZ3-x{h^&Fe9&-uA!l>k+Fh-k(H_OWCccPpooF7u92aFk)f4=k+Fh-k(H_OWCccPpooF7u92aFk)f4==2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:41 msgid "Document states" diff --git a/mayan/apps/document_states/locale/da/LC_MESSAGES/django.mo b/mayan/apps/document_states/locale/da/LC_MESSAGES/django.mo index 23a6ef5dca858684c7cad67d0aa9e3c4a8c5249b..98c4631d29122a1e38bbf6da21f2a752849bc022 100644 GIT binary patch delta 42 pcmZ3^vYchYd0ul}0~1{%Lj^-4D!XKn^_o@83Fd}3N8Qu delta 42 wcmZ3^vYchYd0sPJLqlC7V+8{vD^uf%ccg&=2FAKZh6+Z8RtA=vSs0ZW0rtoWD*ylh diff --git a/mayan/apps/document_states/locale/da/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/da/LC_MESSAGES/django.po index 848ec66a5d..7b864fa58b 100644 --- a/mayan/apps/document_states/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/da/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:09+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" -"da/)\n" -"Language: da\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:41 diff --git a/mayan/apps/document_states/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/document_states/locale/de_DE/LC_MESSAGES/django.mo index cfa420bae5078642e0be813e1734a36929765dad..87c0b4ce4a8cd3b5cf847c9fbfb4231d7f84af55 100644 GIT binary patch delta 1363 zcmXxkOGs2v9LMpaj?dK6Cbi7GKFU|4&Zt>aPzGU$DMTOzQ5PA<$2bEs<`7J{Dkxh- zDlQ6gCqxi9gtm>0h!6y$78xjRYSW?zZGyf(y&e3|=iD>rp2z>p@q;x}G4Z9)HDf3z ziG#$?6k~eveHtH>taM{aFdH+m5_7N~bFmE%;aMy|8>=veyKxrx;5_ExlH(i9GG@Z8 zQOV$obyUYK)Ih(S_DsICc+N*n)P%ffdQcPeVLk@27RT{0KEXm<#&Z0GF8qV){}*pD zzsY4=+Sxrmw8Dp|19x!>H%msEpl5y+4b) z@EMjezgeQvfNQ9MP4>_9>EgS#HUg17g7BOQ18c48@Yqpz$B{w zG%6GGsLU+nlK)C7FKMX3&!`t%oP#>#p?2iPI;=(y_Mj$C;C_678u%${$1gB}?~qe5 zovezg>2@bqPSj4Xp!!8nM|l%DTGK?R zpNhsiHno~oT&H`X%c%>k*|b$%eBCSMQTOCH(J)ous>(Y`O+}eKG1cKJo$zfx^H0E0 zXQC^j6=-`pL#4Bss3yEbEm2RX=qyzHJD4`~5K37Kp)*p^ue_D82>l;wCny=)zrM!g zhU;UhyW74I?jN-5P{@i$q9X&LNIaHY%)FeM*Y0U<_4vG&*XQ^7rpj_k&+oLfTD}&) zx22((lGAO+#yppzb~qNY$0AX`)fI@@!?ty9JP-{Hg@e|q;eb;;6CAaNLXG{A(PScL bE3K#_6be{<|L3$~V|H{b5Kdmp|DEy=GTe{{ delta 1340 zcmXZcO-PhM9LModH?2*rthBWBG1J_(N1t8aaw!Q3Bq+@i@)Eelx=Oylt|>^h6oeF! zf=F~KJ6VT1EQLYcJXFvjC@v))N>bVrNX!g zBe)jFu?VNo%lPI#6?MFTn%M{BGE3YvkrmvI?ls8|D^Zyp#6;$(3HIPd96=3u1-Z;k zZiRRU@3Fn}s0l=wO-v0YsHmeGs4bYqQhbE!Z~-fD2{mv&>Fd1*)qX$f`&LvUCs7G> zquQTFt;BiM%3Q`BIGN4*@1hdtg+5qFHTZVtAi#k0G z=wJt`{Uy{2TuVLAq`Zrpc^~hjqKuxQI$lIB^Cjgns)H=nSs50h+Et_Wuo2l(Q$?tq ziu$XY`j}DR*_n7w9$*cplyuN_jR&?)FyQ?VXOFSnxOVvt3 zM?y1DdKHA$v6|4KcL?pLhfvWTs5B-qwYZ1SlKBbkjf#HVHH1az|4uzY$xIw%JO0!4 zCOy8G)tMfvw|zd_Ut>A`KwXXP)H;s)Xq$a3G}0IC8yd6^28Tld%kTK=ZKuZe`z*gN z;52$2iu-UdI&61Df`ifi;P6l+U>yk#_x1&&R&%H~(jT(+4J4nt4-7O$tGfHfn)qZe bd?pwU*&U(aK)`AV#pm2FGvc>$f2I8gk@=38 diff --git a/mayan/apps/document_states/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/de_DE/LC_MESSAGES/django.po index 84ee63096e..6f6fbe01f0 100644 --- a/mayan/apps/document_states/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/de_DE/LC_MESSAGES/django.po @@ -1,22 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Berny , 2015 +# Jesaja Everling , 2017 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:09+0000\n" -"Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" -"edms/language/de_DE/)\n" -"Language: de_DE\n" +"PO-Revision-Date: 2017-04-24 23:13+0000\n" +"Last-Translator: Jesaja Everling \n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:41 @@ -108,26 +108,20 @@ msgid "Transitions" msgstr "Übergänge" #: links.py:77 -#, fuzzy -#| msgid "Document workflows" msgid "Launch all workflows" -msgstr "Dokumentenworkflows" +msgstr "Alle Workflows starten" #: links.py:81 msgid "Detail" msgstr "Detail" #: links.py:90 -#, fuzzy -#| msgid "Workflows for document: %s" msgid "Workflow documents" -msgstr "Workflows für Dokument: %s" +msgstr "" #: links.py:99 -#, fuzzy -#| msgid "Available document types" msgid "State documents" -msgstr "Verfügbare Dokumententypen" +msgstr "" #: models.py:25 models.py:72 models.py:107 msgid "Label" @@ -141,9 +135,7 @@ msgstr "Workflow" msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." -msgstr "" -"Diesen Status markieren, wenn der Workflow damit starten soll. Nur ein " -"Status kann initial sein." +msgstr "Diesen Status markieren, wenn der Workflow damit starten soll. Nur ein Status kann initial sein." #: models.py:78 msgid "Initial" @@ -153,9 +145,7 @@ msgstr "Initial" msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." -msgstr "" -"Ermöglicht den Eintrag einer Zahl (ohne Prozentzeichen), die den Stand der " -"Fertigstellung in Bezug auf den Workflow angibt." +msgstr "Ermöglicht den Eintrag einer Zahl (ohne Prozentzeichen), die den Stand der Fertigstellung in Bezug auf den Workflow angibt." #: models.py:98 msgid "Workflow state" @@ -202,28 +192,20 @@ msgid "Not a valid transition choice." msgstr "" #: models.py:255 -#, fuzzy -#| msgid "Workflow transition" msgid "Workflow runtime proxy" -msgstr "Workflow Übergang" +msgstr "" #: models.py:256 -#, fuzzy -#| msgid "Workflow transitions" msgid "Workflow runtime proxies" -msgstr "Workflow Übergänge" +msgstr "" #: models.py:262 -#, fuzzy -#| msgid "Workflow state" msgid "Workflow state runtime proxy" -msgstr "Workflow Status" +msgstr "" #: models.py:263 -#, fuzzy -#| msgid "Workflow instance log entries" msgid "Workflow state runtime proxies" -msgstr "Workflow Logeinträge" +msgstr "" #: permissions.py:7 msgid "Document workflows" @@ -250,10 +232,8 @@ msgid "Transition workflows" msgstr "Workflowübergänge durchführen" #: permissions.py:28 -#, fuzzy -#| msgid "Create workflows" msgid "Execute workflow tools" -msgstr "Workflows erstellen" +msgstr "" #: serializers.py:22 msgid "Primary key of the document type to be added." @@ -355,16 +335,13 @@ msgid "Documents with the workflow: %s" msgstr "Dokumente mit Workflow %s" #: views.py:482 -#, fuzzy, python-format -#| msgid "Documents with the workflow: %s" +#, python-format msgid "Documents in the workflow \"%s\", state \"%s\"" -msgstr "Dokumente mit Workflow %s" +msgstr "" #: views.py:517 -#, fuzzy -#| msgid "Document workflows" msgid "Launch all workflows?" -msgstr "Dokumentenworkflows" +msgstr "" #: views.py:524 msgid "Workflow launch queued successfully." diff --git a/mayan/apps/document_states/locale/en/LC_MESSAGES/django.mo b/mayan/apps/document_states/locale/en/LC_MESSAGES/django.mo index 252bfd331b6b54df8213f19003c74782608e1353..fa72cf2a1946688bd759d1c17e2c1ddd2ab1ccfe 100644 GIT binary patch delta 23 ecmeyx^owai7q7Xlfr+k>p@N~2m66fJ>5l>5lsoZ&FsVRgISE@$E>u-#>QToNJK%kGqp3d?&%)- zvFnWp;(~+_;eZqo86u(Fat;Csp%}#yK?nuJfeVNn07W229CF}b3Hbi%$Mo#ZLQ327 zbye5nf7M^Lf4*67^9awmcPM4x*LLtDmWN3>FnX4`tj1_%wVHehB^v(p9|$MczA5Q#PZz2C!K@D2Dddb^@T2f)DC2)neE%u@ zB=uiI8UIfxa{U|L5AQ)4S$_{ibaf0q1W&EaG z2jDssd0v3i@W)W}{wsVC-hpEO`w>FM?Jn4aVyAg1ad{fjRec$X-&Wy%7{h7!Ln!k8 z28y5l07akM@CcNk6CQqu_7hEcG2s@=bUYN__ns%J@G*4gUf~ z&K)=jm#JM)^nDPD{TfjG+k(g8SD=i44obftK~z&ef#Sbcq1fXMI1hKy=@>i(W&I6! z1U?5P4qk&2Pk)CpekabN-v+!bgi=JV86H_z=9Ij&hi8uGGdxmc zZtSdBm1dWDiN+ zDa+@0k+>|&SzaVArHJ1p#w7kQvo8{(gt|JFSG|uHeLOal3M;^ z5tzD1C00U1lDg1{H01;~MSVU9#5(0l=&-MR-_J;_S!uFW*|UY|=vUa#%O~T;Y&u@m zCP`c`w1|(V%GJE}w(nST-e~r6>}bJ6yKrn;y=QN-=TNS;f3HRp4KD4Eb@no}yDnAo zQ;C+Sc9`1OcOBZeBaXmkohm~3Vu&A!FmC`I+hJ@I`gwU`8|20>g0mF6sjnnfhuL7+ z#nrq5oLPa zNG_;Frc6iAm^s3xz7Pf|6_$fLCM;(gGka5AmUK~Nmn5&3*tF+p&Xxzn-BM-Q+H1{0 zqwh(rL$YPME1}PABDq;Z*=pK(lt^tacIk$;aU8`>MG(g7s#qp6sekA zh*`pp9d#;ObP)9<2gi<#x}|^hbz|$dTK6E2(644TBUdC@r(=_3B@2R$=4hOE;ihVB zj*;S{KBKl#$J(1ubKN5Nd`7q!N2`QTW3k(~%1$MXw)A5H+aslCn=?~qBH|}R z5KhaMPVMz{dKefN&XWpEoY?flm8FHo@lihsy%ifb+F>W^y0F*M$Cq7N3ER>(nYtKc zu?ZRrQ9MXmIvo0Ha$;^?=dUOBg?jf1J-dH?N?i$wtiW{09Xc?@5${Zyjt!}XDcO1} zLADx64W*aOYSdIqZWtxfQo2`aE*VCl<0jzGepC}%sxxE(*EL<~T_k$bakpN|Zv(Nc zV7heUxGyV-9-7!_8*EwGM^WB2cR+onvW1-Twr1F@Rw09L_R1CNsN-S9X zqc?Ovip_ZCbQH%XRylInC(V;*@W@{pfh!TQ6RBDdAu2pb6fn jMZp$NRes&(aH+ogqju8d-XC@GCgl3^kgx6#KKA|#e&$rt delta 1451 zcmXxkTSyd99LMqFCDZkOtJKOVvn-pOU0q8Bi83MxEngxGDokyA*abC%KsSO?f+!kl z=_Mfw^`RTm1*ta!4Xhr7AW~j zRnyngf5jNnfUn~?(B|TeS%>qu8nadzsft(c8nsDRgypXuk2 zk3)E!*gG%CMc2JnTlzEP^}m0V;tHScYFwGtA_nwOE3x*k06o^--Hp6*!C9 zJ0Vn}eMqrP1h-><3ia2(N?% zh^oN%I4I#qsLH-YjsHH4`s=}O+~6Ja6R+SL>V6M(weTt`&;U{d^B9%r2$Hk;h+A+P z_h2kLS?|}Np4*Sw+{Za+0_U&>`@)>;=42GLyBAPvRY2XfNh)z^tYYbfsy7l}0bL zhcs(dVx_6vvC#`})Xh;#Q2$vhd3b3(w3eDx8C@R_hpyRalc=ebYE{da3fxK8Quydv zIyIHHoNm$e{i>v^>3d+)Syi)%u12BR%%nJ6mhd^otwW!hrt~EDQ|{1zLu8rl diff --git a/mayan/apps/document_states/locale/es/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/es/LC_MESSAGES/django.po index 8e2aceffbc..e7f99cfae5 100644 --- a/mayan/apps/document_states/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/es/LC_MESSAGES/django.po @@ -1,23 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Roberto Rosario, 2015 -# Roberto Rosario, 2016 +# Roberto Rosario, 2016-2017 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-05-09 01:51+0000\n" +"PO-Revision-Date: 2017-04-23 02:58+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" -"language/es/)\n" -"Language: es\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:41 @@ -109,26 +108,20 @@ msgid "Transitions" msgstr "Transiciones" #: links.py:77 -#, fuzzy -#| msgid "Document workflows" msgid "Launch all workflows" -msgstr "Flujos de trabajo de document" +msgstr "Iniciar todos los flujos de trabajo" #: links.py:81 msgid "Detail" msgstr "Detalle" #: links.py:90 -#, fuzzy -#| msgid "Workflows for document: %s" msgid "Workflow documents" -msgstr "Flujos de trabajo para el documento: %s" +msgstr "Documentos del flujo de trabajo" #: links.py:99 -#, fuzzy -#| msgid "Available document types" msgid "State documents" -msgstr "Tipos de documentos disponibles" +msgstr "Documentos del estado de flujo" #: models.py:25 models.py:72 models.py:107 msgid "Label" @@ -142,9 +135,7 @@ msgstr "Flujo de trabajo" msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." -msgstr "" -"Seleccione si este va a ser el estado con el que desea que el flujo de " -"trabajo comience. Sólo un estado puede ser el estado inicial." +msgstr "Seleccione si este va a ser el estado con el que desea que el flujo de trabajo comience. Sólo un estado puede ser el estado inicial." #: models.py:78 msgid "Initial" @@ -154,9 +145,7 @@ msgstr "Inicial" msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." -msgstr "" -"Introduzca el porcentaje de finalización que este estado representa en " -"relación con el flujo de trabajo. Utilice números sin el signo de porcentaje." +msgstr "Introduzca el porcentaje de finalización que este estado representa en relación con el flujo de trabajo. Utilice números sin el signo de porcentaje." #: models.py:98 msgid "Workflow state" @@ -200,31 +189,23 @@ msgstr "Entradas de registro de las instancias de flujos de trabajo" #: models.py:249 msgid "Not a valid transition choice." -msgstr "" +msgstr "No hay opción valida de transición." #: models.py:255 -#, fuzzy -#| msgid "Workflow transition" msgid "Workflow runtime proxy" -msgstr "Transición de flujo de trabajo" +msgstr "" #: models.py:256 -#, fuzzy -#| msgid "Workflow transitions" msgid "Workflow runtime proxies" -msgstr "Transiciones de flujo de trabajo" +msgstr "" #: models.py:262 -#, fuzzy -#| msgid "Workflow state" msgid "Workflow state runtime proxy" -msgstr "Estado de flujo de trabajo" +msgstr "" #: models.py:263 -#, fuzzy -#| msgid "Workflow instance log entries" msgid "Workflow state runtime proxies" -msgstr "Entradas de registro de las instancias de flujos de trabajo" +msgstr "" #: permissions.py:7 msgid "Document workflows" @@ -251,14 +232,12 @@ msgid "Transition workflows" msgstr "Realizar transiciones" #: permissions.py:28 -#, fuzzy -#| msgid "Create workflows" msgid "Execute workflow tools" -msgstr "Crear flujos de trabajo" +msgstr "Ejecutar herramientas de flujos de trabajo" #: serializers.py:22 msgid "Primary key of the document type to be added." -msgstr "" +msgstr "Llave primaria del tipo de documento a ser agregado." #: serializers.py:37 msgid "" @@ -268,11 +247,11 @@ msgstr "" #: serializers.py:116 msgid "Primary key of the destination state to be added." -msgstr "" +msgstr "Llave primaria del estado de destino a ser agregado." #: serializers.py:120 msgid "Primary key of the origin state to be added." -msgstr "" +msgstr "Llave primaria del estado inicial a ser agregado." #: serializers.py:218 msgid "" @@ -282,7 +261,7 @@ msgstr "" #: serializers.py:227 msgid "A link to the entire history of this workflow." -msgstr "" +msgstr "Un enlace a la historia completa de este flujo de trabajo." #: serializers.py:259 msgid "" @@ -356,17 +335,14 @@ msgid "Documents with the workflow: %s" msgstr "Documentos con el flujo de trabajo: %s" #: views.py:482 -#, fuzzy, python-format -#| msgid "Documents with the workflow: %s" +#, python-format msgid "Documents in the workflow \"%s\", state \"%s\"" -msgstr "Documentos con el flujo de trabajo: %s" +msgstr "Documentos en el flujo de trabajo \"%s\", estado \"%s\"" #: views.py:517 -#, fuzzy -#| msgid "Document workflows" msgid "Launch all workflows?" -msgstr "Flujos de trabajo de document" +msgstr "¿Lanzar todos los flujos de trabajo?" #: views.py:524 msgid "Workflow launch queued successfully." -msgstr "" +msgstr "Lanzamiento de flujos de trabajo sometido con éxito." diff --git a/mayan/apps/document_states/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/document_states/locale/fa/LC_MESSAGES/django.mo index 23911ffbf55f0ca831a637ffe09c49b4fc99aebe..7aedcf151927dec18e54969ba36bef9aa60e0d2c 100644 GIT binary patch delta 44 rcmZ1_w@Pk<0tc_Tu7QcJk)eX2k(H6rWL*wvgov4yk=f=@j;m|{>FNqg delta 44 ycmZ1_w@Pk<0tc^|uA!l>k+Fh-k(H_OWL*wvpooF7u92aFk)f4=<>pY1t84)2$O=dR diff --git a/mayan/apps/document_states/locale/fa/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/fa/LC_MESSAGES/django.po index d1a95ff745..e03526946d 100644 --- a/mayan/apps/document_states/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Mehdi Amani , 2015 msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:09+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" -"language/fa/)\n" -"Language: fa\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:41 @@ -108,26 +107,20 @@ msgid "Transitions" msgstr "تغییر وضعیت ها" #: links.py:77 -#, fuzzy -#| msgid "Create workflows" msgid "Launch all workflows" -msgstr "ایجاد گردشکار" +msgstr "" #: links.py:81 msgid "Detail" msgstr "شرح" #: links.py:90 -#, fuzzy -#| msgid "Workflows for document: %s" msgid "Workflow documents" -msgstr "گردشکارهای سند : %s" +msgstr "" #: links.py:99 -#, fuzzy -#| msgid "Document" msgid "State documents" -msgstr "سند" +msgstr "" #: models.py:25 models.py:72 models.py:107 msgid "Label" @@ -141,9 +134,7 @@ msgstr "گردشکار" msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." -msgstr "" -"در صورتیکه این وضعیت شروع گردشکار باشد این وضعیت را انتخاب کنید. وضعیت فقط " -"میتواند وضعیت اولیه باشد." +msgstr "در صورتیکه این وضعیت شروع گردشکار باشد این وضعیت را انتخاب کنید. وضعیت فقط میتواند وضعیت اولیه باشد." #: models.py:78 msgid "Initial" @@ -200,28 +191,20 @@ msgid "Not a valid transition choice." msgstr "" #: models.py:255 -#, fuzzy -#| msgid "Workflow transition" msgid "Workflow runtime proxy" -msgstr "تغییر وضعیت گردشکار" +msgstr "" #: models.py:256 -#, fuzzy -#| msgid "Workflow transitions" msgid "Workflow runtime proxies" -msgstr "تغییر وضعیت های گردشکار" +msgstr "" #: models.py:262 -#, fuzzy -#| msgid "Workflow state" msgid "Workflow state runtime proxy" -msgstr "وضعیت گردشکار" +msgstr "" #: models.py:263 -#, fuzzy -#| msgid "Workflow instance log entries" msgid "Workflow state runtime proxies" -msgstr "ورودیهای مورد گردشکار" +msgstr "" #: permissions.py:7 msgid "Document workflows" @@ -248,10 +231,8 @@ msgid "Transition workflows" msgstr "" #: permissions.py:28 -#, fuzzy -#| msgid "Create workflows" msgid "Execute workflow tools" -msgstr "ایجاد گردشکار" +msgstr "" #: serializers.py:22 msgid "Primary key of the document type to be added." @@ -353,10 +334,9 @@ msgid "Documents with the workflow: %s" msgstr "" #: views.py:482 -#, fuzzy, python-format -#| msgid "Document types assigned the workflow: %s" +#, python-format msgid "Documents in the workflow \"%s\", state \"%s\"" -msgstr "نوع سند مرتبط با گردش کاری: %s" +msgstr "" #: views.py:517 msgid "Launch all workflows?" diff --git a/mayan/apps/document_states/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/document_states/locale/fr/LC_MESSAGES/django.mo index 6c19328d5a7bcb735c7d7de7033b4c8c944e6e5d..e342799e2d71a57c76fcb6616426d8770f8a84ad 100644 GIT binary patch delta 552 zcmX}oPbh<79KiA4!pv)%8S-bwvPkL8_F}Y}qk|kqii@%pC4XMMTgt_5OUWp4vJ1zx zQaj+vt{mj#;J`sjoZWmMmbbU(^Lu{p`+J_}_k0EKf)^jQ%$`l8Tqn{gBJp|=URh^w z;x;y57Ii$q7A#lhPuR}f!OtDogQ_mZ;KIp@^T-ymjDFn2X3RMyBeewQB>J&{Blw68 z)L6xfP1uNiXy6!za20)cioJM+s_q$8LvMJ9)o%IS=NL&z9$T^C&aer=EeUm^d#u4% zRGq(L4!_ZkyChWy2dFwKqN=~dZoEM*MP4w7pE!0*5qq^z|R0mkZF5E%2P#)C*ilytSIlF6A4-M-^I1o0XhH>QAd_(`4NYsc7 lgm|>6L@KS%T8WL+S|V*)(ZGzET(Z(8rV`eQS=!fQ@y;X?@AtmV`Vem*Say6o&RN69FnwTseVUbvj zjYLv0U}34T>CB8t!XPGt{|Rw(a(?H0Io~Zq@;ww1Az|Ap&!4n z6ua4_2K`u#AvAFw4ctQ)-eDU)p~@5IZ$V{v$g~~RIoHS%xyO3UIa4Bb1}_BEjXtml zizr)F?x5R87Z&3=stPVqRg_1S|A?*lj68}IR*8793Wu=|RXl+Wm_nAy$rJ-sK^l88 zi$nN{>X(?5tr8|tJ#_@t1$M9n&rof2kLm*XtJ{LP;);IV>(x!4W|#rL@7Qg3&GhSr zPdB}q=?xeIT?U_h!b&9d>A1C?h+4^5JfH<5@s&g}wh>v, 2015 msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:09+0000\n" -"Last-Translator: Christophe CHAUVET \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" -"fr/)\n" -"Language: fr\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:41 @@ -108,26 +107,20 @@ msgid "Transitions" msgstr "Transitions" #: links.py:77 -#, fuzzy -#| msgid "Document workflows" msgid "Launch all workflows" -msgstr "Flux de travail du document" +msgstr "" #: links.py:81 msgid "Detail" msgstr "Détail" #: links.py:90 -#, fuzzy -#| msgid "Workflows for document: %s" msgid "Workflow documents" -msgstr "Flux de travail du document: %s" +msgstr "" #: links.py:99 -#, fuzzy -#| msgid "Available document types" msgid "State documents" -msgstr "Types de document disponible" +msgstr "" #: models.py:25 models.py:72 models.py:107 msgid "Label" @@ -141,9 +134,7 @@ msgstr "Flux de travail" msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." -msgstr "" -"Sélectionnez si ceci sera l'état avec lequel vous voulez que le flux de " -"travail pour démarrer. Un seul état peut être à l'état initial." +msgstr "Sélectionnez si ceci sera l'état avec lequel vous voulez que le flux de travail pour démarrer. Un seul état peut être à l'état initial." #: models.py:78 msgid "Initial" @@ -153,9 +144,7 @@ msgstr "Initial" msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." -msgstr "" -"Entrer le pourcentage de finalisation que cet état représente dans la " -"relation du flux de travail. Saisir un nombre sans le signe pourcentage." +msgstr "Entrer le pourcentage de finalisation que cet état représente dans la relation du flux de travail. Saisir un nombre sans le signe pourcentage." #: models.py:98 msgid "Workflow state" @@ -202,28 +191,20 @@ msgid "Not a valid transition choice." msgstr "" #: models.py:255 -#, fuzzy -#| msgid "Workflow transition" msgid "Workflow runtime proxy" -msgstr "Transition du flux de travail" +msgstr "" #: models.py:256 -#, fuzzy -#| msgid "Workflow transitions" msgid "Workflow runtime proxies" -msgstr "Transitions du flux de travail" +msgstr "" #: models.py:262 -#, fuzzy -#| msgid "Workflow state" msgid "Workflow state runtime proxy" -msgstr "État du flux de travail" +msgstr "" #: models.py:263 -#, fuzzy -#| msgid "Workflow instance log entries" msgid "Workflow state runtime proxies" -msgstr "Entrées de la journlisation du flux de travail" +msgstr "" #: permissions.py:7 msgid "Document workflows" @@ -250,10 +231,8 @@ msgid "Transition workflows" msgstr "Transition des flux de travails" #: permissions.py:28 -#, fuzzy -#| msgid "Create workflows" msgid "Execute workflow tools" -msgstr "Créer des flux de travail" +msgstr "" #: serializers.py:22 msgid "Primary key of the document type to be added." @@ -355,16 +334,13 @@ msgid "Documents with the workflow: %s" msgstr "Documents avec le flux de travail: %s" #: views.py:482 -#, fuzzy, python-format -#| msgid "Documents with the workflow: %s" +#, python-format msgid "Documents in the workflow \"%s\", state \"%s\"" -msgstr "Documents avec le flux de travail: %s" +msgstr "" #: views.py:517 -#, fuzzy -#| msgid "Document workflows" msgid "Launch all workflows?" -msgstr "Flux de travail du document" +msgstr "" #: views.py:524 msgid "Workflow launch queued successfully." diff --git a/mayan/apps/document_states/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/document_states/locale/hu/LC_MESSAGES/django.mo index a584f4a2bd158ba566e24af6b8b813a8be03df4b..0512781fa9b9ab16ce902b426e63dd65ae227373 100644 GIT binary patch delta 42 pcmdnYvYBPVd0ul}0~1{%Lj^-4D!XKn^_q383Fp-3Q_<7 delta 42 wcmdnYvYBPVd0sPJLqlC7V+8{vD^uf%ccg&=2FAKZh6+Z8RtA=vSs3*h0s6QKPXGV_ diff --git a/mayan/apps/document_states/locale/hu/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/hu/LC_MESSAGES/django.po index 3186873895..4bf8d2545a 100644 --- a/mayan/apps/document_states/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/hu/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:09+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/hu/)\n" -"Language: hu\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:41 diff --git a/mayan/apps/document_states/locale/id/LC_MESSAGES/django.mo b/mayan/apps/document_states/locale/id/LC_MESSAGES/django.mo index 568695d2a2a1289108b01006b35f6c30cf0d5b9e..ac4dddfc163f69c504af73ffa6ca54b1264f46f7 100644 GIT binary patch delta 64 zcmeBT>0+6%%hX)gz(m)`P{Gj1%E$=FHZb4{@YfAWEz2y<%+J$xNi0dVQZO0+6%%hXKQ&`{UNSi!)^%G6lbz{J3SE5KhjD77rJI5R&_*Cnwe)k?w0z|c(B Tz*yJFP{GL1%D{5tduc`hC>ap_ diff --git a/mayan/apps/document_states/locale/id/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/id/LC_MESSAGES/django.po index 1238d539dc..27ef602717 100644 --- a/mayan/apps/document_states/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/id/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:09+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" -"language/id/)\n" -"Language: id\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:41 diff --git a/mayan/apps/document_states/locale/it/LC_MESSAGES/django.mo b/mayan/apps/document_states/locale/it/LC_MESSAGES/django.mo index 6a81bf8a8c0c9948fb924c5d842460ddb7b20891..4766b15a95f14d9f8accb99ab78dcadc869ccb36 100644 GIT binary patch delta 552 zcmX}pJxIe)5Ww+QN^6b%u%ZPm)rja4B5jl^nG~G-04ZWuQ&14aN}9#R4vJskqLZtu zAVP6)a?#P*!ATrMaB=HY{GWZ8A-~+^-ral2(eRgf_Z_OAhm?BiR4S*GDs?Fp!(B|^ z9vXOzS-ik*yu}fGM5+70B>resyuB`^9YEG0b#nSU@?z9Lk`I&Tru<@xIQ-*rjYV%}x56$$EQGo`f`VQ5r1if>jKN zH!y;4n89})H<3fD7WSe+SBZyk5G|a>d5q!#QmW2S=3FiFAfNOa`>~;Y(fLo51x;-S z#WEf!Hj8^0qfE7MC delta 581 zcmXZYJxD@P6u|K-rIe|CkU@y?qOZZ8_>op(5w!?qGz3ls4-xzDWvFX71W`j%(9%*6 z1T6(Z(A3fpv_x}LThZ9iB>hj_H@x3F=iYnHedohC7`***)UO>%J+>ZWPkEH`flnJmIXAAIM5#NEJ-CQ|T=%H@-$IRq6x_p6yg=@x zp0E>Nu^Znpgx_eQL3b&*jPe5(N~5~YAL0@5na+=JOSx#6m(-o{)&Co1Nl2j_N`WoC zp^7!)eRSdv_F+@UeyT786~JB`({UOHh%-2aMRegga#UTR^toH%Lq__5{rIB&)cIBx z<$zy1jM6Bs&7h2W4P^owjr*3I%bPT#Q8N}dBC%8=eiC#CR+469+Kf#Y(MT$u2t|0@ zOIEdJu2!s_YRRgVD=8yuRq|zH!LoNtg=)b_+Y*QKIu6_UxuR`tmcse6J=@rJH=V!4 C#YqeR diff --git a/mayan/apps/document_states/locale/it/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/it/LC_MESSAGES/django.po index 37de719306..e5ea9dc24b 100644 --- a/mayan/apps/document_states/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Marco Camplese , 2016 msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-09-24 10:35+0000\n" -"Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:41 @@ -108,26 +107,20 @@ msgid "Transitions" msgstr "Transizioni" #: links.py:77 -#, fuzzy -#| msgid "Document workflows" msgid "Launch all workflows" -msgstr "Workflow documento" +msgstr "" #: links.py:81 msgid "Detail" msgstr "Dettagli" #: links.py:90 -#, fuzzy -#| msgid "Workflows for document: %s" msgid "Workflow documents" -msgstr "Workflow per il documento: %s" +msgstr "" #: links.py:99 -#, fuzzy -#| msgid "Available document types" msgid "State documents" -msgstr "Tipi di documento disponibili" +msgstr "" #: models.py:25 models.py:72 models.py:107 msgid "Label" @@ -141,9 +134,7 @@ msgstr "Workflow" msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." -msgstr "" -"Seleziona se questo è lo stato da utilizzare quando il workflow inizia. Solo " -"uno stato può essere quello iniziale." +msgstr "Seleziona se questo è lo stato da utilizzare quando il workflow inizia. Solo uno stato può essere quello iniziale." #: models.py:78 msgid "Initial" @@ -153,9 +144,7 @@ msgstr "Iniziale" msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." -msgstr "" -"Inserisci la percentuale di completamento che questo stato rappresenta in " -"relazione al workflow. Usa i numeri senza segno di percentuale." +msgstr "Inserisci la percentuale di completamento che questo stato rappresenta in relazione al workflow. Usa i numeri senza segno di percentuale." #: models.py:98 msgid "Workflow state" @@ -202,28 +191,20 @@ msgid "Not a valid transition choice." msgstr "" #: models.py:255 -#, fuzzy -#| msgid "Workflow transition" msgid "Workflow runtime proxy" -msgstr "Transizione workflow" +msgstr "" #: models.py:256 -#, fuzzy -#| msgid "Workflow transitions" msgid "Workflow runtime proxies" -msgstr "Transizioni workflow" +msgstr "" #: models.py:262 -#, fuzzy -#| msgid "Workflow state" msgid "Workflow state runtime proxy" -msgstr "Stato workflow" +msgstr "" #: models.py:263 -#, fuzzy -#| msgid "Workflow instance log entries" msgid "Workflow state runtime proxies" -msgstr "Voci log istanza workflow" +msgstr "" #: permissions.py:7 msgid "Document workflows" @@ -250,10 +231,8 @@ msgid "Transition workflows" msgstr "Transizioni workflow" #: permissions.py:28 -#, fuzzy -#| msgid "Create workflows" msgid "Execute workflow tools" -msgstr "Crea workflows" +msgstr "" #: serializers.py:22 msgid "Primary key of the document type to be added." @@ -355,16 +334,13 @@ msgid "Documents with the workflow: %s" msgstr "Documento con il workflow: %s" #: views.py:482 -#, fuzzy, python-format -#| msgid "Documents with the workflow: %s" +#, python-format msgid "Documents in the workflow \"%s\", state \"%s\"" -msgstr "Documento con il workflow: %s" +msgstr "" #: views.py:517 -#, fuzzy -#| msgid "Document workflows" msgid "Launch all workflows?" -msgstr "Workflow documento" +msgstr "" #: views.py:524 msgid "Workflow launch queued successfully." diff --git a/mayan/apps/document_states/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/document_states/locale/nl_NL/LC_MESSAGES/django.mo index d6509b12eb4744121eb233aab691ec19deea8a6f..546790da84f18c817a475a2d71688ddde8ba6bcb 100644 GIT binary patch delta 424 zcmX}oF-yZx5Ww-P)tCgTRjNxtqKlve+9)k#5I2_&Rs>5drG7#BExAB7w?QCoFRV3 zd3-f~V2OBav~3ZGc+u$L0`VG_aT{qNZCu6!WJ%YS-fx3G(JYAzoWpBe!W>!h!loC# zoA?X0evEptOLzURjFY&6dcKMlHjz@7Z?A_b+isLMJ>yE$pIR*f;r0)QN9V zU*y4@KbiA4)EE48^3lYgSZeyUO+To6^&kv_Vauv+{AU_r&{(hWxveP8{QV?4PdiZ- WC!x0&9~~!IjA@jd#`&XlR{Q~)kTmiD delta 453 zcmXZYKTE?v7{~Faw#K&5`iDw~g2X`_B$6g7Qv5e4E*%PX6NjKhV$&4bAUJi9z5=0x zOTiZ)m2M(Vjt=7DtZzW1i=*GO7moYzd+zcacir4wZV<#ePcf0vq)0(T22&zweARwn zmi&ct_@hlEMKa{Pb_r8tSG$e#P6o5`lntWp?X0hJ$#(##xomMv1mE2X*;EL_oi$VDpYLC*))qzY0X`+`O;;t y9a+_u7q$a0YPL$|!DTJ*FGBOk^Mc3^>*iK%TxsjV-g(3GgVob!V`q44)Z>5Z20xYn diff --git a/mayan/apps/document_states/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/nl_NL/LC_MESSAGES/django.po index 28b5b76ecb..396dfb60bc 100644 --- a/mayan/apps/document_states/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Evelijn Saaltink , 2016 msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 12:43+0000\n" -"Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" -"edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:41 @@ -108,26 +107,20 @@ msgid "Transitions" msgstr "Transities" #: links.py:77 -#, fuzzy -#| msgid "Document workflows" msgid "Launch all workflows" -msgstr "Documentworkflows" +msgstr "" #: links.py:81 msgid "Detail" msgstr "Detai" #: links.py:90 -#, fuzzy -#| msgid "Workflows for document: %s" msgid "Workflow documents" -msgstr "Workflows voor document: %s" +msgstr "" #: links.py:99 -#, fuzzy -#| msgid "Available document types" msgid "State documents" -msgstr "Beschikbare documentsoorten" +msgstr "" #: models.py:25 models.py:72 models.py:107 msgid "Label" @@ -198,28 +191,20 @@ msgid "Not a valid transition choice." msgstr "" #: models.py:255 -#, fuzzy -#| msgid "Workflow transition" msgid "Workflow runtime proxy" -msgstr "Workflowtransitie" +msgstr "" #: models.py:256 -#, fuzzy -#| msgid "Workflow transitions" msgid "Workflow runtime proxies" -msgstr "Workflowtransities" +msgstr "" #: models.py:262 -#, fuzzy -#| msgid "Workflow state" msgid "Workflow state runtime proxy" -msgstr "Workflowstaat" +msgstr "" #: models.py:263 -#, fuzzy -#| msgid "Workflow states" msgid "Workflow state runtime proxies" -msgstr "Workflowstaten" +msgstr "" #: permissions.py:7 msgid "Document workflows" @@ -246,10 +231,8 @@ msgid "Transition workflows" msgstr "" #: permissions.py:28 -#, fuzzy -#| msgid "Create workflows" msgid "Execute workflow tools" -msgstr "Workflows aanmaken" +msgstr "" #: serializers.py:22 msgid "Primary key of the document type to be added." @@ -351,16 +334,13 @@ msgid "Documents with the workflow: %s" msgstr "Documenten met de workflow: %s" #: views.py:482 -#, fuzzy, python-format -#| msgid "Documents with the workflow: %s" +#, python-format msgid "Documents in the workflow \"%s\", state \"%s\"" -msgstr "Documenten met de workflow: %s" +msgstr "" #: views.py:517 -#, fuzzy -#| msgid "Document workflows" msgid "Launch all workflows?" -msgstr "Documentworkflows" +msgstr "" #: views.py:524 msgid "Workflow launch queued successfully." diff --git a/mayan/apps/document_states/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/document_states/locale/pl/LC_MESSAGES/django.mo index c658c7653c0f2468e3636f82b9dbf51b12164a51..57d3fe4defc465237773343a75bd8adba004cba5 100644 GIT binary patch delta 499 zcmYMuu}eZx6vy$CWoq@J$Oy{l7HJ9@@7|t@=F_<~XlbjVNhE|e!Tx}1ad2yjmX_fC z0nI^MYqYdA)#MV?_p0^a@jmC>bI%qBO)kd}3g9ev0t-8`oHP;FFyH)eua9Zc=z$mp4o|n^M!$$otWaBW`kh>c!#%?0N D5fVw3 delta 409 zcmXZXu}T9$5P;!HG$v6`6a%7B*g}&C9_;Sj3C3KkCD;fyb~aWa1jR0pBG`zHq|hpj zU}Ga(-aruS1hKFY3*W)ke`8?TZ*FF1hPy5#i%(&y`;rnl%!sUr$Z}RBk0H)t9oMme zWo)B|cVi!Lj_)BdLY{F3UvU~ga0|b&j9yNJBN3PDtLLOE5y1h8DeR$Je1&e%EzaXT z7IBCidE=VIPjrjFa20=$U6SH2)-aD2%jo7Eqnm$<3wWMi`Y&9L3pZGxFi7^(M-$$* zZ;WpPrEN6|`j43+86Ei6C~K;Er~jV$Z3Mfj-MlzEX~vaS92>Q#w5qDshSBxds#0kb d*5c5G6_?gEqgAIf%DXpulO98lO, 2015 msgid "" @@ -9,16 +9,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:09+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" -"pl/)\n" -"Language: pl\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:41 msgid "Document states" @@ -109,26 +107,20 @@ msgid "Transitions" msgstr "" #: links.py:77 -#, fuzzy -#| msgid "Create workflows" msgid "Launch all workflows" -msgstr "Utwórz obieg" +msgstr "" #: links.py:81 msgid "Detail" msgstr "Szczegół" #: links.py:90 -#, fuzzy -#| msgid "Workflows for document: %s" msgid "Workflow documents" -msgstr "Obiegi dokumentu: %s" +msgstr "" #: links.py:99 -#, fuzzy -#| msgid "Available document types" msgid "State documents" -msgstr "Dostępne typy dokumentów" +msgstr "" #: models.py:25 models.py:72 models.py:107 msgid "Label" @@ -199,28 +191,20 @@ msgid "Not a valid transition choice." msgstr "" #: models.py:255 -#, fuzzy -#| msgid "Workflow state" msgid "Workflow runtime proxy" -msgstr "Stan obiegu" +msgstr "" #: models.py:256 -#, fuzzy -#| msgid "Workflow states" msgid "Workflow runtime proxies" -msgstr "Stany obiegu" +msgstr "" #: models.py:262 -#, fuzzy -#| msgid "Workflow state" msgid "Workflow state runtime proxy" -msgstr "Stan obiegu" +msgstr "" #: models.py:263 -#, fuzzy -#| msgid "Workflow states" msgid "Workflow state runtime proxies" -msgstr "Stany obiegu" +msgstr "" #: permissions.py:7 msgid "Document workflows" @@ -247,10 +231,8 @@ msgid "Transition workflows" msgstr "" #: permissions.py:28 -#, fuzzy -#| msgid "Create workflows" msgid "Execute workflow tools" -msgstr "Utwórz obieg" +msgstr "" #: serializers.py:22 msgid "Primary key of the document type to be added." @@ -352,10 +334,9 @@ msgid "Documents with the workflow: %s" msgstr "" #: views.py:482 -#, fuzzy, python-format -#| msgid "Document types assigned the workflow: %s" +#, python-format msgid "Documents in the workflow \"%s\", state \"%s\"" -msgstr "Typy dokumentów przypisane do obiegu dokumentów: %s" +msgstr "" #: views.py:517 msgid "Launch all workflows?" diff --git a/mayan/apps/document_states/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/document_states/locale/pt/LC_MESSAGES/django.mo index 31283dc65e68d9f46698a917072ad63074cca811..4a1f3fef9c4c9e4fd4e53da27101fa88a930eb58 100644 GIT binary patch delta 44 rcmX@edXRO410%1wu7QcJk)eX2k(H6rWM4*Ugov4yk=f=_Mju81?#BuQ delta 44 ycmX@edXRO410%1QuA!l>k+Fh-k(H_OWM4*UpooF7u92aFk)f4=<>pdGA4UM~r3wK6 diff --git a/mayan/apps/document_states/locale/pt/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/pt/LC_MESSAGES/django.po index 7a0a2602fd..e1282f687d 100644 --- a/mayan/apps/document_states/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/pt/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:09+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" -"language/pt/)\n" -"Language: pt\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:41 diff --git a/mayan/apps/document_states/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/document_states/locale/pt_BR/LC_MESSAGES/django.mo index 5d84a7fcbb01638b11a47ea532dec0a45a9fc8df..4910df467975691542ee1d7aa06220ffcb2079ec 100644 GIT binary patch delta 566 zcmX}oKS%;$7{~EPEG_e2{|$>wq6QK43KN~9r6r37o31}ZP#xYmMPx$}Ezuv0hHx&7 z2wWnBhH7dFYOS>;T3Q~2`_>6=2f!*ljQUJrYG31kEZ70x8J&mn6hpNw-S4z^vW}AZn+{a<8BAMhB zJMkUc@dp#=CS4lSsDc%62#?T(w;05GJjEAO0hawDEHQYgep~*MNF$qL```>!gDX^j zRKo*&K-D0}VHf661ur0(WCJ^J&#uogOnr%2d_r~KK`OF{2UQ)KVxt-kpqfD1Hjg3d zO;n>Qqe^^%YUFk7!8cTs`o>=T4c6|Qvo7CQJTV&Al98mA(X^93Pk7}2B$d%pu>_B2 tQn!ln8B<@kR`sG`W+FLbe#tBvXzAvPQQP%=Hn_*FqP}QYH8W6m`~f3CN5lXC delta 591 zcmXZYODIHf6vy#1VK5BF`Us3wBI-RW`I3?xHoG*uc!14#hh&m3EW>Xs zK{u%a=*3PPK@GN!O?ZS(e8eJr#%=sS4X|7w!YivRdf!e#N+gTTvE4XBz2F}8j~;LX zU+jL2W;wNm8hj1OCYxA_`*wYfHPkoQg|DdRt4T!`X+W)m!))}z2s&QMf1O~55ei2F9W4PK z*Pv-7{i6wU!HSv5cp_r-#by_x#y}!En=~z>+tjl6Z=Lz?wNAz7TPG7e={eVXrZZ|K M&FOf0qVUS`3;1bMZU6uP diff --git a/mayan/apps/document_states/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/pt_BR/LC_MESSAGES/django.po index 5d618849d2..ee00694287 100644 --- a/mayan/apps/document_states/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Aline Freitas , 2016 # Rogerio Falcone , 2015 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-11-17 23:07+0000\n" -"Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" -"edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:41 @@ -98,7 +97,7 @@ msgstr "Criar estado" #: links.py:54 links.py:104 msgid "States" -msgstr "estado" +msgstr "Estados" #: links.py:58 msgid "Create transition" @@ -109,26 +108,20 @@ msgid "Transitions" msgstr "Transações" #: links.py:77 -#, fuzzy -#| msgid "Document workflows" msgid "Launch all workflows" -msgstr "Fluxos de trabalho do documento" +msgstr "" #: links.py:81 msgid "Detail" msgstr "Detalhes" #: links.py:90 -#, fuzzy -#| msgid "Workflows for document: %s" msgid "Workflow documents" -msgstr "Workflows para documento: %s" +msgstr "" #: links.py:99 -#, fuzzy -#| msgid "Available document types" msgid "State documents" -msgstr "Tipos de documentos disponíveis" +msgstr "" #: models.py:25 models.py:72 models.py:107 msgid "Label" @@ -142,9 +135,7 @@ msgstr "Workflow" msgid "" "Select if this will be the state with which you want the workflow to start " "in. Only one state can be the initial state." -msgstr "" -"Selecione se este será o estado com o qual você deseja que o fluxo de " -"trabalho para começar em. Apenas um Estado pode ser o estado inicial." +msgstr "Selecione se este será o estado com o qual você deseja que o fluxo de trabalho para começar em. Apenas um Estado pode ser o estado inicial." #: models.py:78 msgid "Initial" @@ -154,9 +145,7 @@ msgstr "Inicial" msgid "" "Enter the percent of completion that this state represents in relation to " "the workflow. Use numbers without the percent sign." -msgstr "" -"Entre com a porcentagem de finalização que este estado representa em relação " -"com o fluxo de trabalho. Utilize números sem o sinal de porcentagem." +msgstr "Entre com a porcentagem de finalização que este estado representa em relação com o fluxo de trabalho. Utilize números sem o sinal de porcentagem." #: models.py:98 msgid "Workflow state" @@ -203,28 +192,20 @@ msgid "Not a valid transition choice." msgstr "" #: models.py:255 -#, fuzzy -#| msgid "Workflow transition" msgid "Workflow runtime proxy" -msgstr "Transição do Workflow" +msgstr "" #: models.py:256 -#, fuzzy -#| msgid "Workflow transitions" msgid "Workflow runtime proxies" -msgstr "Transição dos Workflows" +msgstr "" #: models.py:262 -#, fuzzy -#| msgid "Workflow state" msgid "Workflow state runtime proxy" -msgstr "Estado do Workflow" +msgstr "" #: models.py:263 -#, fuzzy -#| msgid "Workflow instance log entries" msgid "Workflow state runtime proxies" -msgstr "Workflow instance log de entradas" +msgstr "" #: permissions.py:7 msgid "Document workflows" @@ -251,10 +232,8 @@ msgid "Transition workflows" msgstr "Realizar transição" #: permissions.py:28 -#, fuzzy -#| msgid "Create workflows" msgid "Execute workflow tools" -msgstr "Criar workflows" +msgstr "" #: serializers.py:22 msgid "Primary key of the document type to be added." @@ -356,16 +335,13 @@ msgid "Documents with the workflow: %s" msgstr "Documentos com o fluxo de trabalho: %s" #: views.py:482 -#, fuzzy, python-format -#| msgid "Documents with the workflow: %s" +#, python-format msgid "Documents in the workflow \"%s\", state \"%s\"" -msgstr "Documentos com o fluxo de trabalho: %s" +msgstr "" #: views.py:517 -#, fuzzy -#| msgid "Document workflows" msgid "Launch all workflows?" -msgstr "Fluxos de trabalho do documento" +msgstr "" #: views.py:524 msgid "Workflow launch queued successfully." diff --git a/mayan/apps/document_states/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/document_states/locale/ro_RO/LC_MESSAGES/django.mo index 03d30df385c8b91fe9e9184953f1abce663651a4..cd3f1ab1e137fd9253c3a5ecdfdb9761d8567f81 100644 GIT binary patch delta 44 rcmZo>Yi8Tvz{qQ^Yha>lWT;?hWMyPD*_TloA!24_WVX4Kv5ye|+RF*d delta 44 ycmZo>Yi8Tvz{qQ+YiOuzWUOFdWMyhR*_TloC}LouYiO=uU}19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:41 msgid "Document states" diff --git a/mayan/apps/document_states/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/document_states/locale/ru/LC_MESSAGES/django.mo index dda6baba5eefca3b3a4b4759993c0f0dae326238..5f0bf0659449e631b479bdf8e864dafe067c9cf7 100644 GIT binary patch delta 221 zcmcb?eV2Q}l6r9_1_o0gHeg_2@MU3O5ChV6Kw1PyPX*G7KzbEa{0xxh1M(jOX#pVp z2`bOb%D^BCk?#l6oN~1_o0gHeg_2@L*wJ5ChVcKw1PyPXN-2Kzb=u{5X*21M=?yX#pVp z7ApS_NXr8G3aktaQb5`cNGk*BNFWVTUkjvpfOHR#2AMw-D!zf0fsH`|D6oICCSwF6 zubHl)p{|j!f`O5hsqy4KCTTseh=GxUfr*u&skQ+SaQP$_m*|ERCFT|9B$nhCSt;aX S=H%-YB<5u%Z@$CC$P56x2_riI diff --git a/mayan/apps/document_states/locale/ru/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/ru/LC_MESSAGES/django.po index 96578d0496..28fb86834f 100644 --- a/mayan/apps/document_states/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # lilo.panic, 2016 msgid "" @@ -9,17 +9,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-11-02 04:15+0000\n" -"Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" -"language/ru/)\n" -"Language: ru\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:41 msgid "Document states" @@ -122,10 +119,8 @@ msgid "Workflow documents" msgstr "" #: links.py:99 -#, fuzzy -#| msgid "Available document types" msgid "State documents" -msgstr "Доступные типы документов" +msgstr "" #: models.py:25 models.py:72 models.py:107 msgid "Label" diff --git a/mayan/apps/document_states/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/document_states/locale/sl_SI/LC_MESSAGES/django.mo index d02ec2a0ecf7adb006ca7c14f9f7519ae0b57ccd..a9b3f0557426e5e8eb238c88ebe9409ee433d83f 100644 GIT binary patch delta 216 zcmaFIGK01Lo)F7a1|VPsVi_QI0b+I_&H-W&=m266zY~Z#fOsMhgVfFfViq7?0K``q z85ouVX^?ys6NGLC(riF}50D0_n+&9Z${2tY7=X+G0x+Vju_r delta 184 zcmbQi`i`ako)F7a1|VPoVi_Q|0b*7ljsap2C;(!1AT9)Aka#5!gVfdo@fAh}h87^r z0mP9^3=C{QItfUF!XKn-v)y7y%H^3l;zX delta 42 wcmaFJ@{nc18(uSALqlC7V+8{vD^uf%Kc#^J2FAKZh6+Z8RtA=v6&W2E0T8PT6951J diff --git a/mayan/apps/document_states/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/document_states/locale/vi_VN/LC_MESSAGES/django.po index f952690022..0fdaeda676 100644 --- a/mayan/apps/document_states/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/document_states/locale/vi_VN/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:09+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" -"mayan-edms/language/vi_VN/)\n" -"Language: vi_VN\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:41 diff --git a/mayan/apps/document_states/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/document_states/locale/zh_CN/LC_MESSAGES/django.mo index 1c0a152157f9b7d42acbc33db26cae71efc1cfab..09b720041d2d92e428c3a825ea7f4d896693e9da 100644 GIT binary patch delta 42 pcmcb>a)D*SJ6>~L0~1{%Lj^-4D!XKo0S=L837Bk3g-X- delta 42 wcmcb>a)D*SJ64;@Tfg#wAB2Z9bl zhivHuqoP2RE|m{NHw(i{brA%GsEfTom%vL&hrYjOABcwiKc8o2pP6UoKeM}%_!YmI zaE=*cN`l6;VHXzQJ-mpIF&`^Jx%L_?qaMQwY{gA@3ac@V8}TZt-#F^I3Dk4b7{*sv zgl|K}F)?lyX(+_sSb}-<)Be5{$8Ma(J`D1u2I|Knm`1I5(sv3;nt6^|`AgIS-y>@? zYj_#gaX(&i=&b=CAd@vu{Q6VW3ZJ1?IFB|i;%AGOkjFIjFA-yUu$^U{$NR`!O^8lo zSb}shH&7F}i&1=t%9Jz5jb^%vNnFQmm|!0?p*Dl2uwK85>M_)dlQ|vJ=Ra@-&+x@iC+8OR2)5uO)E2Iw zGWH4C74sFNxP}_PoJ$AB(L#->_nSOoFOectGzlFd`gwZ^-i+f|qY6ctI6%}9+X>E- zS2S@J=w(Q0W*5vMLZyn(&s2-rNvJp*xFiVeoyso4_U>}&)hX3aPDLla*}F65u&>xc zkQ}cl6WT777_pm3617B>P$rZeoe4_ZG;wVtwC7462iW_wfd5POL*Tf3HrSGv-!?FG zE|b3C-YJM!?m}U^70L`|hDS5maCoMuxvn8qXD6dcyVbU{uftXUTAEtzM)!O8jWt_5 b76>d)FS~B0^rYqfDSKz-_xfWjRAm1GF)DdF delta 1463 zcmXxjU2Ke59LMo93{xG|R?9 zJyG0jjHw)B%xc_$>+n35;Y-ZpYm8xb>_~eKYp54+GM>OHJcnQ6EiA`JsBs>u-!oLd zw;0D*%oI%pK@GhYU@eZr@39h_Q486H6R{nm*n?BC7qyTxI00{=Hgp%~;RFU-Ok*{+ zpvLb;&D&m9G-eV(Hw~J2F!T@HLj3|Z<2(ErH_~aY+EE|6kIV5PYR6FuSxLd6ndzvV zThs=dkj>kX1#cRGx9ta_Zf7A3v( z#X&T3*I^i(7Kacdz53ZKuvAWuP!tQN7=#nMb^ zM|_4_k`1ZlHo0s?I_>ty|BgicUcaw&sVXy*Rd`qZW7a?Bx!w)`xHn|ID}KLs-5c_5 zxN9qVqNT&t6Wy29iO4r6X}w~-i+;bx4EVo#w>56a`h6-+`oH;o*1N;M{Q>Wq>fW$I TzU1BXhTW=~|01OqlTLjC=(@_6 diff --git a/mayan/apps/documents/locale/ar/LC_MESSAGES/django.po b/mayan/apps/documents/locale/ar/LC_MESSAGES/django.po index 9e8f5d19b4..96d4d43095 100644 --- a/mayan/apps/documents/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,43 +9,41 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" -"ar/)\n" -"Language: ar\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 -#: settings.py:13 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 +#: permissions.py:7 settings.py:13 msgid "Documents" msgstr "الوثائق" #: apps.py:110 +#| msgid "View document types" msgid "New pages this month" msgstr "" #: apps.py:119 -#, fuzzy -#| msgid "documents of this type" +#| msgid "New document filename" msgid "New documents this month" -msgstr "documents of this type" +msgstr "" #: apps.py:128 -#, fuzzy -#| msgid "Edit documents" +#| msgid "Transform documents" msgid "Total documents" -msgstr "تحرير الوثائق" +msgstr "" #: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 msgid "Document types" msgstr "" #: apps.py:140 views/document_views.py:69 +#| msgid "Documents in storage: %d" msgid "Documents in trash" msgstr "" @@ -101,14 +99,17 @@ msgid "Comment" msgstr "تعليق" #: apps.py:456 +#| msgid "New document filename" msgid "New documents per month" msgstr "" #: apps.py:463 +#| msgid "Document version reverted successfully" msgid "New document versions per month" msgstr "" #: apps.py:470 +#| msgid "View document types" msgid "New document pages per month" msgstr "" @@ -141,10 +142,12 @@ msgid "Document type changed" msgstr "" #: events.py:21 +#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 +#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -179,7 +182,7 @@ msgstr "" #: forms.py:122 msgid "Unknown" -msgstr "" +msgstr "Unknown" #: forms.py:130 msgid "File mimetype" @@ -223,9 +226,13 @@ msgid "Compress" msgstr "ضغط" #: forms.py:197 +#| msgid "" +#| "ad the document in the original format or in a compressed manner. s ion is " +#| "selectable only when downloading one document, for tiple uments, the bundle " +#| "will always be downloads as a compressed e." msgid "" -"Download the document in the original format or in a compressed manner. This " -"option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This" +" option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" @@ -237,9 +244,7 @@ msgstr "اسم الملف المضغوط" msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "" -"اسم الملف المضغوط سيحتوي الوثائق التي سيتم تحويلها، اذا تم اختيار الخيار " -"السابق" +msgstr "اسم الملف المضغوط سيحتوي الوثائق التي سيتم تحويلها، اذا تم اختيار الخيار السابق" #: forms.py:225 literals.py:23 msgid "Page range" @@ -268,10 +273,8 @@ msgid "Clear transformations" msgstr "" #: links.py:71 -#, fuzzy -#| msgid "Page transformations" msgid "Clone transformations" -msgstr "page transformations" +msgstr "" #: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" @@ -318,6 +321,7 @@ msgid "Recent documents" msgstr "" #: links.py:151 +#| msgid "Transform documents" msgid "Trash can" msgstr "" @@ -328,6 +332,7 @@ msgid "" msgstr "مسح بيانات الرسومات المستخدمة لتسريع عرض الوثائق و نتائج التحويلات." #: links.py:162 +#| msgid "Clear the document image cache" msgid "Clear document image cache" msgstr "" @@ -405,7 +410,8 @@ msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the trash." +"Amount of time after which documents of this type will be moved to the " +"trash." msgstr "" #: models.py:71 @@ -423,10 +429,12 @@ msgid "" msgstr "" #: models.py:81 +#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 +#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -467,6 +475,7 @@ msgstr "" #: models.py:187 #, python-format +#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" @@ -505,19 +514,15 @@ msgstr "" #: models.py:801 msgid "Filename" -msgstr "Filename" +msgstr "اسم الملف" #: models.py:804 -#, fuzzy -#| msgid "Document edited" msgid "Document page cached image" -msgstr "Document edited" +msgstr "" #: models.py:805 -#, fuzzy -#| msgid "Document page transformations" msgid "Document page cached images" -msgstr "document page transformations" +msgstr "" #: models.py:827 msgid "User" @@ -540,6 +545,7 @@ msgid "Delete documents" msgstr "حذف الوثائق" #: permissions.py:16 +#| msgid "Transform documents" msgid "Trash documents" msgstr "" @@ -560,10 +566,12 @@ msgid "Edit document properties" msgstr "تحرير خصائص الوثيقة" #: permissions.py:31 +#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 +#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -601,8 +609,8 @@ msgstr "عرض أنواع الوثائق" #: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per " -"user." +"Maximum number of recent (created, edited, viewed) documents to remember per" +" user." msgstr "أكبر عدد من الوثائق الحديثة للتذكر لكل مستخدم." #: settings.py:40 @@ -657,6 +665,7 @@ msgstr "" #: views/document_type_views.py:38 #, python-format +#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" @@ -666,6 +675,7 @@ msgstr "" #: views/document_type_views.py:77 #, python-format +#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" @@ -681,8 +691,7 @@ msgstr "" #: views/document_type_views.py:139 #, python-format -msgid "" -"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" #: views/document_type_views.py:164 @@ -706,6 +715,7 @@ msgid "All later version after this one will be deleted too." msgstr "سيتم حذف جميع الإصدارات اللاحقة بعد هذا الإصدار أيضا." #: views/document_version_views.py:59 +#| msgid "Revert documents to a previous version" msgid "Revert to this version?" msgstr "" @@ -724,6 +734,7 @@ msgstr "" #: views/document_views.py:100 #, python-format +#| msgid "Document \"%(document)s\" deleted by %(fullname)s." msgid "Document: %(document)s deleted." msgstr "" @@ -746,23 +757,19 @@ msgid "Change" msgstr "" #: views/document_views.py:132 -#, fuzzy -#| msgid "Are you sure you wish to delete the selected document?" -#| msgid_plural "Are you sure you wish to delete the selected documents?" msgid "Change the type of the selected document" msgid_plural "Change the type of the selected documents" -msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" -msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" -msgstr[2] "ee02f3189246f97d6734a407f6f9040b_pl_2" -msgstr[3] "ee02f3189246f97d6734a407f6f9040b_pl_3" -msgstr[4] "ee02f3189246f97d6734a407f6f9040b_pl_4" -msgstr[5] "ee02f3189246f97d6734a407f6f9040b_pl_5" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" #: views/document_views.py:143 -#, fuzzy, python-format -#| msgid "Content of document: %s" +#, python-format msgid "Change the type of the document: %s" -msgstr "versions for document: %s" +msgstr "" #: views/document_views.py:164 #, python-format @@ -780,6 +787,7 @@ msgstr "" #: views/document_views.py:221 #, python-format +#| msgid "Document: %(document)s delete error: %(error)s" msgid "Document: %(document)s restored." msgstr "" @@ -799,6 +807,7 @@ msgstr "" #: views/document_views.py:287 #, python-format +#| msgid "Document deleted successfully." msgid "Document: %(document)s moved to trash successfully." msgstr "" @@ -816,6 +825,7 @@ msgid "Empty trash?" msgstr "" #: views/document_views.py:335 +#| msgid "Document deleted successfully." msgid "Trash emptied successfully" msgstr "" @@ -840,11 +850,9 @@ msgstr[4] "" msgstr[5] "" #: views/document_views.py:541 -#, fuzzy, python-format -#| msgid "Are you sure you wish to reset the page count of this document?" +#, python-format msgid "Recalculate the page count of the document: %s?" msgstr "" -"Are you sure you wish to update the page count for the office documents (%d)?" #: views/document_views.py:558 #, python-format @@ -867,14 +875,9 @@ msgstr[4] "" msgstr[5] "" #: views/document_views.py:580 -#, fuzzy, python-format -#| msgid "" -#| "Are you sure you wish to clear all the page transformations for " -#| "documents: %s?" +#, python-format msgid "Clear all the page transformations for the document: %s?" msgstr "" -"Are you sure you wish to clear all the page transformations for documents: " -"%s?" #: views/document_views.py:595 views/document_views.py:623 #, python-format @@ -884,22 +887,18 @@ msgid "" msgstr "خطأ بمسح التحويلات الخاصة بالوثيقة: %(document)s; %(error)s." #: views/document_views.py:631 -#, fuzzy #| msgid "Document page transformation created successfully." msgid "Transformations cloned successfully." -msgstr "Document page transformation created successfully." +msgstr "" #: views/document_views.py:646 views/document_views.py:701 msgid "Submit" msgstr "ارسال" #: views/document_views.py:648 -#, fuzzy, python-format -#| msgid "" -#| "Error deleting the page transformations for document: %(document)s; " -#| "%(error)s." +#, python-format msgid "Clone page transformations for document: %s" -msgstr "خطأ بمسح التحويلات الخاصة بالوثيقة: %(document)s; %(error)s." +msgstr "" #: views/document_views.py:702 #, python-format @@ -907,6 +906,7 @@ msgid "Print: %s" msgstr "" #: views/misc_views.py:18 +#| msgid "Clear the document image cache" msgid "Clear the document image cache?" msgstr "" @@ -920,22 +920,38 @@ msgid "Page %(page_number)d of %(total_pages)d" msgstr "" #: widgets.py:87 -#, fuzzy #| msgid "Page image" msgid "Clickable image" -msgstr "صورة الصفحة" +msgstr "" #: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "New version block" +#~ msgstr "Version update" + +#~ msgid "New version blocks" +#~ msgstr "Version update" + #~ msgid "Must provide at least one document." -#~ msgstr "يجب أن توفر ما لا يقل عن وثيقة واحدة." +#~ msgstr "Must provide at least one document." + +#~ msgid "Must provide at least one document or version." +#~ msgstr "Must provide at least one document." + +#~ msgid "Documents to be downloaded" +#~ msgstr "documents to be downloaded" + +#~ msgid "Date and time" +#~ msgstr "Date added" #~ msgid "" #~ "All the page transformations for document: %s, have been deleted " #~ "successfully." -#~ msgstr "كل التحويلات الخاصة بالوثيقة: %s, تم مسحها بنجاح." +#~ msgstr "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -1010,11 +1026,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1043,6 +1059,9 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" +#~ msgid "Page transformations" +#~ msgstr "page transformations" + #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -1080,9 +1099,24 @@ msgstr "" #~ msgid "Use dictionaries to indentify arguments, example: {'degrees':90}" #~ msgstr "Use dictionaries to indentify arguments, example: %s" +#~ msgid "Document page transformations" +#~ msgstr "document page transformations" + #~ msgid "documents" #~ msgstr "documents" +#~ msgid "Content of document: %s" +#~ msgstr "versions for document: %s" + +#~ msgid "Are you sure you wish to delete the selected document?" +#~ msgid_plural "Are you sure you wish to delete the selected documents?" +#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" +#~ msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" +#~ msgstr[2] "ee02f3189246f97d6734a407f6f9040b_pl_2" +#~ msgstr[3] "ee02f3189246f97d6734a407f6f9040b_pl_3" +#~ msgstr[4] "ee02f3189246f97d6734a407f6f9040b_pl_4" +#~ msgstr[5] "ee02f3189246f97d6734a407f6f9040b_pl_5" + #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1129,8 +1163,7 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "" -#~ "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1144,11 +1177,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1165,6 +1198,21 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" +#~ msgid "Are you sure you wish to reset the page count of this document?" +#~ msgstr "" +#~ "Are you sure you wish to update the page count for the office documents " +#~ "(%d)?" + +#~ msgid "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" +#~ msgstr "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" + +#~ msgid "Document edited" +#~ msgstr "Document edited" + #~ msgid "Version" #~ msgstr "version" @@ -1177,19 +1225,15 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1246,11 +1290,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1274,11 +1318,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1299,11 +1343,9 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1333,11 +1375,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgid "details" #~ msgstr "details" @@ -1394,17 +1436,15 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1425,6 +1465,9 @@ msgstr "" #~ msgid "clone metadata" #~ msgstr "clone metadata" +#~ msgid "documents of this type" +#~ msgstr "documents of this type" + #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/documents/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/documents/locale/bg/LC_MESSAGES/django.mo index e1c7a6fc8d3c369f874f7b7ecc4d6854d4fd8607..872a29e444bb13f1f0adba66129c8e06017032a9 100644 GIT binary patch delta 1295 zcmY+^T}YEr9LMpqxjCIL7cHE0)coWIpyuluP zhvm4L!J4llOowDlXX3>P)Xq+$cGizRyo=XtB!WtCf4VUjaTFinMz&Re-|-VV7_5>{ zqbl|bz38O8ehgqGhC_6=(z$^v@hh&tIjqA%X3>YcQ4^lzkG{K%s?bx^5zV2#%c9;& zd;{uv2QJ0qxCO6Z04H!A>l-(t`*{(>z4#vWp@%Y*U>j0>a|yMR2$teA)TNt1o#hPP zK?e^X@IDS=C+DH@sbp~!v#|;WP1VLBvlrZ9*u#PNrcHO9j zPbKU}?d&1y?7yJqapoJt$;B_8Hl$-x;;RU)Zwa@GE`Wk({$knuhe{cMazJ}T^*TD4>#|3S^SbOgx2+NDmG#mZwnk#-V&{1pj|}9${R_Zdk?#Ni delta 1448 zcmX}rU1*b69LMp~G<}Vo&Z$$o>9M}IskVu2wYb5o3Iku5Xm4Z}wS9_0Y}F)g-A!tp zt~aBu+1PfmG87#Q1vM*1u`Ns{f@7Y?p`c?3gKmN%s5kS@@9#-jz~&NTHshyQjuV)~8(4692M4hdPow6Y zM~%y)#{Gd2d{AmKri#WRI+o!JtU$}G=~#<8NGs07Hsq|P9p~b1)In1C1`eVE`WBbq zzi2VSB5z_8HUE9ozHQ|hV`kC#hz@Psjl1vw?!fEVj`R3&vHDR9e2r`IdsL*ir~Dg9 zmU)PZ_z5boFoTHA)L|dSa0Q;t(9nW+ro4}e=m9FC=NQ8f`5G!RrU`Yx-=-P!IaU+K zar_Z~!sSe=##?w7AE8qIE9q3m{=`OnjLn!?z^}D5cHt)M#|3yD-^EFcV=?*DxE7?# z>_Lr7qB1p%x}r(cxc^ZBET&W6V>kyt#*LW57WOxnX{@5-DSm~P@OR=x)W9XUwlRmW4x{XEMri1cZlWT4hU>7H zUAE(UsQxeU9FAZcZkboOx)aEr<{NCmpHb`mgPLD4-xzK#$c9p`!z#0us{Mm#6k(}4 zDEe!tEG%H^r_`d2Q*CY3KwU}YyuqF8;i=S7dH6(Ec(h>*QI#!~$^yY>hIjM2=tXka z;2ssxYHAHtFL^mtS$I`qG%0{4vwJ+R$98!MFXeUFWV*A{OD4P1i9}y+GQ7U{RBd@t&DL}> zWe*(cJ-n~WvmGg$@H*(|?eT0^Z)bYH*OSVvsQ9ob+gEv}s=2I`?=JZR zem|oIT;BRenK0o-{XsY8#&egZtt-ow%qj_OI_dZOL+*mRs5!srW5SIycAUjEbu{Q; h5{*#?Q diff --git a/mayan/apps/documents/locale/bg/LC_MESSAGES/django.po b/mayan/apps/documents/locale/bg/LC_MESSAGES/django.po index 42b5160abc..4cfa7e2620 100644 --- a/mayan/apps/documents/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,42 +9,41 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/bg/)\n" -"Language: bg\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 -#: settings.py:13 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 +#: permissions.py:7 settings.py:13 msgid "Documents" msgstr "Документи" #: apps.py:110 +#| msgid "View document types" msgid "New pages this month" msgstr "" #: apps.py:119 -#, fuzzy -#| msgid "documents of this type" +#| msgid "New document filename" msgid "New documents this month" -msgstr "documents of this type" +msgstr "" #: apps.py:128 -#, fuzzy -#| msgid "Edit documents" +#| msgid "Transform documents" msgid "Total documents" -msgstr "Редактиране на документи" +msgstr "" #: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 msgid "Document types" msgstr "" #: apps.py:140 views/document_views.py:69 +#| msgid "Documents in storage: %d" msgid "Documents in trash" msgstr "" @@ -100,14 +99,17 @@ msgid "Comment" msgstr "Коментар" #: apps.py:456 +#| msgid "New document filename" msgid "New documents per month" msgstr "" #: apps.py:463 +#| msgid "Document version reverted successfully" msgid "New document versions per month" msgstr "" #: apps.py:470 +#| msgid "View document types" msgid "New document pages per month" msgstr "" @@ -140,10 +142,12 @@ msgid "Document type changed" msgstr "" #: events.py:21 +#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 +#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -178,7 +182,7 @@ msgstr "" #: forms.py:122 msgid "Unknown" -msgstr "" +msgstr "Неизвестен" #: forms.py:130 msgid "File mimetype" @@ -222,9 +226,13 @@ msgid "Compress" msgstr "Компресиране" #: forms.py:197 +#| msgid "" +#| "ad the document in the original format or in a compressed manner. s ion is " +#| "selectable only when downloading one document, for tiple uments, the bundle " +#| "will always be downloads as a compressed e." msgid "" -"Download the document in the original format or in a compressed manner. This " -"option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This" +" option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" @@ -236,9 +244,7 @@ msgstr "Име на компресирания архив" msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "" -"Името на компресирания архив, съдържащ документите за сваляне, ако " -"предишната опция е избрана." +msgstr "Името на компресирания архив, съдържащ документите за сваляне, ако предишната опция е избрана." #: forms.py:225 literals.py:23 msgid "Page range" @@ -267,10 +273,8 @@ msgid "Clear transformations" msgstr "" #: links.py:71 -#, fuzzy -#| msgid "Page transformations" msgid "Clone transformations" -msgstr "page transformations" +msgstr "" #: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" @@ -317,6 +321,7 @@ msgid "Recent documents" msgstr "" #: links.py:151 +#| msgid "Transform documents" msgid "Trash can" msgstr "" @@ -324,11 +329,10 @@ msgstr "" msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "" -"Изчистване на графичното представяне, използвано да ускори изобразяването на " -"документите и интерактивните промени." +msgstr "Изчистване на графичното представяне, използвано да ускори изобразяването на документите и интерактивните промени." #: links.py:162 +#| msgid "Clear the document image cache" msgid "Clear document image cache" msgstr "" @@ -406,7 +410,8 @@ msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the trash." +"Amount of time after which documents of this type will be moved to the " +"trash." msgstr "" #: models.py:71 @@ -424,10 +429,12 @@ msgid "" msgstr "" #: models.py:81 +#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 +#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -468,6 +475,7 @@ msgstr "" #: models.py:187 #, python-format +#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" @@ -494,9 +502,7 @@ msgstr "" #: models.py:648 #, python-format msgid "Page %(page_num)d out of %(total_pages)d of %(document)s" -msgstr "" -"Страница %(page_num)d от общо %(total_pages)d страници от %(document)s " -"документи." +msgstr "Страница %(page_num)d от общо %(total_pages)d страници от %(document)s документи." #: models.py:664 models.py:799 models.py:816 msgid "Document page" @@ -508,19 +514,15 @@ msgstr "" #: models.py:801 msgid "Filename" -msgstr "Filename" +msgstr "Име на файл" #: models.py:804 -#, fuzzy -#| msgid "Document edited" msgid "Document page cached image" -msgstr "Document edited" +msgstr "" #: models.py:805 -#, fuzzy -#| msgid "Document page transformations" msgid "Document page cached images" -msgstr "document page transformations" +msgstr "" #: models.py:827 msgid "User" @@ -543,6 +545,7 @@ msgid "Delete documents" msgstr "Изтриване на документи" #: permissions.py:16 +#| msgid "Transform documents" msgid "Trash documents" msgstr "" @@ -563,10 +566,12 @@ msgid "Edit document properties" msgstr "Редактиране на свойства на документа" #: permissions.py:31 +#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 +#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -604,38 +609,29 @@ msgstr "Преглед на типовете документи" #: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per " -"user." -msgstr "" -"Максимален брой от скорошни (създадени, редактирани, прегледани) документи, " -"които да се показват на потребителя" +"Maximum number of recent (created, edited, viewed) documents to remember per" +" user." +msgstr "Максимален брой от скорошни (създадени, редактирани, прегледани) документи, които да се показват на потребителя" #: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." -msgstr "" -"Процент приближавани или отдалечаване на страницата на документа, приложен " -"за потребителя" +msgstr "Процент приближавани или отдалечаване на страницата на документа, приложен за потребителя" #: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "" -"Максимален процент (%) допустим за интерактивно увеличаване страницата от " -"потребителя" +msgstr "Максимален процент (%) допустим за интерактивно увеличаване страницата от потребителя" #: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "" -"Минимален процент (%) допустим за интерактивно смаляване страницата от " -"потребителя" +msgstr "Минимален процент (%) допустим за интерактивно смаляване страницата от потребителя" #: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." -msgstr "" -"Градуси на завъртане на страница от документ, при потребителско действие" +msgstr "Градуси на завъртане на страница от документ, при потребителско действие" #: settings.py:70 msgid "Default documents language (in ISO639-2 format)." @@ -669,6 +665,7 @@ msgstr "" #: views/document_type_views.py:38 #, python-format +#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" @@ -678,6 +675,7 @@ msgstr "" #: views/document_type_views.py:77 #, python-format +#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" @@ -693,8 +691,7 @@ msgstr "" #: views/document_type_views.py:139 #, python-format -msgid "" -"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" #: views/document_type_views.py:164 @@ -718,6 +715,7 @@ msgid "All later version after this one will be deleted too." msgstr "Всички версии, следващи тази, ще бъдат изтрити." #: views/document_version_views.py:59 +#| msgid "Revert documents to a previous version" msgid "Revert to this version?" msgstr "" @@ -736,6 +734,7 @@ msgstr "" #: views/document_views.py:100 #, python-format +#| msgid "Document \"%(document)s\" deleted by %(fullname)s." msgid "Document: %(document)s deleted." msgstr "" @@ -758,19 +757,15 @@ msgid "Change" msgstr "" #: views/document_views.py:132 -#, fuzzy -#| msgid "Are you sure you wish to delete the selected document?" -#| msgid_plural "Are you sure you wish to delete the selected documents?" msgid "Change the type of the selected document" msgid_plural "Change the type of the selected documents" -msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" -msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" +msgstr[0] "" +msgstr[1] "" #: views/document_views.py:143 -#, fuzzy, python-format -#| msgid "Content of document: %s" +#, python-format msgid "Change the type of the document: %s" -msgstr "versions for document: %s" +msgstr "" #: views/document_views.py:164 #, python-format @@ -788,6 +783,7 @@ msgstr "" #: views/document_views.py:221 #, python-format +#| msgid "Document: %(document)s delete error: %(error)s" msgid "Document: %(document)s restored." msgstr "" @@ -807,6 +803,7 @@ msgstr "" #: views/document_views.py:287 #, python-format +#| msgid "Document deleted successfully." msgid "Document: %(document)s moved to trash successfully." msgstr "" @@ -824,6 +821,7 @@ msgid "Empty trash?" msgstr "" #: views/document_views.py:335 +#| msgid "Document deleted successfully." msgid "Trash emptied successfully" msgstr "" @@ -844,11 +842,9 @@ msgstr[0] "" msgstr[1] "" #: views/document_views.py:541 -#, fuzzy, python-format -#| msgid "Are you sure you wish to reset the page count of this document?" +#, python-format msgid "Recalculate the page count of the document: %s?" msgstr "" -"Are you sure you wish to update the page count for the office documents (%d)?" #: views/document_views.py:558 #, python-format @@ -867,43 +863,30 @@ msgstr[0] "" msgstr[1] "" #: views/document_views.py:580 -#, fuzzy, python-format -#| msgid "" -#| "Are you sure you wish to clear all the page transformations for " -#| "documents: %s?" +#, python-format msgid "Clear all the page transformations for the document: %s?" msgstr "" -"Are you sure you wish to clear all the page transformations for documents: " -"%s?" #: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "" -"Грешка при изтриването на преобразования на страница на документ " -"%(document)s, %(error)s." +msgstr "Грешка при изтриването на преобразования на страница на документ %(document)s, %(error)s." #: views/document_views.py:631 -#, fuzzy #| msgid "Document page transformation created successfully." msgid "Transformations cloned successfully." -msgstr "Document page transformation created successfully." +msgstr "" #: views/document_views.py:646 views/document_views.py:701 msgid "Submit" msgstr "Подаване" #: views/document_views.py:648 -#, fuzzy, python-format -#| msgid "" -#| "Error deleting the page transformations for document: %(document)s; " -#| "%(error)s." +#, python-format msgid "Clone page transformations for document: %s" msgstr "" -"Грешка при изтриването на преобразования на страница на документ " -"%(document)s, %(error)s." #: views/document_views.py:702 #, python-format @@ -911,6 +894,7 @@ msgid "Print: %s" msgstr "" #: views/misc_views.py:18 +#| msgid "Clear the document image cache" msgid "Clear the document image cache?" msgstr "" @@ -924,23 +908,38 @@ msgid "Page %(page_number)d of %(total_pages)d" msgstr "" #: widgets.py:87 -#, fuzzy #| msgid "Page image" msgid "Clickable image" -msgstr "Изображение на страница" +msgstr "" #: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "New version block" +#~ msgstr "Version update" + +#~ msgid "New version blocks" +#~ msgstr "Version update" + #~ msgid "Must provide at least one document." -#~ msgstr "Трябва да посочите поне един документ." +#~ msgstr "Must provide at least one document." + +#~ msgid "Must provide at least one document or version." +#~ msgstr "Must provide at least one document." + +#~ msgid "Documents to be downloaded" +#~ msgstr "documents to be downloaded" + +#~ msgid "Date and time" +#~ msgstr "Date added" #~ msgid "" #~ "All the page transformations for document: %s, have been deleted " #~ "successfully." #~ msgstr "" -#~ "Всички преобразования на страницата на документ %s бяха изтрити успешно." +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -1015,11 +1014,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1048,6 +1047,9 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" +#~ msgid "Page transformations" +#~ msgstr "page transformations" + #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -1085,9 +1087,20 @@ msgstr "" #~ msgid "Use dictionaries to indentify arguments, example: {'degrees':90}" #~ msgstr "Use dictionaries to indentify arguments, example: %s" +#~ msgid "Document page transformations" +#~ msgstr "document page transformations" + #~ msgid "documents" #~ msgstr "documents" +#~ msgid "Content of document: %s" +#~ msgstr "versions for document: %s" + +#~ msgid "Are you sure you wish to delete the selected document?" +#~ msgid_plural "Are you sure you wish to delete the selected documents?" +#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" +#~ msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" + #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1134,8 +1147,7 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "" -#~ "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1149,11 +1161,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1170,6 +1182,21 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" +#~ msgid "Are you sure you wish to reset the page count of this document?" +#~ msgstr "" +#~ "Are you sure you wish to update the page count for the office documents " +#~ "(%d)?" + +#~ msgid "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" +#~ msgstr "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" + +#~ msgid "Document edited" +#~ msgstr "Document edited" + #~ msgid "Version" #~ msgstr "version" @@ -1182,19 +1209,15 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1251,11 +1274,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1279,11 +1302,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1304,11 +1327,9 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1338,11 +1359,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgid "details" #~ msgstr "details" @@ -1399,17 +1420,15 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1430,6 +1449,9 @@ msgstr "" #~ msgid "clone metadata" #~ msgstr "clone metadata" +#~ msgid "documents of this type" +#~ msgstr "documents of this type" + #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/documents/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/documents/locale/bs_BA/LC_MESSAGES/django.mo index 5e1d760b00fcbbc80cfe5072020663cd7a5828a1..78ae4f0ce242aedf41f294c6489734a3b2350662 100644 GIT binary patch delta 1310 zcmZY8Pe>GD7{~EvTUS?CGu=!}t+muP)6{9zT(BrfkxERklOc;JNwpf8rH2OcbX0p=N2%8udo2$W}9oZ zoUCyp7yn=(`gvOe31cxYx$zeme&Zqz6?< zKPulS?!x4zuFY|x#E!MA?lKtOOpRzi=p+LJor)%ueNHTHRyBo~+ zdGB+(ec8#2$?@ySR4BAq(ALltYjBz)%}(5LQg1@#|L(NLofhv$=!MVwQZV5U^d@G; bro7Igh|ilX?(_wFM<&K+l8MRGyYTQ|DYA2! delta 1445 zcmXxjNoZ3+9LMpAt){l=X5E)MtyWuYHBGc?5JAM9dZ-I1T6sxcHEo(`ULsV%90WlG z5pq#*?Lh=RR03YbgB}$1BzSPUDR^)}L_CP!U-}$6?=$apw*P-7f0o_tyxd*fV~lB> zYRqOF#BF#BYw#0#_zi=YoHqGAjV-(va28&`CcKFYaRO`c1!~+IRKJg?e!s8|gF#a? z^)y=OwG7*EI_|(m96)U(jx%rstMM$(#dD~QT*C&OKn3&&mtq5hEk>~!_o2oQq1GL# zDH=1A#uy*8@Fm|XxS#iN9Khdr0C&@AiN2#IdW!4uIV$369L}aVhnWz2YHZ9lS1`7iRyO|wbARSRF30PoIow`8u>FH zcxWSEQ33r%%@^V#%x8TwbFyJpqbA;kTk$Zi#BprLm;V31qb97Pv-*d4D3Vsx9f_g- z-;X-N19%kgqmD2{r^T2+-9K}VhEjJC>0_QDNilCx6Mexs_!D*ZA;M6EVN75QwZR*x zj66n-dy3lFD`cqof?fC*IYHA+)%uk|9eVMLZniFoE{+yb2~m{|9gT`oxPn?m)goM< zO5s{m(yRqlNS0Y$X-)n#7tsz=t^ch!g+>pRW2qEH81>uBv6HHESJ6#hRcUb%eTA~4 zUy+J#z0#|q8?QSNp(;ad)Y(+s7tUT~h3VtDmfA~I+LU@7!~e3*Z*-MjRBxG*PM6LG zyV|^Nd)ztY+PLdxY|>4;c{gdjLL%XM-cTW(9xK;R-B?u~sHqLK_ZPgpJ(0_vN+n(E zj%GHknNnM%_%ld}#X4K-rk-_)P^ImwQEX)bqn+*+!I-E!|P(v zX!(5IgTRKpES%3d8E+_?8+8(?Vb^+kPbD0C+F{m_%B(Tl!8W~uEqEt}-6yv**>ZRN pnX2-`rrCkk{%p>%@l-x#<4(>UwZm@GArgOR`C0SUKxuAE{2x{sr#k=u diff --git a/mayan/apps/documents/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/documents/locale/bs_BA/LC_MESSAGES/django.po index aea9d7108e..fc2edbcd61 100644 --- a/mayan/apps/documents/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,43 +9,41 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" -"rosarior/mayan-edms/language/bs_BA/)\n" -"Language: bs_BA\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 -#: settings.py:13 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 +#: permissions.py:7 settings.py:13 msgid "Documents" msgstr "Dokumenti" #: apps.py:110 +#| msgid "View document types" msgid "New pages this month" msgstr "" #: apps.py:119 -#, fuzzy -#| msgid "documents of this type" +#| msgid "New document filename" msgid "New documents this month" -msgstr "documents of this type" +msgstr "" #: apps.py:128 -#, fuzzy -#| msgid "Edit documents" +#| msgid "Transform documents" msgid "Total documents" -msgstr "Izmijeni dokument" +msgstr "" #: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 msgid "Document types" msgstr "" #: apps.py:140 views/document_views.py:69 +#| msgid "Documents in storage: %d" msgid "Documents in trash" msgstr "" @@ -101,14 +99,17 @@ msgid "Comment" msgstr "Komentar" #: apps.py:456 +#| msgid "New document filename" msgid "New documents per month" msgstr "" #: apps.py:463 +#| msgid "Document version reverted successfully" msgid "New document versions per month" msgstr "" #: apps.py:470 +#| msgid "View document types" msgid "New document pages per month" msgstr "" @@ -141,10 +142,12 @@ msgid "Document type changed" msgstr "" #: events.py:21 +#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 +#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -179,7 +182,7 @@ msgstr "" #: forms.py:122 msgid "Unknown" -msgstr "" +msgstr "Nepoznat" #: forms.py:130 msgid "File mimetype" @@ -223,9 +226,13 @@ msgid "Compress" msgstr "Kompresuj" #: forms.py:197 +#| msgid "" +#| "ad the document in the original format or in a compressed manner. s ion is " +#| "selectable only when downloading one document, for tiple uments, the bundle " +#| "will always be downloads as a compressed e." msgid "" -"Download the document in the original format or in a compressed manner. This " -"option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This" +" option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" @@ -237,9 +244,7 @@ msgstr "Naziv kompresovane datoteke" msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "" -"Naziv kompresovane datoteke koji sadrži dokumente koji su za download, ako " -"je ova opcija odabrana." +msgstr "Naziv kompresovane datoteke koji sadrži dokumente koji su za download, ako je ova opcija odabrana." #: forms.py:225 literals.py:23 msgid "Page range" @@ -268,10 +273,8 @@ msgid "Clear transformations" msgstr "" #: links.py:71 -#, fuzzy -#| msgid "Page transformations" msgid "Clone transformations" -msgstr "page transformations" +msgstr "" #: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" @@ -318,6 +321,7 @@ msgid "Recent documents" msgstr "" #: links.py:151 +#| msgid "Transform documents" msgid "Trash can" msgstr "" @@ -325,11 +329,10 @@ msgstr "" msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "" -"Obriši grafičku prezentaciju korištenu za ubrzanje prikaza dokumenata i " -"interaktivnu transformaciju rezultata." +msgstr "Obriši grafičku prezentaciju korištenu za ubrzanje prikaza dokumenata i interaktivnu transformaciju rezultata." #: links.py:162 +#| msgid "Clear the document image cache" msgid "Clear document image cache" msgstr "" @@ -407,7 +410,8 @@ msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the trash." +"Amount of time after which documents of this type will be moved to the " +"trash." msgstr "" #: models.py:71 @@ -425,10 +429,12 @@ msgid "" msgstr "" #: models.py:81 +#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 +#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -469,6 +475,7 @@ msgstr "" #: models.py:187 #, python-format +#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" @@ -507,19 +514,15 @@ msgstr "" #: models.py:801 msgid "Filename" -msgstr "Filename" +msgstr "Naziv datoteke" #: models.py:804 -#, fuzzy -#| msgid "Document edited" msgid "Document page cached image" -msgstr "Document edited" +msgstr "" #: models.py:805 -#, fuzzy -#| msgid "Document page transformations" msgid "Document page cached images" -msgstr "document page transformations" +msgstr "" #: models.py:827 msgid "User" @@ -542,6 +545,7 @@ msgid "Delete documents" msgstr "Obriši dokumente" #: permissions.py:16 +#| msgid "Transform documents" msgid "Trash documents" msgstr "" @@ -562,10 +566,12 @@ msgid "Edit document properties" msgstr "Izmijeni osobine dokumenta" #: permissions.py:31 +#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 +#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -603,11 +609,9 @@ msgstr "Pregledaj tipove dokumenata" #: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per " -"user." -msgstr "" -"Maksimalni broj nedavnih (kreiran, izmijenjen, pregledan) dokumenata za " -"pamćenje po korisniku." +"Maximum number of recent (created, edited, viewed) documents to remember per" +" user." +msgstr "Maksimalni broj nedavnih (kreiran, izmijenjen, pregledan) dokumenata za pamćenje po korisniku." #: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." @@ -617,17 +621,13 @@ msgstr "Iznos u procentima zumiranja stranice dokumenta po korisničkoj sesiji." msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "" -"Maksimalni dozvoljeni iznos u procentima (%) korisniku da zumira stranicu " -"dokumenta." +msgstr "Maksimalni dozvoljeni iznos u procentima (%) korisniku da zumira stranicu dokumenta." #: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "" -"Minimalni dozvoljeni iznos u procentima (%) po korisniku da zumira stranicu " -"dokumenta." +msgstr "Minimalni dozvoljeni iznos u procentima (%) po korisniku da zumira stranicu dokumenta." #: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." @@ -665,6 +665,7 @@ msgstr "" #: views/document_type_views.py:38 #, python-format +#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" @@ -674,6 +675,7 @@ msgstr "" #: views/document_type_views.py:77 #, python-format +#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" @@ -689,8 +691,7 @@ msgstr "" #: views/document_type_views.py:139 #, python-format -msgid "" -"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" #: views/document_type_views.py:164 @@ -714,6 +715,7 @@ msgid "All later version after this one will be deleted too." msgstr "Sve naknadne verzije nakon ove će također biti obrisane." #: views/document_version_views.py:59 +#| msgid "Revert documents to a previous version" msgid "Revert to this version?" msgstr "" @@ -732,6 +734,7 @@ msgstr "" #: views/document_views.py:100 #, python-format +#| msgid "Document \"%(document)s\" deleted by %(fullname)s." msgid "Document: %(document)s deleted." msgstr "" @@ -754,20 +757,16 @@ msgid "Change" msgstr "" #: views/document_views.py:132 -#, fuzzy -#| msgid "Are you sure you wish to delete the selected document?" -#| msgid_plural "Are you sure you wish to delete the selected documents?" msgid "Change the type of the selected document" msgid_plural "Change the type of the selected documents" -msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" -msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" -msgstr[2] "ee02f3189246f97d6734a407f6f9040b_pl_2" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" #: views/document_views.py:143 -#, fuzzy, python-format -#| msgid "Content of document: %s" +#, python-format msgid "Change the type of the document: %s" -msgstr "versions for document: %s" +msgstr "" #: views/document_views.py:164 #, python-format @@ -785,6 +784,7 @@ msgstr "" #: views/document_views.py:221 #, python-format +#| msgid "Document: %(document)s delete error: %(error)s" msgid "Document: %(document)s restored." msgstr "" @@ -804,6 +804,7 @@ msgstr "" #: views/document_views.py:287 #, python-format +#| msgid "Document deleted successfully." msgid "Document: %(document)s moved to trash successfully." msgstr "" @@ -821,6 +822,7 @@ msgid "Empty trash?" msgstr "" #: views/document_views.py:335 +#| msgid "Document deleted successfully." msgid "Trash emptied successfully" msgstr "" @@ -842,11 +844,9 @@ msgstr[1] "" msgstr[2] "" #: views/document_views.py:541 -#, fuzzy, python-format -#| msgid "Are you sure you wish to reset the page count of this document?" +#, python-format msgid "Recalculate the page count of the document: %s?" msgstr "" -"Are you sure you wish to update the page count for the office documents (%d)?" #: views/document_views.py:558 #, python-format @@ -866,14 +866,9 @@ msgstr[1] "" msgstr[2] "" #: views/document_views.py:580 -#, fuzzy, python-format -#| msgid "" -#| "Are you sure you wish to clear all the page transformations for " -#| "documents: %s?" +#, python-format msgid "Clear all the page transformations for the document: %s?" msgstr "" -"Are you sure you wish to clear all the page transformations for documents: " -"%s?" #: views/document_views.py:595 views/document_views.py:623 #, python-format @@ -883,22 +878,18 @@ msgid "" msgstr "Greška brisanja transformacija za dokument: %(document)s; %(error)s." #: views/document_views.py:631 -#, fuzzy #| msgid "Document page transformation created successfully." msgid "Transformations cloned successfully." -msgstr "Document page transformation created successfully." +msgstr "" #: views/document_views.py:646 views/document_views.py:701 msgid "Submit" msgstr "Podnijeti" #: views/document_views.py:648 -#, fuzzy, python-format -#| msgid "" -#| "Error deleting the page transformations for document: %(document)s; " -#| "%(error)s." +#, python-format msgid "Clone page transformations for document: %s" -msgstr "Greška brisanja transformacija za dokument: %(document)s; %(error)s." +msgstr "" #: views/document_views.py:702 #, python-format @@ -906,6 +897,7 @@ msgid "Print: %s" msgstr "" #: views/misc_views.py:18 +#| msgid "Clear the document image cache" msgid "Clear the document image cache?" msgstr "" @@ -919,22 +911,38 @@ msgid "Page %(page_number)d of %(total_pages)d" msgstr "" #: widgets.py:87 -#, fuzzy #| msgid "Page image" msgid "Clickable image" -msgstr "Slika za stranicu" +msgstr "" #: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "New version block" +#~ msgstr "Version update" + +#~ msgid "New version blocks" +#~ msgstr "Version update" + #~ msgid "Must provide at least one document." -#~ msgstr "Mora biti barem jedan dokument." +#~ msgstr "Must provide at least one document." + +#~ msgid "Must provide at least one document or version." +#~ msgstr "Must provide at least one document." + +#~ msgid "Documents to be downloaded" +#~ msgstr "documents to be downloaded" + +#~ msgid "Date and time" +#~ msgstr "Date added" #~ msgid "" #~ "All the page transformations for document: %s, have been deleted " #~ "successfully." -#~ msgstr "Sve transformacije stranica za dokument: %s, su uspješno obrisane." +#~ msgstr "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -1009,11 +1017,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1042,6 +1050,9 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" +#~ msgid "Page transformations" +#~ msgstr "page transformations" + #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -1079,9 +1090,21 @@ msgstr "" #~ msgid "Use dictionaries to indentify arguments, example: {'degrees':90}" #~ msgstr "Use dictionaries to indentify arguments, example: %s" +#~ msgid "Document page transformations" +#~ msgstr "document page transformations" + #~ msgid "documents" #~ msgstr "documents" +#~ msgid "Content of document: %s" +#~ msgstr "versions for document: %s" + +#~ msgid "Are you sure you wish to delete the selected document?" +#~ msgid_plural "Are you sure you wish to delete the selected documents?" +#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" +#~ msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" +#~ msgstr[2] "ee02f3189246f97d6734a407f6f9040b_pl_2" + #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1128,8 +1151,7 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "" -#~ "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1143,11 +1165,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1164,6 +1186,21 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" +#~ msgid "Are you sure you wish to reset the page count of this document?" +#~ msgstr "" +#~ "Are you sure you wish to update the page count for the office documents " +#~ "(%d)?" + +#~ msgid "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" +#~ msgstr "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" + +#~ msgid "Document edited" +#~ msgstr "Document edited" + #~ msgid "Version" #~ msgstr "version" @@ -1176,19 +1213,15 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1245,11 +1278,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1273,11 +1306,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1298,11 +1331,9 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1332,11 +1363,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgid "details" #~ msgstr "details" @@ -1393,17 +1424,15 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1424,6 +1453,9 @@ msgstr "" #~ msgid "clone metadata" #~ msgstr "clone metadata" +#~ msgid "documents of this type" +#~ msgstr "documents of this type" + #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/documents/locale/da/LC_MESSAGES/django.mo b/mayan/apps/documents/locale/da/LC_MESSAGES/django.mo index 4e86032127d193b91863ce88b59848da40cc8d91..b71296b3a0156934dca46a5804c4a67817857948 100644 GIT binary patch delta 1258 zcmYk+OGs2v9LMqhO{a01M~*gTS!rowR!+`sCTm*6P+Cw#*^7vXAqq2_je|X5pcW-W zEv$A0Mg-YLxT{vuiy#YXQP8F!sD+DG32lPDzwtsIIDXDKbI;@dKL#FY> zB}-jKedU<##K9{5P;OMu{x*Vn`jgm;PQa`Nci|B3#~{A;$KPW;{m+=dX{<$?Kf6yH z7nqeTMMD#}pgzo_K0Jb9?8hjUFo{<&gimlGdZ>fE#5#P3jra|9fIk?+2%GH1CTzn2 zY+--9O(V|01QMLRKyCO27vU$=hSR8xe*68uc!++G!9F~Whj9Y6PLN5PF@i*DJ-+*p zWY{rGu)h^(B=J06#0R(r8=0kr^1i*Oh<2kQI)N@0@g~hGv4m_c1tfJIo_;N9U;yO(5bqD5gF`h-e&uhphb{#eEp5GrwZpWUX zB7Kera0(A%Gtud)O10!)cQM6)Quh%RL5K$-8&JQu;!^Cu6z;%b970{yG%B)s(!zVQ zMr6pEk>pq!v$zepsmkHBp59+2HEU6?Rz;EN;VE)O-9^>=SWR`QN_9I`8?{okv5Kxn zMHy02X4$WD03C8Ab#BSfDbJfTqExP@>f|j{vQ;U%!?fRS#y09ksv=UBNLr;V_f^Jp z9m>=Oe@y>d5`J4Op>j2`*@xo)&^da)daKtS$W#S;&kUX_7S4G`Ya)&}68h;xyF0rw too>1%?dDu}^h&tt|H!7CoAn-rdmOJL+EJm zv^HV}ao=Z57asKUMLQEPrWMa(H$KBoY$!2iCGNs9yowpTfu$H8{kOjbCvd+MC*c~b z#+}G~1+$NfARPm!7tf#`yoh@6Hjc%ISb;CG0YBmxtmdUEtU)cL5yxX3r{YS~0=8i# zW>AS7!FuL5kGZgPe8+J(g;7Y-gisSU;Y3`5nsANhX57HNgKP07Zp2C+nxlTyILB}i zoK6 z-=Njk5<0l^2rBx&HFKqMtIZ@Di55ai_uJXkQHSL+otx{QnZ8mYj^dAi@ z9_70Iq0&%oCTw^0GbRyU1q_V}5F~h!!wn%exBo?>PSVwD1|Igrb^+Y4FMK;>r z5sw$^#;)*{xvpa~4AlRkvbLO6ID74O*U3BC;+FEQ{^Fggpl?=ZYG-fW_VuQc%rkf? UYu_C@&L^4Pt=WqAs;~I|0EsJ|5dZ)H diff --git a/mayan/apps/documents/locale/da/LC_MESSAGES/django.po b/mayan/apps/documents/locale/da/LC_MESSAGES/django.po index b64e128958..ced77ea0cd 100644 --- a/mayan/apps/documents/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/da/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,42 +9,41 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" -"da/)\n" -"Language: da\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 -#: settings.py:13 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 +#: permissions.py:7 settings.py:13 msgid "Documents" msgstr "Dokumenter" #: apps.py:110 +#| msgid "View document types" msgid "New pages this month" msgstr "" #: apps.py:119 -#, fuzzy -#| msgid "documents of this type" +#| msgid "New document filename" msgid "New documents this month" -msgstr "documents of this type" +msgstr "" #: apps.py:128 -#, fuzzy -#| msgid "Edit documents" +#| msgid "Transform documents" msgid "Total documents" -msgstr "Redigér dokumenter" +msgstr "" #: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 msgid "Document types" msgstr "" #: apps.py:140 views/document_views.py:69 +#| msgid "Documents in storage: %d" msgid "Documents in trash" msgstr "" @@ -100,14 +99,17 @@ msgid "Comment" msgstr "Kommentar" #: apps.py:456 +#| msgid "New document filename" msgid "New documents per month" msgstr "" #: apps.py:463 +#| msgid "Document version reverted successfully" msgid "New document versions per month" msgstr "" #: apps.py:470 +#| msgid "View document types" msgid "New document pages per month" msgstr "" @@ -140,10 +142,12 @@ msgid "Document type changed" msgstr "" #: events.py:21 +#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 +#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -222,9 +226,13 @@ msgid "Compress" msgstr "Komprimér" #: forms.py:197 +#| msgid "" +#| "ad the document in the original format or in a compressed manner. s ion is " +#| "selectable only when downloading one document, for tiple uments, the bundle " +#| "will always be downloads as a compressed e." msgid "" -"Download the document in the original format or in a compressed manner. This " -"option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This" +" option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" @@ -236,9 +244,7 @@ msgstr "Pakket filnavn" msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "" -"Filnavnet for den pakkede fil, der vil indeholde dokumenterne til download. " -"Dette hvis den tidligere mulighed er valg." +msgstr "Filnavnet for den pakkede fil, der vil indeholde dokumenterne til download. Dette hvis den tidligere mulighed er valg." #: forms.py:225 literals.py:23 msgid "Page range" @@ -267,10 +273,8 @@ msgid "Clear transformations" msgstr "" #: links.py:71 -#, fuzzy -#| msgid "Page transformations" msgid "Clone transformations" -msgstr "page transformations" +msgstr "" #: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" @@ -317,6 +321,7 @@ msgid "Recent documents" msgstr "" #: links.py:151 +#| msgid "Transform documents" msgid "Trash can" msgstr "" @@ -324,11 +329,10 @@ msgstr "" msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "" -"Fjern grafiske repræsentationer brugt til at fremskynde visning af de " -"dokumenter og interaktivt transformerede resultater." +msgstr "Fjern grafiske repræsentationer brugt til at fremskynde visning af de dokumenter og interaktivt transformerede resultater." #: links.py:162 +#| msgid "Clear the document image cache" msgid "Clear document image cache" msgstr "" @@ -406,7 +410,8 @@ msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the trash." +"Amount of time after which documents of this type will be moved to the " +"trash." msgstr "" #: models.py:71 @@ -424,10 +429,12 @@ msgid "" msgstr "" #: models.py:81 +#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 +#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -468,6 +475,7 @@ msgstr "" #: models.py:187 #, python-format +#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" @@ -506,19 +514,15 @@ msgstr "" #: models.py:801 msgid "Filename" -msgstr "Filename" +msgstr "Filnavn" #: models.py:804 -#, fuzzy -#| msgid "Document edited" msgid "Document page cached image" -msgstr "Document edited" +msgstr "" #: models.py:805 -#, fuzzy -#| msgid "Document page transformations" msgid "Document page cached images" -msgstr "document page transformations" +msgstr "" #: models.py:827 msgid "User" @@ -541,6 +545,7 @@ msgid "Delete documents" msgstr "Slet dokumenter" #: permissions.py:16 +#| msgid "Transform documents" msgid "Trash documents" msgstr "" @@ -561,10 +566,12 @@ msgid "Edit document properties" msgstr "Redigér dokumentegenskaber" #: permissions.py:31 +#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 +#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -602,11 +609,9 @@ msgstr "Vis dokumenttyper" #: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per " -"user." -msgstr "" -"Maksimalt antal seneste (oprettet, redigeret, set) dokumenter der huskes per " -"bruger." +"Maximum number of recent (created, edited, viewed) documents to remember per" +" user." +msgstr "Maksimalt antal seneste (oprettet, redigeret, set) dokumenter der huskes per bruger." #: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." @@ -616,17 +621,13 @@ msgstr "Procent zoom ind eller ud af en dokument side pr brugerinteraktion." msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "" -"Maksimal mængde i procent (%) en bruger kan zoome i et dokuments side " -"interaktivt." +msgstr "Maksimal mængde i procent (%) en bruger kan zoome i et dokuments side interaktivt." #: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "" -"Minimum procent (%) en brugeren er tilladt at zoome ud af en dokumentside " -"interaktivt." +msgstr "Minimum procent (%) en brugeren er tilladt at zoome ud af en dokumentside interaktivt." #: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." @@ -664,6 +665,7 @@ msgstr "" #: views/document_type_views.py:38 #, python-format +#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" @@ -673,6 +675,7 @@ msgstr "" #: views/document_type_views.py:77 #, python-format +#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" @@ -688,8 +691,7 @@ msgstr "" #: views/document_type_views.py:139 #, python-format -msgid "" -"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" #: views/document_type_views.py:164 @@ -713,6 +715,7 @@ msgid "All later version after this one will be deleted too." msgstr "Alle senere versioner af denne vil også blive slettet." #: views/document_version_views.py:59 +#| msgid "Revert documents to a previous version" msgid "Revert to this version?" msgstr "" @@ -731,6 +734,7 @@ msgstr "" #: views/document_views.py:100 #, python-format +#| msgid "Document \"%(document)s\" deleted by %(fullname)s." msgid "Document: %(document)s deleted." msgstr "" @@ -753,19 +757,15 @@ msgid "Change" msgstr "" #: views/document_views.py:132 -#, fuzzy -#| msgid "Are you sure you wish to delete the selected document?" -#| msgid_plural "Are you sure you wish to delete the selected documents?" msgid "Change the type of the selected document" msgid_plural "Change the type of the selected documents" -msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" -msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" +msgstr[0] "" +msgstr[1] "" #: views/document_views.py:143 -#, fuzzy, python-format -#| msgid "Content of document: %s" +#, python-format msgid "Change the type of the document: %s" -msgstr "versions for document: %s" +msgstr "" #: views/document_views.py:164 #, python-format @@ -783,6 +783,7 @@ msgstr "" #: views/document_views.py:221 #, python-format +#| msgid "Document: %(document)s delete error: %(error)s" msgid "Document: %(document)s restored." msgstr "" @@ -802,6 +803,7 @@ msgstr "" #: views/document_views.py:287 #, python-format +#| msgid "Document deleted successfully." msgid "Document: %(document)s moved to trash successfully." msgstr "" @@ -819,6 +821,7 @@ msgid "Empty trash?" msgstr "" #: views/document_views.py:335 +#| msgid "Document deleted successfully." msgid "Trash emptied successfully" msgstr "" @@ -839,11 +842,9 @@ msgstr[0] "" msgstr[1] "" #: views/document_views.py:541 -#, fuzzy, python-format -#| msgid "Are you sure you wish to reset the page count of this document?" +#, python-format msgid "Recalculate the page count of the document: %s?" msgstr "" -"Are you sure you wish to update the page count for the office documents (%d)?" #: views/document_views.py:558 #, python-format @@ -862,43 +863,30 @@ msgstr[0] "" msgstr[1] "" #: views/document_views.py:580 -#, fuzzy, python-format -#| msgid "" -#| "Are you sure you wish to clear all the page transformations for " -#| "documents: %s?" +#, python-format msgid "Clear all the page transformations for the document: %s?" msgstr "" -"Are you sure you wish to clear all the page transformations for documents: " -"%s?" #: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "" -"Fejl ved sletning af sidens transformationer for dokument: %(document)s ; " -"%(error)s ." +msgstr "Fejl ved sletning af sidens transformationer for dokument: %(document)s ; %(error)s ." #: views/document_views.py:631 -#, fuzzy #| msgid "Document page transformation created successfully." msgid "Transformations cloned successfully." -msgstr "Document page transformation created successfully." +msgstr "" #: views/document_views.py:646 views/document_views.py:701 msgid "Submit" msgstr "" #: views/document_views.py:648 -#, fuzzy, python-format -#| msgid "" -#| "Error deleting the page transformations for document: %(document)s; " -#| "%(error)s." +#, python-format msgid "Clone page transformations for document: %s" msgstr "" -"Fejl ved sletning af sidens transformationer for dokument: %(document)s ; " -"%(error)s ." #: views/document_views.py:702 #, python-format @@ -906,6 +894,7 @@ msgid "Print: %s" msgstr "" #: views/misc_views.py:18 +#| msgid "Clear the document image cache" msgid "Clear the document image cache?" msgstr "" @@ -919,22 +908,38 @@ msgid "Page %(page_number)d of %(total_pages)d" msgstr "" #: widgets.py:87 -#, fuzzy #| msgid "Page image" msgid "Clickable image" -msgstr "Side billede" +msgstr "" #: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "New version block" +#~ msgstr "Version update" + +#~ msgid "New version blocks" +#~ msgstr "Version update" + #~ msgid "Must provide at least one document." -#~ msgstr "Angiv mindst ét ​​dokument." +#~ msgstr "Must provide at least one document." + +#~ msgid "Must provide at least one document or version." +#~ msgstr "Must provide at least one document." + +#~ msgid "Documents to be downloaded" +#~ msgstr "documents to be downloaded" + +#~ msgid "Date and time" +#~ msgstr "Date added" #~ msgid "" #~ "All the page transformations for document: %s, have been deleted " #~ "successfully." -#~ msgstr "Alle side transformationer for dokument: %s, er blevet slettet." +#~ msgstr "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -1009,11 +1014,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1042,6 +1047,9 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" +#~ msgid "Page transformations" +#~ msgstr "page transformations" + #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -1079,9 +1087,20 @@ msgstr "" #~ msgid "Use dictionaries to indentify arguments, example: {'degrees':90}" #~ msgstr "Use dictionaries to indentify arguments, example: %s" +#~ msgid "Document page transformations" +#~ msgstr "document page transformations" + #~ msgid "documents" #~ msgstr "documents" +#~ msgid "Content of document: %s" +#~ msgstr "versions for document: %s" + +#~ msgid "Are you sure you wish to delete the selected document?" +#~ msgid_plural "Are you sure you wish to delete the selected documents?" +#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" +#~ msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" + #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1128,8 +1147,7 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "" -#~ "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1143,11 +1161,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1164,6 +1182,21 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" +#~ msgid "Are you sure you wish to reset the page count of this document?" +#~ msgstr "" +#~ "Are you sure you wish to update the page count for the office documents " +#~ "(%d)?" + +#~ msgid "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" +#~ msgstr "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" + +#~ msgid "Document edited" +#~ msgstr "Document edited" + #~ msgid "Version" #~ msgstr "version" @@ -1176,19 +1209,15 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1245,11 +1274,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1273,11 +1302,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1298,11 +1327,9 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1332,11 +1359,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgid "details" #~ msgstr "details" @@ -1393,17 +1420,15 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1424,6 +1449,9 @@ msgstr "" #~ msgid "clone metadata" #~ msgstr "clone metadata" +#~ msgid "documents of this type" +#~ msgstr "documents of this type" + #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/documents/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/documents/locale/de_DE/LC_MESSAGES/django.mo index 7e472a896e2998dbf1e1a1b99b897a9caf8c5230..32df311e8cb34b8a9d3988c93eb48360cce95832 100644 GIT binary patch delta 4223 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 ZjRfLmL7, 2015-2016 +# Jesaja Everling , 2017 # Mathias Behrle , 2015 # Tobias Paepke , 2016 msgid "" @@ -12,44 +13,41 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-31 19:06+0000\n" -"Last-Translator: Tobias Paepke \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" -"edms/language/de_DE/)\n" -"Language: de_DE\n" +"PO-Revision-Date: 2017-04-24 22:24+0000\n" +"Last-Translator: Jesaja Everling \n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 -#: settings.py:13 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 +#: permissions.py:7 settings.py:13 msgid "Documents" msgstr "Dokumente" #: apps.py:110 -#, fuzzy -#| msgid "New document pages per month" +#| msgid "View document types" msgid "New pages this month" -msgstr "Neue Dokumentenseiten pro Monat" +msgstr "Neue Seiten in diesem Monat" #: apps.py:119 -#, fuzzy -#| msgid "New documents per month" +#| msgid "New document filename" msgid "New documents this month" -msgstr "Neue Dokumente pro Monat" +msgstr "Neue Dokumente in diesem Monat" #: apps.py:128 -#, fuzzy -#| msgid "Trash documents" +#| msgid "Transform documents" msgid "Total documents" -msgstr "Dokumente in den Papierkorb verschieben" +msgstr "Alle Dokumente" #: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 msgid "Document types" msgstr "Dokumententypen" #: apps.py:140 views/document_views.py:69 +#| msgid "Documents in storage: %d" msgid "Documents in trash" msgstr "Dokumente im Papierkorb" @@ -61,9 +59,7 @@ msgstr "Dokumententyp erstellen" msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." -msgstr "" -"Jedes hochgeladene Dokument muss einen Dokumententyp zugewiesen bekommen, da " -"Mayan EDMS Dokumente auf der Grundlage von Dokumententypen kategorisiert. " +msgstr "Jedes hochgeladene Dokument muss einen Dokumententyp zugewiesen bekommen, da Mayan EDMS Dokumente auf der Grundlage von Dokumententypen kategorisiert. " #: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 #: search.py:39 @@ -107,14 +103,17 @@ msgid "Comment" msgstr "Kommentar" #: apps.py:456 +#| msgid "New document filename" msgid "New documents per month" msgstr "Neue Dokumente pro Monat" #: apps.py:463 +#| msgid "Document version reverted successfully" msgid "New document versions per month" msgstr "Neue Dokumentenversionen pro Monat" #: apps.py:470 +#| msgid "View document types" msgid "New document pages per month" msgstr "Neue Dokumentenseiten pro Monat" @@ -147,10 +146,12 @@ msgid "Document type changed" msgstr "Dokumententyp geändert" #: events.py:21 +#| msgid "Version update" msgid "New version uploaded" msgstr "Neue Dokumentenversion hochgeladen." #: events.py:25 +#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "Dokumentenversion wurde erfolgreich wiederhergestellt" @@ -185,7 +186,7 @@ msgstr "Sprache" #: forms.py:122 msgid "Unknown" -msgstr "" +msgstr "Unbekannt" #: forms.py:130 msgid "File mimetype" @@ -229,14 +230,15 @@ msgid "Compress" msgstr "Komprimieren" #: forms.py:197 +#| msgid "" +#| "ad the document in the original format or in a compressed manner. s ion is " +#| "selectable only when downloading one document, for tiple uments, the bundle " +#| "will always be downloads as a compressed e." msgid "" -"Download the document in the original format or in a compressed manner. This " -"option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This" +" option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." -msgstr "" -"Datei im Originalformat oder als komprimiertes Archiv herunterladen. Diese " -"Option ist nur wählbar, wenn ein einzelnes Dokument heruntergeladen wird. " -"Mehrere Dateien werden immer als komprimiertes Archiv heruntergeladen." +msgstr "Datei im Originalformat oder als komprimiertes Archiv herunterladen. Diese Option ist nur wählbar, wenn ein einzelnes Dokument heruntergeladen wird. Mehrere Dateien werden immer als komprimiertes Archiv heruntergeladen." #: forms.py:204 msgid "Compressed filename" @@ -246,9 +248,7 @@ msgstr "Name der komprimierten Datei" msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "" -"Name der komprimierten Datei, die die Dokumente zum Download beeinhaltet, " -"wenn die vorherige Option gewählt wurde." +msgstr "Name der komprimierten Datei, die die Dokumente zum Download beeinhaltet, wenn die vorherige Option gewählt wurde." #: forms.py:225 literals.py:23 msgid "Page range" @@ -277,10 +277,8 @@ msgid "Clear transformations" msgstr "Transformationen löschen" #: links.py:71 -#, fuzzy -#| msgid "Clear transformations" msgid "Clone transformations" -msgstr "Transformationen löschen" +msgstr "" #: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" @@ -327,20 +325,18 @@ msgid "Recent documents" msgstr "Letzte Dokumente" #: links.py:151 -#, fuzzy -#| msgid "Trash" +#| msgid "Transform documents" msgid "Trash can" -msgstr "Papierkorb" +msgstr "" #: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "" -"Grafiken löschen, die benutzt werden um die Dokumentendarstellung und " -"interaktive Transformationsausgabe zu beschleunigen." +msgstr "Grafiken löschen, die benutzt werden um die Dokumentendarstellung und interaktive Transformationsausgabe zu beschleunigen." #: links.py:162 +#| msgid "Clear the document image cache" msgid "Clear document image cache" msgstr "Dokumentenbildercache löschen" @@ -418,10 +414,9 @@ msgstr "Alle Seiten" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the trash." -msgstr "" -"Zeitspanne nach der Dokumente dieses Typs in den Papierkorb verschoben " -"werden." +"Amount of time after which documents of this type will be moved to the " +"trash." +msgstr "Zeitspanne nach der Dokumente dieses Typs in den Papierkorb verschoben werden." #: models.py:71 msgid "Trash time period" @@ -435,15 +430,15 @@ msgstr "Einheit (Papierkorb)" msgid "" "Amount of time after which documents of this type in the trash will be " "deleted." -msgstr "" -"Zeitspanne nach der Dokumente dieses Typs die sich im Papierkorb befinden " -"endgültig gelöscht werden." +msgstr "Zeitspanne nach der Dokumente dieses Typs die sich im Papierkorb befinden endgültig gelöscht werden." #: models.py:81 +#| msgid "Delete document types" msgid "Delete time period" msgstr "Endgültig löschen nach" #: models.py:86 +#| msgid "Delete documents" msgid "Delete time unit" msgstr "Einheit (Löschen)" @@ -476,10 +471,7 @@ msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." -msgstr "" -"Ein Fragment ist ein Dokument mit einem Eintrag in der Datenbank, für das " -"keine Datei hochgeladen wurde. Die Ursache könnte ein fehlgeschlagener " -"Uploadvorgang sein oder ein verzögerter Upload über die API-Schnittstelle." +msgstr "Ein Fragment ist ein Dokument mit einem Eintrag in der Datenbank, für das keine Datei hochgeladen wurde. Die Ursache könnte ein fehlgeschlagener Uploadvorgang sein oder ein verzögerter Upload über die API-Schnittstelle." #: models.py:179 msgid "Is stub?" @@ -487,6 +479,7 @@ msgstr "Inkomplett" #: models.py:187 #, python-format +#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "Fragment, ID: %d" @@ -525,19 +518,15 @@ msgstr "Dokumentenseiten" #: models.py:801 msgid "Filename" -msgstr "Filename" +msgstr "Dateiname" #: models.py:804 -#, fuzzy -#| msgid "Document page image" msgid "Document page cached image" -msgstr "Dokumentenseitenbild" +msgstr "" #: models.py:805 -#, fuzzy -#| msgid "Document page image" msgid "Document page cached images" -msgstr "Dokumentenseitenbild" +msgstr "" #: models.py:827 msgid "User" @@ -560,6 +549,7 @@ msgid "Delete documents" msgstr "Dokumente löschen" #: permissions.py:16 +#| msgid "Transform documents" msgid "Trash documents" msgstr "Dokumente in den Papierkorb verschieben" @@ -580,10 +570,12 @@ msgid "Edit document properties" msgstr "Dokumenteneigenschaften bearbeiten" #: permissions.py:31 +#| msgid "Edit documents" msgid "Print documents" msgstr "Dukumente drucken" #: permissions.py:34 +#| msgid "Delete documents" msgid "Restore trashed document" msgstr "Dokument aus Papierkorb wiederherstellen" @@ -621,16 +613,13 @@ msgstr "Dokumententypen anzeigen" #: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per " -"user." -msgstr "" -"Maximale Anzahl der letzten Dokumente (erstellt, bearbeitet, angezeigt) pro " -"Benutzer." +"Maximum number of recent (created, edited, viewed) documents to remember per" +" user." +msgstr "Maximale Anzahl der letzten Dokumente (erstellt, bearbeitet, angezeigt) pro Benutzer." #: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." -msgstr "" -"Betrag in Prozent für Ansicht vergrößern/verkleinern pro Benutzer Aktion." +msgstr "Betrag in Prozent für Ansicht vergrößern/verkleinern pro Benutzer Aktion." #: settings.py:47 msgid "" @@ -680,6 +669,7 @@ msgstr "Seitenbild für %s" #: views/document_type_views.py:38 #, python-format +#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "Dokumente des Typs: %s" @@ -689,6 +679,7 @@ msgstr "Alle Dokumente dieses Typs werden auch gelöscht." #: views/document_type_views.py:77 #, python-format +#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "Dokumententyp %s löschen?" @@ -704,18 +695,14 @@ msgstr "Schnellbezeichner erstellen für Dokumentenyp %s" #: views/document_type_views.py:139 #, python-format -msgid "" -"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" -msgstr "" -"Schnellbezeichner \"%(filename)s\" von Dokumententyp \"%(document_type)s\" " -"bearbeiten" +msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgstr "Schnellbezeichner \"%(filename)s\" von Dokumententyp \"%(document_type)s\" bearbeiten" #: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" -msgstr "" -"Schnellbezeichner %(label)s von Dokumententyp \"%(document_type)s\" löschen?" +msgstr "Schnellbezeichner %(label)s von Dokumententyp \"%(document_type)s\" löschen?" #: views/document_type_views.py:192 #, python-format @@ -732,6 +719,7 @@ msgid "All later version after this one will be deleted too." msgstr "Alle späteren Versionen dieses Dokuments werden ebenfalls gelöscht." #: views/document_version_views.py:59 +#| msgid "Revert documents to a previous version" msgid "Revert to this version?" msgstr "Diese Dokumentenversion wiederherstellen?" @@ -750,6 +738,7 @@ msgstr "Das ausgwählte Dokument löschen?" #: views/document_views.py:100 #, python-format +#| msgid "Document \"%(document)s\" deleted by %(fullname)s." msgid "Document: %(document)s deleted." msgstr "Dokument %(document)s gelöscht." @@ -768,26 +757,19 @@ msgid "Document type change request performed on %(count)d documents" msgstr "" #: views/document_views.py:130 -#, fuzzy -#| msgid "Change type" msgid "Change" -msgstr "Typ ändern" +msgstr "" #: views/document_views.py:132 -#, fuzzy -#| msgid "Change the type of the selected document." -#| msgid_plural "Change the type of the selected documents." msgid "Change the type of the selected document" msgid_plural "Change the type of the selected documents" -msgstr[0] "Den Typ des ausgewählten Dokuments ändern." -msgstr[1] "Den Typ der ausgewählten Dokumente ändern." +msgstr[0] "" +msgstr[1] "" #: views/document_views.py:143 -#, fuzzy, python-format -#| msgid "Change the type of the selected document." -#| msgid_plural "Change the type of the selected documents." +#, python-format msgid "Change the type of the document: %s" -msgstr "Den Typ des ausgewählten Dokuments ändern." +msgstr "" #: views/document_views.py:164 #, python-format @@ -805,6 +787,7 @@ msgstr "Das ausgwählte Dokument wiederherstellen?" #: views/document_views.py:221 #, python-format +#| msgid "Document: %(document)s delete error: %(error)s" msgid "Document: %(document)s restored." msgstr "Dokument %(document)s wiederhergestellt" @@ -824,6 +807,7 @@ msgstr "\"%s\" in den Papierkorb verschieben?" #: views/document_views.py:287 #, python-format +#| msgid "Document deleted successfully." msgid "Document: %(document)s moved to trash successfully." msgstr "Dokument \"%(document)s\" erfolgreich in den Papierkorb verschoben." @@ -841,20 +825,19 @@ msgid "Empty trash?" msgstr "Papierkorb leeren" #: views/document_views.py:335 +#| msgid "Document deleted successfully." msgid "Trash emptied successfully" msgstr "Papierkorb erfolgreich gelöscht." #: views/document_views.py:519 -#, fuzzy, python-format -#| msgid "Document queued for page count recalculation." +#, python-format msgid "%(count)d document queued for page count recalculation" -msgstr "Dokument eingereiht für Neuberechnung der Seitenzahl" +msgstr "" #: views/document_views.py:522 -#, fuzzy, python-format -#| msgid "Documents queued for page count recalculation." +#, python-format msgid "%(count)d documents queued for page count recalculation" -msgstr "Dokumente eingereiht für Neuberechnung der Seitenzahlen." +msgstr "" #: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" @@ -863,11 +846,9 @@ msgstr[0] "Seitenzahl des ausgewählten Dokuments neu berechnen?" msgstr[1] "Seitenzahl der ausgewählten Dokumente neu berechnen?" #: views/document_views.py:541 -#, fuzzy, python-format -#| msgid "Recalculate the page count of the selected document?" -#| msgid_plural "Recalculate the page count of the selected documents?" +#, python-format msgid "Recalculate the page count of the document: %s?" -msgstr "Seitenzahl des ausgewählten Dokuments neu berechnen?" +msgstr "" #: views/document_views.py:558 #, python-format @@ -880,56 +861,36 @@ msgid "Transformation clear request processed for %(count)d documents" msgstr "" #: views/document_views.py:569 -#, fuzzy -#| msgid "Clear all the page transformations for the selected document?" -#| msgid_plural "" -#| "Clear all the page transformations for the selected documents?" msgid "Clear all the page transformations for the selected document?" msgid_plural "Clear all the page transformations for the selected document?" msgstr[0] "" -"Sind Sie sicher, dass Sie die Transformationen des ausgewählten Dokuments " -"zurücksetzen wollen?" msgstr[1] "" -"Sind Sie sicher, dass Sie die Transformationen der ausgewählten Dokumente " -"zurücksetzen wollen?" #: views/document_views.py:580 -#, fuzzy, python-format -#| msgid "Clear all the page transformations for the selected document?" -#| msgid_plural "" -#| "Clear all the page transformations for the selected documents?" +#, python-format msgid "Clear all the page transformations for the document: %s?" msgstr "" -"Sind Sie sicher, dass Sie die Transformationen des ausgewählten Dokuments " -"zurücksetzen wollen?" #: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "" -"Fehler beim Löschen der Seitentransformation von %(document)s; %(error)s" +msgstr "Fehler beim Löschen der Seitentransformation von %(document)s; %(error)s" #: views/document_views.py:631 -#, fuzzy #| msgid "Document page transformation created successfully." msgid "Transformations cloned successfully." -msgstr "Document page transformation created successfully." +msgstr "" #: views/document_views.py:646 views/document_views.py:701 msgid "Submit" msgstr "Ändern" #: views/document_views.py:648 -#, fuzzy, python-format -#| msgid "Clear all the page transformations for the selected document?" -#| msgid_plural "" -#| "Clear all the page transformations for the selected documents?" +#, python-format msgid "Clone page transformations for document: %s" msgstr "" -"Sind Sie sicher, dass Sie die Transformationen des ausgewählten Dokuments " -"zurücksetzen wollen?" #: views/document_views.py:702 #, python-format @@ -937,6 +898,7 @@ msgid "Print: %s" msgstr "%s drucken" #: views/misc_views.py:18 +#| msgid "Clear the document image cache" msgid "Clear the document image cache?" msgstr "Dokumentenbildercache löschen?" @@ -950,44 +912,38 @@ msgid "Page %(page_number)d of %(total_pages)d" msgstr "Seite %(page_number)d von %(total_pages)d" #: widgets.py:87 -#, fuzzy #| msgid "Page image" msgid "Clickable image" -msgstr "Seitenbild" +msgstr "" #: widgets.py:242 msgid "Document page image" msgstr "Dokumentenseitenbild" -#~| msgid "Version update" #~ msgid "New version block" -#~ msgstr "Akutialisierungsschutz" +#~ msgstr "Version update" -#~| msgid "Version update" #~ msgid "New version blocks" -#~ msgstr "Aktualisierungsschutz" +#~ msgstr "Version update" #~ msgid "Must provide at least one document." -#~ msgstr "Es muss mindestens ein Dokument angegeben werden." +#~ msgstr "Must provide at least one document." -#~| msgid "Must provide at least one document." #~ msgid "Must provide at least one document or version." -#~ msgstr "Es muss mindestens eine Dokumentenversion angegeben werden." +#~ msgstr "Must provide at least one document." #~ msgid "Documents to be downloaded" -#~ msgstr "Herunterzuladende Dokumente" +#~ msgstr "documents to be downloaded" #~ msgid "Date and time" -#~ msgstr "Datum und Zeit" - -#~ msgid "At least one document must be selected." -#~ msgstr "Es muss mindestens ein Dokument ausgewählt werden." +#~ msgstr "Date added" #~ msgid "" #~ "All the page transformations for document: %s, have been deleted " #~ "successfully." #~ msgstr "" -#~ "Alle Seitentransformationen für Dokument %s wurden erfolgreich gelöscht." +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -1062,11 +1018,11 @@ msgstr "Dokumentenseitenbild" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1195,8 +1151,7 @@ msgstr "Dokumentenseitenbild" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "" -#~ "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1210,11 +1165,11 @@ msgstr "Dokumentenseitenbild" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1237,11 +1192,11 @@ msgstr "Dokumentenseitenbild" #~ "(%d)?" #~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for " -#~ "documents: %s?" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" #~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for " -#~ "documents: %s?" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1258,19 +1213,15 @@ msgstr "Dokumentenseitenbild" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1327,11 +1278,11 @@ msgstr "Dokumentenseitenbild" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1355,11 +1306,11 @@ msgstr "Dokumentenseitenbild" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1380,11 +1331,9 @@ msgstr "Dokumentenseitenbild" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1414,11 +1363,11 @@ msgstr "Dokumentenseitenbild" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgid "details" #~ msgstr "details" @@ -1475,17 +1424,15 @@ msgstr "Dokumentenseitenbild" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" diff --git a/mayan/apps/documents/locale/en/LC_MESSAGES/django.mo b/mayan/apps/documents/locale/en/LC_MESSAGES/django.mo index c26d0a4fd75914c6139af8e5ad4332bdf9881476..f30db75e07ce6550c06aa1cf0aeec69dcb1d4694 100644 GIT binary patch delta 1171 zcmZwGKTK0m6vy%NY=t7Uv{3v5icczk#8&82BOw|!k}3;=37EJw#wbx)oY0{QCdNcN z7&H#L_=kiz5SkdnA{sXr4U>Z!2jixTiFPr3e~)Y8;7!l_^u4~^bI&>Oq4R5|^r-RM!bkhbPbzu1~=n9RN@6p;2Rvl72Js(oYKeR zm?FPj;ENJn#WdbPC3=8LFz4O>m5 zuotJvZ)1Gv!MCW5exfRmY4-dH zgiHU;KG8?eoUp6ga9DGvSldl#ts_)<2eE_Ds#znv=DAXIIM-dcg=i%bcZ$)&l^@aW sNNr*A(z&VPVSISJ;RL!Tcef;=Umwat1rG6^D`a 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 delta 4712 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 a`ewVgJ#wMAE76%&lH%+w+38f5cK;WC!;aek diff --git a/mayan/apps/documents/locale/es/LC_MESSAGES/django.po b/mayan/apps/documents/locale/es/LC_MESSAGES/django.po index a40abca586..970d66ac9e 100644 --- a/mayan/apps/documents/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/es/LC_MESSAGES/django.po @@ -1,53 +1,50 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: -# Roberto Rosario, 2015-2016 +# Roberto Rosario, 2015-2017 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-11-23 06:45+0000\n" +"PO-Revision-Date: 2017-04-21 17:56+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" -"language/es/)\n" -"Language: es\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 -#: settings.py:13 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 +#: permissions.py:7 settings.py:13 msgid "Documents" msgstr "Documentos" #: apps.py:110 -#, fuzzy -#| msgid "New document pages per month" +#| msgid "View document types" msgid "New pages this month" -msgstr "Nuevas páginas de documentos por mes" +msgstr "Nuevas páginas este mes" #: apps.py:119 -#, fuzzy -#| msgid "New documents per month" +#| msgid "New document filename" msgid "New documents this month" -msgstr "Nuevos documentos por mes" +msgstr "Nuevos documentos este mes" #: apps.py:128 -#, fuzzy -#| msgid "Trash documents" +#| msgid "Transform documents" msgid "Total documents" -msgstr "Enivar documentos a la papelera" +msgstr "Total de documentos" #: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 msgid "Document types" msgstr "Tipos de documentos" #: apps.py:140 views/document_views.py:69 +#| msgid "Documents in storage: %d" msgid "Documents in trash" msgstr "Documentos en la papelera" @@ -103,14 +100,17 @@ msgid "Comment" msgstr "Comentario" #: apps.py:456 +#| msgid "New document filename" msgid "New documents per month" msgstr "Nuevos documentos por mes" #: apps.py:463 +#| msgid "Document version reverted successfully" msgid "New document versions per month" msgstr "Nuevas versiones de documentos por mes" #: apps.py:470 +#| msgid "View document types" msgid "New document pages per month" msgstr "Nuevas páginas de documentos por mes" @@ -143,10 +143,12 @@ msgid "Document type changed" msgstr "Tipo de documento ha sido cambiado" #: events.py:21 +#| msgid "Version update" msgid "New version uploaded" msgstr "Nueva versión subida" #: events.py:25 +#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "Versión de documento revertida" @@ -181,7 +183,7 @@ msgstr "Lenguaje" #: forms.py:122 msgid "Unknown" -msgstr "" +msgstr "Desconocido" #: forms.py:130 msgid "File mimetype" @@ -225,15 +227,15 @@ msgid "Compress" msgstr "Comprimir" #: forms.py:197 +#| msgid "" +#| "ad the document in the original format or in a compressed manner. s ion is " +#| "selectable only when downloading one document, for tiple uments, the bundle " +#| "will always be downloads as a compressed e." msgid "" -"Download the document in the original format or in a compressed manner. This " -"option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This" +" option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." -msgstr "" -"Descargue el documento en el formato original o en una forma comprimida. " -"Esta opción se puede seleccionar sólo cuando se descarga un documento. Para " -"múltiples documentos, el paquete será siempre descargado en un archivo " -"comprimido." +msgstr "Descargue el documento en el formato original o en una forma comprimida. Esta opción se puede seleccionar sólo cuando se descarga un documento. Para múltiples documentos, el paquete será siempre descargado en un archivo comprimido." #: forms.py:204 msgid "Compressed filename" @@ -243,9 +245,7 @@ msgstr "Nombre de archivo comprimido" msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "" -"El nombre del archivo comprimido que va a contener los documentos a " -"descargar, si la opción anterior está activada." +msgstr "El nombre del archivo comprimido que va a contener los documentos a descargar, si la opción anterior está activada." #: forms.py:225 literals.py:23 msgid "Page range" @@ -274,10 +274,8 @@ msgid "Clear transformations" msgstr "Borrar transformaciones" #: links.py:71 -#, fuzzy -#| msgid "Clear transformations" msgid "Clone transformations" -msgstr "Borrar transformaciones" +msgstr "Clonar transformaciones" #: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" @@ -324,8 +322,7 @@ msgid "Recent documents" msgstr "Documentos recientes" #: links.py:151 -#, fuzzy -#| msgid "Trash" +#| msgid "Transform documents" msgid "Trash can" msgstr "Papelera" @@ -333,12 +330,10 @@ msgstr "Papelera" msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "" -"Borrar las representaciones gráficas utilizadas para acelerar la " -"presentación de los documentos y resultados de las transformaciones " -"interactivas." +msgstr "Borrar las representaciones gráficas utilizadas para acelerar la presentación de los documentos y resultados de las transformaciones interactivas." #: links.py:162 +#| msgid "Clear the document image cache" msgid "Clear document image cache" msgstr "Borrar la caché de imágenes de documentos" @@ -416,10 +411,9 @@ msgstr "Todas las páginas" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the trash." -msgstr "" -"Cantidad de tiempo tras el cual se enviaran los documentos de este tipo a la " -"papelera." +"Amount of time after which documents of this type will be moved to the " +"trash." +msgstr "Cantidad de tiempo tras el cual se enviaran los documentos de este tipo a la papelera." #: models.py:71 msgid "Trash time period" @@ -433,15 +427,15 @@ msgstr "Unidad de tiempo de envío a papelera" msgid "" "Amount of time after which documents of this type in the trash will be " "deleted." -msgstr "" -"Cantidad de tiempo tras el cual se eliminarán los documentos de este tipo de " -"la papelera." +msgstr "Cantidad de tiempo tras el cual se eliminarán los documentos de este tipo de la papelera." #: models.py:81 +#| msgid "Delete document types" msgid "Delete time period" msgstr "Período de tiempo de eliminación" #: models.py:86 +#| msgid "Delete documents" msgid "Delete time unit" msgstr "Unidad de tiempo de eliminación" @@ -482,6 +476,7 @@ msgstr "¿Es un recibo?" #: models.py:187 #, python-format +#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "Recibo de documento, id: %d" @@ -520,19 +515,15 @@ msgstr "Páginas de documento" #: models.py:801 msgid "Filename" -msgstr "Filename" +msgstr "Nombre del archivo" #: models.py:804 -#, fuzzy -#| msgid "Document page image" msgid "Document page cached image" -msgstr "Imagen de página de documento" +msgstr "" #: models.py:805 -#, fuzzy -#| msgid "Document page image" msgid "Document page cached images" -msgstr "Imagen de página de documento" +msgstr "" #: models.py:827 msgid "User" @@ -555,6 +546,7 @@ msgid "Delete documents" msgstr "Eliminar documentos" #: permissions.py:16 +#| msgid "Transform documents" msgid "Trash documents" msgstr "Enivar documentos a la papelera" @@ -575,10 +567,12 @@ msgid "Edit document properties" msgstr "Editar propiedades del documento" #: permissions.py:31 +#| msgid "Edit documents" msgid "Print documents" msgstr "Imprimir documentos" #: permissions.py:34 +#| msgid "Delete documents" msgid "Restore trashed document" msgstr "Restaurar documento de la papelera" @@ -616,39 +610,29 @@ msgstr "Ver los tipos de documentos" #: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per " -"user." -msgstr "" -"El número máximo de documentos recientes (creados, editados, vistos) a " -"recordar por usuario." +"Maximum number of recent (created, edited, viewed) documents to remember per" +" user." +msgstr "El número máximo de documentos recientes (creados, editados, vistos) a recordar por usuario." #: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." -msgstr "" -"Cantidad en porcentaje a acercar o alejar una página de documento por cada " -"interacción del usuario." +msgstr "Cantidad en porcentaje a acercar o alejar una página de documento por cada interacción del usuario." #: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "" -"Cantidad máxima en porcentaje (%) a permitir al usuario aumentar la página " -"del documento de forma interactiva." +msgstr "Cantidad máxima en porcentaje (%) a permitir al usuario aumentar la página del documento de forma interactiva." #: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "" -"Cantidad mínima en porcentaje (%) a permitir al usuario disminuir la página " -"del documento de forma interactiva." +msgstr "Cantidad mínima en porcentaje (%) a permitir al usuario disminuir la página del documento de forma interactiva." #: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." -msgstr "" -"Cantidad de grados que se va a girar una página de documento por cada acción " -"del usuario." +msgstr "Cantidad de grados que se va a girar una página de documento por cada acción del usuario." #: settings.py:70 msgid "Default documents language (in ISO639-2 format)." @@ -682,6 +666,7 @@ msgstr "Imágen de: %s" #: views/document_type_views.py:38 #, python-format +#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "Documentos de tipo: %s" @@ -691,6 +676,7 @@ msgstr "Todos los documentos de este tipo serán borrados también" #: views/document_type_views.py:77 #, python-format +#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "¿Eliminar el tipo de documento: %s?" @@ -706,8 +692,7 @@ msgstr "" #: views/document_type_views.py:139 #, python-format -msgid "" -"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" #: views/document_type_views.py:164 @@ -731,6 +716,7 @@ msgid "All later version after this one will be deleted too." msgstr "También se borrarán todas las versiones más recientes a esta." #: views/document_version_views.py:59 +#| msgid "Revert documents to a previous version" msgid "Revert to this version?" msgstr "¿Revertir a esta versión?" @@ -749,6 +735,7 @@ msgstr "¿Eliminar el documento seleccionado?" #: views/document_views.py:100 #, python-format +#| msgid "Document \"%(document)s\" deleted by %(fullname)s." msgid "Document: %(document)s deleted." msgstr "Documento: %(document)s eliminado." @@ -767,26 +754,19 @@ msgid "Document type change request performed on %(count)d documents" msgstr "" #: views/document_views.py:130 -#, fuzzy -#| msgid "Change type" msgid "Change" -msgstr "Cambiar tipo" +msgstr "Cambiar" #: views/document_views.py:132 -#, fuzzy -#| msgid "Change the type of the selected document." -#| msgid_plural "Change the type of the selected documents." msgid "Change the type of the selected document" msgid_plural "Change the type of the selected documents" -msgstr[0] "Cambiar el tipo del documento seleccionado." -msgstr[1] "Cambiar el tipo de los documentos seleccionados." +msgstr[0] "" +msgstr[1] "" #: views/document_views.py:143 -#, fuzzy, python-format -#| msgid "Change the type of the selected document." -#| msgid_plural "Change the type of the selected documents." +#, python-format msgid "Change the type of the document: %s" -msgstr "Cambiar el tipo del documento seleccionado." +msgstr "" #: views/document_views.py:164 #, python-format @@ -804,6 +784,7 @@ msgstr "¿Restaurar el documento seleccionado?" #: views/document_views.py:221 #, python-format +#| msgid "Document: %(document)s delete error: %(error)s" msgid "Document: %(document)s restored." msgstr "Documento: %(document)s restaurado." @@ -823,6 +804,7 @@ msgstr "¿Mover \"%s\" a la papelera?" #: views/document_views.py:287 #, python-format +#| msgid "Document deleted successfully." msgid "Document: %(document)s moved to trash successfully." msgstr "Documento: %(document)s movido a la papelera." @@ -840,6 +822,7 @@ msgid "Empty trash?" msgstr "¿Vaciar papelera?" #: views/document_views.py:335 +#| msgid "Document deleted successfully." msgid "Trash emptied successfully" msgstr "Papelera vaciada con éxito" @@ -860,10 +843,9 @@ msgstr[0] "" msgstr[1] "" #: views/document_views.py:541 -#, fuzzy, python-format -#| msgid "Recalculate page count" +#, python-format msgid "Recalculate the page count of the document: %s?" -msgstr "Recalcular el conteo de páginas" +msgstr "" #: views/document_views.py:558 #, python-format @@ -876,50 +858,36 @@ msgid "Transformation clear request processed for %(count)d documents" msgstr "" #: views/document_views.py:569 -#, fuzzy -#| msgid "Clear all the page transformations for the selected document?" -#| msgid_plural "" -#| "Clear all the page transformations for the selected documents?" msgid "Clear all the page transformations for the selected document?" msgid_plural "Clear all the page transformations for the selected document?" -msgstr[0] "¿Borrar todas las transformaciones para el documento seleccionado?" +msgstr[0] "" msgstr[1] "" -"¿Borrar todas las transformaciones para los documentos seleccionados?" #: views/document_views.py:580 -#, fuzzy, python-format -#| msgid "Clear all the page transformations for the selected document?" -#| msgid_plural "" -#| "Clear all the page transformations for the selected documents?" +#, python-format msgid "Clear all the page transformations for the document: %s?" -msgstr "¿Borrar todas las transformaciones para el documento seleccionado?" +msgstr "" #: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "" -"Error al eliminar las transformaciones de página para el documento: " -"%(document)s; %(error)s." +msgstr "Error al eliminar las transformaciones de página para el documento: %(document)s; %(error)s." #: views/document_views.py:631 -#, fuzzy #| msgid "Document page transformation created successfully." msgid "Transformations cloned successfully." -msgstr "Document page transformation created successfully." +msgstr "" #: views/document_views.py:646 views/document_views.py:701 msgid "Submit" msgstr "Enviar" #: views/document_views.py:648 -#, fuzzy, python-format -#| msgid "Clear all the page transformations for the selected document?" -#| msgid_plural "" -#| "Clear all the page transformations for the selected documents?" +#, python-format msgid "Clone page transformations for document: %s" -msgstr "¿Borrar todas las transformaciones para el documento seleccionado?" +msgstr "" #: views/document_views.py:702 #, python-format @@ -927,6 +895,7 @@ msgid "Print: %s" msgstr "Imprimir: %s" #: views/misc_views.py:18 +#| msgid "Clear the document image cache" msgid "Clear the document image cache?" msgstr "¿Borrar la caché de imágenes de documentos?" @@ -940,45 +909,38 @@ msgid "Page %(page_number)d of %(total_pages)d" msgstr "Página %(page_number)d de %(total_pages)d" #: widgets.py:87 -#, fuzzy #| msgid "Page image" msgid "Clickable image" -msgstr "Imagen de la página" +msgstr "" #: widgets.py:242 msgid "Document page image" msgstr "Imagen de página de documento" -#~| msgid "Version update" #~ msgid "New version block" -#~ msgstr "Bloquear nueva version" +#~ msgstr "Version update" -#~| msgid "Version update" #~ msgid "New version blocks" -#~ msgstr "Bloquear nuevas versiones" +#~ msgstr "Version update" #~ msgid "Must provide at least one document." -#~ msgstr "Debe proveer al menos un documento" +#~ msgstr "Must provide at least one document." -#~| msgid "Must provide at least one document." #~ msgid "Must provide at least one document or version." -#~ msgstr "Debe proveer al menos una versión de documento." +#~ msgstr "Must provide at least one document." #~ msgid "Documents to be downloaded" -#~ msgstr "Documentos a descargar" +#~ msgstr "documents to be downloaded" #~ msgid "Date and time" -#~ msgstr "Fecha y hora" - -#~ msgid "At least one document must be selected." -#~ msgstr "Al menos un documento debe ser seleccionado." +#~ msgstr "Date added" #~ msgid "" #~ "All the page transformations for document: %s, have been deleted " #~ "successfully." #~ msgstr "" -#~ "Todas las transformaciones de la página del documento: %s, se han " -#~ "eliminado con éxito." +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -1053,11 +1015,11 @@ msgstr "Imagen de página de documento" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1186,8 +1148,7 @@ msgstr "Imagen de página de documento" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "" -#~ "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1201,11 +1162,11 @@ msgstr "Imagen de página de documento" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1228,11 +1189,11 @@ msgstr "Imagen de página de documento" #~ "(%d)?" #~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for " -#~ "documents: %s?" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" #~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for " -#~ "documents: %s?" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1249,19 +1210,15 @@ msgstr "Imagen de página de documento" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1318,11 +1275,11 @@ msgstr "Imagen de página de documento" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1346,11 +1303,11 @@ msgstr "Imagen de página de documento" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1371,11 +1328,9 @@ msgstr "Imagen de página de documento" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1405,11 +1360,11 @@ msgstr "Imagen de página de documento" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgid "details" #~ msgstr "details" @@ -1466,17 +1421,15 @@ msgstr "Imagen de página de documento" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" diff --git a/mayan/apps/documents/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/documents/locale/fa/LC_MESSAGES/django.mo index 670f98d5e265c8ed2c86c8ea62408f67d26038a1..3e5e4550d73f3a25de2914a48e6bbe70352508f0 100644 GIT binary patch delta 2567 zcmYk-drZ}39LMqJa8=_bcLnqyBm@$iqg zCAnp4ButzBn#)m*t@BAgB&G94_;c1M(YX^=cc*&cn zs9?vbs17nwGk2o~s=yemv&$QBI^_;jyMw3+yoqXe9@WpMI2*r37Hj^-Sd8Q)nG$Wh zffeOY5l=-ChG7+^Vl^gXBWfZ$Py_U$IvBv2IE-51=cpa}2AAPg%*K3Pa$*fm#WvJ9 zdtunu)8)}hX9BWePD$g!E%?dNafPRgfIN0h_4LwcF)A zsFm)w?ME%(P_XPZN6Bc5-$Hdbj5_O2kli$XbmL9bi_>|i_Oo!GgR@2L#5vB5Ihl*7 z_pf3Fj$a0aH*t9GOm)!}^1#9GuupF@3SeWwiY=goDNpVl1k^rKtDo_!G_eriF}F`aG&Z5Av=#fI6#F$ehdt)C#{wP2@W2 z&V)@14m1b#HI$>;twFutj5^Xz)KMQtE$|F_HS;gX=!}0t4Loj_C-ITbqMU^4xD55; zYSfN&pf1;b)I z9c#Zea2#qS*{FdE?fNn-q`U-mq@CD@-FO0%Gx!JCdHp(75f2la2_>E30%DyCB%K)_!+)uWoRiR{)juG8hBbuFSV?!`p+GM9=LyKQ z%N6Kt;E!(NMnXwPWolu=_z9;9{=E#-mxy@JDZhYt1f_9LMoz3nGOUkWwg=W6EizOSdOSK?@cHl!7gXAR^oDB9-kHx@`f8EEHN0 zs(`hLArW5)7ARO?F$NTGUYH2U)x==pNEc(?z{&UXM>-a7Om{qv_u*+w#E&r(&to3m!(z+PQ%0@LTMKzc^*x97MTaq6x<;W^zFdPeD~IMRiby zqcMc6g4v6`aX+eolTP^pY5-TUFW$ti_y?w-8to4QQ3LXz`YGxa?rgA>(l9QRqh`JZ z)!rfx0Jva{EMqW4*zC=cc;U;PTf8#;y!3Jr` zBFO5QPf$yC1y%nxs)L@KR1Itx>h&CrYG*9!`FvDIMW`)agnF(HpVIrk!>MrHxp4&Z7Gn5zC~lF1~d5c=*v zK|Dk#jUsf|9w$7+3?fKOBb0QY=Eib-{V<;xOFZmc)3+mo$aBh~!pZA9F*~*{WS(iR zh;NDu1e$+HOiv4CSS!7Ceyhyy4_ZEdz+dC{S)tnUa(^haqBam%ANe)@q$|N&5uI1xzW|TibpJ8)!Ja7%Iov{BK;HFU6J#>N?gO|)P`!T)zwvX6+RxSu>yWC z7pj7)US3=257tD6_E{I#ysvLGFW;S&<<8ErJlT`-a^0R>kEh4Hx$Y8wT}7y(D(Ehv z-$_=sCyRO>clHF!Gk#J|PUJ|^_pTKCsC_KD*}8nlZjClXw~~o&?P!W_Yfel}afKqU zCRfGvvk%*?_VJD;`yDH~-Lg+a8|>D|y#W_p`F14Q$i4QCCOx>#iq_l5RoCJ#Vjs5b zcA9OBZjElY+b#QKbUW4C$3@N!%#Dlm8C(#Tbu?C^o{l@3E+4XD?NRff-AZ?4XiHg| R*3)`+*3jxM&F9jt{sTm6dME$@ diff --git a/mayan/apps/documents/locale/fa/LC_MESSAGES/django.po b/mayan/apps/documents/locale/fa/LC_MESSAGES/django.po index 92075d5a9c..df2327fb6a 100644 --- a/mayan/apps/documents/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,42 +9,41 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" -"language/fa/)\n" -"Language: fa\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 -#: settings.py:13 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 +#: permissions.py:7 settings.py:13 msgid "Documents" msgstr "اسناد" #: apps.py:110 +#| msgid "View document types" msgid "New pages this month" msgstr "" #: apps.py:119 -#, fuzzy -#| msgid "documents of this type" +#| msgid "New document filename" msgid "New documents this month" -msgstr "documents of this type" +msgstr "" #: apps.py:128 -#, fuzzy -#| msgid "All documents" +#| msgid "Transform documents" msgid "Total documents" -msgstr "کلیه اسناد" +msgstr "" #: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 msgid "Document types" msgstr "انواع سند" #: apps.py:140 views/document_views.py:69 +#| msgid "Documents in storage: %d" msgid "Documents in trash" msgstr "" @@ -100,14 +99,17 @@ msgid "Comment" msgstr "شرح" #: apps.py:456 +#| msgid "New document filename" msgid "New documents per month" msgstr "" #: apps.py:463 +#| msgid "Document version reverted successfully" msgid "New document versions per month" msgstr "" #: apps.py:470 +#| msgid "View document types" msgid "New document pages per month" msgstr "" @@ -140,10 +142,12 @@ msgid "Document type changed" msgstr "نوع سند تغییر کرد" #: events.py:21 +#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 +#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -178,7 +182,7 @@ msgstr "زبان" #: forms.py:122 msgid "Unknown" -msgstr "" +msgstr "ناشناخته" #: forms.py:130 msgid "File mimetype" @@ -222,9 +226,13 @@ msgid "Compress" msgstr "فشرده سازی" #: forms.py:197 +#| msgid "" +#| "ad the document in the original format or in a compressed manner. s ion is " +#| "selectable only when downloading one document, for tiple uments, the bundle " +#| "will always be downloads as a compressed e." msgid "" -"Download the document in the original format or in a compressed manner. This " -"option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This" +" option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" @@ -236,9 +244,7 @@ msgstr "نام فایل فشرده شده" msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "" -"اگر انتخاب قبلی انجام شده، نام فایل فشرده شده که شامل کلیه فایلهای که " -"قراراست که دانلود شوند." +msgstr "اگر انتخاب قبلی انجام شده، نام فایل فشرده شده که شامل کلیه فایلهای که قراراست که دانلود شوند." #: forms.py:225 literals.py:23 msgid "Page range" @@ -267,10 +273,8 @@ msgid "Clear transformations" msgstr "پاک کردن تبدیلات" #: links.py:71 -#, fuzzy -#| msgid "Clear transformations" msgid "Clone transformations" -msgstr "پاک کردن تبدیلات" +msgstr "" #: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" @@ -317,6 +321,7 @@ msgid "Recent documents" msgstr "اسناد تازه" #: links.py:151 +#| msgid "Transform documents" msgid "Trash can" msgstr "" @@ -324,11 +329,10 @@ msgstr "" msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "" -"پاک کردن نحوه نمایش اسناد که در زمان سرعت بخشی به نمایش اسناد مورد استفاده " -"قرار میگیرد." +msgstr "پاک کردن نحوه نمایش اسناد که در زمان سرعت بخشی به نمایش اسناد مورد استفاده قرار میگیرد." #: links.py:162 +#| msgid "Clear the document image cache" msgid "Clear document image cache" msgstr "" @@ -406,7 +410,8 @@ msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the trash." +"Amount of time after which documents of this type will be moved to the " +"trash." msgstr "" #: models.py:71 @@ -424,10 +429,12 @@ msgid "" msgstr "" #: models.py:81 +#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 +#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -468,6 +475,7 @@ msgstr "" #: models.py:187 #, python-format +#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" @@ -506,19 +514,15 @@ msgstr "صفحات سند" #: models.py:801 msgid "Filename" -msgstr "Filename" +msgstr "نام فایل" #: models.py:804 -#, fuzzy -#| msgid "Document page image" msgid "Document page cached image" -msgstr "عکس صفحه سند" +msgstr "" #: models.py:805 -#, fuzzy -#| msgid "Document page image" msgid "Document page cached images" -msgstr "عکس صفحه سند" +msgstr "" #: models.py:827 msgid "User" @@ -541,6 +545,7 @@ msgid "Delete documents" msgstr "حذف سند" #: permissions.py:16 +#| msgid "Transform documents" msgid "Trash documents" msgstr "" @@ -561,10 +566,12 @@ msgid "Edit document properties" msgstr "ویرایش خصوصیات سند" #: permissions.py:31 +#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 +#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -602,11 +609,9 @@ msgstr "بازدید انواع سند" #: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per " -"user." -msgstr "" -"حداکثر تعداد اسناد تازه (ایجاد، ویرایش و بازبینی) که جهت هرکاربر بوسیله " -"سیستم نگهداری شود." +"Maximum number of recent (created, edited, viewed) documents to remember per" +" user." +msgstr "حداکثر تعداد اسناد تازه (ایجاد، ویرایش و بازبینی) که جهت هرکاربر بوسیله سیستم نگهداری شود." #: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." @@ -616,17 +621,13 @@ msgstr "اندازه بزرگنمایی/کوچک نمایی یک صفحه از msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "" -"حداکثر درصد(%) اندازه بزرگنمایی بوسیله کاربر برروی یک صفحه از سند بصورت " -"تعاملی" +msgstr "حداکثر درصد(%) اندازه بزرگنمایی بوسیله کاربر برروی یک صفحه از سند بصورت تعاملی" #: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "" -"حداکثر درصد(%) اندازه کوچک نمایی بوسیله کاربر برروی یک صفحه از سند بصورت " -"تعاملی" +msgstr "حداکثر درصد(%) اندازه کوچک نمایی بوسیله کاربر برروی یک صفحه از سند بصورت تعاملی" #: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." @@ -664,6 +665,7 @@ msgstr "" #: views/document_type_views.py:38 #, python-format +#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" @@ -673,6 +675,7 @@ msgstr "کلیه اسناد از این نوع حذف خواهند شد." #: views/document_type_views.py:77 #, python-format +#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" @@ -688,8 +691,7 @@ msgstr "" #: views/document_type_views.py:139 #, python-format -msgid "" -"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" #: views/document_type_views.py:164 @@ -713,6 +715,7 @@ msgid "All later version after this one will be deleted too." msgstr "همجنین کلیه نسخه های بعد از این نسخه حذف خواهند گردید." #: views/document_version_views.py:59 +#| msgid "Revert documents to a previous version" msgid "Revert to this version?" msgstr "" @@ -731,6 +734,7 @@ msgstr "" #: views/document_views.py:100 #, python-format +#| msgid "Document \"%(document)s\" deleted by %(fullname)s." msgid "Document: %(document)s deleted." msgstr "" @@ -749,23 +753,18 @@ msgid "Document type change request performed on %(count)d documents" msgstr "" #: views/document_views.py:130 -#, fuzzy -#| msgid "Change type" msgid "Change" -msgstr "تغییر نوع" +msgstr "" #: views/document_views.py:132 -#, fuzzy -#| msgid "The name of the document" msgid "Change the type of the selected document" msgid_plural "Change the type of the selected documents" -msgstr[0] "نام سند" +msgstr[0] "" #: views/document_views.py:143 -#, fuzzy, python-format -#| msgid "Content of document: %s" +#, python-format msgid "Change the type of the document: %s" -msgstr "versions for document: %s" +msgstr "" #: views/document_views.py:164 #, python-format @@ -783,6 +782,7 @@ msgstr "" #: views/document_views.py:221 #, python-format +#| msgid "Document: %(document)s delete error: %(error)s" msgid "Document: %(document)s restored." msgstr "" @@ -802,6 +802,7 @@ msgstr "" #: views/document_views.py:287 #, python-format +#| msgid "Document deleted successfully." msgid "Document: %(document)s moved to trash successfully." msgstr "" @@ -819,6 +820,7 @@ msgid "Empty trash?" msgstr "" #: views/document_views.py:335 +#| msgid "Document deleted successfully." msgid "Trash emptied successfully" msgstr "" @@ -838,11 +840,9 @@ msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "" #: views/document_views.py:541 -#, fuzzy, python-format -#| msgid "Are you sure you wish to reset the page count of this document?" +#, python-format msgid "Recalculate the page count of the document: %s?" msgstr "" -"Are you sure you wish to update the page count for the office documents (%d)?" #: views/document_views.py:558 #, python-format @@ -860,14 +860,9 @@ msgid_plural "Clear all the page transformations for the selected document?" msgstr[0] "" #: views/document_views.py:580 -#, fuzzy, python-format -#| msgid "" -#| "Are you sure you wish to clear all the page transformations for " -#| "documents: %s?" +#, python-format msgid "Clear all the page transformations for the document: %s?" msgstr "" -"Are you sure you wish to clear all the page transformations for documents: " -"%s?" #: views/document_views.py:595 views/document_views.py:623 #, python-format @@ -877,20 +872,18 @@ msgid "" msgstr "خطا %(error)s در زمان حذف تبدیلات سند %(document)s" #: views/document_views.py:631 -#, fuzzy #| msgid "Document page transformation created successfully." msgid "Transformations cloned successfully." -msgstr "Document page transformation created successfully." +msgstr "" #: views/document_views.py:646 views/document_views.py:701 msgid "Submit" msgstr "ارسال" #: views/document_views.py:648 -#, fuzzy, python-format -#| msgid "Properties for document: %s" +#, python-format msgid "Clone page transformations for document: %s" -msgstr "خصوصیات سند : %s" +msgstr "" #: views/document_views.py:702 #, python-format @@ -898,6 +891,7 @@ msgid "Print: %s" msgstr "چاپ : %s" #: views/misc_views.py:18 +#| msgid "Clear the document image cache" msgid "Clear the document image cache?" msgstr "" @@ -911,28 +905,38 @@ msgid "Page %(page_number)d of %(total_pages)d" msgstr "صفحه%(page_number)d از %(total_pages)d" #: widgets.py:87 -#, fuzzy #| msgid "Page image" msgid "Clickable image" -msgstr "تصویر صفحه" +msgstr "" #: widgets.py:242 msgid "Document page image" msgstr "عکس صفحه سند" +#~ msgid "New version block" +#~ msgstr "Version update" + +#~ msgid "New version blocks" +#~ msgstr "Version update" + #~ msgid "Must provide at least one document." -#~ msgstr "حداقل یک سند باید ارایه شود." +#~ msgstr "Must provide at least one document." + +#~ msgid "Must provide at least one document or version." +#~ msgstr "Must provide at least one document." #~ msgid "Documents to be downloaded" -#~ msgstr "اسنادی که قرار است دانلود شوند." +#~ msgstr "documents to be downloaded" #~ msgid "Date and time" -#~ msgstr "تاریخ و زمان" +#~ msgstr "Date added" #~ msgid "" #~ "All the page transformations for document: %s, have been deleted " #~ "successfully." -#~ msgstr "حذف کامل کلیه تبدیلات سند %s" +#~ msgstr "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -1007,11 +1011,11 @@ msgstr "عکس صفحه سند" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1086,6 +1090,9 @@ msgstr "عکس صفحه سند" #~ msgid "documents" #~ msgstr "documents" +#~ msgid "Content of document: %s" +#~ msgstr "versions for document: %s" + #~ msgid "Are you sure you wish to delete the selected document?" #~ msgid_plural "Are you sure you wish to delete the selected documents?" #~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" @@ -1136,8 +1143,7 @@ msgstr "عکس صفحه سند" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "" -#~ "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1151,11 +1157,11 @@ msgstr "عکس صفحه سند" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1172,6 +1178,18 @@ msgstr "عکس صفحه سند" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" +#~ msgid "Are you sure you wish to reset the page count of this document?" +#~ msgstr "" +#~ "Are you sure you wish to update the page count for the office documents " +#~ "(%d)?" + +#~ msgid "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" +#~ msgstr "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" + #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1187,19 +1205,15 @@ msgstr "عکس صفحه سند" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1256,11 +1270,11 @@ msgstr "عکس صفحه سند" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1284,11 +1298,11 @@ msgstr "عکس صفحه سند" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1309,11 +1323,9 @@ msgstr "عکس صفحه سند" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1343,11 +1355,11 @@ msgstr "عکس صفحه سند" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgid "details" #~ msgstr "details" @@ -1404,17 +1416,15 @@ msgstr "عکس صفحه سند" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1435,6 +1445,9 @@ msgstr "عکس صفحه سند" #~ msgid "clone metadata" #~ msgstr "clone metadata" +#~ msgid "documents of this type" +#~ msgstr "documents of this type" + #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/documents/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/documents/locale/fr/LC_MESSAGES/django.mo index 4f8ca0d1a062e3fe51fdab456867b735ee666f1b..a72c572a99b381dd37db0b8ad5dc3d772b1eb755 100644 GIT binary patch delta 4137 zcmYk-3s6+o9mnyrE1;qxpa=-aDn^lr!UhykL_lof10ytADmI|3NPykIf>8YZ-E^g^{U0WCWG%;$2p`9e@4s8M6yN#zELV+!zmTKrS_VaTxaD zRD2B!@hT3+qFcart11`qHxX750xkX3MnwMZdpc+SWyc{!eEe3HXCSh!%F$2+q z8c;Tlz%(}wRn;dteW^@E~-6_0`@1P$1QnE2o_$sELg?wc$BvXIQ_|KfsNN=KU z9K%%_&?wZVnT9G|4-Umms3qEodhp9wg@TKDr&|zP&fWB#^ONgtp_KfzRyH`KMC~~c%9=S=le3ehw}@Z<92+A<8G|ROSlxr zhtiB;(xw|HVHh=_H&MIwJyaz=LtQtBlNzW8HIPEoj7qTx=i)@{K@I#Ms&Xft<1?rM zzl&Oe(ED^$%6`-XK1U58imj~+6H!Z&f_h*!>c(DVOr`|2Cu&g-3ZN?0jpOiH)Ps)U zBX|~dzg%7s_D0B*(9sR6Py?w&{+R|oH1j8rvyyZ0^Bfd7Vi@Ez2Hhwvj^ zmx5l*#PwK>y3Ym7#=qcTz5j6@d&ViK8BRcrJP);oHOQdNdeq2wAs^-Fd#rprhTNj~ekD)DMHGA9UkpmodHgA;4_uMOAPgYV*E{IrxW()W4X{*PPJW6|pdk!Bjf7 z;6RSI;WXThTB3{S!7Hdea2rc;1m$SO8k~b~VFkK)ny#xvifC4#_Dm>;`VXSBnG=g~ zJE{Wxs9k#lRk|Vf+OK0eYRzY$zF&Y;->gK<@M+Zb2T+xG-TD6asEYm@^#?CzGH(Em z4$-Nkb3f{Wt?0o%EWxvwiMm=d_n=CjgBrj*=XeF`_v>*OKIfd@gJWIByx|;wG{v6q z4OFE=U(-=ZvZmS(szlw`hnm6TND<6VtiiWY4@%0j*D@QmL?x(7R-zB9upCe0lXw#u zgV~U8Kj$#=yO23gMYd{rj4UO_aDF@L zt=fy4z)@5MKg2q`iax#nv+gtIVNSe)Md&WD--el}O|u1gW6VKhpPJvHmf&BgrHL!F z2Q&qvIi7|5Gv$0}BI__7`*1j(LQU)}M)Q300Uee63TnjvME!x#me+-;sF~f1x~>3K zfdx1eYf+nTHL4=Ln23Fjr;+NLcTunLEj*5C)2Y8kcAk!Y@G&Og=crP-DaRZfih7L} zA#aq~hWh^3$SRq4kbmYTAG%K-e|=;H>bj+<0o3CUahvmfd@=QBgPSb=2xx{6qGnc$ zvDk#{Pt$>VP#e$>EfkhjS^Mi!DE5VaLVOQrJ8C7P|;OGKNmhUk6=$w{K7zpUDS zkrJz~rj52H(z8EQ_PcE#ou4`fnuQt#FwJB>$tBugYCpFz-$Bh>?NOrT7(p}{wNMKm zb&;<9Q3+|J>09Tz=&P(R6F+%|XxVm=bfTtp%_fUTfVfGJXkSpYNVzxS(?rcfUeWyb z(s`UbN7UGyW`N#q#$2}ve> zq*D*yLZ*^cMC}REp$=^cDJL(I<76y3O4Qa9Z=`4ccdPCK5>1YfHu7Wg2&pBn61AU^ zJ&_)h-|ci7Fpf+i?PLH^d(Fly$5`@xGSfMC05_AhWTQozfSAK*nU@dS5{4ozr`PT%pd+N>yu&AbMp#v zz4@MeZ?V@KzBoSZ|7WHZdkd{w)TR7I(P3xY_D24!Z`O+tk_I-sS7GdS+dB zW&47i4P70+4o|D^n_qj{nuDHm`#r4hU4mA>ZIR-e^4yVM;%G3VI82mGr7et%bZ IS=k%^16`xX0ssI2 delta 5147 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, 2016 +# Christophe CHAUVET , 2016 # Thierry Schott , 2016 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" -"fr/)\n" -"Language: fr\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 -#: settings.py:13 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 +#: permissions.py:7 settings.py:13 msgid "Documents" msgstr "Documents" #: apps.py:110 -#, fuzzy -#| msgid "New document pages per month" +#| msgid "View document types" msgid "New pages this month" -msgstr "Nouvelles pages de document par mois" +msgstr "" #: apps.py:119 -#, fuzzy -#| msgid "New documents per month" +#| msgid "New document filename" msgid "New documents this month" -msgstr "Nouveaux documents par mois" +msgstr "" #: apps.py:128 -#, fuzzy -#| msgid "Trash documents" +#| msgid "Transform documents" msgid "Total documents" -msgstr "Envoyer les documents à la corbeille" +msgstr "" #: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 msgid "Document types" msgstr "Types de documents" #: apps.py:140 views/document_views.py:69 +#| msgid "Documents in storage: %d" msgid "Documents in trash" msgstr "Documents dans la corbeille" @@ -60,9 +58,7 @@ msgstr "Créer un type de document" msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." -msgstr "" -"Chaque document téléchargé doit être associé à un type de document, cela " -"permet à Mayan EDMS de catégoriser les documents." +msgstr "Chaque document téléchargé doit être associé à un type de document, cela permet à Mayan EDMS de catégoriser les documents." #: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 #: search.py:39 @@ -106,14 +102,17 @@ msgid "Comment" msgstr "Commentaire" #: apps.py:456 +#| msgid "New document filename" msgid "New documents per month" msgstr "Nouveaux documents par mois" #: apps.py:463 +#| msgid "Document version reverted successfully" msgid "New document versions per month" msgstr "Nouvelles versions de document par mois" #: apps.py:470 +#| msgid "View document types" msgid "New document pages per month" msgstr "Nouvelles pages de document par mois" @@ -146,10 +145,12 @@ msgid "Document type changed" msgstr "Type de document modifié" #: events.py:21 +#| msgid "Version update" msgid "New version uploaded" msgstr "Nouvelle version téléchargée" #: events.py:25 +#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "Retour à la version précédente du document" @@ -184,7 +185,7 @@ msgstr "Langue" #: forms.py:122 msgid "Unknown" -msgstr "" +msgstr "Inconnu" #: forms.py:130 msgid "File mimetype" @@ -228,15 +229,15 @@ msgid "Compress" msgstr "Compresser" #: forms.py:197 +#| msgid "" +#| "ad the document in the original format or in a compressed manner. s ion is " +#| "selectable only when downloading one document, for tiple uments, the bundle " +#| "will always be downloads as a compressed e." msgid "" -"Download the document in the original format or in a compressed manner. This " -"option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This" +" option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." -msgstr "" -"Télécharger le document dans son format original ou sous forme d'archive " -"compressée. Cette option est uniquement disponible lors du téléchargement " -"d'un document, lors du téléchargement d'un groupe de documents, ce dernier " -"sera toujours téléchargé en tant qu'archive compressée." +msgstr "Télécharger le document dans son format original ou sous forme d'archive compressée. Cette option est uniquement disponible lors du téléchargement d'un document, lors du téléchargement d'un groupe de documents, ce dernier sera toujours téléchargé en tant qu'archive compressée." #: forms.py:204 msgid "Compressed filename" @@ -246,9 +247,7 @@ msgstr "Nom du fichier compressé" msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "" -"Le nom de fichier du fichier compressé qui contiendra les documents à " -"importer, si l'option précédente est sélectionnée." +msgstr "Le nom de fichier du fichier compressé qui contiendra les documents à importer, si l'option précédente est sélectionnée." #: forms.py:225 literals.py:23 msgid "Page range" @@ -277,10 +276,8 @@ msgid "Clear transformations" msgstr "Effacer les transformations" #: links.py:71 -#, fuzzy -#| msgid "Clear transformations" msgid "Clone transformations" -msgstr "Effacer les transformations" +msgstr "" #: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" @@ -327,20 +324,18 @@ msgid "Recent documents" msgstr "Documents récents" #: links.py:151 -#, fuzzy -#| msgid "Trash" +#| msgid "Transform documents" msgid "Trash can" -msgstr "Corbeille" +msgstr "" #: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "" -"Effacer les représentations graphiques utilisées pour accélérer l'affichage " -"du document et le résultat des transformations interactives." +msgstr "Effacer les représentations graphiques utilisées pour accélérer l'affichage du document et le résultat des transformations interactives." #: links.py:162 +#| msgid "Clear the document image cache" msgid "Clear document image cache" msgstr "Effacer les documents du cache" @@ -418,10 +413,9 @@ msgstr "Toutes les pages" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the trash." -msgstr "" -"Temps après lequel les documents de ce type seront déplacés vers la " -"corbeille." +"Amount of time after which documents of this type will be moved to the " +"trash." +msgstr "Temps après lequel les documents de ce type seront déplacés vers la corbeille." #: models.py:71 msgid "Trash time period" @@ -435,15 +429,15 @@ msgstr "Unité de temps du déplacement vers la corbeille" msgid "" "Amount of time after which documents of this type in the trash will be " "deleted." -msgstr "" -"Temps après lequel les documents de ce type présents dans la corbeille " -"seront supprimés." +msgstr "Temps après lequel les documents de ce type présents dans la corbeille seront supprimés." #: models.py:81 +#| msgid "Delete document types" msgid "Delete time period" msgstr "Temps avant suppression" #: models.py:86 +#| msgid "Delete documents" msgid "Delete time unit" msgstr "Unité de temps avant suppression" @@ -476,10 +470,7 @@ msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." -msgstr "" -"Un document parcellaire est un document avec une entrée en base de données " -"mais aucun fichier téléchargé. Cela peut correspondre à un téléchargement " -"interrompu ou à un téléchargement retardé par l'API." +msgstr "Un document parcellaire est un document avec une entrée en base de données mais aucun fichier téléchargé. Cela peut correspondre à un téléchargement interrompu ou à un téléchargement retardé par l'API." #: models.py:179 msgid "Is stub?" @@ -487,6 +478,7 @@ msgstr "Parcellaire ?" #: models.py:187 #, python-format +#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "Parcelle de document, id : %d" @@ -504,7 +496,7 @@ msgstr "Version du document" #: models.py:625 msgid "Quick label" -msgstr "Renommage rapide" +msgstr "Étiquetage rapide" #: models.py:643 msgid "Page number" @@ -525,19 +517,15 @@ msgstr "Pages du document" #: models.py:801 msgid "Filename" -msgstr "Filename" +msgstr "Nom de fichier" #: models.py:804 -#, fuzzy -#| msgid "Document page image" msgid "Document page cached image" -msgstr "Image de la page du document" +msgstr "" #: models.py:805 -#, fuzzy -#| msgid "Document page image" msgid "Document page cached images" -msgstr "Image de la page du document" +msgstr "" #: models.py:827 msgid "User" @@ -560,6 +548,7 @@ msgid "Delete documents" msgstr "Supprimer les documents" #: permissions.py:16 +#| msgid "Transform documents" msgid "Trash documents" msgstr "Envoyer les documents à la corbeille" @@ -580,12 +569,14 @@ msgid "Edit document properties" msgstr "Modifier les propriétés du document" #: permissions.py:31 +#| msgid "Edit documents" msgid "Print documents" msgstr "Imprimer les documents" #: permissions.py:34 +#| msgid "Delete documents" msgid "Restore trashed document" -msgstr "" +msgstr "Restaurer le document mis à la corbeille" #: permissions.py:37 msgid "Execute document modifying tools" @@ -621,38 +612,29 @@ msgstr "Afficher les types de documents" #: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per " -"user." -msgstr "" -"Nombre maximum de documents récents (créés, modifiés, visualisés) à " -"mémoriser par utilisateur." +"Maximum number of recent (created, edited, viewed) documents to remember per" +" user." +msgstr "Nombre maximum de documents récents (créés, modifiés, visualisés) à mémoriser par utilisateur." #: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." -msgstr "" -"Valeur en pourcentage du zoom avant ou arrière pour une page de document " -"pour les utilisateurs." +msgstr "Valeur en pourcentage du zoom avant ou arrière pour une page de document pour les utilisateurs." #: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "" -"Maximum en pourcents (%) de la valeur du zoom avant interactif autorisé pour " -"l'utilisateur." +msgstr "Maximum en pourcents (%) de la valeur du zoom avant interactif autorisé pour l'utilisateur." #: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "" -"Minimum en pourcents (%) de la valeur du zoom arrière interactif autorisé " -"pour l'utilisateur." +msgstr "Minimum en pourcents (%) de la valeur du zoom arrière interactif autorisé pour l'utilisateur." #: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." -msgstr "" -"Valeur en degrés pour la rotation d'une page de document par l'utilisateur." +msgstr "Valeur en degrés pour la rotation d'une page de document par l'utilisateur." #: settings.py:70 msgid "Default documents language (in ISO639-2 format)." @@ -686,6 +668,7 @@ msgstr "Image de : %s" #: views/document_type_views.py:38 #, python-format +#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "Documents du type : %s" @@ -695,6 +678,7 @@ msgstr "Tous les documents de ce type seront également effacés." #: views/document_type_views.py:77 #, python-format +#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "Êtes-vous sûr de vouloir supprimer le type de document : %s ?" @@ -710,19 +694,14 @@ msgstr "Créer une étiquette rapide pour le type de document : %s" #: views/document_type_views.py:139 #, python-format -msgid "" -"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" -msgstr "" -"Modifier l'étiquette rapide \"%(filename)s\" du type de document " -"\"%(document_type)s\"" +msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgstr "Modifier l'étiquette rapide \"%(filename)s\" du type de document \"%(document_type)s\"" #: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" -msgstr "" -"Etes-vous sûr de vouloir supprimer l'étiquette rapide %(label)s du type de " -"document \"%(document_type)s\" ?" +msgstr "Etes-vous sûr de vouloir supprimer l'étiquette rapide %(label)s du type de document \"%(document_type)s\" ?" #: views/document_type_views.py:192 #, python-format @@ -736,10 +715,10 @@ msgstr "Versions du document : %s" #: views/document_version_views.py:56 msgid "All later version after this one will be deleted too." -msgstr "" -"Toutes les versions postérieures à celle-ci seront également supprimées." +msgstr "Toutes les versions postérieures à celle-ci seront également supprimées." #: views/document_version_views.py:59 +#| msgid "Revert documents to a previous version" msgid "Revert to this version?" msgstr "Êtes vous certain de vouloir revenir à cette version ?" @@ -758,6 +737,7 @@ msgstr "Êtes vous sûr de vouloir supprimer le document sélectionné ?" #: views/document_views.py:100 #, python-format +#| msgid "Document \"%(document)s\" deleted by %(fullname)s." msgid "Document: %(document)s deleted." msgstr "Document %(document)s supprimé." @@ -776,26 +756,19 @@ msgid "Document type change request performed on %(count)d documents" msgstr "" #: views/document_views.py:130 -#, fuzzy -#| msgid "Change type" msgid "Change" -msgstr "Changer le type" +msgstr "" #: views/document_views.py:132 -#, fuzzy -#| msgid "Change the type of the selected document." -#| msgid_plural "Change the type of the selected documents." msgid "Change the type of the selected document" msgid_plural "Change the type of the selected documents" -msgstr[0] "Modifier le type du document sélectionné." -msgstr[1] "Modifier le type des documents sélectionnés." +msgstr[0] "" +msgstr[1] "" #: views/document_views.py:143 -#, fuzzy, python-format -#| msgid "Change the type of the selected document." -#| msgid_plural "Change the type of the selected documents." +#, python-format msgid "Change the type of the document: %s" -msgstr "Modifier le type du document sélectionné." +msgstr "" #: views/document_views.py:164 #, python-format @@ -813,6 +786,7 @@ msgstr "Êtes vous sûr de vouloir rétablir le document sélectionné ?" #: views/document_views.py:221 #, python-format +#| msgid "Document: %(document)s delete error: %(error)s" msgid "Document: %(document)s restored." msgstr "Document %(document)s rétabli." @@ -832,13 +806,13 @@ msgstr "Etes-vous sûr de vouloir envoyer \"%s\" à la corbeille ?" #: views/document_views.py:287 #, python-format +#| msgid "Document deleted successfully." msgid "Document: %(document)s moved to trash successfully." msgstr "Document : %(document)s envoyé à la corbeille avec succès." #: views/document_views.py:300 msgid "Move the selected documents to the trash?" -msgstr "" -"Êtes vous sûr de vouloir envoyer les documents sélectionnés à la corbeille ?" +msgstr "Êtes vous sûr de vouloir envoyer les documents sélectionnés à la corbeille ?" #: views/document_views.py:318 #, python-format @@ -850,39 +824,30 @@ msgid "Empty trash?" msgstr "Vider la corbeille ?" #: views/document_views.py:335 +#| msgid "Document deleted successfully." msgid "Trash emptied successfully" msgstr "Corbeille vidée avec succès" #: views/document_views.py:519 -#, fuzzy, python-format -#| msgid "Document queued for page count recalculation." +#, python-format msgid "%(count)d document queued for page count recalculation" -msgstr "Document en file d'attente pour recomptage du nombre de pages." +msgstr "" #: views/document_views.py:522 -#, fuzzy, python-format -#| msgid "Documents queued for page count recalculation." +#, python-format msgid "%(count)d documents queued for page count recalculation" -msgstr "Documents en file d'attente pour recalcul du nombre de pages." +msgstr "" #: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" msgid_plural "Recalculate the page count of the selected documents?" -msgstr[0] "" -"Êtes vous sûr de vouloir recalculer le nombre de pages du document " -"sélectionné ?" -msgstr[1] "" -"Êtes vous sûr de vouloir recalculer le nombre de pages des documents " -"sélectionnés ?" +msgstr[0] "Êtes vous sûr de vouloir recalculer le nombre de pages du document sélectionné ?" +msgstr[1] "Êtes vous sûr de vouloir recalculer le nombre de pages des documents sélectionnés ?" #: views/document_views.py:541 -#, fuzzy, python-format -#| msgid "Recalculate the page count of the selected document?" -#| msgid_plural "Recalculate the page count of the selected documents?" +#, python-format msgid "Recalculate the page count of the document: %s?" msgstr "" -"Êtes vous sûr de vouloir recalculer le nombre de pages du document " -"sélectionné ?" #: views/document_views.py:558 #, python-format @@ -895,57 +860,36 @@ msgid "Transformation clear request processed for %(count)d documents" msgstr "" #: views/document_views.py:569 -#, fuzzy -#| msgid "Clear all the page transformations for the selected document?" -#| msgid_plural "" -#| "Clear all the page transformations for the selected documents?" msgid "Clear all the page transformations for the selected document?" msgid_plural "Clear all the page transformations for the selected document?" msgstr[0] "" -"Êtes-vous sûr de vouloir supprimer toutes les transformations de page pour " -"le document sélectionné ?" msgstr[1] "" -"Êtes-vous sûr de vouloir supprimer toutes les transformations de page pour " -"les documents sélectionnés ?" #: views/document_views.py:580 -#, fuzzy, python-format -#| msgid "Clear all the page transformations for the selected document?" -#| msgid_plural "" -#| "Clear all the page transformations for the selected documents?" +#, python-format msgid "Clear all the page transformations for the document: %s?" msgstr "" -"Êtes-vous sûr de vouloir supprimer toutes les transformations de page pour " -"le document sélectionné ?" #: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "" -"Erreur lors de la suppression des transformations de page pour le document : " -"%(document)s; %(error)s." +msgstr "Erreur lors de la suppression des transformations de page pour le document : %(document)s; %(error)s." #: views/document_views.py:631 -#, fuzzy #| msgid "Document page transformation created successfully." msgid "Transformations cloned successfully." -msgstr "Document page transformation created successfully." +msgstr "" #: views/document_views.py:646 views/document_views.py:701 msgid "Submit" msgstr "Soumettre" #: views/document_views.py:648 -#, fuzzy, python-format -#| msgid "Clear all the page transformations for the selected document?" -#| msgid_plural "" -#| "Clear all the page transformations for the selected documents?" +#, python-format msgid "Clone page transformations for document: %s" msgstr "" -"Êtes-vous sûr de vouloir supprimer toutes les transformations de page pour " -"le document sélectionné ?" #: views/document_views.py:702 #, python-format @@ -953,14 +897,13 @@ msgid "Print: %s" msgstr "Imprimer : %s" #: views/misc_views.py:18 +#| msgid "Clear the document image cache" msgid "Clear the document image cache?" msgstr "Vider l'image en cache du document" #: views/misc_views.py:25 msgid "Document cache clearing queued successfully." -msgstr "" -"Demande de nettoyage du cache de documents mise en file d'attente avec " -"succès." +msgstr "Demande de nettoyage du cache de documents mise en file d'attente avec succès." #: widgets.py:64 #, python-format @@ -968,45 +911,38 @@ msgid "Page %(page_number)d of %(total_pages)d" msgstr "Page %(page_number)d sur %(total_pages)d" #: widgets.py:87 -#, fuzzy #| msgid "Page image" msgid "Clickable image" -msgstr "Image de la page" +msgstr "" #: widgets.py:242 msgid "Document page image" msgstr "Image de la page du document" -#~| msgid "Version update" #~ msgid "New version block" -#~ msgstr "Bloc de la nouvelle version" +#~ msgstr "Version update" -#~| msgid "Version update" #~ msgid "New version blocks" -#~ msgstr "Blocs de la nouvelle version" +#~ msgstr "Version update" #~ msgid "Must provide at least one document." -#~ msgstr "Au moins un document est requis." +#~ msgstr "Must provide at least one document." -#~| msgid "Must provide at least one document." #~ msgid "Must provide at least one document or version." -#~ msgstr "Vous devez fournir au moins un document ou une version" +#~ msgstr "Must provide at least one document." #~ msgid "Documents to be downloaded" -#~ msgstr "Documents à télécharger" +#~ msgstr "documents to be downloaded" #~ msgid "Date and time" -#~ msgstr "Date et heure" - -#~ msgid "At least one document must be selected." -#~ msgstr "Au moins un document doit être sélectionné" +#~ msgstr "Date added" #~ msgid "" #~ "All the page transformations for document: %s, have been deleted " #~ "successfully." #~ msgstr "" -#~ "Toutes les transformations de page pour le document : %s ont été " -#~ "supprimées avec succès." +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -1081,11 +1017,11 @@ msgstr "Image de la page du document" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1214,8 +1150,7 @@ msgstr "Image de la page du document" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "" -#~ "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1229,11 +1164,11 @@ msgstr "Image de la page du document" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1256,11 +1191,11 @@ msgstr "Image de la page du document" #~ "(%d)?" #~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for " -#~ "documents: %s?" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" #~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for " -#~ "documents: %s?" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1277,19 +1212,15 @@ msgstr "Image de la page du document" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1346,11 +1277,11 @@ msgstr "Image de la page du document" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1374,11 +1305,11 @@ msgstr "Image de la page du document" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1399,11 +1330,9 @@ msgstr "Image de la page du document" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1433,11 +1362,11 @@ msgstr "Image de la page du document" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgid "details" #~ msgstr "details" @@ -1494,17 +1423,15 @@ msgstr "Image de la page du document" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" diff --git a/mayan/apps/documents/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/documents/locale/hu/LC_MESSAGES/django.mo index 9dace9aa6a2eb9dbbc1ab3fe6bd7013dfa37e703..b2925cc51d6b56d4768b066fbfaefedca4cbd729 100644 GIT binary patch delta 1241 zcmYk*O-NK>6vpv$b4*7~8#B{No6?+_YV^+4(U?_gD1?@X1xg!(p(gww6seU+izF8< z`XFi%fl)15-Kb3;3m1VaA=j4szrzAX)0 zH=>c;Nj`SWIL)H0) z1!j|0yz%b^m8c6Eun-U7ChWpG9Kaw>VF}Kl3f;z1oW%-!iYmN-#kh<|@jKRH8@mkS zX$(={rdg=aEiA(as6x+C1zxSaU%=zMU&LN?`SJu_M22CDco3J6&a8r)$QqD_M!^q#D(UhaR@#6^>~fbu@t@vwlqBAYMcLZUuG!0=m;g zFQXd0!OJ$B#mPM^p0QAYB`n9UsH4c`!yQATG}FUMyi(?9GzMu&f=`SvPiLKThL) z>_L}ZYV=d6$y`Eh>@#wS{RlB1U64zaDl9}7V|X41P!oEMI+7LC23Ap>1evosiJ>;$ zh7R(GSS6|0PijgUxk7&|9Z!sm=zQwQTC#>zado6_d0?|QRbhojuh3)^8a0h%H>3wj z8(JS8Z#Jy^Ko8$OQk_?moPwpv>_{54SPONWAR9@YE7Q-0{~#FqqP#$`WA5(Rp^>?V6TTBlI{wMh56&M{ CfpZ4{ delta 1375 zcmYk+OGs2v9LMo9Iyq*RW@Qh1T+1dct#N$jrld#;4CzTA!RVaKnn!qNLWvq^QLQYR zf;JUFi=eW_)FKR8BteT_i=rT+MK211AQ!cWzQ5Zn{NuTwdk^QHbN>Hx$B)5>wVC%7 z{)>iarY)vD@EOyEy@gzeVZSjgID*^p4tC;S+=3gY8B>g>(ZzEZK!4Hy{!*O7^E{k~ zby$uYko7XAhno^Q;`sr?`2nLigZ`^H6K`S=@8fj*fMxg%wShlafrYHT04q@ouftim z36;POtifyOu)cZB&1^cppceX#b1}fIT4-_JAnxWlggfvQ?!mXXLj4S;C}tP7<33bk z=ks1hieqk|DlvvZ);AN}jNo^yMax^7Xf$sYmB}SkCbuw*<9L?i`hhy46Q#y%#=E!= ze`5r9l9k@Shg$Cms&9Fm3SLB+)?>Mf)3uWwQ88;8;(3!o%T{wwtxQ$h-@g(ZS>!>px$CdaD zmB24lMg{Dm8)xAe?8P4Zgc{$<%Q}KyRAu@qsE2koK?ie~=lKC2a0$#HyFs+%U zY*i_RDx~0-=Y3!exK5aJv&~>u74qO_p@|DtYIy_f9(A zvC?s!_+TPx6WRS`H34_GD7{~Ev+)dX%tL@sKHB*$$&9c=T+BLQ)qB4+BD2qHKY>*L{APZ3tZABE( zAI^|}S*p8aO#VGDTP1KLIcmn%z95>($w%{U0u$)!0R*Rv= zZ^BB;n{{xafm6P_@Cerj@DNVoQT&P9)z8Dq;F9l6WUY1&mGNUt;0rvD@30*YlZ6&= z!S^!OGrwKqL>W9p7pL$B+wcK1T#rzeK74|w@H^_g!J5*-U;BQYA|BR`wwpiJkm4&UPtE@2Y)lT93RsD<1| zW&RAc6-DGxo2?}es$=tXuuZmr7x6P5!(m3(^)&9pG+z?8EQcEC3TgobY{jRj(!auU z_ybk?5gyh8ZlUHYU;|D@2KRws))*^rmXb!{;z334XzfQ7z)JmT7p`P zU_jeU=!@AzsBIy%F{^YzQ;oX_l|X+1HU0gXh(mbSq?Uh<{iNx|| zmCnsNIiU>88`g$v2z?FViPqq5uNYh`tLQyFdU7m##=BEd?Rc}HFHX28xpiC8?QZFI oGp;*PtZMw%lg_v)?`_pS#~Z8Z41{pF delta 1329 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 SCFSjs{83+-FZy=b-hTt;h401y diff --git a/mayan/apps/documents/locale/it/LC_MESSAGES/django.po b/mayan/apps/documents/locale/it/LC_MESSAGES/django.po index adb1011734..60c8bbaf28 100644 --- a/mayan/apps/documents/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Marco Camplese , 2016 @@ -11,44 +11,41 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-30 21:18+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 -#: settings.py:13 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 +#: permissions.py:7 settings.py:13 msgid "Documents" msgstr "Documenti" #: apps.py:110 -#, fuzzy -#| msgid "New document pages per month" +#| msgid "View document types" msgid "New pages this month" -msgstr "Nuove pagine di documento per mese" +msgstr "" #: apps.py:119 -#, fuzzy -#| msgid "New documents per month" +#| msgid "New document filename" msgid "New documents this month" -msgstr "Nuovi documenti per mese" +msgstr "" #: apps.py:128 -#, fuzzy -#| msgid "Trash documents" +#| msgid "Transform documents" msgid "Total documents" -msgstr "Cestina documenti" +msgstr "" #: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 msgid "Document types" msgstr "Tipi di documento" #: apps.py:140 views/document_views.py:69 +#| msgid "Documents in storage: %d" msgid "Documents in trash" msgstr "Documenti nel cestino" @@ -60,9 +57,7 @@ msgstr "Creare un tipo di documento" msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." -msgstr "" -"Ad ogni documento caricato deve essere assegnato un tipo documento, questa " -"è la via più semplice per categorizzare i documenti in Mayan EDMS." +msgstr "Ad ogni documento caricato deve essere assegnato un tipo documento, questa è la via più semplice per categorizzare i documenti in Mayan EDMS." #: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 #: search.py:39 @@ -106,14 +101,17 @@ msgid "Comment" msgstr "Commento" #: apps.py:456 +#| msgid "New document filename" msgid "New documents per month" msgstr "Nuovi documenti per mese" #: apps.py:463 +#| msgid "Document version reverted successfully" msgid "New document versions per month" msgstr "Nuove versioni dei documenti per mese" #: apps.py:470 +#| msgid "View document types" msgid "New document pages per month" msgstr "Nuove pagine di documento per mese" @@ -146,10 +144,12 @@ msgid "Document type changed" msgstr "Cambiamenti al tipo di documento" #: events.py:21 +#| msgid "Version update" msgid "New version uploaded" msgstr "Nuove versioni caricate" #: events.py:25 +#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "Versioni di documento recuperate" @@ -184,7 +184,7 @@ msgstr "Lingua" #: forms.py:122 msgid "Unknown" -msgstr "" +msgstr "Sconosciuto" #: forms.py:130 msgid "File mimetype" @@ -228,14 +228,15 @@ msgid "Compress" msgstr "Comprimere" #: forms.py:197 +#| msgid "" +#| "ad the document in the original format or in a compressed manner. s ion is " +#| "selectable only when downloading one document, for tiple uments, the bundle " +#| "will always be downloads as a compressed e." msgid "" -"Download the document in the original format or in a compressed manner. This " -"option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This" +" option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." -msgstr "" -"Scarica il documento nel formato originale oppure compresso. Questa opzione " -"è selezionabile quando scarichi un singolo documento, per documenti " -"multipli, il pacchetto sarà sempre scaricato in formato compresso." +msgstr "Scarica il documento nel formato originale oppure compresso. Questa opzione è selezionabile quando scarichi un singolo documento, per documenti multipli, il pacchetto sarà sempre scaricato in formato compresso." #: forms.py:204 msgid "Compressed filename" @@ -245,9 +246,7 @@ msgstr "Nome file compresso " msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "" -"Il nome file del file compresso che conterrà il documento da scaricare, se " -"l'opzione precedente è selezionata." +msgstr "Il nome file del file compresso che conterrà il documento da scaricare, se l'opzione precedente è selezionata." #: forms.py:225 literals.py:23 msgid "Page range" @@ -276,10 +275,8 @@ msgid "Clear transformations" msgstr "Cancella trasformazioni" #: links.py:71 -#, fuzzy -#| msgid "Clear transformations" msgid "Clone transformations" -msgstr "Cancella trasformazioni" +msgstr "" #: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" @@ -326,20 +323,18 @@ msgid "Recent documents" msgstr "Documenti recenti" #: links.py:151 -#, fuzzy -#| msgid "Trash" +#| msgid "Transform documents" msgid "Trash can" -msgstr "Cestino" +msgstr "" #: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "" -"Cancella le rappresentazioni grafiche utilizzate per accellerare la " -"visualizzazione dei documenti e dei risultati interattivi trasformazioni." +msgstr "Cancella le rappresentazioni grafiche utilizzate per accellerare la visualizzazione dei documenti e dei risultati interattivi trasformazioni." #: links.py:162 +#| msgid "Clear the document image cache" msgid "Clear document image cache" msgstr "Pulisci la cache delle immagini dei documenti" @@ -417,10 +412,9 @@ msgstr "Tutte le pagine" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the trash." -msgstr "" -"Quantità di tempo dopo il quale i documenti di questo tipo saranno spostati " -"nel cestino." +"Amount of time after which documents of this type will be moved to the " +"trash." +msgstr "Quantità di tempo dopo il quale i documenti di questo tipo saranno spostati nel cestino." #: models.py:71 msgid "Trash time period" @@ -434,15 +428,15 @@ msgstr "Unità di tempo per cestinare" msgid "" "Amount of time after which documents of this type in the trash will be " "deleted." -msgstr "" -"Quantità di tempo dopo il quale i documenti di questo tipo nel cestino " -"saranno cancellati." +msgstr "Quantità di tempo dopo il quale i documenti di questo tipo nel cestino saranno cancellati." #: models.py:81 +#| msgid "Delete document types" msgid "Delete time period" msgstr "Tempo per cancellare" #: models.py:86 +#| msgid "Delete documents" msgid "Delete time unit" msgstr "Unità di tempo per cancellare" @@ -475,10 +469,7 @@ msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." -msgstr "" -"Un documento troncato è un documento presente sul database che non ha un " -"file scaricato. Potrebbe essere dovuto ad un upload interrotto oppure " -"rimandato per caricarlo via API." +msgstr "Un documento troncato è un documento presente sul database che non ha un file scaricato. Potrebbe essere dovuto ad un upload interrotto oppure rimandato per caricarlo via API." #: models.py:179 msgid "Is stub?" @@ -486,6 +477,7 @@ msgstr "Documento troncato?" #: models.py:187 #, python-format +#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "Documento troncato, ID: %d" @@ -524,19 +516,15 @@ msgstr "Le pagine del documento" #: models.py:801 msgid "Filename" -msgstr "Filename" +msgstr "Nome file" #: models.py:804 -#, fuzzy -#| msgid "Document page image" msgid "Document page cached image" -msgstr "Immagine pagina documento" +msgstr "" #: models.py:805 -#, fuzzy -#| msgid "Document page image" msgid "Document page cached images" -msgstr "Immagine pagina documento" +msgstr "" #: models.py:827 msgid "User" @@ -559,6 +547,7 @@ msgid "Delete documents" msgstr "Cancella documenti" #: permissions.py:16 +#| msgid "Transform documents" msgid "Trash documents" msgstr "Cestina documenti" @@ -579,10 +568,12 @@ msgid "Edit document properties" msgstr "Modifica proprietà documento" #: permissions.py:31 +#| msgid "Edit documents" msgid "Print documents" msgstr "Stampa documenti" #: permissions.py:34 +#| msgid "Delete documents" msgid "Restore trashed document" msgstr "Ripristina il documento cancellato" @@ -620,33 +611,25 @@ msgstr "Visualizza i tipi di documento" #: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per " -"user." -msgstr "" -"Numero massimo di documenti recenti da ricordare per utente (creazione, " -"modifica, visualizzazione)." +"Maximum number of recent (created, edited, viewed) documents to remember per" +" user." +msgstr "Numero massimo di documenti recenti da ricordare per utente (creazione, modifica, visualizzazione)." #: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." -msgstr "" -"Percentuale dello zoom di una pagina del documento per l'interazione " -"dell'utente." +msgstr "Percentuale dello zoom di una pagina del documento per l'interazione dell'utente." #: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "" -"Ingrandimento massimo in percentuale (%) da consentire all'utente per una " -"pagina del documento in modo interattivo." +msgstr "Ingrandimento massimo in percentuale (%) da consentire all'utente per una pagina del documento in modo interattivo." #: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "" -"Quantità minima in percentuale (%) per consentire all'utente di ingrandire " -"una pagina di documento in modo interattivo." +msgstr "Quantità minima in percentuale (%) per consentire all'utente di ingrandire una pagina di documento in modo interattivo." #: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." @@ -684,6 +667,7 @@ msgstr "Immagine di: %s" #: views/document_type_views.py:38 #, python-format +#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "Documento di tipo: %s" @@ -693,6 +677,7 @@ msgstr "Tutti i documenti di questo tipo saranno cancellati ." #: views/document_type_views.py:77 #, python-format +#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "Cancellare il tipo documento: %s?" @@ -708,18 +693,14 @@ msgstr "Crea etichetta rapida per il tipo documento: %s" #: views/document_type_views.py:139 #, python-format -msgid "" -"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" -msgstr "" -"Modifica etichetta rapida \"%(filename)s\" dal tipo documento " -"\"%(document_type)s\"" +msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgstr "Modifica etichetta rapida \"%(filename)s\" dal tipo documento \"%(document_type)s\"" #: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" -msgstr "" -"Cancellare l'etichetta: %(label)s, dal tipo documento \"%(document_type)s\"?" +msgstr "Cancellare l'etichetta: %(label)s, dal tipo documento \"%(document_type)s\"?" #: views/document_type_views.py:192 #, python-format @@ -736,6 +717,7 @@ msgid "All later version after this one will be deleted too." msgstr "Tutte le versioni precedenti a questa verranno cancellate." #: views/document_version_views.py:59 +#| msgid "Revert documents to a previous version" msgid "Revert to this version?" msgstr "Ripristinare questa versione?" @@ -754,6 +736,7 @@ msgstr "Cancellare il documento selezionato?" #: views/document_views.py:100 #, python-format +#| msgid "Document \"%(document)s\" deleted by %(fullname)s." msgid "Document: %(document)s deleted." msgstr "Documento: %(document)s cancellato." @@ -772,26 +755,19 @@ msgid "Document type change request performed on %(count)d documents" msgstr "" #: views/document_views.py:130 -#, fuzzy -#| msgid "Change type" msgid "Change" -msgstr "Cambia tipo" +msgstr "" #: views/document_views.py:132 -#, fuzzy -#| msgid "Change the type of the selected document." -#| msgid_plural "Change the type of the selected documents." msgid "Change the type of the selected document" msgid_plural "Change the type of the selected documents" -msgstr[0] "Cambia il tipo del documento selezionato." -msgstr[1] "Cambia il tipo dei documenti selezionati." +msgstr[0] "" +msgstr[1] "" #: views/document_views.py:143 -#, fuzzy, python-format -#| msgid "Change the type of the selected document." -#| msgid_plural "Change the type of the selected documents." +#, python-format msgid "Change the type of the document: %s" -msgstr "Cambia il tipo del documento selezionato." +msgstr "" #: views/document_views.py:164 #, python-format @@ -809,6 +785,7 @@ msgstr "Ripristinare i documenti selezionati?" #: views/document_views.py:221 #, python-format +#| msgid "Document: %(document)s delete error: %(error)s" msgid "Document: %(document)s restored." msgstr "Documento: %(document)s rispristinato." @@ -828,6 +805,7 @@ msgstr "Spostare \"%s\" nel cestino?" #: views/document_views.py:287 #, python-format +#| msgid "Document deleted successfully." msgid "Document: %(document)s moved to trash successfully." msgstr "Documento: %(document)s spostato nel cestino con successo.." @@ -845,20 +823,19 @@ msgid "Empty trash?" msgstr "Cancellare il cestino?" #: views/document_views.py:335 +#| msgid "Document deleted successfully." msgid "Trash emptied successfully" msgstr "Svuotamento cestino completato" #: views/document_views.py:519 -#, fuzzy, python-format -#| msgid "Document queued for page count recalculation." +#, python-format msgid "%(count)d document queued for page count recalculation" -msgstr "Documento messo in coda per ricalcolo delle pagine." +msgstr "" #: views/document_views.py:522 -#, fuzzy, python-format -#| msgid "Documents queued for page count recalculation." +#, python-format msgid "%(count)d documents queued for page count recalculation" -msgstr "Documenti messi in coda per ricalcolo delle pagine." +msgstr "" #: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" @@ -867,11 +844,9 @@ msgstr[0] "Ricalcolare il conteggio delle pagine del documento selezionato?" msgstr[1] "Ricalcolare il conteggio delle pagine dei documenti selezionati?" #: views/document_views.py:541 -#, fuzzy, python-format -#| msgid "Recalculate the page count of the selected document?" -#| msgid_plural "Recalculate the page count of the selected documents?" +#, python-format msgid "Recalculate the page count of the document: %s?" -msgstr "Ricalcolare il conteggio delle pagine del documento selezionato?" +msgstr "" #: views/document_views.py:558 #, python-format @@ -884,49 +859,36 @@ msgid "Transformation clear request processed for %(count)d documents" msgstr "" #: views/document_views.py:569 -#, fuzzy -#| msgid "Clear all the page transformations for the selected document?" -#| msgid_plural "" -#| "Clear all the page transformations for the selected documents?" msgid "Clear all the page transformations for the selected document?" msgid_plural "Clear all the page transformations for the selected document?" -msgstr[0] "Cancellare le trasformazioni per il documento selezionato?" -msgstr[1] "Cancellare le trasformazioni per i documenti selezionati?" +msgstr[0] "" +msgstr[1] "" #: views/document_views.py:580 -#, fuzzy, python-format -#| msgid "Clear all the page transformations for the selected document?" -#| msgid_plural "" -#| "Clear all the page transformations for the selected documents?" +#, python-format msgid "Clear all the page transformations for the document: %s?" -msgstr "Cancellare le trasformazioni per il documento selezionato?" +msgstr "" #: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "" -"Errore nella cancellazione della trasformazione della pagina per il " -"documento:%(document)s; %(error)s." +msgstr "Errore nella cancellazione della trasformazione della pagina per il documento:%(document)s; %(error)s." #: views/document_views.py:631 -#, fuzzy #| msgid "Document page transformation created successfully." msgid "Transformations cloned successfully." -msgstr "Document page transformation created successfully." +msgstr "" #: views/document_views.py:646 views/document_views.py:701 msgid "Submit" msgstr "Invia" #: views/document_views.py:648 -#, fuzzy, python-format -#| msgid "Clear all the page transformations for the selected document?" -#| msgid_plural "" -#| "Clear all the page transformations for the selected documents?" +#, python-format msgid "Clone page transformations for document: %s" -msgstr "Cancellare le trasformazioni per il documento selezionato?" +msgstr "" #: views/document_views.py:702 #, python-format @@ -934,6 +896,7 @@ msgid "Print: %s" msgstr "Stampa: %s" #: views/misc_views.py:18 +#| msgid "Clear the document image cache" msgid "Clear the document image cache?" msgstr "Cancellare la cache delle immagini documento?" @@ -947,45 +910,38 @@ msgid "Page %(page_number)d of %(total_pages)d" msgstr "Pagina %(page_number)d di %(total_pages)d" #: widgets.py:87 -#, fuzzy #| msgid "Page image" msgid "Clickable image" -msgstr "Immagine della pagina" +msgstr "" #: widgets.py:242 msgid "Document page image" msgstr "Immagine pagina documento" -#~| msgid "Version update" #~ msgid "New version block" -#~ msgstr "Nuovo blocco versione" +#~ msgstr "Version update" -#~| msgid "Version update" #~ msgid "New version blocks" -#~ msgstr "Nuovi blocchi versione" +#~ msgstr "Version update" #~ msgid "Must provide at least one document." -#~ msgstr "Fornire almeno un documento " +#~ msgstr "Must provide at least one document." -#~| msgid "Must provide at least one document." #~ msgid "Must provide at least one document or version." -#~ msgstr "Deve fornire almeno un documento o una versione." +#~ msgstr "Must provide at least one document." #~ msgid "Documents to be downloaded" -#~ msgstr "Documenti da scaricare" +#~ msgstr "documents to be downloaded" #~ msgid "Date and time" -#~ msgstr "Data e ora" - -#~ msgid "At least one document must be selected." -#~ msgstr "Almeno un documento deve essere selezionato." +#~ msgstr "Date added" #~ msgid "" #~ "All the page transformations for document: %s, have been deleted " #~ "successfully." #~ msgstr "" -#~ "Tutte le trasformazioni alle pagine del documento:%s, sono state " -#~ "cancellate con successo." +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -1060,11 +1016,11 @@ msgstr "Immagine pagina documento" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1193,8 +1149,7 @@ msgstr "Immagine pagina documento" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "" -#~ "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1208,11 +1163,11 @@ msgstr "Immagine pagina documento" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1235,11 +1190,11 @@ msgstr "Immagine pagina documento" #~ "(%d)?" #~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for " -#~ "documents: %s?" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" #~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for " -#~ "documents: %s?" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1256,19 +1211,15 @@ msgstr "Immagine pagina documento" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1325,11 +1276,11 @@ msgstr "Immagine pagina documento" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1353,11 +1304,11 @@ msgstr "Immagine pagina documento" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1378,11 +1329,9 @@ msgstr "Immagine pagina documento" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1412,11 +1361,11 @@ msgstr "Immagine pagina documento" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgid "details" #~ msgstr "details" @@ -1473,17 +1422,15 @@ msgstr "Immagine pagina documento" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" diff --git a/mayan/apps/documents/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/documents/locale/nl_NL/LC_MESSAGES/django.mo index 5b18c653695f36b02d247c73256e2858b5b5783c..86f14614561e39d7eea7aed8383e64de9432858d 100644 GIT binary patch delta 3788 zcmaKudvFz39mmg=AP^o22{Z|Wu+$Qsk#OZ@S{eut9zjTX1pA=vCOJvAx!Jwl-J4Jp zuhXgEOwkJ4>J+EUw6rrmr;h2AKb&?P$0^J>{-Le)RjnP{e~Ojq=;-LE`1#(u3Gj!W z$!|aBoIQKa_xCs#zSMqdNAdSH6;B!37}kirF~yh*@bokuwE9Y8rosj|8!m=xU<+Ii zkHQ%+fm`7-uoJ!wXToM4(_t1y@OG%JUo6iT%|$x3O#Beu0^fl1;T2d7GqcLVY9M=> zHBcM0!H>cYsP(&{);|Cj!8~LO^JORj=hF8Vpw4><&NfA3E~gW3!Ueo|zw`pHaaSAH z!qspEoCABH4zjQTj>2a66<7r?LPg|KI{sP8cc6rP2y5U!VFl-#+3Z>mYoH>q3QA!I zqufoHOFT(?{iLms*hoKI-3{_KaLJ9v1tb?_v(z&bV5`S&D zg$XI#12@6_a2fm}l#uU169S5OE3A)Ws-M3ea|)czI3Tl>s`3t%`+X?ozlIX>Ayf+f4ON7dl( z68Ot>{2o-TT`kg)=as}mtb+1rUOH}sO34zajaNcGG20+%Hb-C<4nTePG}QWM;WHU( z0?PAUc&UgSgl(`7-T{l}(-*&m3jGzh4c>;kI$#KD!!h^-{5;f#)u>S<7Q&Tq8I(r{ zAb)0rhlHMlO657I2>%Ew60budQ#9|;QBJNv&NkDyQ~IC@D#V>o0uDlLcwfpql)%TJ za+yHg`)@)Wa0#N-`~t3mA3#N*0hRi01#Hy)-$Z9A6NjM`eg?|J(@-0H4Qj&|p@h5w zb>M61_${cKc@JuR1>WF`X@nBI9+CyK8|s|;e7N9;nk@5*BA!RJP&M%u)Pd8uN)pxp70G6(NUmE<{N>qZ zCZu==)OG5C+W08c2le9 zHAo$rdh)B<$QJ3e(CLKwFoyc@1k6C?uLs+L?Z6ITQm)O^hB2iOhf8fBh;a3^rm9VR=kmsdZqtV*#d`QM(J< zj;+R27rnaw`{^i@YDdZ_Js(c{3fCtwMQ05AICej_3Ddnkhv2`b(jiC?PwXLe^UGC&%`!h>#=?;i%qnxbOzJGCsOLi%uD;t zDc3;N)r0A{i}OqWEmGA_w0r5SNC$i2AxuBXyRb@Z3Z~|ip5+R^hkhrvIh_*e9b2WS6hMW>guzB^(~rx!*n<{-1z?X@|c{$Qaz)QfR%PE}@BFlwDRaN^L7hLUqt zx#{*;`J<$wdTg6t80od4>E@HDOY5AzpuoBVwh!6Y7cvpWL0F2xjP@Hwb(!|$Pu0s?57<%ME~y>zB8Nfb1wJc- zSX<}p0GpQkp*J`bC$)3GFyB!u6sLH|PM(!KIX9f=5BtHGZw^N|*i+ssN@mpLtL_Pc z5y$gQi9sP5tJ!z=#+KG~E!nls+H6}kOTV?XvU`6Eiacp(*^YoVC)>Jqa@~fu?D|!$ zw93716t^5AdJz!_!Zv45Fy#79N9fvN>yK})J(H>I&AI)@y@&d(pH$C3HU6*py_qCe z*R^byjU5Wb=4@YVZPqmVF(Isz($XqAZ0tr?e@4Wmo)eBrfpo; zb8?uP%pR^t8fG_z&nven`f~ECsFgggG%5imf`nU!28V~bmrk{)XL|Pjdo%M>P72O z6ZIjtm_gKv6R52p!$o)m9Xy7mSj58xxBwY4b%9~5;Cd})m1#d6)p$E9!w70Tj$3dH z`|u+iK!$6CK@8z5SczYvUT^}Hz;w20H5TH9xE@u)U31ufbutX(4jF1?_k(N9{x@*{{d$ES(6Q z`%n}Aj4Hu24#NF73pMdU*7;bCdckVsC)0_`a64)z_Mx781a(%P z#l?68SyH9xKM~ChW)Psiuzd$AM18N1QQHQjcEOj<2P+M7r-B^d)(8nJ9 z0GDDV%dW)^bZ`jy$?U~S-fy0uqX}QZ)%XUg#=oKxs%4+G#Vb)e(}7C38*~5T1;1}a zt#}wim`3f?0pxs|=dcmqLd|mmvk%kxolY1n`>PclM!oRk;QDJM7xO(T(E?_dGg0>! zqe?Lk*<}+(m81vj@h0RWFMnYMuY4TM>i!Nx(r^s#h zwe(fT>xgy4<%D)a3(=P{Nc^{{EY}ka1Zy^zss5dG))H!zICpAQhJHeI+D@ox%hj|Z zeKBo>R^3aq5^7gXkvpjBsvMhwF@5hh5u1bSD&^@Y>a6IXE+JeZL^KmBg_;iU3gQMr<#Y)B|C4LAff3wBTtn#eZXp&CXWAun z_-@Z?OG~z-+hgdCt3bPXRpVGgY@||iMgq>S>r+u|}$->lfXT;5T&Y`o>!(Fl*HotWn`knp{K60x7niP@gg(W<2KF`L|BFJ(3* zy-d^_!>FIO`DH!UE1P3qDqCy|%lF!6%KiM5m$XYOcH2W0z1dau;c$J^N~f`@t);oX zvAMCaaMRWGeN2&xCj9!#$-T{KY7FP@YixDGEp08UmNn7}d&#H1pI4`1ZaR@{b2enW zSahfFYXg~hro$P{Z!iXQ%?BrdN?i_G08B?_8V;Zf?Mok3+}MXLsc_! p#qew*RAcW6wc77O<+jTS+vlC9Y_#^anO)vsax}V&y8Kz2`3rY, 2016 +# Johan Braeken, 2017 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-11-09 15:56+0000\n" -"Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" -"edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Johan Braeken\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 -#: settings.py:13 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 +#: permissions.py:7 settings.py:13 msgid "Documents" msgstr "Documenten" #: apps.py:110 -#, fuzzy -#| msgid "New document pages per month" +#| msgid "View document types" msgid "New pages this month" -msgstr "Nieuwe documentpagina's per maand" +msgstr "" #: apps.py:119 -#, fuzzy -#| msgid "New documents per month" +#| msgid "New document filename" msgid "New documents this month" -msgstr "Nieuwe documenten per maand" +msgstr "" #: apps.py:128 -#, fuzzy -#| msgid "All documents" +#| msgid "Transform documents" msgid "Total documents" -msgstr "Alle documenten" +msgstr "" #: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 msgid "Document types" msgstr "Documentsoorten" #: apps.py:140 views/document_views.py:69 +#| msgid "Documents in storage: %d" msgid "Documents in trash" msgstr "" @@ -103,14 +101,17 @@ msgid "Comment" msgstr "Commentaar" #: apps.py:456 +#| msgid "New document filename" msgid "New documents per month" msgstr "Nieuwe documenten per maand" #: apps.py:463 +#| msgid "Document version reverted successfully" msgid "New document versions per month" msgstr "Nieuwe documentversies per maand" #: apps.py:470 +#| msgid "View document types" msgid "New document pages per month" msgstr "Nieuwe documentpagina's per maand" @@ -143,16 +144,18 @@ msgid "Document type changed" msgstr "Documentsoort veranderd" #: events.py:21 +#| msgid "Version update" msgid "New version uploaded" msgstr "Nieuwe versie geüpload" #: events.py:25 +#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "Documentversie teruggedraaid" #: events.py:29 msgid "Document viewed" -msgstr "" +msgstr "Document bekeken" #: forms.py:39 links.py:212 msgid "Page image" @@ -181,7 +184,7 @@ msgstr "Taal" #: forms.py:122 msgid "Unknown" -msgstr "" +msgstr "Onbekent" #: forms.py:130 msgid "File mimetype" @@ -225,9 +228,13 @@ msgid "Compress" msgstr "Comprimeren" #: forms.py:197 +#| msgid "" +#| "ad the document in the original format or in a compressed manner. s ion is " +#| "selectable only when downloading one document, for tiple uments, the bundle " +#| "will always be downloads as a compressed e." msgid "" -"Download the document in the original format or in a compressed manner. This " -"option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This" +" option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" @@ -239,10 +246,7 @@ msgstr "Bestandsnaam gecomprimeerde archiefbestand" msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "" -"De bestandsnaam van het gecomprimeerde archiefbestand dat alle documenten " -"bevat die dienen te worden gedownload, als de voorgaande optie is " -"geselecteerd." +msgstr "De bestandsnaam van het gecomprimeerde archiefbestand dat alle documenten bevat die dienen te worden gedownload, als de voorgaande optie is geselecteerd." #: forms.py:225 literals.py:23 msgid "Page range" @@ -260,21 +264,19 @@ msgstr "Preview" #: links.py:50 msgid "Properties" -msgstr "Eigenschappe" +msgstr "Eigenschappen" #: links.py:55 msgid "Versions" -msgstr "" +msgstr "Versies" #: links.py:66 links.py:112 msgid "Clear transformations" msgstr "" #: links.py:71 -#, fuzzy -#| msgid "Page transformations" msgid "Clone transformations" -msgstr "page transformations" +msgstr "" #: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" @@ -282,7 +284,7 @@ msgstr "Verwijder" #: links.py:81 links.py:116 msgid "Move to trash" -msgstr "" +msgstr "Verplaats naar trash" #: links.py:86 msgid "Edit properties" @@ -302,7 +304,7 @@ msgstr "Printe" #: links.py:103 links.py:131 msgid "Recalculate page count" -msgstr "" +msgstr "Aantal bladzijden herberekenen" #: links.py:107 links.py:135 msgid "Restore" @@ -321,6 +323,7 @@ msgid "Recent documents" msgstr "Recente documenten" #: links.py:151 +#| msgid "Transform documents" msgid "Trash can" msgstr "" @@ -328,11 +331,10 @@ msgstr "" msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "" -"Opschonen van de grafische afbeeldingen, die gebuikt worden bij het " -"versnellen van de documentweergave en interactive transformatie resultaten." +msgstr "Opschonen van de grafische afbeeldingen, die gebuikt worden bij het versnellen van de documentweergave en interactive transformatie resultaten." #: links.py:162 +#| msgid "Clear the document image cache" msgid "Clear document image cache" msgstr "" @@ -342,19 +344,19 @@ msgstr "" #: links.py:174 msgid "First page" -msgstr "" +msgstr "Eerste bladzijde" #: links.py:179 msgid "Last page" -msgstr "" +msgstr "Laatste bladzijde" #: links.py:186 msgid "Previous page" -msgstr "" +msgstr "Vorige bladzijde" #: links.py:192 msgid "Next page" -msgstr "" +msgstr "Volgende bladzijde" #: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" @@ -362,11 +364,11 @@ msgstr "Document" #: links.py:203 msgid "Rotate left" -msgstr "" +msgstr "Daai linksom" #: links.py:208 msgid "Rotate right" -msgstr "" +msgstr "Draai rechtsom" #: links.py:216 msgid "Reset view" @@ -374,11 +376,11 @@ msgstr "" #: links.py:221 msgid "Zoom in" -msgstr "" +msgstr "Inzoomen" #: links.py:227 msgid "Zoom out" -msgstr "" +msgstr "Uitzoomen" #: links.py:236 msgid "Revert" @@ -406,11 +408,12 @@ msgstr "Verstekwaarde" #: literals.py:23 msgid "All pages" -msgstr "" +msgstr "Alle bladzijden" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the trash." +"Amount of time after which documents of this type will be moved to the " +"trash." msgstr "" #: models.py:71 @@ -428,20 +431,22 @@ msgid "" msgstr "" #: models.py:81 +#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 +#| msgid "Delete documents" msgid "Delete time unit" msgstr "" #: models.py:106 msgid "Documents types" -msgstr "" +msgstr "Documenttypes" #: models.py:153 msgid "The name of the document" -msgstr "" +msgstr "De naam van het document" #: models.py:156 search.py:22 search.py:42 msgid "Description" @@ -472,6 +477,7 @@ msgstr "" #: models.py:187 #, python-format +#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" @@ -493,7 +499,7 @@ msgstr "" #: models.py:643 msgid "Page number" -msgstr "" +msgstr "Paginanummer" #: models.py:648 #, python-format @@ -510,19 +516,15 @@ msgstr "" #: models.py:801 msgid "Filename" -msgstr "Filename" +msgstr "Bestandsnaam" #: models.py:804 -#, fuzzy -#| msgid "Document type changed" msgid "Document page cached image" -msgstr "Documentsoort veranderd" +msgstr "" #: models.py:805 -#, fuzzy -#| msgid "Document type changed" msgid "Document page cached images" -msgstr "Documentsoort veranderd" +msgstr "" #: models.py:827 msgid "User" @@ -545,6 +547,7 @@ msgid "Delete documents" msgstr "Documenten verwijderen" #: permissions.py:16 +#| msgid "Transform documents" msgid "Trash documents" msgstr "" @@ -565,10 +568,12 @@ msgid "Edit document properties" msgstr "Documenteigenschappen bewerken" #: permissions.py:31 +#| msgid "Edit documents" msgid "Print documents" -msgstr "" +msgstr "Druk documenten af" #: permissions.py:34 +#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -606,11 +611,9 @@ msgstr "Bekijk de documentsoorten" #: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per " -"user." -msgstr "" -"Maximum aantal recente docmenten (aangemaakt, bewerkt, bekeken), te " -"onthouden per gebruiker." +"Maximum number of recent (created, edited, viewed) documents to remember per" +" user." +msgstr "Maximum aantal recente docmenten (aangemaakt, bewerkt, bekeken), te onthouden per gebruiker." #: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." @@ -620,15 +623,13 @@ msgstr "Percentage in- of uitzoomen voor documentpagina per gebruikeractie." msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "" -"Maximaal toegestane documentpagina zoom percentage (%) per gebruikeractie." +msgstr "Maximaal toegestane documentpagina zoom percentage (%) per gebruikeractie." #: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "" -"Minimaal toegestane documentpagina zoom percentage (%) per gebruikeractie. " +msgstr "Minimaal toegestane documentpagina zoom percentage (%) per gebruikeractie. " #: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." @@ -666,6 +667,7 @@ msgstr "" #: views/document_type_views.py:38 #, python-format +#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" @@ -675,6 +677,7 @@ msgstr "Alle documenten van dit type zullen ook worden verwijderd." #: views/document_type_views.py:77 #, python-format +#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" @@ -690,8 +693,7 @@ msgstr "" #: views/document_type_views.py:139 #, python-format -msgid "" -"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" #: views/document_type_views.py:164 @@ -715,8 +717,9 @@ msgid "All later version after this one will be deleted too." msgstr "Alle recentere versies na deze zullen ook worden verwijderd." #: views/document_version_views.py:59 +#| msgid "Revert documents to a previous version" msgid "Revert to this version?" -msgstr "" +msgstr "Deze versie terugzetten?" #: views/document_version_views.py:69 msgid "Document version reverted successfully" @@ -729,10 +732,11 @@ msgstr "Fout bij het terugvoeren van de documentversie. Foutmelding: %s" #: views/document_views.py:81 msgid "Delete the selected document?" -msgstr "" +msgstr "Het geselecteerde document verwijderen?" #: views/document_views.py:100 #, python-format +#| msgid "Document \"%(document)s\" deleted by %(fullname)s." msgid "Document: %(document)s deleted." msgstr "" @@ -751,26 +755,19 @@ msgid "Document type change request performed on %(count)d documents" msgstr "" #: views/document_views.py:130 -#, fuzzy -#| msgid "Change type" msgid "Change" -msgstr "Verander soort" +msgstr "" #: views/document_views.py:132 -#, fuzzy -#| msgid "Change the type of the selected document." -#| msgid_plural "Change the type of the selected documents." msgid "Change the type of the selected document" msgid_plural "Change the type of the selected documents" -msgstr[0] "Verander het type van het geselecteerde document." -msgstr[1] "Verander het type van de geselecteerde documenten." +msgstr[0] "" +msgstr[1] "" #: views/document_views.py:143 -#, fuzzy, python-format -#| msgid "Change the type of the selected document." -#| msgid_plural "Change the type of the selected documents." +#, python-format msgid "Change the type of the document: %s" -msgstr "Verander het type van het geselecteerde document." +msgstr "" #: views/document_views.py:164 #, python-format @@ -780,20 +777,21 @@ msgstr "Documenttype voor \"%s\" succesvol veranderd." #: views/document_views.py:184 #, python-format msgid "Edit properties of document: %s" -msgstr "" +msgstr "Bewerk eigenschappen van document: %s" #: views/document_views.py:200 msgid "Restore the selected document?" -msgstr "" +msgstr "Het geselecteerde document terugzetten?" #: views/document_views.py:221 #, python-format +#| msgid "Document: %(document)s delete error: %(error)s" msgid "Document: %(document)s restored." msgstr "" #: views/document_views.py:229 msgid "Restore the selected documents?" -msgstr "" +msgstr "De geselecteerde documenten terugzetten?" #: views/document_views.py:256 #, python-format @@ -807,6 +805,7 @@ msgstr "" #: views/document_views.py:287 #, python-format +#| msgid "Document deleted successfully." msgid "Document: %(document)s moved to trash successfully." msgstr "" @@ -824,6 +823,7 @@ msgid "Empty trash?" msgstr "Prullenbak legen?" #: views/document_views.py:335 +#| msgid "Document deleted successfully." msgid "Trash emptied successfully" msgstr "Prullenbak succesvol geleegd" @@ -844,11 +844,9 @@ msgstr[0] "" msgstr[1] "" #: views/document_views.py:541 -#, fuzzy, python-format -#| msgid "Are you sure you wish to reset the page count of this document?" +#, python-format msgid "Recalculate the page count of the document: %s?" msgstr "" -"Are you sure you wish to update the page count for the office documents (%d)?" #: views/document_views.py:558 #, python-format @@ -867,39 +865,30 @@ msgstr[0] "" msgstr[1] "" #: views/document_views.py:580 -#, fuzzy, python-format -#| msgid "" -#| "Are you sure you wish to clear all the page transformations for " -#| "documents: %s?" +#, python-format msgid "Clear all the page transformations for the document: %s?" msgstr "" -"Are you sure you wish to clear all the page transformations for documents: " -"%s?" #: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "" -"Fout bij verwijderen van de pagina transformaties voor document: " -"%(document)s ; %(error)s ." +msgstr "Fout bij verwijderen van de pagina transformaties voor document: %(document)s ; %(error)s ." #: views/document_views.py:631 -#, fuzzy #| msgid "Document page transformation created successfully." msgid "Transformations cloned successfully." -msgstr "Document page transformation created successfully." +msgstr "" #: views/document_views.py:646 views/document_views.py:701 msgid "Submit" msgstr "Verstuur" #: views/document_views.py:648 -#, fuzzy, python-format -#| msgid "Properties for document: %s" +#, python-format msgid "Clone page transformations for document: %s" -msgstr "Eigenschappen voor document: %s" +msgstr "" #: views/document_views.py:702 #, python-format @@ -907,6 +896,7 @@ msgid "Print: %s" msgstr "Afdrukken: %s" #: views/misc_views.py:18 +#| msgid "Clear the document image cache" msgid "Clear the document image cache?" msgstr "" @@ -920,29 +910,38 @@ msgid "Page %(page_number)d of %(total_pages)d" msgstr "Pagina %(page_number)d van %(total_pages)d" #: widgets.py:87 -#, fuzzy #| msgid "Page image" msgid "Clickable image" -msgstr "Pagina afbeelding" +msgstr "" #: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "New version block" +#~ msgstr "Version update" + +#~ msgid "New version blocks" +#~ msgstr "Version update" + #~ msgid "Must provide at least one document." -#~ msgstr "U dient minstens 1 document aan te geven." +#~ msgstr "Must provide at least one document." + +#~ msgid "Must provide at least one document or version." +#~ msgstr "Must provide at least one document." #~ msgid "Documents to be downloaded" -#~ msgstr "Documenten om te downloaden" +#~ msgstr "documents to be downloaded" #~ msgid "Date and time" -#~ msgstr "Datum en tijd" +#~ msgstr "Date added" #~ msgid "" #~ "All the page transformations for document: %s, have been deleted " #~ "successfully." #~ msgstr "" -#~ "Alle paginatransformaties voor document: %s, zijn succesvol verwijderd." +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -1017,11 +1016,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1050,6 +1049,9 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" +#~ msgid "Page transformations" +#~ msgstr "page transformations" + #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -1147,8 +1149,7 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "" -#~ "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1162,11 +1163,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1183,6 +1184,18 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" +#~ msgid "Are you sure you wish to reset the page count of this document?" +#~ msgstr "" +#~ "Are you sure you wish to update the page count for the office documents " +#~ "(%d)?" + +#~ msgid "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" +#~ msgstr "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" + #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1198,19 +1211,15 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1267,11 +1276,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1295,11 +1304,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1320,11 +1329,9 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1354,11 +1361,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgid "details" #~ msgstr "details" @@ -1415,17 +1422,15 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" diff --git a/mayan/apps/documents/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/documents/locale/pl/LC_MESSAGES/django.mo index e0db89c20ea29ace8e1aa6fe504f3f6204349666..1d534ba3eec0c6b36df2280a2655d9656f856f4c 100644 GIT binary patch delta 2567 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, 2016 @@ -11,45 +11,41 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" -"pl/)\n" -"Language: pl\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 -#: settings.py:13 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 +#: permissions.py:7 settings.py:13 msgid "Documents" msgstr "Dokumenty" #: apps.py:110 -#, fuzzy -#| msgid "New document pages per month" +#| msgid "View document types" msgid "New pages this month" -msgstr "Nowe strony dokumentów miesięcznie" +msgstr "" #: apps.py:119 -#, fuzzy -#| msgid "New documents per month" +#| msgid "New document filename" msgid "New documents this month" -msgstr "Nowe dokumenty miesięcznie" +msgstr "" #: apps.py:128 -#, fuzzy -#| msgid "All documents" +#| msgid "Transform documents" msgid "Total documents" -msgstr "Wszystkie dokumenty" +msgstr "" #: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 msgid "Document types" msgstr "Typy dokumentów" #: apps.py:140 views/document_views.py:69 +#| msgid "Documents in storage: %d" msgid "Documents in trash" msgstr "" @@ -61,9 +57,7 @@ msgstr "Utwórz typ dokumentu" msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." -msgstr "" -"Każdy przesłany dokument musi mieć przypisany typ dokumentu, ponieważ jest " -"to podstawowy sposób kategoryzacji dokumentów w Mayan EDMS." +msgstr "Każdy przesłany dokument musi mieć przypisany typ dokumentu, ponieważ jest to podstawowy sposób kategoryzacji dokumentów w Mayan EDMS." #: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 #: search.py:39 @@ -107,14 +101,17 @@ msgid "Comment" msgstr "Komentarz" #: apps.py:456 +#| msgid "New document filename" msgid "New documents per month" msgstr "Nowe dokumenty miesięcznie" #: apps.py:463 +#| msgid "Document version reverted successfully" msgid "New document versions per month" msgstr "Nowe wersje dokumentów miesięcznie" #: apps.py:470 +#| msgid "View document types" msgid "New document pages per month" msgstr "Nowe strony dokumentów miesięcznie" @@ -147,10 +144,12 @@ msgid "Document type changed" msgstr "Właściwości dokumentu zostały zmodyfikowane" #: events.py:21 +#| msgid "Version update" msgid "New version uploaded" msgstr "Nowa wersja została przesłana" #: events.py:25 +#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "Wersja dokumentu została przywrócona" @@ -185,7 +184,7 @@ msgstr "Język" #: forms.py:122 msgid "Unknown" -msgstr "" +msgstr "Nieznany" #: forms.py:130 msgid "File mimetype" @@ -229,15 +228,15 @@ msgid "Compress" msgstr "Kompresuj" #: forms.py:197 +#| msgid "" +#| "ad the document in the original format or in a compressed manner. s ion is " +#| "selectable only when downloading one document, for tiple uments, the bundle " +#| "will always be downloads as a compressed e." msgid "" -"Download the document in the original format or in a compressed manner. This " -"option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This" +" option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." -msgstr "" -"Pobierz dokument w formacie oryginalnym lub w formie skompresowanej. " -"Powyższa opcja ma zastosowanie jedynie w przypadku pobierania pojedynczego " -"pliku. W przypadku wielu dokumentów zostaną one pobrane w formie " -"skompresowanego archiwum." +msgstr "Pobierz dokument w formacie oryginalnym lub w formie skompresowanej. Powyższa opcja ma zastosowanie jedynie w przypadku pobierania pojedynczego pliku. W przypadku wielu dokumentów zostaną one pobrane w formie skompresowanego archiwum." #: forms.py:204 msgid "Compressed filename" @@ -247,9 +246,7 @@ msgstr "Nazwa pliku skompresowanego" msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "" -"Nazwa pliku zawierającego gotowe do pobrania dokumenty w formie " -"skompresowanej, jeśli poprzednio wybrano opcję kompresji." +msgstr "Nazwa pliku zawierającego gotowe do pobrania dokumenty w formie skompresowanej, jeśli poprzednio wybrano opcję kompresji." #: forms.py:225 literals.py:23 msgid "Page range" @@ -278,10 +275,8 @@ msgid "Clear transformations" msgstr "Wyczyść transformacje" #: links.py:71 -#, fuzzy -#| msgid "Clear transformations" msgid "Clone transformations" -msgstr "Wyczyść transformacje" +msgstr "" #: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" @@ -328,10 +323,9 @@ msgid "Recent documents" msgstr "Ostatnio przeglądane" #: links.py:151 -#, fuzzy -#| msgid "Trash" +#| msgid "Transform documents" msgid "Trash can" -msgstr "Kosz" +msgstr "" #: links.py:159 msgid "" @@ -340,6 +334,7 @@ msgid "" msgstr "" #: links.py:162 +#| msgid "Clear the document image cache" msgid "Clear document image cache" msgstr "" @@ -417,7 +412,8 @@ msgstr "Wszystkie strony" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the trash." +"Amount of time after which documents of this type will be moved to the " +"trash." msgstr "" #: models.py:71 @@ -435,10 +431,12 @@ msgid "" msgstr "" #: models.py:81 +#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 +#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -448,7 +446,7 @@ msgstr "Typy dokumentów" #: models.py:153 msgid "The name of the document" -msgstr "" +msgstr "Nazwa dokumentu" #: models.py:156 search.py:22 search.py:42 msgid "Description" @@ -479,6 +477,7 @@ msgstr "" #: models.py:187 #, python-format +#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" @@ -517,19 +516,15 @@ msgstr "Strony dokumentu" #: models.py:801 msgid "Filename" -msgstr "Filename" +msgstr "Nazwa" #: models.py:804 -#, fuzzy -#| msgid "Document type changed" msgid "Document page cached image" -msgstr "Właściwości dokumentu zostały zmodyfikowane" +msgstr "" #: models.py:805 -#, fuzzy -#| msgid "Document type changed" msgid "Document page cached images" -msgstr "Właściwości dokumentu zostały zmodyfikowane" +msgstr "" #: models.py:827 msgid "User" @@ -552,6 +547,7 @@ msgid "Delete documents" msgstr "Usuwanie dokumentów" #: permissions.py:16 +#| msgid "Transform documents" msgid "Trash documents" msgstr "" @@ -572,10 +568,12 @@ msgid "Edit document properties" msgstr "Edytuj właściwości dokumentu" #: permissions.py:31 +#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 +#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -613,8 +611,8 @@ msgstr "Zobacz typy dokumentów" #: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per " -"user." +"Maximum number of recent (created, edited, viewed) documents to remember per" +" user." msgstr "" #: settings.py:40 @@ -669,6 +667,7 @@ msgstr "" #: views/document_type_views.py:38 #, python-format +#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" @@ -678,6 +677,7 @@ msgstr "" #: views/document_type_views.py:77 #, python-format +#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" @@ -693,8 +693,7 @@ msgstr "" #: views/document_type_views.py:139 #, python-format -msgid "" -"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" #: views/document_type_views.py:164 @@ -718,6 +717,7 @@ msgid "All later version after this one will be deleted too." msgstr "" #: views/document_version_views.py:59 +#| msgid "Revert documents to a previous version" msgid "Revert to this version?" msgstr "" @@ -736,6 +736,7 @@ msgstr "" #: views/document_views.py:100 #, python-format +#| msgid "Document \"%(document)s\" deleted by %(fullname)s." msgid "Document: %(document)s deleted." msgstr "" @@ -754,26 +755,21 @@ msgid "Document type change request performed on %(count)d documents" msgstr "" #: views/document_views.py:130 -#, fuzzy -#| msgid "Change type" msgid "Change" -msgstr "Zmień typ" +msgstr "" #: views/document_views.py:132 -#, fuzzy -#| msgid "Are you sure you wish to delete the selected document?" -#| msgid_plural "Are you sure you wish to delete the selected documents?" msgid "Change the type of the selected document" msgid_plural "Change the type of the selected documents" -msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" -msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" -msgstr[2] "ee02f3189246f97d6734a407f6f9040b_pl_2" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views/document_views.py:143 -#, fuzzy, python-format -#| msgid "Content of document: %s" +#, python-format msgid "Change the type of the document: %s" -msgstr "versions for document: %s" +msgstr "" #: views/document_views.py:164 #, python-format @@ -791,6 +787,7 @@ msgstr "" #: views/document_views.py:221 #, python-format +#| msgid "Document: %(document)s delete error: %(error)s" msgid "Document: %(document)s restored." msgstr "" @@ -810,6 +807,7 @@ msgstr "" #: views/document_views.py:287 #, python-format +#| msgid "Document deleted successfully." msgid "Document: %(document)s moved to trash successfully." msgstr "" @@ -827,6 +825,7 @@ msgid "Empty trash?" msgstr "" #: views/document_views.py:335 +#| msgid "Document deleted successfully." msgid "Trash emptied successfully" msgstr "" @@ -846,12 +845,12 @@ msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: views/document_views.py:541 -#, fuzzy, python-format -#| msgid "Recalculate page count" +#, python-format msgid "Recalculate the page count of the document: %s?" -msgstr "Przelicz liczbę stron" +msgstr "" #: views/document_views.py:558 #, python-format @@ -869,16 +868,12 @@ msgid_plural "Clear all the page transformations for the selected document?" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: views/document_views.py:580 -#, fuzzy, python-format -#| msgid "" -#| "Are you sure you wish to clear all the page transformations for " -#| "documents: %s?" +#, python-format msgid "Clear all the page transformations for the document: %s?" msgstr "" -"Are you sure you wish to clear all the page transformations for documents: " -"%s?" #: views/document_views.py:595 views/document_views.py:623 #, python-format @@ -888,20 +883,18 @@ msgid "" msgstr "" #: views/document_views.py:631 -#, fuzzy #| msgid "Document page transformation created successfully." msgid "Transformations cloned successfully." -msgstr "Document page transformation created successfully." +msgstr "" #: views/document_views.py:646 views/document_views.py:701 msgid "Submit" msgstr "Wykonaj" #: views/document_views.py:648 -#, fuzzy, python-format -#| msgid "Properties for document: %s" +#, python-format msgid "Clone page transformations for document: %s" -msgstr "Właściwości dokumentu: %s" +msgstr "" #: views/document_views.py:702 #, python-format @@ -909,6 +902,7 @@ msgid "Print: %s" msgstr "Wydruk: %s" #: views/misc_views.py:18 +#| msgid "Clear the document image cache" msgid "Clear the document image cache?" msgstr "" @@ -922,20 +916,38 @@ msgid "Page %(page_number)d of %(total_pages)d" msgstr "Strona %(page_number)d of %(total_pages)d" #: widgets.py:87 -#, fuzzy #| msgid "Page image" msgid "Clickable image" -msgstr "Obraz strony" +msgstr "" #: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "New version block" +#~ msgstr "Version update" + +#~ msgid "New version blocks" +#~ msgstr "Version update" + #~ msgid "Must provide at least one document." -#~ msgstr "Musisz dodać co najmniej jeden dokument." +#~ msgstr "Must provide at least one document." + +#~ msgid "Must provide at least one document or version." +#~ msgstr "Must provide at least one document." + +#~ msgid "Documents to be downloaded" +#~ msgstr "documents to be downloaded" #~ msgid "Date and time" -#~ msgstr "Data i godzina" +#~ msgstr "Date added" + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -1010,11 +1022,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1089,6 +1101,16 @@ msgstr "" #~ msgid "documents" #~ msgstr "documents" +#~ msgid "Content of document: %s" +#~ msgstr "versions for document: %s" + +#~ msgid "Are you sure you wish to delete the selected document?" +#~ msgid_plural "Are you sure you wish to delete the selected documents?" +#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" +#~ msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" +#~ msgstr[2] "ee02f3189246f97d6734a407f6f9040b_pl_2" +#~ msgstr[3] "ee02f3189246f97d6734a407f6f9040b_pl_3" + #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1135,8 +1157,7 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "" -#~ "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1150,11 +1171,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1176,6 +1197,13 @@ msgstr "" #~ "Are you sure you wish to update the page count for the office documents " #~ "(%d)?" +#~ msgid "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" +#~ msgstr "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" + #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1191,19 +1219,15 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1260,11 +1284,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1288,11 +1312,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1313,11 +1337,9 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1347,11 +1369,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgid "details" #~ msgstr "details" @@ -1408,17 +1430,15 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" diff --git a/mayan/apps/documents/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/documents/locale/pt/LC_MESSAGES/django.mo index 11695cce6be9f518612c3eee087f2a9b916b32ff..9cfdaf43e283c078fa0d3911afed97c1897b2dbc 100644 GIT binary patch delta 1286 zcmYk*e`w5c9LMqZ*KYR9=A2_=8+W$bj61fk+h(IK(xQ;9jnbiogiSJ$KXfrAtkCk8 zmcJF*eE;#EWHm*ir2Ju|bbn2h{XrVf*XLKh<0bgf zdUR10I4+sr&d||77f=W+6s(F^V_X#%@e;|Cus& zVr-sS8=ghYGlrSdbSCJi)Eh~cv1}_Y!7kKR^kEdw`}cQ{V%R8>oIS!ye1h77_o(r{ zqAL0eS78~eWKGtFI%`|XsK0*L%Y(((kIMKGM(`Rg#e1lMCU7sl!v;)p0F?25EXSLu z1>Hqu_z-LH8LCoKsDvCYs$?ig{grV!4~}6J58;r1{|&XEG_&gsIfz=wZ7!PNK5D|J zs0zKn1b*?KS5XdaWehdpc2osAQ3)&EUrghX?t zZS=p;o1%oM^xx*vQ_YB5aE>fF{5p{G z4&=x43ObJV9X`?9?_DVjIo{)<0jIPz(U?rQO_3(I-F1gkC6)i4w6wd;-jR}Bju$Nb PnCE>6?s2?*p>F375Y}*= delta 1474 zcmX}rTS!zv9LMol-PFu%yI;-GQoC*HuD6PapbJ9Ug|ZS9*4-l&$35llT0tNY^pFn~ z7CpE@P%lA6c^;yt9`Yfmo+2oU9)fNVRF4%w-`~16?3~ZcaL&ws{xf^O=0V-?`#Hg@ zhSEk|Mtv7BW;bRFc~D*ljcLX=*om{I8M768aR=VO68wxQ{DH-oD4HC1aX$SFhHwP6 zP8Lgz88(k-=z|I5XP)!W2QN_{e8m~~8)sq>FW2HcoQ|7t7H&rcascOGFA}pkfs1em z=i)^y$D7#6`evNQN(KUaZLt<-<4)8Bhfxdn;yiRw3!g^FowwscJcA183TlJbQAh2gGWI$|{*}sa3}~l6@fiNW1opFv`p-~D(ZY5VP!G0Z z0u@LWwZJ{pf)l6=y}&Sj&yQEIs^+Oht=ln7LmAkI+Hnt(9g{|Vcn&$jTpMy9X@aSu zo2`JfxHh1o46dUtSBIjbSxePFTE{{xxuSKoe(r2F!lq3FRXfvhR8SkKma0-fT~Aej zD!SFtTx;@T>IkNaZg_pZ(=;`RIu`wlRJiQjrgE}v>QHCXOs%FWeaZ-zHFxGUG?#wJ6|RA)p{`MH^mcGdf$NU87q6~Lt+PjBLyqlpoTN=Su9J2WHkFCTom8qn zDYu9&kQ)pw7+(GCNQ%l+}Ie7 zL~TQ4V{_B!-O{BRX$VK!Y(wkDXw-jIx+gGgzn6%mM!%FtD+!_B8;lKD=TzLyJh{ub xje7%%f*?G9McIc!e?e$Rpk|vxq`aGS;?AHw?zo<1RWD^T1OG$t{O;LZfqxFpsGtA< diff --git a/mayan/apps/documents/locale/pt/LC_MESSAGES/django.po b/mayan/apps/documents/locale/pt/LC_MESSAGES/django.po index e4c8de68ad..3374da2fad 100644 --- a/mayan/apps/documents/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,42 +9,41 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" -"language/pt/)\n" -"Language: pt\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 -#: settings.py:13 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 +#: permissions.py:7 settings.py:13 msgid "Documents" msgstr "Documentos" #: apps.py:110 +#| msgid "View document types" msgid "New pages this month" msgstr "" #: apps.py:119 -#, fuzzy -#| msgid "documents of this type" +#| msgid "New document filename" msgid "New documents this month" -msgstr "documents of this type" +msgstr "" #: apps.py:128 -#, fuzzy -#| msgid "Edit documents" +#| msgid "Transform documents" msgid "Total documents" -msgstr "Editar documentos" +msgstr "" #: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 msgid "Document types" msgstr "" #: apps.py:140 views/document_views.py:69 +#| msgid "Documents in storage: %d" msgid "Documents in trash" msgstr "" @@ -100,14 +99,17 @@ msgid "Comment" msgstr "Comentário" #: apps.py:456 +#| msgid "New document filename" msgid "New documents per month" msgstr "" #: apps.py:463 +#| msgid "Document version reverted successfully" msgid "New document versions per month" msgstr "" #: apps.py:470 +#| msgid "View document types" msgid "New document pages per month" msgstr "" @@ -140,10 +142,12 @@ msgid "Document type changed" msgstr "" #: events.py:21 +#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 +#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -222,9 +226,13 @@ msgid "Compress" msgstr "Comprimir" #: forms.py:197 +#| msgid "" +#| "ad the document in the original format or in a compressed manner. s ion is " +#| "selectable only when downloading one document, for tiple uments, the bundle " +#| "will always be downloads as a compressed e." msgid "" -"Download the document in the original format or in a compressed manner. This " -"option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This" +" option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" @@ -265,10 +273,8 @@ msgid "Clear transformations" msgstr "" #: links.py:71 -#, fuzzy -#| msgid "Page transformations" msgid "Clone transformations" -msgstr "page transformations" +msgstr "" #: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" @@ -315,6 +321,7 @@ msgid "Recent documents" msgstr "" #: links.py:151 +#| msgid "Transform documents" msgid "Trash can" msgstr "" @@ -322,11 +329,10 @@ msgstr "" msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "" -"Limpar as representações gráficas usadas para acelerar a exibição e " -"transformações interativas de documentos." +msgstr "Limpar as representações gráficas usadas para acelerar a exibição e transformações interativas de documentos." #: links.py:162 +#| msgid "Clear the document image cache" msgid "Clear document image cache" msgstr "" @@ -404,7 +410,8 @@ msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the trash." +"Amount of time after which documents of this type will be moved to the " +"trash." msgstr "" #: models.py:71 @@ -422,10 +429,12 @@ msgid "" msgstr "" #: models.py:81 +#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 +#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -466,6 +475,7 @@ msgstr "" #: models.py:187 #, python-format +#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" @@ -504,19 +514,15 @@ msgstr "" #: models.py:801 msgid "Filename" -msgstr "Filename" +msgstr "Nome do ficheiro" #: models.py:804 -#, fuzzy -#| msgid "Document edited" msgid "Document page cached image" -msgstr "Document edited" +msgstr "" #: models.py:805 -#, fuzzy -#| msgid "Document page transformations" msgid "Document page cached images" -msgstr "document page transformations" +msgstr "" #: models.py:827 msgid "User" @@ -539,6 +545,7 @@ msgid "Delete documents" msgstr "Excluir documentos" #: permissions.py:16 +#| msgid "Transform documents" msgid "Trash documents" msgstr "" @@ -559,10 +566,12 @@ msgid "Edit document properties" msgstr "Editar propriedades de documento" #: permissions.py:31 +#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 +#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -600,11 +609,9 @@ msgstr "Ver tipos de documento" #: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per " -"user." -msgstr "" -"Número máximo de documentos recentes (criados, editados, visualizados) a " -"recordar, por utilizador." +"Maximum number of recent (created, edited, viewed) documents to remember per" +" user." +msgstr "Número máximo de documentos recentes (criados, editados, visualizados) a recordar, por utilizador." #: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." @@ -614,23 +621,17 @@ msgstr "Percentagem de zoom in/out por interação do utilizador." msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "" -"Percentagem (%) máxima para o utilizador aumentar o zoom de uma página de " -"documento de forma interativa." +msgstr "Percentagem (%) máxima para o utilizador aumentar o zoom de uma página de documento de forma interativa." #: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "" -"Percentagem (%) mínima para o utilizador diminuir o zoom de uma página de " -"documento de forma interativa." +msgstr "Percentagem (%) mínima para o utilizador diminuir o zoom de uma página de documento de forma interativa." #: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." -msgstr "" -"Valor em graus para rodar uma página de documento por interação do " -"utilizador." +msgstr "Valor em graus para rodar uma página de documento por interação do utilizador." #: settings.py:70 msgid "Default documents language (in ISO639-2 format)." @@ -664,6 +665,7 @@ msgstr "" #: views/document_type_views.py:38 #, python-format +#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" @@ -673,6 +675,7 @@ msgstr "" #: views/document_type_views.py:77 #, python-format +#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" @@ -688,8 +691,7 @@ msgstr "" #: views/document_type_views.py:139 #, python-format -msgid "" -"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" #: views/document_type_views.py:164 @@ -713,6 +715,7 @@ msgid "All later version after this one will be deleted too." msgstr "Todas as versões posteriores a esta também serão eliminadas." #: views/document_version_views.py:59 +#| msgid "Revert documents to a previous version" msgid "Revert to this version?" msgstr "" @@ -731,6 +734,7 @@ msgstr "" #: views/document_views.py:100 #, python-format +#| msgid "Document \"%(document)s\" deleted by %(fullname)s." msgid "Document: %(document)s deleted." msgstr "" @@ -753,19 +757,15 @@ msgid "Change" msgstr "" #: views/document_views.py:132 -#, fuzzy -#| msgid "Are you sure you wish to delete the selected document?" -#| msgid_plural "Are you sure you wish to delete the selected documents?" msgid "Change the type of the selected document" msgid_plural "Change the type of the selected documents" -msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" -msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" +msgstr[0] "" +msgstr[1] "" #: views/document_views.py:143 -#, fuzzy, python-format -#| msgid "Content of document: %s" +#, python-format msgid "Change the type of the document: %s" -msgstr "versions for document: %s" +msgstr "" #: views/document_views.py:164 #, python-format @@ -783,6 +783,7 @@ msgstr "" #: views/document_views.py:221 #, python-format +#| msgid "Document: %(document)s delete error: %(error)s" msgid "Document: %(document)s restored." msgstr "" @@ -802,6 +803,7 @@ msgstr "" #: views/document_views.py:287 #, python-format +#| msgid "Document deleted successfully." msgid "Document: %(document)s moved to trash successfully." msgstr "" @@ -819,6 +821,7 @@ msgid "Empty trash?" msgstr "" #: views/document_views.py:335 +#| msgid "Document deleted successfully." msgid "Trash emptied successfully" msgstr "" @@ -839,11 +842,9 @@ msgstr[0] "" msgstr[1] "" #: views/document_views.py:541 -#, fuzzy, python-format -#| msgid "Are you sure you wish to reset the page count of this document?" +#, python-format msgid "Recalculate the page count of the document: %s?" msgstr "" -"Are you sure you wish to update the page count for the office documents (%d)?" #: views/document_views.py:558 #, python-format @@ -862,43 +863,30 @@ msgstr[0] "" msgstr[1] "" #: views/document_views.py:580 -#, fuzzy, python-format -#| msgid "" -#| "Are you sure you wish to clear all the page transformations for " -#| "documents: %s?" +#, python-format msgid "Clear all the page transformations for the document: %s?" msgstr "" -"Are you sure you wish to clear all the page transformations for documents: " -"%s?" #: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "" -"Erro ao excluir as transformações de página para o documento: %(document)s; " -"%(error)s ." +msgstr "Erro ao excluir as transformações de página para o documento: %(document)s; %(error)s ." #: views/document_views.py:631 -#, fuzzy #| msgid "Document page transformation created successfully." msgid "Transformations cloned successfully." -msgstr "Document page transformation created successfully." +msgstr "" #: views/document_views.py:646 views/document_views.py:701 msgid "Submit" msgstr "Submeter" #: views/document_views.py:648 -#, fuzzy, python-format -#| msgid "" -#| "Error deleting the page transformations for document: %(document)s; " -#| "%(error)s." +#, python-format msgid "Clone page transformations for document: %s" msgstr "" -"Erro ao excluir as transformações de página para o documento: %(document)s; " -"%(error)s ." #: views/document_views.py:702 #, python-format @@ -906,6 +894,7 @@ msgid "Print: %s" msgstr "" #: views/misc_views.py:18 +#| msgid "Clear the document image cache" msgid "Clear the document image cache?" msgstr "" @@ -919,24 +908,38 @@ msgid "Page %(page_number)d of %(total_pages)d" msgstr "" #: widgets.py:87 -#, fuzzy #| msgid "Page image" msgid "Clickable image" -msgstr "Imagem da página" +msgstr "" #: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "New version block" +#~ msgstr "Version update" + +#~ msgid "New version blocks" +#~ msgstr "Version update" + #~ msgid "Must provide at least one document." -#~ msgstr "Deve fornecer pelo menos um documento." +#~ msgstr "Must provide at least one document." + +#~ msgid "Must provide at least one document or version." +#~ msgstr "Must provide at least one document." + +#~ msgid "Documents to be downloaded" +#~ msgstr "documents to be downloaded" + +#~ msgid "Date and time" +#~ msgstr "Date added" #~ msgid "" #~ "All the page transformations for document: %s, have been deleted " #~ "successfully." #~ msgstr "" -#~ "Todas as transformações de página para o documento: %s, foram excluídas " -#~ "com sucesso." +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -1011,11 +1014,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1044,6 +1047,9 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" +#~ msgid "Page transformations" +#~ msgstr "page transformations" + #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -1081,9 +1087,20 @@ msgstr "" #~ msgid "Use dictionaries to indentify arguments, example: {'degrees':90}" #~ msgstr "Use dictionaries to indentify arguments, example: %s" +#~ msgid "Document page transformations" +#~ msgstr "document page transformations" + #~ msgid "documents" #~ msgstr "documents" +#~ msgid "Content of document: %s" +#~ msgstr "versions for document: %s" + +#~ msgid "Are you sure you wish to delete the selected document?" +#~ msgid_plural "Are you sure you wish to delete the selected documents?" +#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" +#~ msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" + #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1130,8 +1147,7 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "" -#~ "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1145,11 +1161,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1166,6 +1182,21 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" +#~ msgid "Are you sure you wish to reset the page count of this document?" +#~ msgstr "" +#~ "Are you sure you wish to update the page count for the office documents " +#~ "(%d)?" + +#~ msgid "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" +#~ msgstr "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" + +#~ msgid "Document edited" +#~ msgstr "Document edited" + #~ msgid "Version" #~ msgstr "version" @@ -1178,19 +1209,15 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1247,11 +1274,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1275,11 +1302,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1300,11 +1327,9 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1334,11 +1359,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgid "details" #~ msgstr "details" @@ -1395,17 +1420,15 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1426,6 +1449,9 @@ msgstr "" #~ msgid "clone metadata" #~ msgstr "clone metadata" +#~ msgid "documents of this type" +#~ msgstr "documents of this type" + #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/documents/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/documents/locale/pt_BR/LC_MESSAGES/django.mo index cf5d0e3cdd52b697f385229f430d92be24058eb0..3923e0776d3f070ae4608ac0dfd30846d537e215 100644 GIT binary patch delta 4213 zcmYk`A+o|4wOHq8nXvK!$j=pZ;XxWkV{P$_QQi% zhHqg7Ud1HLNHeAe^Kb?Ra1OqXb;d-^Eh_43hA-AZ1KvY>G3McFjNop}z~ppe`k;*( z&~O}p|W!W&2*rW@6PkGqb>Y)rsesO#pT zZnzwC@o}7myS?_8ID~dLaw{{0(dhbe)Pqh%4ZI#l(Z5;fU9cJXj@gBp(j#8`U1avn zd9VFBYKFc=4Je6&uFpfYOE`?eX{hhDqXrPgY$EzxdN$NRA!4`V*w#1Q82xHj%UE$uPXKz@swu@ADDe^oAW zg4r}zQBV9Y)Qx|@WbDIytK)Rk=Xt2li&1ZZ-)mQTpVwdk=VyEE4xCTB6C3a%F2MX~ zjxjv6>BM4mPy;%R+O6kNGw}`TxV&>!^;qQ5~o7C0&<= ze$2zQ*nqmv$2c6n#w5M}sdns%vrtc1h#L85)EYJ-gEnhXBj1B8pE-=$RA*7=KSeFY zHP0KU2m01)-$d=1|DpyGKa|&<{!K0w?f!Dqi0?&xF@pL+C+@e5*^DmjVZ&nQFJT$& zFHkd>#@5%{l!Ftn46CpOHPBaa4*muo!UUc!dOwu_746ESs44sbwFgp|=OWBT{!9&r zt+)d91ph!yeG(UG<}y%gorhYQah~ijm;z>gF&|4CHd;RJn} z-=U`Jy60`w>y|Piwkd7YZl8kM6Z4VDG7;3C*o*r9Nz@E|gynb@wKTqwvHKMu`_)uM zsqkkOanOyophnt-TD#MznYe{XICxa-xR_Bly9PDo4(jvQFd0u_KRk!pT%RD5XG+ypvmNse%sc5Q7Q8%nbJ@H~xM^WsL&tV$AjOxh66#PBv^9$G;|ALyS zuP_z=j?BLK-aB8!dUVn*$7a3%$GsEj{@4ucM6NYQP;37=YK_11%or2f%@a{eFdsF5 zm8hv-kJ_x8kX19M(1(9TU3Uw$)QL<-BK?~oR5bNPsHvQayrQNK(=d#QxCsZ~)7Tde zcpgX1*eTR~uAshm8`Cklf}dN=MeVKGxDHz}svCYoMShR^Vj9EO6b?l_`AE-ssJ*fV zHK5(78^45l9WP)8-oSy_jk<2&_}D*AxwxM80#tvWjA#D&4Kdd_p$=0kV{4j)YUd-b zvMKdkh}!KNQSbXc)N6Pei}5n*`riEf#bc@G7}Shaq6Rb_^}A9(f%(s-vVaqr*pAvX z+i(o-K@H?QYH9w27Oo)=ke?EjpAfCFe%0 z_Z4>UlRiuT?B3cSuJ64A6jNq#|8Z1S?6zl+Lx z@-$Il&zJ*b6S-3cQCUiUPBwcd8$88A!e%!Qk|0rexaY_w#R9U-Yu`<}=3h&oO{nq$ znM|~K^zN$E5ca2eRt-uP(GSQ5GN0@uGl*WPX5x_NNi|WqpKKw;@x~Im& z@AWDH)Xpy@9i$ggc`JrljLGC7GSNHtD()bwNnh`r$R&FJx05+UgGIR<#D( z+_U|wEq9Ku&~pBnp5s0>V3*~VWDJgT*JM6vIYrq%w=sK3uih(zZGl$z=-`hm=ffcZ zcUE3|ymMw)V?x`bZJ{-7jxYamzwsrb$CmiZ?Q(yW-|yVc&-wqEaaH~bXJ|oY|Ax@g zVED0+-4Kcd!Yv^;P;kt$YMj)fN{+QfhurDIXIhSLM2>TA#3if2**7xZn&zAxdCh%$ zlrPSj>wH)`hNG`+pwqW(j=QVugylR@p6k9_J}b_e>BfzXSX{rlqA9*U)EaayR5bQl z9&B~(alPW4^_9!A>O-po_Ud3b^1&-1yD1P32bTw$17@yMGGPbzeQ&}^Yp&Z?wbY{T zixanSTsWyAv$iE12;1#}aKH}O!AQrdV3;q}x@RV(T2`I&$H_aLV0BmD=3t~L)V3nn b)Y2Ssx~sQl)CF21_PS80)zk&sLSFTMAKcb~ delta 5376 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 diff --git a/mayan/apps/documents/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/documents/locale/pt_BR/LC_MESSAGES/django.po index 211dec9696..e0ae529610 100644 --- a/mayan/apps/documents/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -10,44 +10,41 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-11-17 23:07+0000\n" -"Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" -"edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 -#: settings.py:13 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 +#: permissions.py:7 settings.py:13 msgid "Documents" msgstr "Documento" #: apps.py:110 -#, fuzzy -#| msgid "New document pages per month" +#| msgid "View document types" msgid "New pages this month" -msgstr "Novas páginas de documentos por mês" +msgstr "" #: apps.py:119 -#, fuzzy -#| msgid "New documents per month" +#| msgid "New document filename" msgid "New documents this month" -msgstr "Novos documentos por mês" +msgstr "" #: apps.py:128 -#, fuzzy -#| msgid "Trash documents" +#| msgid "Transform documents" msgid "Total documents" -msgstr "Mover documentos para a lixeira" +msgstr "" #: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 msgid "Document types" msgstr "Tipos de Documentos" #: apps.py:140 views/document_views.py:69 +#| msgid "Documents in storage: %d" msgid "Documents in trash" msgstr "Documentos na lixeira" @@ -59,9 +56,7 @@ msgstr "Criar tipo de documento" msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." -msgstr "" -"Cada documento carregado deve ser atribuído um tipo de documento, é a forma " -"básica que o Mayan EDMS categoriza os documentos." +msgstr "Cada documento carregado deve ser atribuído um tipo de documento, é a forma básica que o Mayan EDMS categoriza os documentos." #: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 #: search.py:39 @@ -78,7 +73,7 @@ msgstr "Tipo MIME" #: apps.py:202 apps.py:212 apps.py:219 apps.py:243 msgid "Thumbnail" -msgstr "miniatura" +msgstr "Miniatura" #: apps.py:208 apps.py:226 apps.py:250 msgid "Type" @@ -86,7 +81,7 @@ msgstr "Tipo" #: apps.py:238 models.py:620 msgid "Enabled" -msgstr "habilitado" +msgstr "Habilitado" #: apps.py:253 msgid "Date time trashed" @@ -105,14 +100,17 @@ msgid "Comment" msgstr "Comentário" #: apps.py:456 +#| msgid "New document filename" msgid "New documents per month" msgstr "Novos documentos por mês" #: apps.py:463 +#| msgid "Document version reverted successfully" msgid "New document versions per month" msgstr "Novas versões de documentos por mês" #: apps.py:470 +#| msgid "View document types" msgid "New document pages per month" msgstr "Novas páginas de documentos por mês" @@ -145,10 +143,12 @@ msgid "Document type changed" msgstr "Tipo de Documento mudado" #: events.py:21 +#| msgid "Version update" msgid "New version uploaded" msgstr "Nova versão carregada" #: events.py:25 +#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "Versão de documento revertida" @@ -179,11 +179,11 @@ msgstr "UUID" #: forms.py:120 models.py:163 msgid "Language" -msgstr "Lingua" +msgstr "Linguagem" #: forms.py:122 msgid "Unknown" -msgstr "" +msgstr "desconhecido" #: forms.py:130 msgid "File mimetype" @@ -195,7 +195,7 @@ msgstr "Nenhum" #: forms.py:134 msgid "File encoding" -msgstr "codificação de arquivo" +msgstr "Codificação de arquivo" #: forms.py:140 msgid "File size" @@ -224,17 +224,18 @@ msgstr "Tipo de Documento" #: forms.py:195 msgid "Compress" -msgstr "comprimir" +msgstr "Comprimir" #: forms.py:197 +#| msgid "" +#| "ad the document in the original format or in a compressed manner. s ion is " +#| "selectable only when downloading one document, for tiple uments, the bundle " +#| "will always be downloads as a compressed e." msgid "" -"Download the document in the original format or in a compressed manner. This " -"option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This" +" option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." -msgstr "" -"Faça o download do documento no formato original ou de forma comprimida. " -"Esta opção só pode ser selecionada quando o download de um documento, para " -"vários documentos. O pacote sempre será baixado como um arquivo compactado." +msgstr "Faça o download do documento no formato original ou de forma comprimida. Esta opção só pode ser selecionada quando o download de um documento, para vários documentos. O pacote sempre será baixado como um arquivo compactado." #: forms.py:204 msgid "Compressed filename" @@ -244,9 +245,7 @@ msgstr "Comprimido o filename " msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "" -"O nome do arquivo do arquivo compactado que vai conter os documentos a serem " -"baixados, se a opção anterior é selecionado." +msgstr "O nome do arquivo do arquivo compactado que vai conter os documentos a serem baixados, se a opção anterior é selecionado." #: forms.py:225 literals.py:23 msgid "Page range" @@ -264,7 +263,7 @@ msgstr "Visualizar" #: links.py:50 msgid "Properties" -msgstr "propriedades" +msgstr "Propriedades" #: links.py:55 msgid "Versions" @@ -272,13 +271,11 @@ msgstr "Versão" #: links.py:66 links.py:112 msgid "Clear transformations" -msgstr "remover transformações" +msgstr "Remover transformações" #: links.py:71 -#, fuzzy -#| msgid "Clear transformations" msgid "Clone transformations" -msgstr "remover transformações" +msgstr "" #: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" @@ -325,20 +322,18 @@ msgid "Recent documents" msgstr "Documentos recentes" #: links.py:151 -#, fuzzy -#| msgid "Trash" +#| msgid "Transform documents" msgid "Trash can" -msgstr "Lixeira" +msgstr "" #: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "" -"Desmarque as representações gráficas utilizadas para acelerar a exibição e " -"transformações interativas resultados dos documentos." +msgstr "Desmarque as representações gráficas utilizadas para acelerar a exibição e transformações interativas resultados dos documentos." #: links.py:162 +#| msgid "Clear the document image cache" msgid "Clear document image cache" msgstr "Apagar o cache de imagens de documentos" @@ -360,7 +355,7 @@ msgstr "Página anterior" #: links.py:192 msgid "Next page" -msgstr "próxima pagina" +msgstr "Próxima pagina" #: links.py:198 models.py:224 models.py:345 models.py:830 msgid "Document" @@ -368,27 +363,27 @@ msgstr "Documento" #: links.py:203 msgid "Rotate left" -msgstr "girar para a esquerda" +msgstr "Girar para a esquerda" #: links.py:208 msgid "Rotate right" -msgstr "girar para a direita" +msgstr "Girar para a direita" #: links.py:216 msgid "Reset view" -msgstr "redefinir visão" +msgstr "Redefinir visão" #: links.py:221 msgid "Zoom in" -msgstr "mais zoom" +msgstr "Mais zoom" #: links.py:227 msgid "Zoom out" -msgstr "menos zoom" +msgstr "Menos zoom" #: links.py:236 msgid "Revert" -msgstr "reverter" +msgstr "Reverter" #: links.py:243 views/document_type_views.py:64 msgid "Create document type" @@ -416,10 +411,9 @@ msgstr "Todas as páginas" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the trash." -msgstr "" -"Quantidade de tempo após a qual se enviará documentos deste tipo para a " -"lixeira." +"Amount of time after which documents of this type will be moved to the " +"trash." +msgstr "Quantidade de tempo após a qual se enviará documentos deste tipo para a lixeira." #: models.py:71 msgid "Trash time period" @@ -433,14 +427,15 @@ msgstr "Unidade de tempo de envio para a lixeira" msgid "" "Amount of time after which documents of this type in the trash will be " "deleted." -msgstr "" -"Quantidade de tempo após a qual documentos deste tipo serão eliminados." +msgstr "Quantidade de tempo após a qual documentos deste tipo serão eliminados." #: models.py:81 +#| msgid "Delete document types" msgid "Delete time period" msgstr "Período de tempo de eliminação" #: models.py:86 +#| msgid "Delete documents" msgid "Delete time unit" msgstr "Unidade de tempo de eliminação" @@ -458,7 +453,7 @@ msgstr "Descrição" #: models.py:159 msgid "Added" -msgstr "adicionado" +msgstr "Adicionado" #: models.py:167 msgid "In trash?" @@ -473,10 +468,7 @@ msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." -msgstr "" -"Um rascunho de documento é um documento com uma entrada no banco de dados, " -"mas nenhum arquivo carregado. Isso pode ser um envio interrompido ou um " -"envio diferido por meio da API." +msgstr "Um rascunho de documento é um documento com uma entrada no banco de dados, mas nenhum arquivo carregado. Isso pode ser um envio interrompido ou um envio diferido por meio da API." #: models.py:179 msgid "Is stub?" @@ -484,6 +476,7 @@ msgstr "É um rascunho?" #: models.py:187 #, python-format +#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "Documento rascunho, id: %d" @@ -505,7 +498,7 @@ msgstr "Etiqueta rápida" #: models.py:643 msgid "Page number" -msgstr "página número" +msgstr "Página número" #: models.py:648 #, python-format @@ -514,27 +507,23 @@ msgstr "Pagina %(page_num)d de %(total_pages)d em %(document)s" #: models.py:664 models.py:799 models.py:816 msgid "Document page" -msgstr "página do documento" +msgstr "Página do documento" #: models.py:665 models.py:817 msgid "Document pages" -msgstr "páginas do documento" +msgstr "Páginas do documento" #: models.py:801 msgid "Filename" -msgstr "Filename" +msgstr "Nome do arquivo" #: models.py:804 -#, fuzzy -#| msgid "Document page image" msgid "Document page cached image" -msgstr "Imagem da página do documento" +msgstr "" #: models.py:805 -#, fuzzy -#| msgid "Document page image" msgid "Document page cached images" -msgstr "Imagem da página do documento" +msgstr "" #: models.py:827 msgid "User" @@ -542,7 +531,7 @@ msgstr "Usuário" #: models.py:833 msgid "Accessed" -msgstr "acessado" +msgstr "Acessado" #: models.py:847 msgid "Recent document" @@ -557,6 +546,7 @@ msgid "Delete documents" msgstr "Excluir documentos" #: permissions.py:16 +#| msgid "Transform documents" msgid "Trash documents" msgstr "Mover documentos para a lixeira" @@ -577,10 +567,12 @@ msgid "Edit document properties" msgstr "Editar propriedades de documento" #: permissions.py:31 +#| msgid "Edit documents" msgid "Print documents" msgstr "Imprimir documentos" #: permissions.py:34 +#| msgid "Delete documents" msgid "Restore trashed document" msgstr "Restaurar documento da lixeira" @@ -618,38 +610,29 @@ msgstr "Ver tipos de documentos" #: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per " -"user." -msgstr "" -"Número máximo de documentos recentes (criado, editado, visualizado) à ser " -"lembrado, por usuário." +"Maximum number of recent (created, edited, viewed) documents to remember per" +" user." +msgstr "Número máximo de documentos recentes (criado, editado, visualizado) à ser lembrado, por usuário." #: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." -msgstr "" -"Quantidade em porcentagem de zoom em uma página ou documento por interação " -"do usuário." +msgstr "Quantidade em porcentagem de zoom em uma página ou documento por interação do usuário." #: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "" -"Valor máximo em porcentagem (%) para permitir ao usuário aumentar o zoom em " -"uma página do documento de forma interativa." +msgstr "Valor máximo em porcentagem (%) para permitir ao usuário aumentar o zoom em uma página do documento de forma interativa." #: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "" -"Valor mínimo em porcentagem (%) para permitir ao usuário diminuir o zoom em " -"uma página do documento de forma interativa." +msgstr "Valor mínimo em porcentagem (%) para permitir ao usuário diminuir o zoom em uma página do documento de forma interativa." #: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." -msgstr "" -"Valor em graus para girar uma página do documento por interação do usuário." +msgstr "Valor em graus para girar uma página do documento por interação do usuário." #: settings.py:70 msgid "Default documents language (in ISO639-2 format)." @@ -683,6 +666,7 @@ msgstr "Imagem de: %s" #: views/document_type_views.py:38 #, python-format +#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "Documentos do tipo: %s" @@ -692,6 +676,7 @@ msgstr "Todos os documentos deste tipo serão excluídos também." #: views/document_type_views.py:77 #, python-format +#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "Remove o documento do tipo: %s?" @@ -707,18 +692,14 @@ msgstr "Criar uma etiqueta rápida para o documento tipo: %s" #: views/document_type_views.py:139 #, python-format -msgid "" -"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" -msgstr "" -"Editar etiqueta rápida \"%(filename)s\" para documento do tipo " -"\"%(document_type)s\"" +msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgstr "Editar etiqueta rápida \"%(filename)s\" para documento do tipo \"%(document_type)s\"" #: views/document_type_views.py:164 #, python-format msgid "" "Delete the quick label: %(label)s, from document type \"%(document_type)s\"?" -msgstr "" -"Apagar a etiqueta rápida: %(label)s, do documento tipo \"%(document_type)s\"?" +msgstr "Apagar a etiqueta rápida: %(label)s, do documento tipo \"%(document_type)s\"?" #: views/document_type_views.py:192 #, python-format @@ -735,6 +716,7 @@ msgid "All later version after this one will be deleted too." msgstr "Tudo versão posterior após este será excluído também." #: views/document_version_views.py:59 +#| msgid "Revert documents to a previous version" msgid "Revert to this version?" msgstr "Reverter para esta versão?" @@ -753,6 +735,7 @@ msgstr "Remover o documento selecionado?" #: views/document_views.py:100 #, python-format +#| msgid "Document \"%(document)s\" deleted by %(fullname)s." msgid "Document: %(document)s deleted." msgstr "Documento: %(document)s removido." @@ -771,26 +754,19 @@ msgid "Document type change request performed on %(count)d documents" msgstr "" #: views/document_views.py:130 -#, fuzzy -#| msgid "Change type" msgid "Change" -msgstr "Mudar o tipo" +msgstr "" #: views/document_views.py:132 -#, fuzzy -#| msgid "Change the type of the selected document." -#| msgid_plural "Change the type of the selected documents." msgid "Change the type of the selected document" msgid_plural "Change the type of the selected documents" -msgstr[0] "Alterar o tipo do documento selecionado." -msgstr[1] "Alterar o tipo dos documentos selecionados." +msgstr[0] "" +msgstr[1] "" #: views/document_views.py:143 -#, fuzzy, python-format -#| msgid "Change the type of the selected document." -#| msgid_plural "Change the type of the selected documents." +#, python-format msgid "Change the type of the document: %s" -msgstr "Alterar o tipo do documento selecionado." +msgstr "" #: views/document_views.py:164 #, python-format @@ -808,6 +784,7 @@ msgstr "Restaurar os documentos selecionados?" #: views/document_views.py:221 #, python-format +#| msgid "Document: %(document)s delete error: %(error)s" msgid "Document: %(document)s restored." msgstr "Documentq: %(document)s restaurado." @@ -827,6 +804,7 @@ msgstr "Mover \"%s\" para a lixeira?" #: views/document_views.py:287 #, python-format +#| msgid "Document deleted successfully." msgid "Document: %(document)s moved to trash successfully." msgstr "Documento: %(document)s movido para a lixeira com sucesso." @@ -844,20 +822,19 @@ msgid "Empty trash?" msgstr "Esvaziar a lixeira?" #: views/document_views.py:335 +#| msgid "Document deleted successfully." msgid "Trash emptied successfully" msgstr "Lixeira esvaziada com sucesso" #: views/document_views.py:519 -#, fuzzy, python-format -#| msgid "Document queued for page count recalculation." +#, python-format msgid "%(count)d document queued for page count recalculation" -msgstr "Documento em fila para recalcular quantidade de páginas." +msgstr "" #: views/document_views.py:522 -#, fuzzy, python-format -#| msgid "Documents queued for page count recalculation." +#, python-format msgid "%(count)d documents queued for page count recalculation" -msgstr "Documentos em fila para recalcular contagem de páginas." +msgstr "" #: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" @@ -866,11 +843,9 @@ msgstr[0] "Recalcular a contagem de páginas do documento selecionado?" msgstr[1] "Recalcular a contagem de páginas dos documentos selecionados?" #: views/document_views.py:541 -#, fuzzy, python-format -#| msgid "Recalculate the page count of the selected document?" -#| msgid_plural "Recalculate the page count of the selected documents?" +#, python-format msgid "Recalculate the page count of the document: %s?" -msgstr "Recalcular a contagem de páginas do documento selecionado?" +msgstr "" #: views/document_views.py:558 #, python-format @@ -883,53 +858,36 @@ msgid "Transformation clear request processed for %(count)d documents" msgstr "" #: views/document_views.py:569 -#, fuzzy -#| msgid "Clear all the page transformations for the selected document?" -#| msgid_plural "" -#| "Clear all the page transformations for the selected documents?" msgid "Clear all the page transformations for the selected document?" msgid_plural "Clear all the page transformations for the selected document?" msgstr[0] "" -"Limpar todas as transformações de páginas para o documento selecionado?" msgstr[1] "" -"Limpar todas as transformações de páginas para os documentos selecionados?" #: views/document_views.py:580 -#, fuzzy, python-format -#| msgid "Clear all the page transformations for the selected document?" -#| msgid_plural "" -#| "Clear all the page transformations for the selected documents?" +#, python-format msgid "Clear all the page transformations for the document: %s?" msgstr "" -"Limpar todas as transformações de páginas para o documento selecionado?" #: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "" -"Erro ao excluir as transformações de página para o documento: %(document)s; " -"%(error)s ." +msgstr "Erro ao excluir as transformações de página para o documento: %(document)s; %(error)s ." #: views/document_views.py:631 -#, fuzzy #| msgid "Document page transformation created successfully." msgid "Transformations cloned successfully." -msgstr "Document page transformation created successfully." +msgstr "" #: views/document_views.py:646 views/document_views.py:701 msgid "Submit" msgstr "Submeter" #: views/document_views.py:648 -#, fuzzy, python-format -#| msgid "Clear all the page transformations for the selected document?" -#| msgid_plural "" -#| "Clear all the page transformations for the selected documents?" +#, python-format msgid "Clone page transformations for document: %s" msgstr "" -"Limpar todas as transformações de páginas para o documento selecionado?" #: views/document_views.py:702 #, python-format @@ -937,6 +895,7 @@ msgid "Print: %s" msgstr "Imprimir: %s" #: views/misc_views.py:18 +#| msgid "Clear the document image cache" msgid "Clear the document image cache?" msgstr "Apagar do cache a imagem do documento?" @@ -950,45 +909,38 @@ msgid "Page %(page_number)d of %(total_pages)d" msgstr "Página %(page_number)d de %(total_pages)d" #: widgets.py:87 -#, fuzzy #| msgid "Page image" msgid "Clickable image" -msgstr "Imagem da página" +msgstr "" #: widgets.py:242 msgid "Document page image" msgstr "Imagem da página do documento" -#~| msgid "Version update" #~ msgid "New version block" -#~ msgstr "Bloqueio de nova versão" +#~ msgstr "Version update" -#~| msgid "Version update" #~ msgid "New version blocks" -#~ msgstr "Bloqueios de nova versão" +#~ msgstr "Version update" #~ msgid "Must provide at least one document." -#~ msgstr "Deve fornecer, pelo menos, um documento." +#~ msgstr "Must provide at least one document." -#~| msgid "Must provide at least one document." #~ msgid "Must provide at least one document or version." -#~ msgstr "Deve fornecer ao menos um documento ou versão." +#~ msgstr "Must provide at least one document." #~ msgid "Documents to be downloaded" -#~ msgstr "Documentos a serem baixados" +#~ msgstr "documents to be downloaded" #~ msgid "Date and time" -#~ msgstr "data e hora" - -#~ msgid "At least one document must be selected." -#~ msgstr "Ao menos um documento precisa ser selecionado." +#~ msgstr "Date added" #~ msgid "" #~ "All the page transformations for document: %s, have been deleted " #~ "successfully." #~ msgstr "" -#~ "Todas as transformações de página para o documento: %s, foram excluídas " -#~ "com sucesso." +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -1063,11 +1015,11 @@ msgstr "Imagem da página do documento" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1196,8 +1148,7 @@ msgstr "Imagem da página do documento" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "" -#~ "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1211,11 +1162,11 @@ msgstr "Imagem da página do documento" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1238,11 +1189,11 @@ msgstr "Imagem da página do documento" #~ "(%d)?" #~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for " -#~ "documents: %s?" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" #~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for " -#~ "documents: %s?" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1259,19 +1210,15 @@ msgstr "Imagem da página do documento" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1328,11 +1275,11 @@ msgstr "Imagem da página do documento" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1356,11 +1303,11 @@ msgstr "Imagem da página do documento" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1381,11 +1328,9 @@ msgstr "Imagem da página do documento" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1415,11 +1360,11 @@ msgstr "Imagem da página do documento" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgid "details" #~ msgstr "details" @@ -1476,17 +1421,15 @@ msgstr "Imagem da página do documento" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" diff --git a/mayan/apps/documents/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/documents/locale/ro_RO/LC_MESSAGES/django.mo index b865e5a24327a274388733259b80233d9a0c2eda..f7b894e05abb659e6c92474a939747db9da914b8 100644 GIT binary patch delta 1527 zcmZA1TSyd99LMqh=4HKYUQ$!nOw)2Rx7^K3sg+vzP#_gr6hxUB*kz?mQiv9do_Z+S zpx5Xj4JxuF5)yg{O5Z9W$SzMI`VvAWL=b&{>p;+9{_~l0X6DS9|NM7HDrYNhR)?F- zY(BxP6@!UpNjQjocm>_K=#2lt74+Q<=AaidFo1>Ff+=_u+3XZMZn5*I>jzQS-@sJ7 z>$b2h=ing&9(>_kFp2BvPh&E=SXDZvq88|7mxW~*k9C-bji?27pyusCHXC5qhC^6} zZ?PDECWXy1ImqQHn#hM*h##}D0oiOXJ56*LNtSgv<2~3xzYq80Bp$#*(xCbJa0?Eg zGBe6fZ$9qyC&C|VE zh|0`wRA$oC_}myS;^2+TY#-`|e9kst2_C{DcnqJT7MREGGWw9U*)VDWPcawAQS(e8 zQ`#rgLT8c9GARIMvIMyH`#TK0LI4V*T zXQ1A&06Vc1+wmHn#A(!Z%}idy^KB0YTGUvS^*zT2s0TiA&c8DZaX62vkp>?p^4PAzTQ z5o)DG6S0<1^DkkIs0=GB|Fv-Jk3)m{6{syE^!8Qi(AE!P1F#Z)p43KqNWTL5XFRA8Bt3prTnU_ zgjh+eBD@4;5vvbkMm%-?s%n2QP#g%>2ZNC`kN4k5ZGEsNTJ5>+il(LCk6YH(A05tW Yq?0}7N@?rv>JRnyb@g9}yvphR3qlWuEdT%j delta 1690 zcmX}sO>C4!9LMolN`;mM3Kc}FGN4e4t+v}1u!tvweclQe7ZY}i%)mUKFIg@D;or*SA!Ru~bGGeHA*?K!;I*9K-8z7P-uu6fBl`*SF8& zW3d+`O_jTi6078kK17Z883y<{j$tQ*Fx$9E9Ms8&`cH8 zBC?iQ0bEPOQ9o2W@dh#zGY^v4DKkXAi`-4tCw3oMsjGpx(`&stGki4l&r|O=!!&O4 zHwSSmdBC@Y_Et%Ur-Qsf4bmp^HnKijorjHNt>Ud@{R?Vqw2f?Yec5#;wC}xSZI@Ph zL^EDreZP5hQ5aTVUfQ)G>bB1Whn$^su4r>Ebg|3XD9L7B6y=jJJW~6$Ic%zBTiQ|^ z_asqlr^}^7g`BfNY(p2&Q7Sr{D`k@@SBz^1TaTxze=mDy`PQDkzMf3K?ad4g4piSu zcc`bgC$ru5ZX4?FuYH}KOYIsf1+lZ!!Tv(A5IP%|gJP5~m8a^x3|CJ6A9=`bifp$H z5}Pma(uLPzSB{*`CO+8OQ!CCi)!J6~r8>vTZZau28!?+~Oq^L4+UaEBjY82TO!8W+ N!|k7>s*Bg;{sUna$(jHF diff --git a/mayan/apps/documents/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/documents/locale/ro_RO/LC_MESSAGES/django.po index 223818feac..18d522bf0c 100644 --- a/mayan/apps/documents/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Stefaniu Criste , 2016 @@ -10,43 +10,41 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" -"edms/language/ro_RO/)\n" -"Language: ro_RO\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" -#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 -#: settings.py:13 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 +#: permissions.py:7 settings.py:13 msgid "Documents" msgstr "Documente" #: apps.py:110 +#| msgid "View document types" msgid "New pages this month" msgstr "" #: apps.py:119 -#, fuzzy -#| msgid "documents of this type" +#| msgid "New document filename" msgid "New documents this month" -msgstr "documents of this type" +msgstr "" #: apps.py:128 -#, fuzzy -#| msgid "Edit documents" +#| msgid "Transform documents" msgid "Total documents" -msgstr "Editează" +msgstr "" #: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 msgid "Document types" msgstr "" #: apps.py:140 views/document_views.py:69 +#| msgid "Documents in storage: %d" msgid "Documents in trash" msgstr "" @@ -102,14 +100,17 @@ msgid "Comment" msgstr "Comentariu" #: apps.py:456 +#| msgid "New document filename" msgid "New documents per month" msgstr "" #: apps.py:463 +#| msgid "Document version reverted successfully" msgid "New document versions per month" msgstr "" #: apps.py:470 +#| msgid "View document types" msgid "New document pages per month" msgstr "" @@ -142,10 +143,12 @@ msgid "Document type changed" msgstr "" #: events.py:21 +#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 +#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -180,7 +183,7 @@ msgstr "" #: forms.py:122 msgid "Unknown" -msgstr "" +msgstr "Necunoscut" #: forms.py:130 msgid "File mimetype" @@ -224,9 +227,13 @@ msgid "Compress" msgstr "Comprimă" #: forms.py:197 +#| msgid "" +#| "ad the document in the original format or in a compressed manner. s ion is " +#| "selectable only when downloading one document, for tiple uments, the bundle " +#| "will always be downloads as a compressed e." msgid "" -"Download the document in the original format or in a compressed manner. This " -"option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This" +" option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" @@ -238,9 +245,7 @@ msgstr "Nume fişier comprimat" msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "" -"Nume fișier comprimat, care va conține documentele ce urmează să fie " -"descărcate, în cazul în care această opțiunea a fost selectată anterior." +msgstr "Nume fișier comprimat, care va conține documentele ce urmează să fie descărcate, în cazul în care această opțiunea a fost selectată anterior." #: forms.py:225 literals.py:23 msgid "Page range" @@ -269,10 +274,8 @@ msgid "Clear transformations" msgstr "" #: links.py:71 -#, fuzzy -#| msgid "Page transformations" msgid "Clone transformations" -msgstr "page transformations" +msgstr "" #: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" @@ -319,6 +322,7 @@ msgid "Recent documents" msgstr "" #: links.py:151 +#| msgid "Transform documents" msgid "Trash can" msgstr "" @@ -326,11 +330,10 @@ msgstr "" msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "" -"Goliți reprezentările grafice folosite pentru a accelera afișarea " -"documentelor și rezultatele interactive de transformari." +msgstr "Goliți reprezentările grafice folosite pentru a accelera afișarea documentelor și rezultatele interactive de transformari." #: links.py:162 +#| msgid "Clear the document image cache" msgid "Clear document image cache" msgstr "" @@ -408,7 +411,8 @@ msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the trash." +"Amount of time after which documents of this type will be moved to the " +"trash." msgstr "" #: models.py:71 @@ -426,10 +430,12 @@ msgid "" msgstr "" #: models.py:81 +#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 +#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -470,6 +476,7 @@ msgstr "" #: models.py:187 #, python-format +#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" @@ -508,19 +515,15 @@ msgstr "Pagini document" #: models.py:801 msgid "Filename" -msgstr "Filename" +msgstr "Nume fişier" #: models.py:804 -#, fuzzy -#| msgid "Document pages" msgid "Document page cached image" -msgstr "Pagini document" +msgstr "" #: models.py:805 -#, fuzzy -#| msgid "Document pages" msgid "Document page cached images" -msgstr "Pagini document" +msgstr "" #: models.py:827 msgid "User" @@ -543,6 +546,7 @@ msgid "Delete documents" msgstr "Şterge" #: permissions.py:16 +#| msgid "Transform documents" msgid "Trash documents" msgstr "" @@ -563,10 +567,12 @@ msgid "Edit document properties" msgstr "Editează proprietăţile" #: permissions.py:31 +#| msgid "Edit documents" msgid "Print documents" msgstr "Tipărește documente" #: permissions.py:34 +#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -604,39 +610,29 @@ msgstr "Vezi tipuri de documente" #: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per " -"user." -msgstr "" -"Numărul maxim de documente (create, editate, vizualizate) reţinute per " -"utilizator." +"Maximum number of recent (created, edited, viewed) documents to remember per" +" user." +msgstr "Numărul maxim de documente (create, editate, vizualizate) reţinute per utilizator." #: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." -msgstr "" -"Suma în procente folosită pentru a mării sau micşora un document interactiv " -"cu utilizatorul." +msgstr "Suma în procente folosită pentru a mării sau micşora un document interactiv cu utilizatorul." #: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "" -"Suma maximă în procente (%), permisă utilizatorilor pentru mărirea " -"interactiv a unei pagini ." +msgstr "Suma maximă în procente (%), permisă utilizatorilor pentru mărirea interactiv a unei pagini ." #: settings.py:54 msgid "" "Minimum amount in percent (%) to allow user to zoom out a document page " "interactively." -msgstr "" -"Suma minimă în procente (%), permisă utilizatorului pentru micșorarea " -"interactivă a unei pagini ." +msgstr "Suma minimă în procente (%), permisă utilizatorului pentru micșorarea interactivă a unei pagini ." #: settings.py:61 msgid "Amount in degrees to rotate a document page per user interaction." -msgstr "" -"Ce rotaţie pentru pagină (în grade) este folosită în interacțiunea cu " -"utilizatorul." +msgstr "Ce rotaţie pentru pagină (în grade) este folosită în interacțiunea cu utilizatorul." #: settings.py:70 msgid "Default documents language (in ISO639-2 format)." @@ -670,6 +666,7 @@ msgstr "" #: views/document_type_views.py:38 #, python-format +#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" @@ -679,6 +676,7 @@ msgstr "" #: views/document_type_views.py:77 #, python-format +#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" @@ -694,8 +692,7 @@ msgstr "" #: views/document_type_views.py:139 #, python-format -msgid "" -"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" #: views/document_type_views.py:164 @@ -719,6 +716,7 @@ msgid "All later version after this one will be deleted too." msgstr "Toate versiune de dupa aceasta, vor fi şterse de asemenea." #: views/document_version_views.py:59 +#| msgid "Revert documents to a previous version" msgid "Revert to this version?" msgstr "" @@ -737,6 +735,7 @@ msgstr "" #: views/document_views.py:100 #, python-format +#| msgid "Document \"%(document)s\" deleted by %(fullname)s." msgid "Document: %(document)s deleted." msgstr "" @@ -759,20 +758,16 @@ msgid "Change" msgstr "" #: views/document_views.py:132 -#, fuzzy -#| msgid "Are you sure you wish to delete the selected document?" -#| msgid_plural "Are you sure you wish to delete the selected documents?" msgid "Change the type of the selected document" msgid_plural "Change the type of the selected documents" -msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" -msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" -msgstr[2] "ee02f3189246f97d6734a407f6f9040b_pl_2" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" #: views/document_views.py:143 -#, fuzzy, python-format -#| msgid "Content of document: %s" +#, python-format msgid "Change the type of the document: %s" -msgstr "versions for document: %s" +msgstr "" #: views/document_views.py:164 #, python-format @@ -790,6 +785,7 @@ msgstr "" #: views/document_views.py:221 #, python-format +#| msgid "Document: %(document)s delete error: %(error)s" msgid "Document: %(document)s restored." msgstr "" @@ -809,6 +805,7 @@ msgstr "" #: views/document_views.py:287 #, python-format +#| msgid "Document deleted successfully." msgid "Document: %(document)s moved to trash successfully." msgstr "" @@ -826,6 +823,7 @@ msgid "Empty trash?" msgstr "" #: views/document_views.py:335 +#| msgid "Document deleted successfully." msgid "Trash emptied successfully" msgstr "" @@ -847,11 +845,9 @@ msgstr[1] "" msgstr[2] "" #: views/document_views.py:541 -#, fuzzy, python-format -#| msgid "Are you sure you wish to reset the page count of this document?" +#, python-format msgid "Recalculate the page count of the document: %s?" msgstr "" -"Are you sure you wish to update the page count for the office documents (%d)?" #: views/document_views.py:558 #, python-format @@ -871,14 +867,9 @@ msgstr[1] "" msgstr[2] "" #: views/document_views.py:580 -#, fuzzy, python-format -#| msgid "" -#| "Are you sure you wish to clear all the page transformations for " -#| "documents: %s?" +#, python-format msgid "Clear all the page transformations for the document: %s?" msgstr "" -"Are you sure you wish to clear all the page transformations for documents: " -"%s?" #: views/document_views.py:595 views/document_views.py:623 #, python-format @@ -888,22 +879,18 @@ msgid "" msgstr "Eroare la ștergerea transformări : %(document)s; %(error)s." #: views/document_views.py:631 -#, fuzzy #| msgid "Document page transformation created successfully." msgid "Transformations cloned successfully." -msgstr "Document page transformation created successfully." +msgstr "" #: views/document_views.py:646 views/document_views.py:701 msgid "Submit" msgstr "Trimiteţi" #: views/document_views.py:648 -#, fuzzy, python-format -#| msgid "" -#| "Error deleting the page transformations for document: %(document)s; " -#| "%(error)s." +#, python-format msgid "Clone page transformations for document: %s" -msgstr "Eroare la ștergerea transformări : %(document)s; %(error)s." +msgstr "" #: views/document_views.py:702 #, python-format @@ -911,6 +898,7 @@ msgid "Print: %s" msgstr "Tipărește: %s" #: views/misc_views.py:18 +#| msgid "Clear the document image cache" msgid "Clear the document image cache?" msgstr "" @@ -924,24 +912,38 @@ msgid "Page %(page_number)d of %(total_pages)d" msgstr "" #: widgets.py:87 -#, fuzzy #| msgid "Page image" msgid "Clickable image" -msgstr "Imaginea paginii" +msgstr "" #: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "New version block" +#~ msgstr "Version update" + +#~ msgid "New version blocks" +#~ msgstr "Version update" + #~ msgid "Must provide at least one document." -#~ msgstr "Trebuie selectat cel puțin un document." +#~ msgstr "Must provide at least one document." + +#~ msgid "Must provide at least one document or version." +#~ msgstr "Must provide at least one document." + +#~ msgid "Documents to be downloaded" +#~ msgstr "documents to be downloaded" + +#~ msgid "Date and time" +#~ msgstr "Date added" #~ msgid "" #~ "All the page transformations for document: %s, have been deleted " #~ "successfully." #~ msgstr "" -#~ "Toate paginile transformate pentru document: %s , au fost șterse cu " -#~ "succes." +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -1016,11 +1018,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1049,6 +1051,9 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" +#~ msgid "Page transformations" +#~ msgstr "page transformations" + #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -1092,6 +1097,15 @@ msgstr "" #~ msgid "documents" #~ msgstr "documents" +#~ msgid "Content of document: %s" +#~ msgstr "versions for document: %s" + +#~ msgid "Are you sure you wish to delete the selected document?" +#~ msgid_plural "Are you sure you wish to delete the selected documents?" +#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" +#~ msgstr[1] "ee02f3189246f97d6734a407f6f9040b_pl_1" +#~ msgstr[2] "ee02f3189246f97d6734a407f6f9040b_pl_2" + #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1138,8 +1152,7 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "" -#~ "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1153,11 +1166,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1174,6 +1187,18 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" +#~ msgid "Are you sure you wish to reset the page count of this document?" +#~ msgstr "" +#~ "Are you sure you wish to update the page count for the office documents " +#~ "(%d)?" + +#~ msgid "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" +#~ msgstr "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" + #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1189,19 +1214,15 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1258,11 +1279,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1286,11 +1307,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1311,11 +1332,9 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1345,11 +1364,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgid "details" #~ msgstr "details" @@ -1406,17 +1425,15 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1437,6 +1454,9 @@ msgstr "" #~ msgid "clone metadata" #~ msgstr "clone metadata" +#~ msgid "documents of this type" +#~ msgstr "documents of this type" + #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/documents/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/documents/locale/ru/LC_MESSAGES/django.mo index 736eed43151c2bc5423de01e3fad34fc56942cd1..78a379dbb6219a58c8e774957f670e9fbaaf8384 100644 GIT binary patch delta 4039 zcmZA2e^giX9mnza7m47if|n5DVT$EaW!^f3SPu(@C(#{ zEXgbxqA?Y-a155CuCGVBuqCJo-iH(MNsOU?dxeTFd>whF4WT;t1SjKX7=`2MMb}M2 zJ#ac^;XG`>F0XwYvuO_@x7y!P*GDrdO>`V;;00Jr|5i#x7c54uwN6w@yS?^iB>T44 zYrllb&}r0wK15wV?6pU7vY2)T>b}{i=eJ-w-h&0W0Rt?H4Ny_4kK+`47jrR|d}?rZa0g_=<}>bgxhgng)v?@u#}#K&+f_98#ozBKZ$8K2;UM*24D!52^i zx{TU1aonZUEx^&(hFYR7RL2kCTnu17{tj2-=a`G_Oj}FagBr+FsEqAOC;zGpaDwdF zQPhmzL_PQ&jKM#kI=7R@z{#$=n=dZccPv* zl2?Si5wH|0dSC%+AZ5s(P2-@MFG9V3Yf-y4fEwt2REMWf9sUM&-4Ocm0O-T zUYv;gP!o9zWA*+Ic_;pe8u4FHYnPPkzTcIo5idkm%kD;Prf$@E2ekxyJrAHJ@`Bes zg4!Feq6RXE+Vt;Z9R1rBDjM;BP&fLob8o1^vI$WrgmAapZ@-tN>@=Y`hsa;j{P_mf*@s z?waR!>9-5)6jq#a4D|EDR>SmFrFXv{94q6+EE{*e$Q7*$o~>fobfI!yxz?~Es||p zhE>?>wNImFcnNRBK>qA$4mJ2|)BxfpyPLTfXVSg}_1rB1Dw@e}kwM#M z*o4_-W;fs}R3-+HWww)^A0lJ0D8Ji51;){CMm=vSmiu_`QLpK1q(z(eUAzhZhWcIv zrj)xQS%DYgb3Uqr zrASh26Q<*!=XtEAJ&c+_C5?kD$!gTVb9lD{>S!jF6kLvDF@Ox(b|ClKJE#<=vUQtq z0&1z&Vixve4i2K0@*`x~?H~9$mhmd&;pbS5X|?VWE~+K}x}k#;de8<`%AY}v_&h4* zW9!UV6{|yayaDxPJLH`|gHg0c%yK`)F*t^HJZeJus7&678b|~3qFL9hfSc;woVbM( zzd~)Uq}i?$kc@@*#WqxN2+i(*8Wd$lg*P(%=4dadQzjpNMMvO1LYwg!LM5KiW`3Cd z!~f^C)1M?%*r4HcT@r4w!8~_(K8p8vb*;CGcKEZzMuIVi|1*LO=0(=O4Ka?`@11M&1r5kYJsRPG{{5sTEIJV$gAi;1TQeG!)uKOp#Sh0D_%n}`R9 z?-0er&j^)Nmxl0{?hzWRi4vlSm`iLWQiu%V3F0wg7EwcdRc`evRd{ExKYorcI6bkz z=Uhz62tJs+%@@o{$&3gtOY8PIY3Yfa5#T*WN_!C%m}BaIMvB4 zsc5vp-l^R}t+@u1RyYSH(N&HDjFq#?7gHp(CMVp`)Rf aLPySapWP68Ep*C4yPf$(W1RYVU;Y=uO~+LL delta 5481 zcmchZd2m(L9mmg0!lne0KnNHJH$p-%RKJ`Oh<=~)RwN(e!lNsTCFwEdIFZ^yw!u^KUjYgtR`WW*!c42C>1^WZSJ0`g~?_(|n_a}OPiGmk?>-~`Np zufhx9IVca~*j)!C@q^7K8|t8`Fdvq}zHkHN&ur#L`|g3G;A3ze?D59^u_lA_O*S2z zGP9r-EQRuXHIxTUa01-wJ#U5b=oFM;jyHZ64q|-P8~f7SNTtF&=JO$En-x&&8ev!y z+v(_l2cb6j36vqP!4dEym<|64DFc%|+ztI?Sj2bs1s`cSD+uh3$;Fx zO_jn?BZ$8yrZOQ<=Rz&K2EGBSp$wVM+X=87vWKaFIBC{GMPfUY;SWIV_aszpbV3!| z>rfFLnQqKLm;;r%N$JF22Vcg-LO2_ah4;gH*bOas35B7Y&xbPPMyL>0dRz}F6SEa6 z0yb3b9D+LVs5jpUb>53mx963xH}R_X!W%G)2k(31epJq4#>ub(*1#pO8pq2YC_I2!g*+X~13#1pGhr;`a4O>psO#ARphA2W>cGE38JJ?Z?^%#kg-tdc9XJ_k<5Eb}&3vfhsewA^HmFeU zgcrjHpbmNgu7M6z?k~-BYi2&we#@Z@sew3c>LIq6J+QCt|Fd*d-JMXDz72KYXHW;~ zw7wt_7Q&%$3!DR0j4#0)_$HJi@x)!8CPIzVA&*QJRBGo!vS;dGAI>+s=*aSYkU}+w zp>osX&HoZA74Lcc(Bto*is=lLA?KiOLlPCN+b|Z&;3B99tb}^M4yMH!vk8V5`S^t5 zz81VUj_|`XP&F|Tx441k3V1DC4sV2QP>~um-k1iM4cEbkU={3l2~NPZ@CY1~OFCgE zjORSx1b2O(JmOE3&8R%?I}c{SGRA2WITS8~Pr!qaN9OW;H|Mobx!nORxCdgBIqvZ^ zjT-X^fY`MQ|Tf3O*K9NLLz@_kN*a``T`8y<44i#@J{TE7V@#gEM;{v+s|W7b=B6>f#Y;eJS(%`r$e&Bsthm%G4?SP4`_cSEJF8_KcM3y8mR{AVV(DQ0jvcNflv zI#U>f|DH~(>%PG2U* zkGrWgo@HzAZQpJBC#UVvz4^mT@?~nD|B1@+q?~U~VQmaRbQVv>&6w$lT4D4XMCx(tx%b)u0EE3i$J_jzK$W^d>{_4m8diANF`u z`42G2M*~n5+KSXl(ZeVa%|eq=HM#*QYP-vi=s4Pmj-WKO28}^#)6jf$4eCH@ z%VmYyM${DRxt~ULv(N@~J9-|e`Oy_zbIU z3|b);RdJfn=o-@eS@_=z)4m0O&HP;tP0dtHPr?hSJ&71BflBi z;`>%_+BXjyX)hT)II@1&s`$wJBYxzoD3?#`8|pW%t`1s(uXLNUHwGI*I?8wf!i zdgbuS+WM-sW?^vC`K4BDCKNfBUY%eswwBq?S-(!4oL5kgS6F1_7nV#awhv~e4~)&^ z7h3tnB?XZmXXYpL*%#gBblO*sPmho8wd^PSsqrVHd+nFT3>i~mWreKh4xYd0bVl!X zdYoQ{PKVRxoOC*!o@k3d@@ZB^+*MCHz0vKgc1}cFET@+@x||*h^g7)vI2C(&yE}2x zc}~OFyDZveIqlIF7B;hMk3BGFgxyh^6XWQzuj0Z!?dJ`)hn6JUXUY=$b+98A?YqJn z_Gt7jrz^TGx}9Hdch9~5^V@byPHALk&eL&2_B(Bu(`Gqc^0gUTPeuH>V-v#r|2sZJ z(RncziFP-_EFhk^)EQgXp>XwRt6t}X(&2dT5${gR>1N_2e(QBbpq)3>abwGaJN?Ev zK%67aNzxiwKCv~<{-7Wwtn_{HVCC_De)J&%;hNLyynwaDqXSF!+M^58WJj7iw4CQ< zW3-vld0wyCiTRejvoJ9dC|uDu5}o=;d@OWds-);0-?9$76eb*0SShBi=w1SIh{O<9 zZ4xWsQ*O0)V+;1Em|_JLJ7ml^SG(U{GyQ1peVoK4;D~0}PLJg2UYuateVs?8ZYt9hgzW_iDcK-kX diff --git a/mayan/apps/documents/locale/ru/LC_MESSAGES/django.po b/mayan/apps/documents/locale/ru/LC_MESSAGES/django.po index 83acde068a..e687fac70f 100644 --- a/mayan/apps/documents/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -10,46 +10,41 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-11-02 04:15+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" -"language/ru/)\n" -"Language: ru\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" -#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 -#: settings.py:13 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 +#: permissions.py:7 settings.py:13 msgid "Documents" msgstr "Документы" #: apps.py:110 -#, fuzzy -#| msgid "New document pages per month" +#| msgid "View document types" msgid "New pages this month" -msgstr "Новых страниц документов в месяц" +msgstr "" #: apps.py:119 -#, fuzzy -#| msgid "New documents per month" +#| msgid "New document filename" msgid "New documents this month" -msgstr "Новых документов в месяц" +msgstr "" #: apps.py:128 -#, fuzzy -#| msgid "Trash documents" +#| msgid "Transform documents" msgid "Total documents" -msgstr "Переместить документы в корзину" +msgstr "" #: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 msgid "Document types" msgstr "Типы документов" #: apps.py:140 views/document_views.py:69 +#| msgid "Documents in storage: %d" msgid "Documents in trash" msgstr "Документы в корзине" @@ -61,9 +56,7 @@ msgstr "Создать тип документа" msgid "" "Every uploaded document must be assigned a document type, it is the basic " "way Mayan EDMS categorizes documents." -msgstr "" -"Каждому загруженому документу должен быть присвоен тип документа, - это " -"основной способ, которым Mayan EDMS распределяет документы по категориям." +msgstr "Каждому загруженому документу должен быть присвоен тип документа, - это основной способ, которым Mayan EDMS распределяет документы по категориям." #: apps.py:154 models.py:65 models.py:153 models.py:618 search.py:21 #: search.py:39 @@ -107,14 +100,17 @@ msgid "Comment" msgstr "Комментарий" #: apps.py:456 +#| msgid "New document filename" msgid "New documents per month" msgstr "Новых документов в месяц" #: apps.py:463 +#| msgid "Document version reverted successfully" msgid "New document versions per month" msgstr "Новых версий документов в месяц" #: apps.py:470 +#| msgid "View document types" msgid "New document pages per month" msgstr "Новых страниц документов в месяц" @@ -147,10 +143,12 @@ msgid "Document type changed" msgstr "Тип документа был изменен" #: events.py:21 +#| msgid "Version update" msgid "New version uploaded" msgstr "Новая версия была загружена" #: events.py:25 +#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "Версия документа была восстановлена" @@ -185,7 +183,7 @@ msgstr "Язык" #: forms.py:122 msgid "Unknown" -msgstr "" +msgstr "Неизвестно" #: forms.py:130 msgid "File mimetype" @@ -229,14 +227,15 @@ msgid "Compress" msgstr "Сжать" #: forms.py:197 +#| msgid "" +#| "ad the document in the original format or in a compressed manner. s ion is " +#| "selectable only when downloading one document, for tiple uments, the bundle " +#| "will always be downloads as a compressed e." msgid "" -"Download the document in the original format or in a compressed manner. This " -"option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This" +" option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." -msgstr "" -"Скачать документ в исходном, или в сжатом формате. Этот вариант доступен " -"только при загрузке одного документа, для нескольких документов будет " -"использован сжатый файл." +msgstr "Скачать документ в исходном, или в сжатом формате. Этот вариант доступен только при загрузке одного документа, для нескольких документов будет использован сжатый файл." #: forms.py:204 msgid "Compressed filename" @@ -246,9 +245,7 @@ msgstr "Имя сжатого файла" msgid "" "The filename of the compressed file that will contain the documents to be " "downloaded, if the previous option is selected." -msgstr "" -"Имя файла сжатого файла, который будет содержать загружаемые документы, если " -"выбран предыдущий параметр." +msgstr "Имя файла сжатого файла, который будет содержать загружаемые документы, если выбран предыдущий параметр." #: forms.py:225 literals.py:23 msgid "Page range" @@ -277,10 +274,8 @@ msgid "Clear transformations" msgstr "Очистить преобразования" #: links.py:71 -#, fuzzy -#| msgid "Clear transformations" msgid "Clone transformations" -msgstr "Очистить преобразования" +msgstr "" #: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" @@ -327,20 +322,18 @@ msgid "Recent documents" msgstr "Последние документы" #: links.py:151 -#, fuzzy -#| msgid "Trash" +#| msgid "Transform documents" msgid "Trash can" -msgstr "Корзина" +msgstr "" #: links.py:159 msgid "" "Clear the graphics representations used to speed up the documents' display " "and interactive transformations results." -msgstr "" -"Очистить графику для ускорения отображения документов и интерактивных " -"преобразований." +msgstr "Очистить графику для ускорения отображения документов и интерактивных преобразований." #: links.py:162 +#| msgid "Clear the document image cache" msgid "Clear document image cache" msgstr "Очистить кэш изображений документа" @@ -418,10 +411,9 @@ msgstr "Все страницы" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the trash." -msgstr "" -"Сколько должно пройти времени, прежде чем документы этого типа будут " -"перемещены в корзину." +"Amount of time after which documents of this type will be moved to the " +"trash." +msgstr "Сколько должно пройти времени, прежде чем документы этого типа будут перемещены в корзину." #: models.py:71 msgid "Trash time period" @@ -435,15 +427,15 @@ msgstr "Единица измерения периода жизни" msgid "" "Amount of time after which documents of this type in the trash will be " "deleted." -msgstr "" -"Сколько должно пройти времени, прежде чем документы этого типа будут удалены " -"из корзины." +msgstr "Сколько должно пройти времени, прежде чем документы этого типа будут удалены из корзины." #: models.py:81 +#| msgid "Delete document types" msgid "Delete time period" msgstr "Период удаления" #: models.py:86 +#| msgid "Delete documents" msgid "Delete time unit" msgstr "Единица измерения периода удаления" @@ -476,10 +468,7 @@ msgid "" "A document stub is a document with an entry on the database but no file " "uploaded. This could be an interrupted upload or a deferred upload via the " "API." -msgstr "" -"Заглушка документа - это запись в базе данных без самого документа. Документ " -"может оказатсья заглушкой, если его загрузка оборвалась, или выполняется его " -"отложенная загрузка через API." +msgstr "Заглушка документа - это запись в базе данных без самого документа. Документ может оказатсья заглушкой, если его загрузка оборвалась, или выполняется его отложенная загрузка через API." #: models.py:179 msgid "Is stub?" @@ -487,6 +476,7 @@ msgstr "Является заглушкой?" #: models.py:187 #, python-format +#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "Заглушка документа, ид: %d" @@ -525,19 +515,15 @@ msgstr "Страницы документа" #: models.py:801 msgid "Filename" -msgstr "Filename" +msgstr "Имя файла" #: models.py:804 -#, fuzzy -#| msgid "Document page image" msgid "Document page cached image" -msgstr "Изображение страницы документа" +msgstr "" #: models.py:805 -#, fuzzy -#| msgid "Document page image" msgid "Document page cached images" -msgstr "Изображение страницы документа" +msgstr "" #: models.py:827 msgid "User" @@ -560,6 +546,7 @@ msgid "Delete documents" msgstr "Удаление документов" #: permissions.py:16 +#| msgid "Transform documents" msgid "Trash documents" msgstr "Переместить документы в корзину" @@ -580,10 +567,12 @@ msgid "Edit document properties" msgstr "Редактирование свойств документа" #: permissions.py:31 +#| msgid "Edit documents" msgid "Print documents" msgstr "Печать документов" #: permissions.py:34 +#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -621,11 +610,9 @@ msgstr "Просмотр типов документов" #: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per " -"user." -msgstr "" -"Максимальное количество последних (созданных, измененных, просмотренных) " -"документов, запоминаемых для каждого пользователя." +"Maximum number of recent (created, edited, viewed) documents to remember per" +" user." +msgstr "Максимальное количество последних (созданных, измененных, просмотренных) документов, запоминаемых для каждого пользователя." #: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." @@ -679,6 +666,7 @@ msgstr "Изображение для: %s" #: views/document_type_views.py:38 #, python-format +#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "Документы с типом: %s" @@ -688,6 +676,7 @@ msgstr "Все документы этого типа будут также уд #: views/document_type_views.py:77 #, python-format +#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "Удалить тип документа: %s?" @@ -703,11 +692,8 @@ msgstr "Создать быструю метку для типа докумен #: views/document_type_views.py:139 #, python-format -msgid "" -"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" -msgstr "" -"Редактировать быструю метку %(filename)s\" с типа документов " -"\"%(document_type)s\"" +msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgstr "Редактировать быструю метку %(filename)s\" с типа документов \"%(document_type)s\"" #: views/document_type_views.py:164 #, python-format @@ -730,6 +716,7 @@ msgid "All later version after this one will be deleted too." msgstr "Все более поздние версии после этого будут удалены" #: views/document_version_views.py:59 +#| msgid "Revert documents to a previous version" msgid "Revert to this version?" msgstr "Вернуться к этой версии?" @@ -748,6 +735,7 @@ msgstr "Удалить выбранный документ?" #: views/document_views.py:100 #, python-format +#| msgid "Document \"%(document)s\" deleted by %(fullname)s." msgid "Document: %(document)s deleted." msgstr "Документ: %(document)s удалён." @@ -766,28 +754,21 @@ msgid "Document type change request performed on %(count)d documents" msgstr "" #: views/document_views.py:130 -#, fuzzy -#| msgid "Change type" msgid "Change" -msgstr "Изменить тип" +msgstr "" #: views/document_views.py:132 -#, fuzzy -#| msgid "Change the type of the selected document." -#| msgid_plural "Change the type of the selected documents." msgid "Change the type of the selected document" msgid_plural "Change the type of the selected documents" -msgstr[0] "Изменить тип выбранного документа." -msgstr[1] "Изменить тип выбранных документов." -msgstr[2] "Изменить тип выбранных документов." -msgstr[3] "Изменить тип выбранных документов." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views/document_views.py:143 -#, fuzzy, python-format -#| msgid "Change the type of the selected document." -#| msgid_plural "Change the type of the selected documents." +#, python-format msgid "Change the type of the document: %s" -msgstr "Изменить тип выбранного документа." +msgstr "" #: views/document_views.py:164 #, python-format @@ -805,6 +786,7 @@ msgstr "Восстановить выбранный документ?" #: views/document_views.py:221 #, python-format +#| msgid "Document: %(document)s delete error: %(error)s" msgid "Document: %(document)s restored." msgstr "Документ %(document)s восстановлен." @@ -824,6 +806,7 @@ msgstr "Перместить \"%s\" в корзину?" #: views/document_views.py:287 #, python-format +#| msgid "Document deleted successfully." msgid "Document: %(document)s moved to trash successfully." msgstr "Документ %(document)s успешно перемещён в корзину." @@ -841,20 +824,19 @@ msgid "Empty trash?" msgstr "Очистить корзину?" #: views/document_views.py:335 +#| msgid "Document deleted successfully." msgid "Trash emptied successfully" msgstr "Корзина успешно очищена" #: views/document_views.py:519 -#, fuzzy, python-format -#| msgid "Document queued for page count recalculation." +#, python-format msgid "%(count)d document queued for page count recalculation" -msgstr "Документ отправлен в очередь на обновление количества страниц." +msgstr "" #: views/document_views.py:522 -#, fuzzy, python-format -#| msgid "Documents queued for page count recalculation." +#, python-format msgid "%(count)d documents queued for page count recalculation" -msgstr "Документы отправлены в очередь на обновление количества страниц." +msgstr "" #: views/document_views.py:530 msgid "Recalculate the page count of the selected document?" @@ -865,11 +847,9 @@ msgstr[2] "Пересчитать количество страниц для в msgstr[3] "Пересчитать количество страниц для выбранных документов?" #: views/document_views.py:541 -#, fuzzy, python-format -#| msgid "Recalculate the page count of the selected document?" -#| msgid_plural "Recalculate the page count of the selected documents?" +#, python-format msgid "Recalculate the page count of the document: %s?" -msgstr "Пересчитать количество страниц для выбранного документа?" +msgstr "" #: views/document_views.py:558 #, python-format @@ -882,51 +862,38 @@ msgid "Transformation clear request processed for %(count)d documents" msgstr "" #: views/document_views.py:569 -#, fuzzy -#| msgid "Clear all the page transformations for the selected document?" -#| msgid_plural "" -#| "Clear all the page transformations for the selected documents?" msgid "Clear all the page transformations for the selected document?" msgid_plural "Clear all the page transformations for the selected document?" -msgstr[0] "Очистить все преобразования страниц для выделенных документов?" -msgstr[1] "Очистить все преобразования страниц для выделенных документов?" -msgstr[2] "Очистить все преобразования страниц для выделенных документов?" -msgstr[3] "Очистить все преобразования страниц для выделенных документов?" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views/document_views.py:580 -#, fuzzy, python-format -#| msgid "Clear all the page transformations for the selected document?" -#| msgid_plural "" -#| "Clear all the page transformations for the selected documents?" +#, python-format msgid "Clear all the page transformations for the document: %s?" -msgstr "Очистить все преобразования страниц для выделенных документов?" +msgstr "" #: views/document_views.py:595 views/document_views.py:623 #, python-format msgid "" "Error deleting the page transformations for document: %(document)s; " "%(error)s." -msgstr "" -"Ошибка при удалении страницы для преобразования документов: %(document)s; " -"%(error)s." +msgstr "Ошибка при удалении страницы для преобразования документов: %(document)s; %(error)s." #: views/document_views.py:631 -#, fuzzy #| msgid "Document page transformation created successfully." msgid "Transformations cloned successfully." -msgstr "Document page transformation created successfully." +msgstr "" #: views/document_views.py:646 views/document_views.py:701 msgid "Submit" msgstr "Подтвердить" #: views/document_views.py:648 -#, fuzzy, python-format -#| msgid "Clear all the page transformations for the selected document?" -#| msgid_plural "" -#| "Clear all the page transformations for the selected documents?" +#, python-format msgid "Clone page transformations for document: %s" -msgstr "Очистить все преобразования страниц для выделенных документов?" +msgstr "" #: views/document_views.py:702 #, python-format @@ -934,6 +901,7 @@ msgid "Print: %s" msgstr "Печать: %s" #: views/misc_views.py:18 +#| msgid "Clear the document image cache" msgid "Clear the document image cache?" msgstr "Очистить кэш изображений документа?" @@ -947,43 +915,38 @@ msgid "Page %(page_number)d of %(total_pages)d" msgstr "Страница %(page_number)d из %(total_pages)d" #: widgets.py:87 -#, fuzzy #| msgid "Page image" msgid "Clickable image" -msgstr "Изображение страницы" +msgstr "" #: widgets.py:242 msgid "Document page image" msgstr "Изображение страницы документа" -#~| msgid "Version update" #~ msgid "New version block" -#~ msgstr "Блокировка добавления новых версий" +#~ msgstr "Version update" -#~| msgid "Version update" #~ msgid "New version blocks" -#~ msgstr "Блокировки добавления новых версий" +#~ msgstr "Version update" #~ msgid "Must provide at least one document." -#~ msgstr "Необходимо указатьть хотя бы один документ." +#~ msgstr "Must provide at least one document." -#~| msgid "Must provide at least one document." #~ msgid "Must provide at least one document or version." -#~ msgstr "Должен быть хотя бы один документ или версия." +#~ msgstr "Must provide at least one document." #~ msgid "Documents to be downloaded" -#~ msgstr "Документы для загрузки" +#~ msgstr "documents to be downloaded" #~ msgid "Date and time" -#~ msgstr "Дата и время" - -#~ msgid "At least one document must be selected." -#~ msgstr "Хотя бы один документ должен быть выбран." +#~ msgstr "Date added" #~ msgid "" #~ "All the page transformations for document: %s, have been deleted " #~ "successfully." -#~ msgstr "Все преобразования страницы для документа: %s успешно удалены." +#~ msgstr "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -1058,11 +1021,11 @@ msgstr "Изображение страницы документа" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1193,8 +1156,7 @@ msgstr "Изображение страницы документа" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "" -#~ "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1208,11 +1170,11 @@ msgstr "Изображение страницы документа" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1235,11 +1197,11 @@ msgstr "Изображение страницы документа" #~ "(%d)?" #~ msgid "" -#~ "Are you sure you wish to clear all the page transformations for " -#~ "documents: %s?" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" #~ msgstr "" -#~ "Are you sure you wish to clear all the page transformations for " -#~ "documents: %s?" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1256,19 +1218,15 @@ msgstr "Изображение страницы документа" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1325,11 +1283,11 @@ msgstr "Изображение страницы документа" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1353,11 +1311,11 @@ msgstr "Изображение страницы документа" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1378,11 +1336,9 @@ msgstr "Изображение страницы документа" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1412,11 +1368,11 @@ msgstr "Изображение страницы документа" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgid "details" #~ msgstr "details" @@ -1473,17 +1429,15 @@ msgstr "Изображение страницы документа" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" diff --git a/mayan/apps/documents/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/documents/locale/sl_SI/LC_MESSAGES/django.mo index 2a47c9c84e0e8a203068faef2f210d221cad0537..1b712de278380fed1fcdfb1a7e649d127623ab0e 100644 GIT binary patch delta 1140 zcmXZaPe@cz6vy%Nn9&*krCDlW*DkRFjzi}>{`P?_}-gECg_uZ-gR6Bn-)njIl z{bqgm3xn96V>W|57{I5f|CezWzQi*8fF<}7_o0((mXB4a_l>Cc-B^Ibs5}?22;E#u zSsk4j{>a07Sd0s(flFA5%eV(uQ5)F69rzaqv5;NX;3$Uh2JXcBsD(V-jVq{i-lOub z2U2Ei-Zru?e&89NH*o}q7-#KP;c!=jqg=_-na11}9#&>h9n>dK<#a5AG*cz7OI#%Fs)D;vn zsR~0#3hPEyG&Mj+rE*a_yM{_Qi_EoK7{)Ym2wOod@EWz?7u5U>+>3uu6)58#b(Ky0 z^kXNg0=Kh1LFT1wjgCt36_t2v`-PRWZSAxHwNNW+V_g`>6F7zs@gfGvrUQ&)7fz$* zFJ^s)%JT~M;~T8CPP1=xl(3X9O(jaA5~Wce&0S;-Tf`8)KnDZqxUb^eL3%zyBb$gu zB0|&=wS=0!{dz*nR};#vrsJ@9=A!gmNsv5K_lERaUsI3PJwQ;@OyjGtXtpnEh#1jA z=&;l-({w ziXfuIgFUDekD?y7D1t{nQ1Bp#;7LKK=tV_D6cPU~&CtnjcG#IW@6Gmo=-S3B?YsJv zQuhN&?ZJPzA9v4JstPC3!z&oXK;_(gEiUDG`PFkv3u_q+Fj0*oxExPmJzmBdyoC$# z4z}VWT!0^N5q?1l_y?C@1<_XG3Y0)wu@3j59C#30a5|_8N;7!I#A5t}66iNB!yvm# zptVR6se#6i4-hw(i&%RGxHhB}H}cnl@M>t%1F?00WLVJ_ntCR&+zi4*u8 zH{md=WTR^+nM|Q%au;Lx7~fb*eZ|c@KdDt}AAZGtjFZiAynwQ97SG{N<@~2+#a}eL5R3OAD#6FaT<0zH5h_dmG^85@+fM+O~y+Rw`;&JR^aRR4MuIMjv z@RZVgF*}(Ep=6jS>!NIU2G`+v4B<4&#?MhI)5d9}0tZmOnO-EON}xs$Evzcq6%9w4 z7|Gl6<`%lN2wiq=kq4TbqLt1^SV~>K6lqdVX>vc(*3dab>0;Z8uPe6fkpiu!OChDn zKTkzzH1{Kk$LJk&xh*-TG|5j|WpP(v&B7?7jdZ!6>Y@o8oR>})R|nfRcGXtuH}KH%M=Cwb{~WBhntF3yR*#Okc_(SKoz-b$GvQ{8 zPP#+65tGUKzp6f3@y>8G8jfw#kyv-UBOK|7M5+h+!-FR8c#fM1_t;s}tz(gB>AmQ7 z9qHyxD>+f)*()=Jy$23w5@aAsChb_ zakXrjHl}M$(F=-(914nt zAl{!44n>P=G*v_X1JNS%Jt=g#_kQj>+9#6V+St`k&stpf$tliNCm$zhy}mY{tj$Y#VCOt9Kt#d z;t7WF3S;=ti$5VOPa(#4&-?AQ{yBIn?}XsD+jSweG<^0uciHNSC9Y zr?|!UC04P68(8N0nxKg*_>B4@F{;oXPU1LDp}xc-4qzU65HT6rCY)t67}nCXX=!n% zXl_RJ5=n+$k|W*bw9JS##ya7)%`?Ndv|BD!ixv046Ed88s~OIwrZXu!olM&~+ji>S bvH!?y&Yp2^y&cn&f4r-@jX>6LtYG683#&gl delta 595 zcmXZYKS&!<9Ki8kPNU{TTMcTomcHuH>Ex1_Dw%|KDOeQ2wooXf@z8*|_~+s#5y8QN zpqwD;s&q;_+)%L4p$;xCT{<`5Qs`PbS^E81AMf7h-H-Qv@4equ?@8b8Wi25h8_goK z_zq|A2fn~;Tx3||NJu{5I7VpWFQm&Kh90~|U6*VT>BJNs#Y7(A1pi-KMatOJCen_} zZBo10uudRFU=zFW81G^oJMatk;pJ`o3hDBjp&S3AChX!hy6!&qV-EF#Q>gi8QSLl8z6?utz;9DHT1=LDx;T_yZ z3L+Mtwg=%etGz?7tWB?$3Jcb2Ev6VgeI#3M+P(0bm5dKC?~i_32eD|o*^Ui8udW7W zX{EAOn)6H{FpFM+K*jgWT%}kodwvk^#V>M?opjpCWR082=SCfO)OGFYDQCu8E3K9) zzVoyYczKg?)2wry%(!vK^4V;(({gP^`-yby;giPMd*2kR{=6wR&Q6!ic|9=x0@J{h M8=nt@@RMEt2b8m2*8l(j diff --git a/mayan/apps/documents/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/documents/locale/vi_VN/LC_MESSAGES/django.po index f76bc9e6a8..986dd380f1 100644 --- a/mayan/apps/documents/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,42 +9,41 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" -"mayan-edms/language/vi_VN/)\n" -"Language: vi_VN\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 -#: settings.py:13 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 +#: permissions.py:7 settings.py:13 msgid "Documents" msgstr "Tài liệu" #: apps.py:110 +#| msgid "View document types" msgid "New pages this month" msgstr "" #: apps.py:119 -#, fuzzy -#| msgid "documents of this type" +#| msgid "New document filename" msgid "New documents this month" -msgstr "documents of this type" +msgstr "" #: apps.py:128 -#, fuzzy -#| msgid "Edit documents" +#| msgid "Transform documents" msgid "Total documents" -msgstr "Sửa tài liệu" +msgstr "" #: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 msgid "Document types" msgstr "" #: apps.py:140 views/document_views.py:69 +#| msgid "Documents in storage: %d" msgid "Documents in trash" msgstr "" @@ -100,14 +99,17 @@ msgid "Comment" msgstr "Chú thích" #: apps.py:456 +#| msgid "New document filename" msgid "New documents per month" msgstr "" #: apps.py:463 +#| msgid "Document version reverted successfully" msgid "New document versions per month" msgstr "" #: apps.py:470 +#| msgid "View document types" msgid "New document pages per month" msgstr "" @@ -140,10 +142,12 @@ msgid "Document type changed" msgstr "" #: events.py:21 +#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 +#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -222,9 +226,13 @@ msgid "Compress" msgstr "Nén" #: forms.py:197 +#| msgid "" +#| "ad the document in the original format or in a compressed manner. s ion is " +#| "selectable only when downloading one document, for tiple uments, the bundle " +#| "will always be downloads as a compressed e." msgid "" -"Download the document in the original format or in a compressed manner. This " -"option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This" +" option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" @@ -265,10 +273,8 @@ msgid "Clear transformations" msgstr "" #: links.py:71 -#, fuzzy -#| msgid "Page transformations" msgid "Clone transformations" -msgstr "page transformations" +msgstr "" #: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" @@ -315,6 +321,7 @@ msgid "Recent documents" msgstr "" #: links.py:151 +#| msgid "Transform documents" msgid "Trash can" msgstr "" @@ -325,6 +332,7 @@ msgid "" msgstr "" #: links.py:162 +#| msgid "Clear the document image cache" msgid "Clear document image cache" msgstr "" @@ -402,7 +410,8 @@ msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the trash." +"Amount of time after which documents of this type will be moved to the " +"trash." msgstr "" #: models.py:71 @@ -420,10 +429,12 @@ msgid "" msgstr "" #: models.py:81 +#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 +#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -464,6 +475,7 @@ msgstr "" #: models.py:187 #, python-format +#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" @@ -502,19 +514,15 @@ msgstr "" #: models.py:801 msgid "Filename" -msgstr "Filename" +msgstr "Tên file" #: models.py:804 -#, fuzzy -#| msgid "Document edited" msgid "Document page cached image" -msgstr "Document edited" +msgstr "" #: models.py:805 -#, fuzzy -#| msgid "Document page transformations" msgid "Document page cached images" -msgstr "document page transformations" +msgstr "" #: models.py:827 msgid "User" @@ -537,6 +545,7 @@ msgid "Delete documents" msgstr "Xóa tài liệu" #: permissions.py:16 +#| msgid "Transform documents" msgid "Trash documents" msgstr "" @@ -557,10 +566,12 @@ msgid "Edit document properties" msgstr "" #: permissions.py:31 +#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 +#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -598,23 +609,19 @@ msgstr "" #: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per " -"user." -msgstr "" -"Số lượng lớn nhất gần nhất (tạo, sửa, xem) số tài liệu để nhớ mỗi người dùng." +"Maximum number of recent (created, edited, viewed) documents to remember per" +" user." +msgstr "Số lượng lớn nhất gần nhất (tạo, sửa, xem) số tài liệu để nhớ mỗi người dùng." #: settings.py:40 msgid "Amount in percent zoom in or out a document page per user interaction." -msgstr "" -"Số phần trăm phóng to hoặc thu nhỏ một trang tài liệu mỗi tác động của người " -"dùng." +msgstr "Số phần trăm phóng to hoặc thu nhỏ một trang tài liệu mỗi tác động của người dùng." #: settings.py:47 msgid "" "Maximum amount in percent (%) to allow user to zoom in a document page " "interactively." -msgstr "" -"Số phần trăm lớn nhất (%) cho phép người dùng phóng to một trang tài liệu." +msgstr "Số phần trăm lớn nhất (%) cho phép người dùng phóng to một trang tài liệu." #: settings.py:54 msgid "" @@ -658,6 +665,7 @@ msgstr "" #: views/document_type_views.py:38 #, python-format +#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" @@ -667,6 +675,7 @@ msgstr "" #: views/document_type_views.py:77 #, python-format +#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" @@ -682,8 +691,7 @@ msgstr "" #: views/document_type_views.py:139 #, python-format -msgid "" -"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" #: views/document_type_views.py:164 @@ -707,6 +715,7 @@ msgid "All later version after this one will be deleted too." msgstr "" #: views/document_version_views.py:59 +#| msgid "Revert documents to a previous version" msgid "Revert to this version?" msgstr "" @@ -725,6 +734,7 @@ msgstr "" #: views/document_views.py:100 #, python-format +#| msgid "Document \"%(document)s\" deleted by %(fullname)s." msgid "Document: %(document)s deleted." msgstr "" @@ -747,18 +757,14 @@ msgid "Change" msgstr "" #: views/document_views.py:132 -#, fuzzy -#| msgid "Are you sure you wish to delete the selected document?" -#| msgid_plural "Are you sure you wish to delete the selected documents?" msgid "Change the type of the selected document" msgid_plural "Change the type of the selected documents" -msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" +msgstr[0] "" #: views/document_views.py:143 -#, fuzzy, python-format -#| msgid "Content of document: %s" +#, python-format msgid "Change the type of the document: %s" -msgstr "versions for document: %s" +msgstr "" #: views/document_views.py:164 #, python-format @@ -776,6 +782,7 @@ msgstr "" #: views/document_views.py:221 #, python-format +#| msgid "Document: %(document)s delete error: %(error)s" msgid "Document: %(document)s restored." msgstr "" @@ -795,6 +802,7 @@ msgstr "" #: views/document_views.py:287 #, python-format +#| msgid "Document deleted successfully." msgid "Document: %(document)s moved to trash successfully." msgstr "" @@ -812,6 +820,7 @@ msgid "Empty trash?" msgstr "" #: views/document_views.py:335 +#| msgid "Document deleted successfully." msgid "Trash emptied successfully" msgstr "" @@ -831,11 +840,9 @@ msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "" #: views/document_views.py:541 -#, fuzzy, python-format -#| msgid "Are you sure you wish to reset the page count of this document?" +#, python-format msgid "Recalculate the page count of the document: %s?" msgstr "" -"Are you sure you wish to update the page count for the office documents (%d)?" #: views/document_views.py:558 #, python-format @@ -853,14 +860,9 @@ msgid_plural "Clear all the page transformations for the selected document?" msgstr[0] "" #: views/document_views.py:580 -#, fuzzy, python-format -#| msgid "" -#| "Are you sure you wish to clear all the page transformations for " -#| "documents: %s?" +#, python-format msgid "Clear all the page transformations for the document: %s?" msgstr "" -"Are you sure you wish to clear all the page transformations for documents: " -"%s?" #: views/document_views.py:595 views/document_views.py:623 #, python-format @@ -870,20 +872,18 @@ msgid "" msgstr "" #: views/document_views.py:631 -#, fuzzy #| msgid "Document page transformation created successfully." msgid "Transformations cloned successfully." -msgstr "Document page transformation created successfully." +msgstr "" #: views/document_views.py:646 views/document_views.py:701 msgid "Submit" msgstr "" #: views/document_views.py:648 -#, fuzzy, python-format -#| msgid "Transformations for: %s" +#, python-format msgid "Clone page transformations for document: %s" -msgstr "transformations for: %s" +msgstr "" #: views/document_views.py:702 #, python-format @@ -891,6 +891,7 @@ msgid "Print: %s" msgstr "" #: views/misc_views.py:18 +#| msgid "Clear the document image cache" msgid "Clear the document image cache?" msgstr "" @@ -904,17 +905,38 @@ msgid "Page %(page_number)d of %(total_pages)d" msgstr "" #: widgets.py:87 -#, fuzzy -#| msgid "page image" +#| msgid "Page image" msgid "Clickable image" -msgstr "page image" +msgstr "" #: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "New version block" +#~ msgstr "Version update" + +#~ msgid "New version blocks" +#~ msgstr "Version update" + #~ msgid "Must provide at least one document." -#~ msgstr "Cần cung cấp ít nhất một tài liệu." +#~ msgstr "Must provide at least one document." + +#~ msgid "Must provide at least one document or version." +#~ msgstr "Must provide at least one document." + +#~ msgid "Documents to be downloaded" +#~ msgstr "documents to be downloaded" + +#~ msgid "Date and time" +#~ msgstr "Date added" + +#~ msgid "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." +#~ msgstr "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -989,11 +1011,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1022,6 +1044,9 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" +#~ msgid "Page transformations" +#~ msgstr "page transformations" + #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -1059,9 +1084,19 @@ msgstr "" #~ msgid "Use dictionaries to indentify arguments, example: {'degrees':90}" #~ msgstr "Use dictionaries to indentify arguments, example: %s" +#~ msgid "Document page transformations" +#~ msgstr "document page transformations" + #~ msgid "documents" #~ msgstr "documents" +#~ msgid "Content of document: %s" +#~ msgstr "versions for document: %s" + +#~ msgid "Are you sure you wish to delete the selected document?" +#~ msgid_plural "Are you sure you wish to delete the selected documents?" +#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" + #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1105,8 +1140,10 @@ msgstr "" #~ msgid "Are you sure you wish to revert to this version?" #~ msgstr "Are you sure you wish to revert to this version?" -#~ msgid "" -#~ "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "Transformations for: %s" +#~ msgstr "transformations for: %s" + +#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1120,11 +1157,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1141,6 +1178,21 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" +#~ msgid "Are you sure you wish to reset the page count of this document?" +#~ msgstr "" +#~ "Are you sure you wish to update the page count for the office documents " +#~ "(%d)?" + +#~ msgid "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" +#~ msgstr "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" + +#~ msgid "Document edited" +#~ msgstr "Document edited" + #~ msgid "Version" #~ msgstr "version" @@ -1153,19 +1205,15 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1222,11 +1270,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1250,11 +1298,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1275,11 +1323,9 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1309,11 +1355,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgid "details" #~ msgstr "details" @@ -1324,6 +1370,9 @@ msgstr "" #~ msgid "download" #~ msgstr "download" +#~ msgid "page image" +#~ msgstr "page image" + #~ msgid "document types" #~ msgstr "document types" @@ -1367,17 +1416,15 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1398,6 +1445,9 @@ msgstr "" #~ msgid "clone metadata" #~ msgstr "clone metadata" +#~ msgid "documents of this type" +#~ msgstr "documents of this type" + #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/documents/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/documents/locale/zh_CN/LC_MESSAGES/django.mo index 366bed20c64ac989426e05ce7cc2df774b84db57..34846d16da6c97951a2171b5a597c26c0696563b 100644 GIT binary patch delta 1283 zcmYk*TS!zv9LMqh>Y8reO>0dv?`gKR9`E*$8c7i-21SoqL`W8NF$#jED1;~p%qV*3 z0tr3T%b}opvmgX}GknR2QX{0O$Ecw1?>JGz{?BJ-_MDmd&zbYF;!%0xU0!(1D9uDM zF%>e~foGGsQ0|1yn(!`m;tY0UVTxHA?!yx}fT=j^`sZ;4?XOsXNz2S~Fp8R|7MGhP ztec8%=yNw5!gSiFQ3G7SOuT{BIF1o~joCPZTF58N!*3YHWLBf+i!lr1*n?ZJ5=XF< z`OT-2OUE>loGqXxT*Q3*ftoOjSu|0Ui`r$l8|!cvp2IyjjT)zpn_4lBWNHJ>lgOr6 z0t=YmE>fw+Tgc*V0?*(i*5Fp2)_{Y~W2nqdp)$LK9^S-jyuK-1PrE@*pO?VckMCPzUSJHF<3bAvq{%KgL)NnsQ-Vv{xGXn zJ2#8{*91{IG;x))71h5Jb@=w;Y8*ig_yBeP1Zto+$j{z#DZ)k6^QjyVWt@*}ij`m+ z)?ybP$Y%f5F;0gL{Cm_^&7lS;;>c=%8q`D{>aezbguakwb`K05JlcQ6A4wLGV!B5>Y&ec)|C#hDrYWnKL_Q=FER)uIF}5j=#O;yg8!K@%ZbH4k69;1x zY9W^}kNM4KDh>_Vygd|y$Rf>B)PyT=IIc%cxW&31*Ydm<*WfE$hcoCjS?#EC+Ho#+ zpcdL??ZtHFH$SN;HNR0S8$mA?X%=83F2?D2A2ndo`U$nNuc(!INml@e;VHJU9B1(S zdY~~gu`jFfVE{{TBgUE2oT0K5TTv7DSbI^a{BF%)7REB;Q0>$0^L+cf%sy{GjZ=fX zY9h9MH)>0c*#FxGlYb4^VHRL|H14V=BaA^<~wm4NLT7A~3 zSZM3I+I}LR7)2;^+|pEu>tJvJOaYNg=quBRDTIpBrJ|41Uj8dOkYfnGH+4Idr5r-p zm`0G$|0O_8SyP!n=uoO~Vf5PHRFA~j#4I96sOWSnJ7hO?MYZ=zTT$~x@BFlIxVfTV zeonN&sR=c>&L-EbbE@628*{6jXnj?c8;x$R4~H8QFTIQVByut`J-HS2(U`M!Tcn}3 z+I2!PC+vo3h}5}Gb)>3(i(3~<(S^B2NT_$Cq7)=o4j!N{hdAU?{p+n10>#MReJsa D_jtI< diff --git a/mayan/apps/documents/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/documents/locale/zh_CN/LC_MESSAGES/django.po index d8fc8af371..89fa67822a 100644 --- a/mayan/apps/documents/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/documents/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,42 +9,41 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-10-28 07:33+0000\n" +"PO-Revision-Date: 2017-04-21 16:25+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" -"language/zh_CN/)\n" -"Language: zh_CN\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 permissions.py:7 -#: settings.py:13 +#: apps.py:87 apps.py:231 apps.py:453 menus.py:8 models.py:225 +#: permissions.py:7 settings.py:13 msgid "Documents" msgstr "文档" #: apps.py:110 +#| msgid "View document types" msgid "New pages this month" msgstr "" #: apps.py:119 -#, fuzzy -#| msgid "documents of this type" +#| msgid "New document filename" msgid "New documents this month" -msgstr "documents of this type" +msgstr "" #: apps.py:128 -#, fuzzy -#| msgid "Edit documents" +#| msgid "Transform documents" msgid "Total documents" -msgstr "编辑文档" +msgstr "" #: apps.py:134 links.py:273 links.py:278 views/document_type_views.py:49 msgid "Document types" msgstr "" #: apps.py:140 views/document_views.py:69 +#| msgid "Documents in storage: %d" msgid "Documents in trash" msgstr "" @@ -100,14 +99,17 @@ msgid "Comment" msgstr "评论" #: apps.py:456 +#| msgid "New document filename" msgid "New documents per month" msgstr "" #: apps.py:463 +#| msgid "Document version reverted successfully" msgid "New document versions per month" msgstr "" #: apps.py:470 +#| msgid "View document types" msgid "New document pages per month" msgstr "" @@ -140,10 +142,12 @@ msgid "Document type changed" msgstr "" #: events.py:21 +#| msgid "Version update" msgid "New version uploaded" msgstr "" #: events.py:25 +#| msgid "Document version reverted successfully" msgid "Document version reverted" msgstr "" @@ -222,9 +226,13 @@ msgid "Compress" msgstr "压缩" #: forms.py:197 +#| msgid "" +#| "ad the document in the original format or in a compressed manner. s ion is " +#| "selectable only when downloading one document, for tiple uments, the bundle " +#| "will always be downloads as a compressed e." msgid "" -"Download the document in the original format or in a compressed manner. This " -"option is selectable only when downloading one document, for multiple " +"Download the document in the original format or in a compressed manner. This" +" option is selectable only when downloading one document, for multiple " "documents, the bundle will always be downloads as a compressed file." msgstr "" @@ -265,10 +273,8 @@ msgid "Clear transformations" msgstr "" #: links.py:71 -#, fuzzy -#| msgid "Page transformations" msgid "Clone transformations" -msgstr "page transformations" +msgstr "" #: links.py:76 links.py:120 links.py:247 links.py:261 msgid "Delete" @@ -315,6 +321,7 @@ msgid "Recent documents" msgstr "" #: links.py:151 +#| msgid "Transform documents" msgid "Trash can" msgstr "" @@ -325,6 +332,7 @@ msgid "" msgstr "清除图像信息有助于加速文档显示和变换结果交互。" #: links.py:162 +#| msgid "Clear the document image cache" msgid "Clear document image cache" msgstr "" @@ -402,7 +410,8 @@ msgstr "" #: models.py:69 msgid "" -"Amount of time after which documents of this type will be moved to the trash." +"Amount of time after which documents of this type will be moved to the " +"trash." msgstr "" #: models.py:71 @@ -420,10 +429,12 @@ msgid "" msgstr "" #: models.py:81 +#| msgid "Delete document types" msgid "Delete time period" msgstr "" #: models.py:86 +#| msgid "Delete documents" msgid "Delete time unit" msgstr "" @@ -464,6 +475,7 @@ msgstr "" #: models.py:187 #, python-format +#| msgid "Document types: %d" msgid "Document stub, id: %d" msgstr "" @@ -502,19 +514,15 @@ msgstr "" #: models.py:801 msgid "Filename" -msgstr "Filename" +msgstr "文件名" #: models.py:804 -#, fuzzy -#| msgid "Document pages (%d)" msgid "Document page cached image" -msgstr "文档页(%d)" +msgstr "" #: models.py:805 -#, fuzzy -#| msgid "Document pages (%d)" msgid "Document page cached images" -msgstr "文档页(%d)" +msgstr "" #: models.py:827 msgid "User" @@ -537,6 +545,7 @@ msgid "Delete documents" msgstr "删除文档" #: permissions.py:16 +#| msgid "Transform documents" msgid "Trash documents" msgstr "" @@ -557,10 +566,12 @@ msgid "Edit document properties" msgstr "编辑文档属性" #: permissions.py:31 +#| msgid "Edit documents" msgid "Print documents" msgstr "" #: permissions.py:34 +#| msgid "Delete documents" msgid "Restore trashed document" msgstr "" @@ -598,8 +609,8 @@ msgstr "查看文档类型" #: settings.py:29 msgid "" -"Maximum number of recent (created, edited, viewed) documents to remember per " -"user." +"Maximum number of recent (created, edited, viewed) documents to remember per" +" user." msgstr "记住每个用户近期文档的最大数(新建, 编辑, 查看)" #: settings.py:40 @@ -654,6 +665,7 @@ msgstr "" #: views/document_type_views.py:38 #, python-format +#| msgid "documents of type \"%s\"" msgid "Documents of type: %s" msgstr "" @@ -663,6 +675,7 @@ msgstr "" #: views/document_type_views.py:77 #, python-format +#| msgid "Delete document types" msgid "Delete the document type: %s?" msgstr "" @@ -678,8 +691,7 @@ msgstr "" #: views/document_type_views.py:139 #, python-format -msgid "" -"Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" +msgid "Edit quick label \"%(filename)s\" from document type \"%(document_type)s\"" msgstr "" #: views/document_type_views.py:164 @@ -703,6 +715,7 @@ msgid "All later version after this one will be deleted too." msgstr "此版本以后的所有版本将被删除" #: views/document_version_views.py:59 +#| msgid "Revert documents to a previous version" msgid "Revert to this version?" msgstr "" @@ -721,6 +734,7 @@ msgstr "" #: views/document_views.py:100 #, python-format +#| msgid "Document \"%(document)s\" deleted by %(fullname)s." msgid "Document: %(document)s deleted." msgstr "" @@ -743,18 +757,14 @@ msgid "Change" msgstr "" #: views/document_views.py:132 -#, fuzzy -#| msgid "Are you sure you wish to delete the selected document?" -#| msgid_plural "Are you sure you wish to delete the selected documents?" msgid "Change the type of the selected document" msgid_plural "Change the type of the selected documents" -msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" +msgstr[0] "" #: views/document_views.py:143 -#, fuzzy, python-format -#| msgid "Content of document: %s" +#, python-format msgid "Change the type of the document: %s" -msgstr "versions for document: %s" +msgstr "" #: views/document_views.py:164 #, python-format @@ -772,6 +782,7 @@ msgstr "" #: views/document_views.py:221 #, python-format +#| msgid "Document: %(document)s delete error: %(error)s" msgid "Document: %(document)s restored." msgstr "" @@ -791,6 +802,7 @@ msgstr "" #: views/document_views.py:287 #, python-format +#| msgid "Document deleted successfully." msgid "Document: %(document)s moved to trash successfully." msgstr "" @@ -808,6 +820,7 @@ msgid "Empty trash?" msgstr "" #: views/document_views.py:335 +#| msgid "Document deleted successfully." msgid "Trash emptied successfully" msgstr "" @@ -827,11 +840,9 @@ msgid_plural "Recalculate the page count of the selected documents?" msgstr[0] "" #: views/document_views.py:541 -#, fuzzy, python-format -#| msgid "Are you sure you wish to reset the page count of this document?" +#, python-format msgid "Recalculate the page count of the document: %s?" msgstr "" -"Are you sure you wish to update the page count for the office documents (%d)?" #: views/document_views.py:558 #, python-format @@ -849,14 +860,9 @@ msgid_plural "Clear all the page transformations for the selected document?" msgstr[0] "" #: views/document_views.py:580 -#, fuzzy, python-format -#| msgid "" -#| "Are you sure you wish to clear all the page transformations for " -#| "documents: %s?" +#, python-format msgid "Clear all the page transformations for the document: %s?" msgstr "" -"Are you sure you wish to clear all the page transformations for documents: " -"%s?" #: views/document_views.py:595 views/document_views.py:623 #, python-format @@ -866,22 +872,18 @@ msgid "" msgstr "删除文档: %(document)s变换页数失败%(error)s" #: views/document_views.py:631 -#, fuzzy #| msgid "Document page transformation created successfully." msgid "Transformations cloned successfully." -msgstr "Document page transformation created successfully." +msgstr "" #: views/document_views.py:646 views/document_views.py:701 msgid "Submit" msgstr "提交" #: views/document_views.py:648 -#, fuzzy, python-format -#| msgid "" -#| "Error deleting the page transformations for document: %(document)s; " -#| "%(error)s." +#, python-format msgid "Clone page transformations for document: %s" -msgstr "删除文档: %(document)s变换页数失败%(error)s" +msgstr "" #: views/document_views.py:702 #, python-format @@ -889,6 +891,7 @@ msgid "Print: %s" msgstr "" #: views/misc_views.py:18 +#| msgid "Clear the document image cache" msgid "Clear the document image cache?" msgstr "" @@ -902,22 +905,38 @@ msgid "Page %(page_number)d of %(total_pages)d" msgstr "" #: widgets.py:87 -#, fuzzy #| msgid "Page image" msgid "Clickable image" -msgstr "页面图片" +msgstr "" #: widgets.py:242 msgid "Document page image" msgstr "" +#~ msgid "New version block" +#~ msgstr "Version update" + +#~ msgid "New version blocks" +#~ msgstr "Version update" + #~ msgid "Must provide at least one document." -#~ msgstr "至少要有一个文档" +#~ msgstr "Must provide at least one document." + +#~ msgid "Must provide at least one document or version." +#~ msgstr "Must provide at least one document." + +#~ msgid "Documents to be downloaded" +#~ msgstr "documents to be downloaded" + +#~ msgid "Date and time" +#~ msgstr "Date added" #~ msgid "" #~ "All the page transformations for document: %s, have been deleted " #~ "successfully." -#~ msgstr "文档: %s的变换页数已经成功删除" +#~ msgstr "" +#~ "All the page transformations for document: %s, have been deleted " +#~ "successfully." #~ msgid "Document type changed successfully." #~ msgstr "Document type created successfully" @@ -992,11 +1011,11 @@ msgstr "" #~ msgstr "Create documents" #~ msgid "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgstr "" -#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), " -#~ "%(bytes)d bytes" +#~ "Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d" +#~ " bytes" #~ msgid "Time added" #~ msgstr "Time added" @@ -1025,6 +1044,9 @@ msgstr "" #~ msgid "Page %(page_number)d" #~ msgstr "page number" +#~ msgid "Page transformations" +#~ msgstr "page transformations" + #~ msgid "Create new transformation" #~ msgstr "create new transformation" @@ -1068,6 +1090,13 @@ msgstr "" #~ msgid "documents" #~ msgstr "documents" +#~ msgid "Content of document: %s" +#~ msgstr "versions for document: %s" + +#~ msgid "Are you sure you wish to delete the selected document?" +#~ msgid_plural "Are you sure you wish to delete the selected documents?" +#~ msgstr[0] "ee02f3189246f97d6734a407f6f9040b_pl_0" + #~ msgid "Document page edited successfully." #~ msgstr "Document page edited successfully." @@ -1114,8 +1143,7 @@ msgstr "" #~ msgid "Transformations for: %s" #~ msgstr "transformations for: %s" -#~ msgid "" -#~ "Create new transformation for page: %(page)s of document: %(document)s" +#~ msgid "Create new transformation for page: %(page)s of document: %(document)s" #~ msgstr "" #~ "Create new transformation for page: %(page)s of document: %(document)s" @@ -1129,11 +1157,11 @@ msgstr "" #~ msgstr "Document page transformation deleted successfully." #~ msgid "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgstr "" -#~ "Are you sure you wish to delete transformation \"%(transformation)s\" " -#~ "for: %(document_page)s" +#~ "Are you sure you wish to delete transformation \"%(transformation)s\" for: " +#~ "%(document_page)s" #~ msgid "Document properties" #~ msgstr "Edit document properties" @@ -1150,6 +1178,18 @@ msgstr "" #~ msgid "Are you sure you wish to change the type of the documents: %s?" #~ msgstr "Are you sure you wish to delete the documents: %s?" +#~ msgid "Are you sure you wish to reset the page count of this document?" +#~ msgstr "" +#~ "Are you sure you wish to update the page count for the office documents " +#~ "(%d)?" + +#~ msgid "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" +#~ msgstr "" +#~ "Are you sure you wish to clear all the page transformations for documents: " +#~ "%s?" + #~ msgid "Document edited" #~ msgstr "Document edited" @@ -1165,19 +1205,15 @@ msgstr "" #~ msgid "Document \"%(content_object)s\" created by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" created by %(fullname)s." -#~ msgid "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgid "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgstr "Document \"%(content_object)s\" edited by %(fullname)s." #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s." -#~ msgstr "" -#~ "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ msgstr "Document \"%(content_object)s\" created on %(datetime)s by %(fullname)s." #~ msgid "Document deleted" #~ msgstr "Document deleted" @@ -1234,11 +1270,11 @@ msgstr "" #~ msgstr "Click on the image for full size preview" #~ msgid "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgstr "" -#~ "Document \"%(content_object)s\" was edited on %(datetime)s by " -#~ "%(fullname)s. The following changes took place: %(changes)s." +#~ "Document \"%(content_object)s\" was edited on %(datetime)s by %(fullname)s." +#~ " The following changes took place: %(changes)s." #~ msgid "document" #~ msgstr "document" @@ -1262,11 +1298,11 @@ msgstr "" #~ "documents in the database." #~ msgid "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgstr "" -#~ "Page count update complete. Documents processed: %(total)d, documents " -#~ "with changed page count: %(change)d" +#~ "Page count update complete. Documents processed: %(total)d, documents with " +#~ "changed page count: %(change)d" #~ msgid "Error clearing document image cache; %s" #~ msgstr "Error clearing document image cache; %s" @@ -1287,11 +1323,9 @@ msgstr "" #~ msgstr "find all duplicates" #~ msgid "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgstr "" -#~ "Search all the documents' checksums and return a list of the exact " -#~ "matches." +#~ "Search all the documents' checksums and return a list of the exact matches." #~ msgid "Document type list" #~ msgstr "document type list" @@ -1321,11 +1355,11 @@ msgstr "" #~ msgstr "duplicated documents" #~ msgid "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgstr "" -#~ "The document type of all documents using this document type will be set " -#~ "to none." +#~ "The document type of all documents using this document type will be set to " +#~ "none." #~ msgid "details" #~ msgstr "details" @@ -1382,17 +1416,15 @@ msgstr "" #~ msgstr "What are document types?" #~ msgid "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgstr "" -#~ "Document types define a class that represents a broard group of " -#~ "documents, such as: invoices, regulations or manuals. The advantage of " -#~ "using document types are: assigning a list of typical filenames for quick " -#~ "renaming during creation, as well as assigning default metadata types and " -#~ "sets to it." +#~ "Document types define a class that represents a broard group of documents, " +#~ "such as: invoices, regulations or manuals. The advantage of using document " +#~ "types are: assigning a list of typical filenames for quick renaming during " +#~ "creation, as well as assigning default metadata types and sets to it." #~ msgid "What are recent documents?" #~ msgstr "What are recent documents?" @@ -1413,6 +1445,9 @@ msgstr "" #~ msgid "clone metadata" #~ msgstr "clone metadata" +#~ msgid "documents of this type" +#~ msgstr "documents of this type" + #~ msgid "step 1 of 3: Document type" #~ msgstr "step 1 of 3: Document type" diff --git a/mayan/apps/dynamic_search/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/ar/LC_MESSAGES/django.mo index f7441269bab7f6d597a30f07e62c4f044a51dae6..9eba27e9514abcff7c622b8aa1b6fca6e86ceb5d 100644 GIT binary patch delta 222 zcmeC;_`+I$Pl#nI0}!wPu?!H~05K~N#{e-16acXS5ElY58xSu7Vjdt~3B>mq85p(! zX$v5p#>BwD1*FddX-Ob`3rGW{8GsbnY-S)02EK_EnYpF83W>S-rFkV2k1GoYrzRF9 zXD~o0g_6{w+~Ua|jJ~Gkx&|h?MurN8Mpj0~K(>JaSAf56P-P@ delta 471 zcmYk0KS%;m9LL|8R#X-Q5mCcyt3mP3)NpQTaH`fq<3&Q3b>~5wkXj@yB8^Q!Cze@= zlxutY?+w+^*4!HOeV2tl`0)9?-@m)BKxMe_HtD}$h#@cs*1;$^2P&RG1av_he1btR zuQ4_bFTi7P0`|iz@Hf^qu8QV;ykFus?@_on52#e=-xGmDw_AWnkgq0OG&*!)$OyPA8FyYw33bQqDs3#2A z&R*XBd*+2@+H3=Z)lMoH59xZyi1LV$j4jnBv{_Ul(U75YLr+GGc0#+<3QcNpa%G9G zZQ-+?+c=>~0Cp@uATYS6tb(t|uDS5=F$#ATVuoW4g0f53blZ1}VZ8S0n-2D`u^-$un(+Vt diff --git a/mayan/apps/dynamic_search/locale/ar/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/ar/LC_MESSAGES/django.po index 752f9158fc..65aa50579a 100644 --- a/mayan/apps/dynamic_search/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -9,17 +9,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" -"ar/)\n" -"Language: ar\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:16 msgid "Dynamic search" @@ -60,22 +58,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "أقصى عدد لجلب وعرض نتائج البحث." #: views.py:24 -#, fuzzy, python-format +#, python-format #| msgid "Search results" msgid "Search results for: %s" -msgstr "نتائج البحث" +msgstr "" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" +msgstr "" -#~ msgid "User" -#~ msgstr "مستخدم" +#~ msgid "Query" +#~ msgstr "query" + +#~ msgid "Datetime created" +#~ msgstr "datetime created" + +#~ msgid "Recent search" +#~ msgstr "recent search" + +#~ msgid "Recent searches" +#~ msgstr "recent searches" #~ msgid "Maximum number of search queries to remember per user." -#~ msgstr "الحد الأقصى لعدد طلبات البحث ليتم تذكرها لكل مستخدم." +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -86,8 +93,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/dynamic_search/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/bg/LC_MESSAGES/django.mo index 186753429181be7d1c9930abd00b96e65f4178f9..e35f4cf51e613b75c5a3ee69eb070967461e02eb 100644 GIT binary patch delta 236 zcmZqTxW-z4Pl#nI0}!wPu?!H~05K~N#{e-16acXS5ElY58xSu7Vjdt~3B>)33=G?V zbSx0NF)=Xk0qG?`S_w#R2GT%j1|S7Cn;A%hfp20(W^QS&LSk-yXylWKYNcRg lUWN;Cr{2f@4d-u+#fu7ACFx!)Bu=a#%LE3WFwXo|y!WOq z#j0ECC)LOGx|7<;<&TSw=kSu}>qjdIuHvr>zL-xNH-_dOJ6gHZ04qliakksij~{o5I9Q8n(r4D{I=f8LgxREBeeD z-BB~DQHvfZ< diff --git a/mayan/apps/dynamic_search/locale/bg/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/bg/LC_MESSAGES/django.po index 345e6b076e..794a7fd512 100644 --- a/mayan/apps/dynamic_search/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pavlin Koldamov , 2012 @@ -9,15 +9,14 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/bg/)\n" -"Language: bg\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 @@ -59,22 +58,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "Максимален брой резултати от търсене за показване." #: views.py:24 -#, fuzzy, python-format +#, python-format #| msgid "Search results" msgid "Search results for: %s" -msgstr "Резултати от търсенето" +msgstr "" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" +msgstr "" -#~ msgid "User" -#~ msgstr "Потребител" +#~ msgid "Query" +#~ msgstr "query" + +#~ msgid "Datetime created" +#~ msgstr "datetime created" + +#~ msgid "Recent search" +#~ msgstr "recent search" + +#~ msgid "Recent searches" +#~ msgstr "recent searches" #~ msgid "Maximum number of search queries to remember per user." -#~ msgstr "Максимален брой заявки за търсене на потребител" +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -85,8 +93,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/dynamic_search/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/bs_BA/LC_MESSAGES/django.mo index 41865c3849ac69c48edb0e951789432fdf6b100e..bf6f0eacfc6db20e684d940e4e8aa1ae5e2e3612 100644 GIT binary patch delta 245 zcmey(-ojRYPl#nI0}!wPu?!H~05K~N#{e-16acXS5ElY58xSu7Vjdt~3B=zR85p(! zX^@_^ObiShK>8Js768(pfizH>0Z4((W(Lw=;G0;HnOmBxkeHianpZOMxUz6?YGP4x z1_OjrC`m2KEuQSb=xb`OYha>lWT;?hWMyOwWE&W81^DX*rIuwDXXfYWx+IpQS}7PA o7{b+=Ss9saKE=41Q7WJ)wWKI9J&_?GKPxxCEK{KXB9O`e01A;aSpWb4 delta 452 zcmYk0yGjE=6ozLtCW2SeYH{pr5_UHxfnZ@Fh)5uKX@!Z5agxmLIC7(9u3SA(}td&MOob8GszQi&9In@!Y6?RoP L__wi>y}-T!^qFh4 diff --git a/mayan/apps/dynamic_search/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/bs_BA/LC_MESSAGES/django.po index e9cb46903d..dc074e2922 100644 --- a/mayan/apps/dynamic_search/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -9,17 +9,15 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" -"rosarior/mayan-edms/language/bs_BA/)\n" -"Language: bs_BA\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:16 msgid "Dynamic search" @@ -60,23 +58,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "Maksimalni broj pretražnih hitova da se rezultati prikažu." #: views.py:24 -#, fuzzy, python-format +#, python-format #| msgid "Search results" msgid "Search results for: %s" -msgstr "Rezultati pretrage" +msgstr "" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" +msgstr "" -#~ msgid "User" -#~ msgstr "Korisnik" +#~ msgid "Query" +#~ msgstr "query" + +#~ msgid "Datetime created" +#~ msgstr "datetime created" + +#~ msgid "Recent search" +#~ msgstr "recent search" + +#~ msgid "Recent searches" +#~ msgstr "recent searches" #~ msgid "Maximum number of search queries to remember per user." -#~ msgstr "" -#~ "Maksimalni broj po korisniku upita u pretrazi koji će biti zapamćeni." +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -87,8 +93,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/dynamic_search/locale/da/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/da/LC_MESSAGES/django.mo index 14864216a3ef7cabe0ec2962d7427c0c558b5ae0..c616db04ec92e3fe8fcfcbc5aa6ff7ea85cfa2d1 100644 GIT binary patch delta 99 zcmaFGe2m%Ro)F7a1|VPrVi_P-0b*t#)&XJ=umIv7prj>`2C0F8iJ`u{=DG$Zx<-Zy XhDKIK#uL{|BLvK>jLbG(=V1f@S4a*Y delta 159 zcmX@c{E9jBo)F7a1|VPpVi_RT0b*7lwgF-g2moRhAPxlL9!3U+Fd)qa#E*e&AOZuB zUN{IXPA!^f;cIH9YiOuzWUOFdWMyiiYhYqvz!l)H8S)7@lr|Xhfl4_-3WMF8j cYha;kWT0SZX=P}zaTgCGyHinVdTJ2^08O$Q4FCWD diff --git a/mayan/apps/dynamic_search/locale/da/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/da/LC_MESSAGES/django.po index a4a3f694bd..45de2d7784 100644 --- a/mayan/apps/dynamic_search/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/da/LC_MESSAGES/django.po @@ -1,22 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2015-08-20 19:10+0000\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" -"da/)\n" -"Language: da\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 @@ -58,19 +57,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "" #: views.py:24 -#, fuzzy, python-format -#| msgid "Search error: %s" +#, python-format +#| msgid "Search results" msgid "Search results for: %s" -msgstr "Search error: %s" +msgstr "" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" +msgstr "" -#~ msgid "User" -#~ msgstr "Bruger" +#~ msgid "Query" +#~ msgstr "query" + +#~ msgid "Datetime created" +#~ msgstr "datetime created" + +#~ msgid "Recent search" +#~ msgstr "recent search" + +#~ msgid "Recent searches" +#~ msgstr "recent searches" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -81,8 +92,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/dynamic_search/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/de_DE/LC_MESSAGES/django.mo index 04eb54cd7b8605140dab062d65c6fd10be639e2e..34dada0768b3a08676577a51d81509b49dad3425 100644 GIT binary patch literal 1424 zcmZvbzi%Wp6vqcRI9L#H6wpw-I|(Tfnf-MEP7{JI+-}evEQu})S0eAs+ZpFP_F{Xo z*+7r@11MZENogtqm>q=OxMea@M%Fpsc0h3Wm%OZ zN>gdy{!fMUj=Z5c*M2&qOuB^`V?||eo=GIHgu2Kl~h}p9(UG$(}O=-dDL(X={XtkoXzb}MuB8MVqE?H%cmJ;(B!^>Az zbJnF=qSCF%|8DoBSU3-TZgl=D6CGP~%Bhd$o z=sg@RGT&;r+NQ0-`$f|0Etku#59)Hx=V5El8YiqYwpWH?W6ny~Q>|Jr<4;E8-gakl zcQW1_%b?ru+%ej-Myjg?YW95Yd*~gh_i&rSI`;b?O%LN+8@~{A&Nd$F)MO|mp<6TQ zFB4Cwj@3Ck^o1xC;e4i+=g3L#p!FGsoG)1Bo|bGg^rbU+JnysAv=Gj*&e+wu z@uYqgInOKD(D!xl`WKDG2v!)iwv!fV(Y%M?W^V4rbrC31-#u+}6V zdU+;M*v>i?U0E7$_HI(0vBb$~WQ#|#u9Yq-Uzeu4bX1_}Q63^5Ekc{FCI2N?O1v}~ S>cgEnLd9Ix$F@0>ZuAdP?wrX0 literal 1353 zcmZva&5j&35XTJ!5(Wq#LU75U5SLxR(>;?V3cXpBO?Cn+GO*d5a6pQXr@N-xq1)Zq z?##}-0S~|d#0zlYk>JFU7vRL-J-w4e!jk=Sxjt>zpYL4ySzx?{c@6V7%=g3o1uPin z;G5tI3^qT3SHWMwOW^Nd4E_P$0RIAC2H$&8h&RA%VDSG4d<9Iv*TF+D#QD0HAAup> zuL zMc_-|E$|9>8$|kUgmaX!9j{^+at|Z6=OZMpZh!(0{4D6H|4rtF|Il)vfWpiVCR6*R)`t7Nkr@nRZR7 zR>Q4>X{$L~suveNKelW&cW#y|?z9aoTE})M9zeSir=0RO%kvUDaki;@15&xtravRg zt}Rh+uk&mxCuXaL#Y2P_C$@gfsh7u@{FbfLwMl5IR?5)iXnHm{<)*e?PF=1ud8f^t zoYe^pPQIDRyWwqMFT-mkG>%6%#-k)2 ze;i{B?knfz%qrtbpCrd!oUp5LxMbHlk_e-0Ouw<>2jV^t;e1ullF zcQ#z@(oW%hlSI*Sxg7csSugl}nATNfYp1NPZB&JeO3o@5m3_1*u9s7favwQO9Q@fCK!B$R8T4&ni3EiA)zb!nW zF4y3sY^^Hgy&6B0kZC&69gO#Bvpv``^uYm*cJ~KjVwbG(ho0%IO$)|>^IVp#$=w>7 zrZqqKzFi&kz17U}0+no9P~klf%~};D`jdK<`2>y1ILH}sa!*UP85?qSS^l3}$gbuK zix22s8(ZVIOzYQZ-JD&+8U@(rBC!#N8z*s}{d#+gX9aX_ce8G#rRI!nQI~M-PHfI| Uqn+bUoO5n9t`<64Tx1vj0rTx-5&!@I diff --git a/mayan/apps/dynamic_search/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/de_DE/LC_MESSAGES/django.po index 86712771e8..bc49529a21 100644 --- a/mayan/apps/dynamic_search/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/de_DE/LC_MESSAGES/django.po @@ -1,9 +1,10 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: +# Jesaja Everling , 2017 # Mathias Behrle , 2014 # tetjarediske , 2012 # Tobias Paepke , 2014 @@ -11,15 +12,14 @@ msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-21 12:22-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" -"Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" -"edms/language/de_DE/)\n" -"Language: de_DE\n" +"POT-Creation-Date: 2017-04-21 12:23-0400\n" +"PO-Revision-Date: 2017-04-24 22:45+0000\n" +"Last-Translator: Jesaja Everling \n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 @@ -28,17 +28,17 @@ msgstr "Dynamische Suche" #: classes.py:26 msgid "No search model matching the query" -msgstr "" +msgstr "Kein passendes Such-Model gefunden" #: forms.py:9 msgid "Match all" -msgstr "" +msgstr "Alle Felder" #: forms.py:10 msgid "" "When checked, only results that match all fields will be returned. When " "unchecked results that match at least one field will be returned." -msgstr "" +msgstr "Wenn aktiviert, werden nur Ergebnisse angezeigt bei denen alle Felder zutreffen. Ohne diese Option werden Ergebnisse mit mindestens einem Feld angezeigt." #: forms.py:29 msgid "Search terms" @@ -61,42 +61,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "Maximale Anzahl an Treffern, die angezeigt werden soll" #: views.py:24 -#, fuzzy, python-format +#, python-format #| msgid "Search results" msgid "Search results for: %s" -msgstr "Suchergebnisse" +msgstr "Suchergebnisse für: %s" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" - -#~ msgid "User" -#~ msgstr "Benutzer" +msgstr "Suche nach: %s" #~ msgid "Query" -#~ msgstr "Abfrage" +#~ msgstr "query" #~ msgid "Datetime created" -#~ msgstr "Erstellungszeitpunkt" - -#~ msgid "Hits" -#~ msgstr "Treffer" +#~ msgstr "datetime created" #~ msgid "Recent search" -#~ msgstr "Letzte Suche" +#~ msgstr "recent search" #~ msgid "Recent searches" -#~ msgstr "Letzte Suchen" +#~ msgstr "recent searches" #~ msgid "Maximum number of search queries to remember per user." -#~ msgstr "" -#~ "Maximale Anzahl an Suchabfragen, die pro Benutzer gespeichert werden " -#~ "sollen" - -#~ msgid "Type" -#~ msgstr "Typ" +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -107,8 +96,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/dynamic_search/locale/en/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/en/LC_MESSAGES/django.mo index 02525e9a90c2f5a05c3e5cf289e323c469d4db25..fc7581806e7634b8ab98283f7e86d63dc9f10a0f 100644 GIT binary patch delta 186 zcmX@l*3DXfPl#nI0}!wPu?!H~05K~N#{e-16acXS5ElY58xSu7Vjdt~3B>)33=G?V zG)Uf!2_jz(q(Sm^KpH5`0HnZXGXrTb@J+19%q`7TNX*SI%`2I>U70O7HL)l;W3n1! l6tB6ifr+k>p@N~2m67r0Ud9YY5r`}UgiyIAYKW?WSLF%1=G*GD;kO={-P?`lu1LfcVq?u`A zuBnf2Vnt?dX|6(EX>L+#kwSi&LUC$hQF4YtVQFenW@@oQNxni+YHli6wg9N2v^cd$ zk0BVW2ucAJ6qn|d6i-|c#cQT(XsBystYBbdWoojSpD}|mikeoyY%EDF$}MI90J3UM A{r~^~ diff --git a/mayan/apps/dynamic_search/locale/es/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/es/LC_MESSAGES/django.mo index 71a6b1a99db13e9329e535165a16d13510ee2e1a..b9b3ca66c27a22e7b3097ed2d3b99c2d90f2a1d6 100644 GIT binary patch delta 351 zcmcb|b(O9Do)F7a1|VPuVi_O~0b*_-?g3&D*a5`+K)e%(`GEK&5E}sT4IpL%VopW| z1|A?S0HtMtbT1HV0kIHJd{UxsGora#C1$5OUz47O;IRLO)N^zU~s9-OU%tohH@vbWi*;>#U#yI zl3J8oJh_<3m)Bg^z(m)`P{Gj1%E)-~Ste@A1#OxfF+jydkwWK)7riGR6lJ1dw&m`rC`&v>TQqB*sQV&ue z)&25_Z6PHEVP8zuE=P%`5-PmlwN$$c%atk4^xv8oRG&{wRaeB7t8HvlG=++yqp`$d zN^DCiO_sZ5m39t`I*4zpr_e6cKnhuB`TtIWIykNS z6vPuYwmBm&p`M}KMi<3bK@AskQO^)w?R)n^il`r#`cQl@&gRtT1zXzN?H{xTGIu`e zewdh2Kd2``4_!{J{qKi*C-nyQI&~|jUe>*;`X!QLw#>!mokpU>pfez(%4B(_eLhJi_J+wYkyXIp6Q1UjnB!> zSKF}N+oIFg?HiW9+@|i$t(JPQd>t?iB@<&Jf8>(YSdg0*G(m9cMJO%2W5Va!*xsQ&, 2014 @@ -13,14 +13,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" -"language/es/)\n" -"Language: es\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 @@ -62,41 +61,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "La cantidad máxima de resultados de búsqueda a recabar y mostrar." #: views.py:24 -#, fuzzy, python-format +#, python-format #| msgid "Search results" msgid "Search results for: %s" -msgstr "Resultados de la búsqueda" +msgstr "" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" - -#~ msgid "User" -#~ msgstr "Usuario" +msgstr "" #~ msgid "Query" -#~ msgstr "Consulta" +#~ msgstr "query" #~ msgid "Datetime created" -#~ msgstr "fecha y hora creados" - -#~ msgid "Hits" -#~ msgstr "accesos" +#~ msgstr "datetime created" #~ msgid "Recent search" -#~ msgstr "Búsqueda reciente" +#~ msgstr "recent search" #~ msgid "Recent searches" -#~ msgstr "Búsquedas recientes." +#~ msgstr "recent searches" #~ msgid "Maximum number of search queries to remember per user." -#~ msgstr "" -#~ "El número máximo de consultas de búsqueda para recordar por usuario." - -#~ msgid "Type" -#~ msgstr "Tipo" +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -107,8 +96,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/dynamic_search/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/fa/LC_MESSAGES/django.mo index ca67602f6098bf7503eb410ee2f7851689faf00a..0d6758a5413c3cceeb74371cb413b7b5329bf542 100644 GIT binary patch delta 257 zcmaFKHJz>go)F7a1|VPqVi_Rz0b*_-t^r~YSOLWRK)e!&4S;wj5QEgd0%9H@{s^W2 z0qHhIpk5%B2C^qHF)(NY>2*Mw3rODr(vm>>DUcQi(*J=pP^l#YE06;+5C&La3@8m$ z$G{9?JEoK+<|U`5C={nA7A0p)?qf8XEX^d%T9R6nTRb_0$(Pq$*T6*A$WX!1$jZog g@;WAIgov4yk=f>JOv;RtRatZY}T7{><)Z*HLo300^FJwhC)s`0MfQdJuT1Z^rRurRIzH>BzA*k0t_HM6r# zd;~QwLXo(@XGj`CEE6uhATE3Z4zmg31Mmglg2exET*r|ZY4$hI%>Q}aKVM$>USM6o zehvFO?2FjvpTGyJ2l87Cz61`z1@Ift2fqccgTI1LgMWiBfd7K*ckW3co&hg`=fO9? z7eQ}ozXNi-52tK`8}MBLFX8@=r-XPN{0C(Jix6J{-vlk#1UcSs;49$o;H%(YUfwoOMjdU#9;q~< zD9#6cHLT7Y(jvL14P~9jK3^8v#CqapbfPD(11O4Io2vK(uS3z&p`K+qYw29vJt_1A zq`E3jr*~v@Ui4A!^v!CM-?*-UZZ*~@atE6tjb3!x3XOhBy+Gr}BOS*}c+L6CL})zz}CRT5B>YekW7 z^{gEPp0~QXTD9yRcl25{%o5L>I2teEZlsQq-0M$+cpc?kt~Bm6mQS0mRsG7%EVY=j z*92g!k#j@wo5DR+w#V#jx%<&k;`eAMRD2<=*GR+&Wa7FqbkjQVN_q< z&M^3Z(!s>cmuic2a$NEkE5hx&L$~Ml%dO*WDt|fNc0apu`IXx%HwEr@+!$8}0?nlDyy0JSbxA29r??!It=%M?;jj7yVR~AzFHMG0s1Ke>0jxXGgb6O}L zvFS!gk5GqHZV}f*, 2014 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" -"language/fa/)\n" -"Language: fa\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:16 @@ -59,40 +58,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "جداکثر نتایج قابل نمایش" #: views.py:24 -#, fuzzy, python-format +#, python-format #| msgid "Search results" msgid "Search results for: %s" -msgstr "نتایج جستجو" +msgstr "" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" - -#~ msgid "User" -#~ msgstr "کاربر" +msgstr "" #~ msgid "Query" -#~ msgstr "پرس و جو" +#~ msgstr "query" #~ msgid "Datetime created" -#~ msgstr "تاریخ زمان ایجاد" - -#~ msgid "Hits" -#~ msgstr "برخورد" +#~ msgstr "datetime created" #~ msgid "Recent search" -#~ msgstr "جستجوی اخیر" +#~ msgstr "recent search" #~ msgid "Recent searches" -#~ msgstr "جستجوهای اخیر" +#~ msgstr "recent searches" #~ msgid "Maximum number of search queries to remember per user." -#~ msgstr "حداکثر تعداد پرس و جو های هرکاربر که بوسیله سیستم نگهداری میشود." - -#~ msgid "Type" -#~ msgstr "نوع" +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -103,8 +93,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/dynamic_search/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/fr/LC_MESSAGES/django.mo index 48d5db55ae8076274c7902db5533348b3309f6ce..6425690899300cfb796f7141e2a0370c96c20f27 100644 GIT binary patch delta 346 zcmYL@ze)o^5Qit1yGV@xh+3WETB;meHWJ}PBw(o^a)s@BH;{n2gWV&bjaX~9_!zdL zkC4L3#zvpR(%*)l1K)l#!_F}Gt&hgtciVp=#2nZFDQJO5;Nlf5gEz1QCLji%paGgS zq6K(m=1uqk?1DD>FCNhO|{Am$ZY#eK>|OGhOPAae)>E)9nAjJo&Ed z=VMi5oD0KBX9GI9Db#3~%}V=RlQ!|fpkh5T)_7-&2T{Bq$&TpAM0V}F7k2+Ty+ro* zV#NHZGF6mnRhVm4l{yg@TmR5*2VyP7el{X!p*b5cE@Aow DM8`eF literal 1409 zcmY+D%Z?jG6owlJHxn)jHwk5NV3iP+-F7aDdYA|^7bOx7!^D#nENZ%s?TWgqI#ty( z<452D*dP{c2MKmOf!_mOfh{}!N9`MMo2k`HZwJ zs4$@}^}M@suuXN$p4{Zp=Vim*@Y2n5#mmzg7ENH^O}@wJJUQf?S6QyEI3&+5>b?N! zsW!IVBhR5JQEqz{*;gSM&udPO5I#BZ?gi&jJt@?4_Q5!t(MZp=rM=zJv(6#c&PO#0 zQ&XsKnrTpDmr>{7yRq7l-oRc-w=x=}{RgVwSA)Bh4zm0ARC+H>VWODybIbJ=X;fWuHvE!y|Rtb zoA}=C&gjW#Z{3xCH|^{=8*vRv`j=7Uv)IGk8oNa($On$wN8^3+*VSBJe7q8p5EIp$B?X8a7`;4JbCM}9xobytv z#F1v)c&0)$yEtE7%!YNb)Gu_FJayIah22R5;k3)D)iT`SErQXIv8+}J7rznuXP_U+ zrY934rF5@E(B&1MKya!S=as`3)lunuC-O>%gp_EN9QPsY$aezDC@YX5?bg8m0M%YgU* diff --git a/mayan/apps/dynamic_search/locale/fr/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/fr/LC_MESSAGES/django.po index a95a87b694..9cc579edab 100644 --- a/mayan/apps/dynamic_search/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Christophe CHAUVET , 2014-2015 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" -"Last-Translator: Christophe CHAUVET \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" -"fr/)\n" -"Language: fr\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:16 @@ -61,40 +60,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "Nombre maximum de résultats de recherche à traiter et afficher." #: views.py:24 -#, fuzzy, python-format +#, python-format #| msgid "Search results" msgid "Search results for: %s" -msgstr "Résultats de la recherche" +msgstr "" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" - -#~ msgid "User" -#~ msgstr "Utilisateur" +msgstr "" #~ msgid "Query" -#~ msgstr "Requête" +#~ msgstr "query" #~ msgid "Datetime created" -#~ msgstr "Date et heure de création" - -#~ msgid "Hits" -#~ msgstr "Nombre de vues" +#~ msgstr "datetime created" #~ msgid "Recent search" -#~ msgstr "Recherche récente" +#~ msgstr "recent search" #~ msgid "Recent searches" -#~ msgstr "Recherches récentes" +#~ msgstr "recent searches" #~ msgid "Maximum number of search queries to remember per user." -#~ msgstr "Nombre maximal de recherches à mémoriser par utilisateur" - -#~ msgid "Type" -#~ msgstr "Type" +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -105,8 +95,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/dynamic_search/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/hu/LC_MESSAGES/django.mo index 3c0ca9262a365874aed8f04a52fbcf9e7c53cb03..8a363af86e61c1cfb41749921d814f06b8d631e8 100644 GIT binary patch delta 250 zcmZ3TBQV`5<70Me6yv?!3C4Wxn63_uEOHZzb01K-4o%-qskg~Z(a(!7$1$CZVHQxl7l zGZ-M0LP=^-Zt-LfMqg8NT>}$cBSQs4BP%0gAltxzE5KhjD77rJI5R&_*Cnwe)k?w0 sz!0v^%*x1Y^C`w?MtSelqSWHUD~lPjp^Qw0wA7rE!z)Wtb5gSz01>b?X#fBK delta 459 zcmYL@F-yZh6vtm`YXz->poig1_y8LQoU?hWxFa&yII?PS}``zF{@?U61LSe?NP%xGy40&W29uMas~UJ zgG6R&aL1mI`hVHbca=~{Hk6L&u-|o55}=ul0uOUhg<6x_Gz$`FUH!$lG)u?zC`%*u M*`vd0R6%FaFWjni4*&oF diff --git a/mayan/apps/dynamic_search/locale/hu/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/hu/LC_MESSAGES/django.po index c94d01ceb6..e912d072e0 100644 --- a/mayan/apps/dynamic_search/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/hu/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Dezső József , 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/hu/)\n" -"Language: hu\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 @@ -59,22 +58,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "A letölthető és megjeleníthető keresési találatok maximális száma." #: views.py:24 -#, fuzzy, python-format +#, python-format #| msgid "Search results" msgid "Search results for: %s" -msgstr "A keresés eredményei" +msgstr "" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" +msgstr "" -#~ msgid "User" -#~ msgstr "Felhasználó" +#~ msgid "Query" +#~ msgstr "query" + +#~ msgid "Datetime created" +#~ msgstr "datetime created" + +#~ msgid "Recent search" +#~ msgstr "recent search" + +#~ msgid "Recent searches" +#~ msgstr "recent searches" #~ msgid "Maximum number of search queries to remember per user." -#~ msgstr "A keresési előzmények maximális száma felhasználónként." +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -85,8 +93,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/dynamic_search/locale/id/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/id/LC_MESSAGES/django.mo index a679fe5e4b5967258ab3678677ca5f396b092d17..ffa0196af0fbfbb2c02dc23fc730c49f0a6efba3 100644 GIT binary patch delta 99 zcmaFKe3;qdo)F7a1|VPrVi_P-0b*t#)&XJ=umIvtprj>`2C0F8iJ`u{=DG$Zx<-Zy XhDKIK#uL{|BLvK>jLbG(=VSx`RSpgn delta 161 zcmX@i{E|8Jo)F7a1|VPpVi_RT0b*7lwgF-g2moRhAPxlLPDTcXFd)qV#1DXMAOZuB zUN{IXPA!^f;cIH9YiOuzWUOFdWMyiiYhYqvz!l)H8S)7@lr|Xhfl4_-3WMF8j eYha;kWT0SZX=P}zaTg~eXFzIRdU|PIA_D+_l^W6j diff --git a/mayan/apps/dynamic_search/locale/id/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/id/LC_MESSAGES/django.po index 5ef43e6cfd..56c069f78e 100644 --- a/mayan/apps/dynamic_search/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/id/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-20 19:10+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" -"language/id/)\n" -"Language: id\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:16 @@ -58,19 +57,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "" #: views.py:24 -#, fuzzy, python-format -#| msgid "Search error: %s" +#, python-format +#| msgid "Search results" msgid "Search results for: %s" -msgstr "Search error: %s" +msgstr "" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" +msgstr "" -#~ msgid "User" -#~ msgstr "Pengguna" +#~ msgid "Query" +#~ msgstr "query" + +#~ msgid "Datetime created" +#~ msgstr "datetime created" + +#~ msgid "Recent search" +#~ msgstr "recent search" + +#~ msgid "Recent searches" +#~ msgstr "recent searches" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -81,8 +92,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/dynamic_search/locale/it/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/it/LC_MESSAGES/django.mo index 719298657568c25ef7cbd7ba2683a6e2742ad6d9..2ae8e27a38d92b5c2cfc77dfda15f92394cd5d6f 100644 GIT binary patch delta 369 zcmX|*&q@O^5Qo$4w$l1<@z^Q^kIKR}l`4CYVvl+$J$OyC0Rwge$s&021@shr4DS_u zfgU^x;-Sys(O=@~z?UyGWG3^`eQQ6g_u^-Q*Z})r1~$PX@UaBD;1%qE70AFRXoF6J zkS#c=eE>g!BaooJjDEd>&yjz@Ex6YVebWNdcsh@j1QE;U@5zkwS=HTDp9q=Xi7I^(lr9J>}fa3oJ_%>L8?}PV2(K+bWzks6m zw4(=KKr4X~_fu?2UO6c1hv2*5&)~OU32uXbfuj2ol(_$bV*ei~d0oXI@jnJd?{iS> z3lJu11WKLG^ zCX_R^XA&ptn99JIR%&n27-!4%{zIFh8k;lgT1UqDwn^O<&9Ftu(+Q_?My9E#vTBk(R^-V!zvoH+xDGgp2$b;j0N>D@Q*Zl|~%!J5k=Xml!-+g5#5l=Yi{igJlZKeg?ePYul*@Cb* ztlMB}{lMc@3To!dW!xEV(`veNv!Ty+XmD%0r;cpNp)_Prtmh^fDN{pCJ{T0)vR2P= z&%7~2P^nsj4^jhoE!1F))_Fn=a_|&7$*?w{%AjJ(7UgFGLmY3{;x^CEvCK#vto&Rj zgRoM(3yHth5(QiOP>H~@jOE%mQzMKa_^Ek4ON5jCF6$Xfe0;EKS5CVc@gqU;!a=Cw Xx?TplU?jC|8%t_p=UyEz!>a!QSaE2V diff --git a/mayan/apps/dynamic_search/locale/it/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/it/LC_MESSAGES/django.po index 25175505e8..edb7d82efc 100644 --- a/mayan/apps/dynamic_search/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Carlo Zanatto <>, 2012 @@ -13,14 +13,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-09-24 09:51+0000\n" -"Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 @@ -62,40 +61,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "Massimo numero ricerca risultati da recuperare e visualizzare. " #: views.py:24 -#, fuzzy, python-format +#, python-format #| msgid "Search results" msgid "Search results for: %s" -msgstr "Risultati della ricerca" +msgstr "" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" - -#~ msgid "User" -#~ msgstr "Utente" +msgstr "" #~ msgid "Query" -#~ msgstr "Interrogazione" +#~ msgstr "query" #~ msgid "Datetime created" -#~ msgstr "Data e ora di creazione" - -#~ msgid "Hits" -#~ msgstr "Risultati" +#~ msgstr "datetime created" #~ msgid "Recent search" -#~ msgstr "Ricerca recente" +#~ msgstr "recent search" #~ msgid "Recent searches" -#~ msgstr "Ricerche recenti" +#~ msgstr "recent searches" #~ msgid "Maximum number of search queries to remember per user." -#~ msgstr "Numero massimo di query di ricerca da ricordare per utente." - -#~ msgid "Type" -#~ msgstr "Tipo" +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -106,8 +96,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/dynamic_search/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/nl_NL/LC_MESSAGES/django.mo index 3a0ac8dea51cd7dda1eb3ffe2d70abfaa921a5ee..f9e56e8d194b93463f7186c00e57020ab19016d4 100644 GIT binary patch delta 360 zcmYL@ze)o^5Qq29OM>VB6gDa@sYE&0+ejkU1#ARG38}PNlR=N@F6fU zeFS|18+`=dK=ikV=)gDMFuOC%T|BE#Kbp}4Lo~o97=Q(E4}3g<74Qs}!3z-J4b;JW zz}Oe%*(8^GxpZ@ zBw7B3UXl14koXUJ?-U}SZoj85#kcK1zrZ9f>C<_rr;F33H}Iv0KNgE{#WoU_!sy-c=psR?kX6^*TFMj zGUqDz0@^k33jDvH7UCLs0iw9?C*bv{2m9a-80UWgKLURO@rj@D`w)By#ynqv9q<G3*a9hwrl(6z}Vh}y$6fBnB$@$mG*3Lo%67GE~MG656s$E#i24e7vx#Fd?Yqi z;Gk=!+%dX^*qjwGakP{+D%YErdrOqhFVq=TnmX`e$rB4r9Hw4YRJ+7*ic)6{$H z$nGy~PL+*Z=2;z1W>4I|HdwX*2hcW8YL^A)&yo_F_1l zuy~Ax#kR8toCmp8$S3T)wkD&2nkqy6&B1PGhbPtrIq;<}dd`{^~c4Jkht7!_M+~GqV*Zr3+U8CNOY<2Ck6s_}6`5=c*8DFVj zT}J&wuJnPSU8Sm^&6vL6na9r^x64}Ts+-&TOGKNpQ6i@z z)6yt}NtPr>M@QWd_tE=&9HSFwy>i;Rq>jgyT+}{6P`hAas&5}XOqM%?twI0ff_mMw zbJv=H7m@KQGhFL&NbtbgtW!Qx&U4s!JiI4wo#^7G`|M=j, 2016 +# Johan Braeken, 2017 # Lucas Weel , 2013 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-09 15:49+0000\n" -"Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" -"edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 @@ -60,35 +60,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "Het maximum aantal zoekresultaten." #: views.py:24 -#, fuzzy, python-format +#, python-format #| msgid "Search results" msgid "Search results for: %s" -msgstr "Zoekresultaten" +msgstr "" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" +msgstr "" -#~ msgid "User" -#~ msgstr "Gebruiker" +#~ msgid "Query" +#~ msgstr "query" #~ msgid "Datetime created" -#~ msgstr "Datumtijd aangemaakt" +#~ msgstr "datetime created" #~ msgid "Recent search" -#~ msgstr "Recente zoekopdracht" +#~ msgstr "recent search" #~ msgid "Recent searches" -#~ msgstr "Recente zoekopdrachten" +#~ msgstr "recent searches" #~ msgid "Maximum number of search queries to remember per user." -#~ msgstr "" -#~ "Het maximum aantal zoek-opdrachten dat per gebruiker wordt opgeslagen" - -#~ msgid "Type" -#~ msgstr "Type" +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -99,8 +95,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/dynamic_search/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/pl/LC_MESSAGES/django.mo index 3d15ba3e621bdd005b206a66d56f906d2619b31b..482978cf53246af90fea9071b3e91838e8ca5624 100644 GIT binary patch delta 540 zcmYL_O-lk%6o#)~N!b??hFEx8C{_qFqbW{~610lilvLZB4rJ*anHdvBuw9#WLqDN* z?OGIV+q5WX*Q!l_r1y@d2cCJ)dCxuPUgjb68yx(E{dWWr1S_BdLf{sNcm@mL1w<#fJ_L*g;D<q|vhq5Zzwz#$o}GL(lpr+sfY(>#=Gn6j6K+% zPG;2?P$k3%0EyCPBwqLgJT_mWJn=pFd$ZZ36_z|d``moavFFLf3%@Xow=pkaKEixI zte?XN;|P2UY`|diGx#R>5WE2X2}a;w;1%#6@I~;w=NWqgyaWdSkHMF~1biL54u&{i z&-dSfA>QGf2K*PXJoo|RccBb%JQ(tO0KN)70zU))0Iz{h=JF4b#Jkup&A9=F^9SHX z@Y^{x_zw0zfG>c*g0F!OK^#9DL5?&QBb@s(W(zaa66(OQi}4Cpa9@njhmd=S8*&JJ zWY@EMLZ>n#CxuPNY*TpYRUs+063dKjHd+)aJ=K4yykmWFq>8E_QJ6~mxr)Y6kvBAy zJ{^ll_TA`&P!W3HfT!8_7I+JTXQH=&u?Y?8)=;~I-$O3gr=>{{%&hW zmd1MCcO#YYFRGE_1Cvl|`}Tm}2)%(l58X^U^55d(?9tDSvHBMM%Y^Mmda+wvblh0#x z%Dl7O>fh>bowX!xN39!1d)xsJ%}dD3BM(b-dX3Vtuul5k-ry#`dS(|+97@Z#bZRoC zM+sd$P=1kXLS^3C&MPZ&e$(Ju64K>t>v}6|PzFtJN%wj&U89Jg{wR(%dR@AFdA3~d zt%l`N5J&5AMECE{b>pVhL}9IDcGUmH7>T8Yz_ zK7G~>cQaHoi@un+rVzOnl&f@lAPB96?)U*^2EmViua)$9uqD{Y3EH4!c>d4&og^Yo z9H*khFZTF159^s@Ox5wc>EKU gMu&(JBE&r(0>;NbqD3cVgdT-d!oR}y&N5;D0h`Z>O8@`> diff --git a/mayan/apps/dynamic_search/locale/pl/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/pl/LC_MESSAGES/django.po index 2c777b4099..722e5694e8 100644 --- a/mayan/apps/dynamic_search/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Annunnaky , 2015 @@ -13,16 +13,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" -"Last-Translator: Wojtek Warczakowski \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" -"pl/)\n" -"Language: pl\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:16 msgid "Dynamic search" @@ -63,40 +61,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "Maksymalna liczba trafień do wyświetlenia na ekranie." #: views.py:24 -#, fuzzy, python-format +#, python-format #| msgid "Search results" msgid "Search results for: %s" -msgstr "Wynik wyszukiwania" +msgstr "" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" - -#~ msgid "User" -#~ msgstr "Użytkownik" +msgstr "" #~ msgid "Query" -#~ msgstr "Zapytanie" +#~ msgstr "query" #~ msgid "Datetime created" -#~ msgstr "Data utworzenia" - -#~ msgid "Hits" -#~ msgstr "Trafienia" +#~ msgstr "datetime created" #~ msgid "Recent search" -#~ msgstr "Ostatnie wyszukiwanie" +#~ msgstr "recent search" #~ msgid "Recent searches" -#~ msgstr "Ostatnie wyszukiwania" +#~ msgstr "recent searches" #~ msgid "Maximum number of search queries to remember per user." -#~ msgstr "Maksymalna liczba wyszukań do zapamiętania na 1 użytkownika." - -#~ msgid "Type" -#~ msgstr "Typ" +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -107,8 +96,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/dynamic_search/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/pt/LC_MESSAGES/django.mo index 976debfc74e4965454a80bbc66a01ebdaca45d85..bf2dc4aeac81c5728c95690c5ed3a033568ac83b 100644 GIT binary patch delta 231 zcmdnOex9}do)F7a1|VPsVi_QI0b+I_&H-W&=m27VAnpWW10bFW#B4x(3W#}t_#zNb zU}Rvp2c!joIG>4u!4OC{0%;B)y%|Ug0qH$J8mJ5mn1Lh<5CiRGV*rXXFibq^Djb}e zSd^T>0HG90Qj2nnCucDFnwskxnCKcADi|7B85slF1_oRK{<=Y_Wtqj9`FXl7i6yC4 a3PuKoaCK%@MrNB|F@`WQ22Ac_mIeUF0VbRP delta 467 zcmYL@yGjE=6oyZ3Mq*HmU}Z5curj;32q^?X#U>bHf{iHS?uY}~Oq|&bViPRv4WgAV zV66|Km9>RFh?V~YqX#~|owH}={O^UA;`pnQzbDi@SOZ630Xza%uV4wh0S-Pu1C%mE zbMO|t2=BpV_z=#+5qt|2SjPD~OXS1l9MJ~631jCjjqtIG#u%=^4{!;7f^nCMz?EC( zssP*qS1vT(rQGCZ=eQ*&TI^N)Nnkk;opJck3yX)*q80vw0Tv#TsC)6eqh7C1>B&x5jM5Ga?E$v0Btf0;`37VEg Sf(>WwE)uzx{BQOCuG0^$;%M{$ diff --git a/mayan/apps/dynamic_search/locale/pt/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/pt/LC_MESSAGES/django.po index a3559d94df..4b91a85f3a 100644 --- a/mayan/apps/dynamic_search/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Emerson Soares , 2011 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" -"language/pt/)\n" -"Language: pt\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 @@ -60,22 +59,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "Número máximo de resultados a buscar e mostrar." #: views.py:24 -#, fuzzy, python-format +#, python-format #| msgid "Search results" msgid "Search results for: %s" -msgstr "Resultados da pesquisa" +msgstr "" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" +msgstr "" -#~ msgid "User" -#~ msgstr "Utilizador" +#~ msgid "Query" +#~ msgstr "query" + +#~ msgid "Datetime created" +#~ msgstr "datetime created" + +#~ msgid "Recent search" +#~ msgstr "recent search" + +#~ msgid "Recent searches" +#~ msgstr "recent searches" #~ msgid "Maximum number of search queries to remember per user." -#~ msgstr "Número máximo de consultas a recordar por utilizador." +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -86,8 +94,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/dynamic_search/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/pt_BR/LC_MESSAGES/django.mo index 1a206e225053170d6a89a55d2be5b1e3b63fac17..34732de28a96ccbd0788d7c18be5f4092a093529 100644 GIT binary patch delta 358 zcmYL@F-yZh6vtoEq-v{H+OaL%suD=AS|Ny_h?6do!SzfIjMzl)Qo+eD;C8q=xI4M% z?9{@4d&pd-q*?uU>yPy<0-efDVX39ozsLPoM#w!6F!g5WImZ zm~)8c;iaj&@EuqIP4vg^@B9b6iTVqkg_kQtEutghNbJQu7&DVc?PqMDMgAoFKQK?8 zEw|H4ktZ@`S_+k%(C$?(hFLN#&4a^Dy^6G*cs_Wur$kG?y*vsQ*X<3{BA48 QvO=>|vU8~~Mwu4$12q*w#sB~S literal 1393 zcmZ9L&2C&Z6vquMA00kg6{&2pI2)t{61Ly7sA z*cMcnP)&H+TshdfJQYuFce z!pIbQza9lWa2YlFUkvo4R2%HqsahFz+nu|*)6w1A)b3`V-qGzl?KU>*V>vS^?*I06 zKBI0o>u!J2Mr(Y|A?kr=8zvl`&uDLAtk97c6FJa*PSc0;?{Kl!%w5?$^$*}`M>UT` z4}{B%`pCB))e?j@_dS1WCR?;QjdG5a8K_u1e`Z?E^ILx?ot{QxjLYXEZ;n(Vx_wC;G_YkutK?d>VGUJG26euV}#WtFP3!!rM3PMJlTtaYxDn=Bh zRs7Qw!Xs|!0*VJkKArthig!y-M+lNTn`DNk!er$-4~2)AK-2IfXbGaOXRlE5CT`$I z_;YxD6+aibtQG>)n`94#_m|gQ**sZy#$~eNcbFeuAp2sSxf($0X=$C28kovK_=^, 2016 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-17 22:28+0000\n" -"Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" -"edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:16 @@ -61,40 +60,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "Quantidade máxima acessos para a pesquisa buscar e mostrar." #: views.py:24 -#, fuzzy, python-format +#, python-format #| msgid "Search results" msgid "Search results for: %s" -msgstr "Resultados da pesquisa" +msgstr "" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" - -#~ msgid "User" -#~ msgstr "Usuário" +msgstr "" #~ msgid "Query" -#~ msgstr "pergunta" +#~ msgstr "query" #~ msgid "Datetime created" -#~ msgstr "Hora e data criada" - -#~ msgid "Hits" -#~ msgstr "visitas" +#~ msgstr "datetime created" #~ msgid "Recent search" -#~ msgstr "pesquisa recente" +#~ msgstr "recent search" #~ msgid "Recent searches" -#~ msgstr "pesquisas recentes" +#~ msgstr "recent searches" #~ msgid "Maximum number of search queries to remember per user." -#~ msgstr "Número máximo de consultas de pesquisa para se lembrar por usuário." - -#~ msgid "Type" -#~ msgstr "Tipo" +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -105,8 +95,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/dynamic_search/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/ro_RO/LC_MESSAGES/django.mo index 088aa8c54a9a4ffb23877721fe7e347298d137ed..d1479457da5f57b821a24e2c74b521e4ab9f18e3 100644 GIT binary patch delta 241 zcmcc4ex9}do)F7a1|VPoVi_Q|0b*7ljsap2C;(yuAT9)AHXvRE#5_Q}5{Qp8GB9id z(w0D6$Hc(E4y1PgX+9u*07wI+8GsbnY-S)02EK_EnYpF83W>S-rFkV2uPX}&rzRF9 zXD~o0g_6{w+~UcxjJ_u3x&|h?MurN8Mpj0~K(>JaSAf56P-D1}){0gI2NxYOxt;X-=d4`|I@LkzAc%O@R}EZxHFrVnBG^w*#6_I^ z3gX~iu!7*|<_B@|mwGnblPAghCinZye&uey7c=*SF%4G00hk4kz>Xm(fOp`7A20Rt8`_4M=&MSr5nM@SlxQ1u%vwaJBIZE1&c%gcEjboRBs41?RXgY~G3zzj9W|vw zLu|q%{@*67RZPw64$~gG`!9_--}OAVSQ3R|tx~>QaF+AFTPVBUy6{Rh@7Z^5oy%>b z20d*;p=>5`!a}z3RCI<@X}7IG&m@6nG0Kt1P, 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-04-17 13:16+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" -"edms/language/ro_RO/)\n" -"Language: ro_RO\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:16 msgid "Dynamic search" @@ -60,25 +58,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "Căutare suma maximă hit-uri pentru a prelua și afișa." #: views.py:24 -#, fuzzy, python-format +#, python-format #| msgid "Search results" msgid "Search results for: %s" -msgstr "Rezultatele căutării" +msgstr "" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" +msgstr "" -#~ msgid "User" -#~ msgstr "utilizator" +#~ msgid "Query" +#~ msgstr "query" + +#~ msgid "Datetime created" +#~ msgstr "datetime created" + +#~ msgid "Recent search" +#~ msgstr "recent search" + +#~ msgid "Recent searches" +#~ msgstr "recent searches" #~ msgid "Maximum number of search queries to remember per user." -#~ msgstr "Numărul maxim de interogări de căutare per utilizator." - -#~ msgid "Type" -#~ msgstr "Tip" +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -89,8 +93,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/dynamic_search/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/ru/LC_MESSAGES/django.mo index d73434dd4c6a7efd62f1cb4623e7c0d5b66045e2..7edace0bc132d1ba210c4145636d24a3589371f4 100644 GIT binary patch delta 257 zcmZqR`ps5{g$)buChfCg2_ZeH|<_;)JiK_6+}n`5fnaw zWTvF)rbVs#<^`f%?@%o|SFKG0hu_SZbH16co}4@THsU%btUhQ0T7~+dE685YkRN)1 z!q6ww18EMTA#e^H02e_Q80~Nc9CZ@Kz$5rOT|}4QH|Pd05S}JlpaM1?7*C)*_#GSr zKR|TEK?djT55$lK)|#%Gv@CxBMsf8=w4dVGSX+|$Y9v3Y2Lt$@CW8Y!Thkp1IItp za;FBff!IQHSGp5(%W#al6|7O)($qniO2X Mlg)PV|Hu>i0Vv(WJ^%m! diff --git a/mayan/apps/dynamic_search/locale/ru/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/ru/LC_MESSAGES/django.po index 2c050c9246..7228745598 100644 --- a/mayan/apps/dynamic_search/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,17 +9,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-23 01:14+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" -"language/ru/)\n" -"Language: ru\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:16 msgid "Dynamic search" @@ -60,27 +57,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "Максимальное количество отображаемых документов из результатов поиска." #: views.py:24 -#, fuzzy, python-format +#, python-format #| msgid "Search results" msgid "Search results for: %s" -msgstr "Результаты поиска" +msgstr "" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" +msgstr "" -#~ msgid "User" -#~ msgstr "Пользователь" +#~ msgid "Query" +#~ msgstr "query" + +#~ msgid "Datetime created" +#~ msgstr "datetime created" + +#~ msgid "Recent search" +#~ msgstr "recent search" + +#~ msgid "Recent searches" +#~ msgstr "recent searches" #~ msgid "Maximum number of search queries to remember per user." -#~ msgstr "" -#~ "Максимальное количество поисковых запросов запоминаемых для каждого " -#~ "пользователя." - -#~ msgid "Type" -#~ msgstr "Тип" +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -91,8 +92,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/dynamic_search/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/sl_SI/LC_MESSAGES/django.mo index a38aad318193a7edfccdd1414672f5a1702189c4..a6994d9f475d68c17ff190538304895d6e434e8b 100644 GIT binary patch delta 64 zcmeBU>0_DDYHF@)V4`bes9Iw8yIi}`0ECxmSq-a=I80UB$lLFDHs_T!qu5s L8JTU|6~YJr9nBEf delta 64 zcmeBU>0_DDYHFryXsBystYBbdWon{pU}9jv72vNMlvylWKYNcRgU}&mq TV4-VdpkQceWoWQ*R|q2j9uyGQ diff --git a/mayan/apps/dynamic_search/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/sl_SI/LC_MESSAGES/django.po index cde7b81062..341a93c36f 100644 --- a/mayan/apps/dynamic_search/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/sl_SI/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,16 +9,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-20 19:10+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" -"edms/language/sl_SI/)\n" -"Language: sl_SI\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" +"Language: sl_SI\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: apps.py:16 msgid "Dynamic search" @@ -59,16 +57,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "" #: views.py:24 -#, fuzzy, python-format -#| msgid "Search error: %s" +#, python-format +#| msgid "Search results" msgid "Search results for: %s" -msgstr "Search error: %s" +msgstr "" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" +msgstr "" + +#~ msgid "Query" +#~ msgstr "query" + +#~ msgid "Datetime created" +#~ msgstr "datetime created" + +#~ msgid "Recent search" +#~ msgstr "recent search" + +#~ msgid "Recent searches" +#~ msgstr "recent searches" + +#~ msgid "Maximum number of search queries to remember per user." +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -79,8 +92,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/dynamic_search/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/vi_VN/LC_MESSAGES/django.mo index 39ab23e3960a45baf6f82234ccc5c0906129f95b..73cca52190e07e20627237314593055819e399aa 100644 GIT binary patch delta 167 zcmaFO`ky)co)F7a1|VPpVi_RT0b*7lwgF-g2moR>APxlLS&R$}5kQ(7h(80_Km-RM z{a_HBnpl*aG4YnKskyF!iLQ~Mf}xR>kui{MV89jNuN#zFmRX#cpQr1RSdwa`U}Rtj dS7&BrWVShmQHqf#!Qhf?6@IIou7Febe?Z@ je&O-<;6CWk+Tcd=uBWpHNh_!czO1uLPX5eS{~!4QMICT$ diff --git a/mayan/apps/dynamic_search/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/dynamic_search/locale/vi_VN/LC_MESSAGES/django.po index 22f25915c0..38f6eec0db 100644 --- a/mayan/apps/dynamic_search/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/dynamic_search/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Trung Phan Minh , 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" -"mayan-edms/language/vi_VN/)\n" -"Language: vi_VN\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:16 @@ -59,22 +58,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "" #: views.py:24 -#, fuzzy, python-format +#, python-format #| msgid "Search results" msgid "Search results for: %s" -msgstr "Kết quả tìm kiếm" +msgstr "" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" +msgstr "" -#~ msgid "User" -#~ msgstr "Người dùng" +#~ msgid "Query" +#~ msgstr "query" + +#~ msgid "Datetime created" +#~ msgstr "datetime created" + +#~ msgid "Recent search" +#~ msgstr "recent search" + +#~ msgid "Recent searches" +#~ msgstr "recent searches" #~ msgid "Maximum number of search queries to remember per user." -#~ msgstr "Số truy vấn lớn nhất cần nhớ cho mỗi người dùng" +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -85,8 +93,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/dynamic_search/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/dynamic_search/locale/zh_CN/LC_MESSAGES/django.mo index c375b730c54648f6f0c8995847e29e89f37272d5..bd777ca9dc088dc6cb3a14d3f9025027d3fba9bf 100644 GIT binary patch delta 235 zcmcb{*2r3aPl#nI0}!wPu?!H~05K~N#{e-16acXS5ElY58xSu7Vjdt~3B*$v85p(! zX%!&$W`f8U0BKGjzZ^&dr5S(}*lcDX4FR*V7@<~-lBh~XKSdbw~X0|4zNF*pDK delta 408 zcmZo;Pf|Al?bYWqv`tODfUV`5;?1=7sS5PgO~8l>I=NOOXWbcIUz18JZhIADdc zK!yUPzyRb(kmXDhb4}xX6Du-vOLG, 2014 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" -"language/zh_CN/)\n" -"Language: zh_CN\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:16 @@ -59,22 +58,31 @@ msgid "Maximum amount search hits to fetch and display." msgstr "搜索的最大查询和显示数量" #: views.py:24 -#, fuzzy, python-format +#, python-format #| msgid "Search results" msgid "Search results for: %s" -msgstr "搜索结果" +msgstr "" #: views.py:64 -#, fuzzy, python-format +#, python-format #| msgid "Search error: %s" msgid "Search for: %s" -msgstr "Search error: %s" +msgstr "" -#~ msgid "User" -#~ msgstr "用户" +#~ msgid "Query" +#~ msgstr "query" + +#~ msgid "Datetime created" +#~ msgstr "datetime created" + +#~ msgid "Recent search" +#~ msgstr "recent search" + +#~ msgid "Recent searches" +#~ msgstr "recent searches" #~ msgid "Maximum number of search queries to remember per user." -#~ msgstr "每一个用户所能保存的最大查询数" +#~ msgstr "Maximum number of search queries to remember per user." #~ msgid "Results" #~ msgstr "results" @@ -85,8 +93,7 @@ msgstr "Search error: %s" #~ msgid "Recent searches (maximum of %d)" #~ msgstr "recent searches (maximum of %d)" -#~ msgid "" -#~ "Results, (showing only %(shown_result_count)s out of %(result_count)s)" +#~ msgid "Results, (showing only %(shown_result_count)s out of %(result_count)s)" #~ msgstr "" #~ "results, (showing only %(shown_result_count)s out of %(result_count)s)" diff --git a/mayan/apps/events/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/events/locale/ar/LC_MESSAGES/django.mo index 638915ddaa57d118dbe88b7dce636b92b13d759c..e1a46d243d98b3a8475c40e57061827c1c365961 100644 GIT binary patch delta 44 zcmaFM@|I=7US4xu0~1{%Lj^-4D{62|!>7|M3sa6UpsqrqZlixB$PmW;z F003K84|f0n delta 49 zcmX@Xae`xmA``EfuA!l>k+Fh-k(H^*WId(>lm9VA@%tp^rI#kAr&=kbq{h3rP7Y`O F2mocr4~YN( diff --git a/mayan/apps/events/locale/en/LC_MESSAGES/django.mo b/mayan/apps/events/locale/en/LC_MESSAGES/django.mo index d15d45dedaf563da3f42b1d2338a376644e275ed..2a49b9eccb8068fe73b6d325cac90bbe08440f20 100644 GIT binary patch delta 23 ecmeyx^owai7q7Xlfr+k>p@N~2m67qp>5l5l7|M3sa6W9#gor7MNc+o{tN&k Cs15}H delta 46 zcmZ3*v5I4ZA``EfuA!l>k+Fh-k(H^*WId)ulkYM`@%SX>rI#kAr&=kb7Ed-~{sI6g C`3@8S diff --git a/mayan/apps/events/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/events/locale/fa/LC_MESSAGES/django.mo index 1986fe5661463f933ec2ee1d679da0aea7ad0328..a6a0136238216b5343a518cc5ecd64fd1040fb23 100644 GIT binary patch delta 47 zcmcb?af4%nA``E7|M3sa6VUiIdMWMQ=7|R%8SK DK#2{X delta 47 zcmcb?af4%nA``EfuA!l>k+Fh-k(H^*WId)ulkYM`@%SX>rI#kAr&=kbC2lrjR$>GI DM=cGm diff --git a/mayan/apps/events/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/events/locale/fr/LC_MESSAGES/django.mo index 77337e191549cf8aad59c06e0869ab9204643a0a..5454a69de166a9c21d8389be33418f6a260f4443 100644 GIT binary patch delta 47 zcmcc1ahGF*A``E7|M3sa6VUMUy`=MQ@H|W?=*X DM{5oP delta 47 zcmcc1ahGF*A``EfuA!l>k+Fh-k(H^*WId)Mlm9bC@%SX>rI#kAr&=kb6>W}SW@Q8b DPlXN= diff --git a/mayan/apps/events/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/events/locale/hu/LC_MESSAGES/django.mo index 57aedc7ac1a0ee1bdcb593c3f8c1e4d8d4c836f5..e170ecea48f18d7ceb91c72fb3ea63e8bcf4d0b7 100644 GIT binary patch delta 44 zcmcc2e3^MdE3dh(fr+k>p@N~2m67qpN$Yrg67$ka6Vp?z6f#OD+cQQ_Ue2fk061q3 A761SM delta 44 zcmcc2e3^MdE3cWZp`oskv4Vk-m8r?ZN$V#2GDh+EB<7`;CZ?xaDP)vRUdE^k05?Sr AB>(^b diff --git a/mayan/apps/events/locale/id/LC_MESSAGES/django.mo b/mayan/apps/events/locale/id/LC_MESSAGES/django.mo index 4e637dac22f1c8ba6f57b864bfce4ab5c3690989..c0b49d62b655b149f3f4253bd643b8b58a557ba8 100644 GIT binary patch delta 44 zcmX@he3p4aE3dh(fr+k>p@N~2m67qpN$Yuh67$ka6Vp?z6f#pLJ1|C1Ucsme05$Cm A_5c6? delta 44 zcmX@he3p4aE3cWZp`oskv4Vk-m8r?ZN$V&3F-GzDB<7`;CZ?xaDP*QhUe2fn05up6 A1poj5 diff --git a/mayan/apps/events/locale/it/LC_MESSAGES/django.mo b/mayan/apps/events/locale/it/LC_MESSAGES/django.mo index 1829b983835063ff1efab7154512c6d791708970..1093bb32df6d4f0a0c2fb845a3d4c06aeaffa587 100644 GIT binary patch delta 46 zcmdnVv6EwiA``E7|M3sa6V^C6nJUMNbZ4ehL6A Cu?}$n delta 44 zcmdnVv6EwiA``EfuA!l>k+Fh-k(H^*WId++lYcQqarq?XrI#kAr&=jY4rG1-02kv8 Ap#T5? diff --git a/mayan/apps/events/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/events/locale/nl_NL/LC_MESSAGES/django.mo index 5b66b506362749c627953b4719f31c19a5f709ed..336419565101e2359e457bce67e6f31996fdcce9 100644 GIT binary patch delta 49 zcmaFD@q}Z8A``E7|M3sa6VkIq`lzlYcWsPflb0 F2LNeE5D5SP delta 49 zcmaFD@q}Z8A``EfuA!l>k+Fh-k(H^*WId*HlX;k<__&8a^n4bCZ{t0 F2LN3r4;%mh diff --git a/mayan/apps/events/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/events/locale/pl/LC_MESSAGES/django.mo index e9c0269e7bcbf1769618cfec21b8bee0ac8d7b5e..c23c2e311c44867aa070d5cf55de2327b28a29a8 100644 GIT binary patch delta 47 zcmcb|agSqzA``E7|M3sa6UFIg`&ZMQ=7^)?fqx DLwF6u delta 47 zcmcb|agSqzA``EfuA!l>k+Fh-k(H^*WId*ZlkYG^@%SX>rI#kAr&=i#lWT;?hWMyPLS%hglk56J=dTC;Ms+B@P$>c*!(UY~9?*af3 Cy$y5# delta 45 zcmZqYXy@3#&cth`YiOuzWUOFdWMyhHS%hi*7|M3sa6UFlQo#{0{{ta B4GsVR diff --git a/mayan/apps/events/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/events/locale/pt_BR/LC_MESSAGES/django.mo index 4bcc7bdbf124087076c6193518e28b0115dd4e39..3bf4e3a80036f8531cc5a33282f0c991c0df7c65 100644 GIT binary patch delta 49 zcmdnMv4LZQA``E7|M3sa6UFCGk!{lkYJ_PxfSf F4ggW|4>te+ delta 49 zcmdnMv4LZQA``EfuA!l>k+Fh-k(H^*WId*hlixE%@%tp^rI#kAr&=i#l*Bs)P4-}Z F0RURs4@m$3 diff --git a/mayan/apps/events/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/events/locale/ro_RO/LC_MESSAGES/django.mo index be7128e4d1c690d932aa403f06f459d68b7338ee..60061a32fe47822e766aabe4676c520e578dd18d 100644 GIT binary patch delta 47 zcmcb{a*bueUS4xu0~1{%Lj^-4D7|M3sa6U_rISxFMQ=7@W?=#V DHE9i0 delta 47 zcmdnSwT)|oA``EfuA!l>k+Fh-k(H^*WId+2lW#CZ@%SX>rI#kAr&=i#m2Ng-X^cB<7`;CZ?xaDHP|#2YXJ=VvL@Al`#bX DXFLzR delta 47 zcmdnVvXf=PB3?6HLqlC7V+8{vD^rt+>-S8qW{l$ZNz6+xO-xUs&KSk-lbDxYnwXwyrBId`ALcjt1EU=P DZuSrf diff --git a/mayan/apps/events/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/events/locale/zh_CN/LC_MESSAGES/django.mo index f6bcb07fd9d3ec6d620617236637a6f5c6c88b81..1c733223cf5327bb9023187e24319fd72afff9d7 100644 GIT binary patch delta 47 zcmZ3&vV>*AUS4xu0~1{%Lj^-4D|JNr#;V2qypn$Z#f DX2=h{ delta 47 zcmZ3&vV>*AUS2a@LqlC7V+8{vD^rt+r?yX?$QZ@%lbDxYnwXwyrBIa-@9a1E6{8gZ DY0?kR diff --git a/mayan/apps/folders/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/folders/locale/ar/LC_MESSAGES/django.mo index 00b45bf3bfb34e762e5035171b6b13b8c40bda9d..d42f05a0a9b2147a10735401ea55856070443857 100644 GIT binary patch delta 370 zcmYL@ze~eF6oBty5^bqT3>Vay&ya&!WraY049E50*0^!BZwfB zLga9YZG4Gce1#|R^*F!5CGtD`4Sg_w-O}_xh?aO@vrA!!3wWDu=E5GH!bf-pC*yh( zFO#=1y|Qpv&5&jw%GrCAg&E2MGnDBkD%GmkNlzN}CnHxgFl*7)I(_x{R4XL;SGqMJQk`Hdg-Cx2`%>0Lm#~T%*@WbeY1_$Pi?i6c=U}x zv>`i@3&=ajW26bPgcyYPU=qH7Ik*9P;AhwhzrrZ|0k6WJ@EWuuLfnTj_!vHgU2p=P zTB0WAFnErIF`PDq>+l&ogAZW#iV!#9B)krbum#S++i(dE!A&>-zrZIjjxNwcvpIaC z8Rooc&NOPmHdioR{s~jq{0S2=Bx;F`@8fq}>B+Jr83cZir{0In!J|-Rtl@UdLkeWk zuS%D~N}(XbaHisU^Qvgk=tw0j)2qO*&bpGO%jC&vEchi!u3xAWWvQGL|K2m>d#(&F zw<=}5ypc^fP9l}2zEnQbuVRr7tn{T5DTh){-f@o7kts`E*q!R5oxAmp-}4snj$Yv- zZjd^+yJCOe;F~?st=IKy-Zj_YEk49-nfJ_*Rj%_kH`GuxQ`761>|ldlCEn9(dWjDR tMYjpN@jwZ^O#A__^%}qZT@phS;CH~AlWH-V_yr#X%lZHS diff --git a/mayan/apps/folders/locale/ar/LC_MESSAGES/django.po b/mayan/apps/folders/locale/ar/LC_MESSAGES/django.po index 1159575e57..d892f387dd 100644 --- a/mayan/apps/folders/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" -"ar/)\n" -"Language: ar\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 #: views.py:95 @@ -35,22 +33,16 @@ msgid "Documents" msgstr "الوثائق" #: links.py:24 links.py:34 -#, fuzzy -#| msgid "Remove documents from folders" msgid "Remove from folders" -msgstr "إزالة وثائق من المجلدات" +msgstr "" #: links.py:27 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to a folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:31 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:42 views.py:37 msgid "Create folder" @@ -97,6 +89,7 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 +#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -105,6 +98,7 @@ msgid "Remove documents from folders" msgstr "إزالة وثائق من المجلدات" #: permissions.py:22 +#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -118,6 +112,7 @@ msgstr "" #: views.py:49 #, python-format +#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" @@ -148,25 +143,22 @@ msgstr "" #: views.py:137 msgid "Add" -msgstr "" +msgstr "إضافة" #: views.py:139 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add document to folders" msgid_plural "Add documents to folders" -msgstr[0] "Add document to a folder" -msgstr[1] "Add document to a folder" -msgstr[2] "Add document to a folder" -msgstr[3] "Add document to a folder" -msgstr[4] "Add document to a folder" -msgstr[5] "Add document to a folder" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" #: views.py:150 -#, fuzzy, python-format -#| msgid "Add document: %s to folder." +#, python-format msgid "Add document \"%s\" to folders" -msgstr "Add document: %s to folder." +msgstr "" #: views.py:161 msgid "Folders to which the selected documents will be added." @@ -194,53 +186,70 @@ msgstr "" #: views.py:222 msgid "Remove" -msgstr "" +msgstr "إزالة" #: views.py:224 -#, fuzzy #| msgid "Remove documents from folders" msgid "Remove document from folders" msgid_plural "Remove documents from folders" -msgstr[0] "إزالة وثائق من المجلدات" -msgstr[1] "إزالة وثائق من المجلدات" -msgstr[2] "إزالة وثائق من المجلدات" -msgstr[3] "إزالة وثائق من المجلدات" -msgstr[4] "إزالة وثائق من المجلدات" -msgstr[5] "إزالة وثائق من المجلدات" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" #: views.py:235 -#, fuzzy, python-format +#, python-format #| msgid "Remove documents from folders" msgid "Remove document \"%s\" to folders" -msgstr "إزالة وثائق من المجلدات" +msgstr "" #: views.py:246 msgid "Folders from which the selected documents will be removed." msgstr "" #: views.py:273 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s is not in folder: %(folder)s." -msgstr "الوثيقة %(document)s موجودة بالمجلد %(folder)s مسبقاً" +msgstr "" #: views.py:282 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s removed from folder: %(folder)s." -msgstr "الوثيقة %(document)s موجودة بالمجلد %(folder)s مسبقاً" +msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "يجب أن توفر ما لا يقل عن وثيقة واحدة." +#~ msgstr "Must provide at least one document." + +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "97c0d1f6a737e93c542fd20ae2682559_pl_0" +#~ msgstr[1] "97c0d1f6a737e93c542fd20ae2682559_pl_1" +#~ msgstr[2] "97c0d1f6a737e93c542fd20ae2682559_pl_2" +#~ msgstr[3] "97c0d1f6a737e93c542fd20ae2682559_pl_3" +#~ msgstr[4] "97c0d1f6a737e93c542fd20ae2682559_pl_4" +#~ msgstr[5] "97c0d1f6a737e93c542fd20ae2682559_pl_5" #~ msgid "Must provide at least one folder document." -#~ msgstr "يجب أن توفر ما لا يقل عن مجلد واحد." +#~ msgstr "Must provide at least one folder document." #~ msgid "Document: %s removed successfully." -#~ msgstr "الوثيقة %s أزيلت بنجاح" +#~ msgstr "Document: %s removed successfully." #~ msgid "Document: %(document)s delete error: %(error)s" -#~ msgstr "خطأ بمسح الوثيقة %(document)s : %(error)s" +#~ msgstr "Document: %(document)s delete error: %(error)s" + +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "81c6b0124b038e876c41a6794709629b_pl_0" +#~ msgstr[1] "81c6b0124b038e876c41a6794709629b_pl_1" +#~ msgstr[2] "81c6b0124b038e876c41a6794709629b_pl_2" +#~ msgstr[3] "81c6b0124b038e876c41a6794709629b_pl_3" +#~ msgstr[4] "81c6b0124b038e876c41a6794709629b_pl_4" +#~ msgstr[5] "81c6b0124b038e876c41a6794709629b_pl_5" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -278,15 +287,21 @@ msgstr "الوثيقة %(document)s موجودة بالمجلد %(folder)s مس #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" +#~ msgid "Add document to a folder" +#~ msgstr "Add document to a folder" + +#~ msgid "Add document: %s to folder." +#~ msgstr "Add document: %s to folder." + #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -319,12 +334,12 @@ msgstr "الوثيقة %(document)s موجودة بالمجلد %(folder)s مس #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." diff --git a/mayan/apps/folders/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/folders/locale/bg/LC_MESSAGES/django.mo index f4126e9631d9d3fde8be8899e27c18e13f4a6820..66a125c1110174db54e71e3b01f85d2481615c1c 100644 GIT binary patch delta 368 zcmYL@ze~eV5P;uH)5J>a(3TGV02ddb&_szPh}dFh!A)12sn#qi2x6tsQ5>F~yNXk- z1RU!B@B+^M4Rz??=9f_L;JfeLJ?^+T-_P~Fi{?-e%did?P=F~UF@p^Jz#+_`4xSVu zheK@QTWsNbY~#VAe#9Hp&-e)@kf(04^h}7JIOfr!@rsLhhATM3*5s(wg|~2-x`y|0 z3$rVYESa(NAlm6%`aw#LG9Wo>2}Gma7DwUvbvL-Y@>NH!sJd*Z7rCwGvSOVC-S8$* zr$(o+SFP<}Scfxk8{UBXa16S~gg6an;7R!Sk5A!!%tL5$zQ9{>9Jjz7vdiI!tjs=h zIYee, 2012 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/bg/)\n" -"Language: bg\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 @@ -35,22 +34,16 @@ msgid "Documents" msgstr "Документи" #: links.py:24 links.py:34 -#, fuzzy -#| msgid "Remove documents from folders" msgid "Remove from folders" -msgstr "Премахване на документи от папки" +msgstr "" #: links.py:27 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to a folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:31 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:42 views.py:37 msgid "Create folder" @@ -97,6 +90,7 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 +#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -105,6 +99,7 @@ msgid "Remove documents from folders" msgstr "Премахване на документи от папки" #: permissions.py:22 +#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -118,6 +113,7 @@ msgstr "" #: views.py:49 #, python-format +#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" @@ -148,21 +144,18 @@ msgstr "" #: views.py:137 msgid "Add" -msgstr "" +msgstr "Добави" #: views.py:139 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add document to folders" msgid_plural "Add documents to folders" -msgstr[0] "Add document to a folder" -msgstr[1] "Add document to a folder" +msgstr[0] "" +msgstr[1] "" #: views.py:150 -#, fuzzy, python-format -#| msgid "Add document: %s to folder." +#, python-format msgid "Add document \"%s\" to folders" -msgstr "Add document: %s to folder." +msgstr "" #: views.py:161 msgid "Folders to which the selected documents will be added." @@ -190,49 +183,58 @@ msgstr "" #: views.py:222 msgid "Remove" -msgstr "" +msgstr "Премахнете" #: views.py:224 -#, fuzzy #| msgid "Remove documents from folders" msgid "Remove document from folders" msgid_plural "Remove documents from folders" -msgstr[0] "Премахване на документи от папки" -msgstr[1] "Премахване на документи от папки" +msgstr[0] "" +msgstr[1] "" #: views.py:235 -#, fuzzy, python-format +#, python-format #| msgid "Remove documents from folders" msgid "Remove document \"%s\" to folders" -msgstr "Премахване на документи от папки" +msgstr "" #: views.py:246 msgid "Folders from which the selected documents will be removed." msgstr "" #: views.py:273 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s is not in folder: %(folder)s." -msgstr "Документ: %(document)s е вече в папка: %(folder)s." +msgstr "" #: views.py:282 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s removed from folder: %(folder)s." -msgstr "Документ: %(document)s е вече в папка: %(folder)s." +msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Трябва да посочите поне един документ." +#~ msgstr "Must provide at least one document." + +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "97c0d1f6a737e93c542fd20ae2682559_pl_0" +#~ msgstr[1] "97c0d1f6a737e93c542fd20ae2682559_pl_1" #~ msgid "Must provide at least one folder document." -#~ msgstr "Трябва да поставите поне един документ в папката." +#~ msgstr "Must provide at least one folder document." #~ msgid "Document: %s removed successfully." -#~ msgstr "Документ: %s премахнат успешно." +#~ msgstr "Document: %s removed successfully." #~ msgid "Document: %(document)s delete error: %(error)s" -#~ msgstr "Документ: %(document)s грешка при изтриване: %(error)s" +#~ msgstr "Document: %(document)s delete error: %(error)s" + +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "81c6b0124b038e876c41a6794709629b_pl_0" +#~ msgstr[1] "81c6b0124b038e876c41a6794709629b_pl_1" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -270,15 +272,21 @@ msgstr "Документ: %(document)s е вече в папка: %(folder)s." #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" +#~ msgid "Add document to a folder" +#~ msgstr "Add document to a folder" + +#~ msgid "Add document: %s to folder." +#~ msgstr "Add document: %s to folder." + #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -311,12 +319,12 @@ msgstr "Документ: %(document)s е вече в папка: %(folder)s." #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." diff --git a/mayan/apps/folders/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/folders/locale/bs_BA/LC_MESSAGES/django.mo index a84f5c05521823e2aef39a861e4be0a3e0030a0b..91dd34d769c4558e4d61afa023ccfd845f5acca4 100644 GIT binary patch delta 358 zcmX@W{f49do)F7a1|Z-9Vi_RL0b*Vt-UGxS@BxUKf%qd3I{@)lAhrNvGe!mmP9U8R zq*;J;C6HzV(se+Z9Z0uA`Mp3|7Ra9hq`v|2CaCyIprN)54D}2ffDBWhf_Fd~WS|Pr zG>`#$KpJGA8I*4eq&a|mS0D{C&<{uh%>n~fAPI6LNIy^*>=_^h1|Tz-fEZ*ZNI!#P zN(zHZesXDUYF>%e{_j{hl+?2CC`Yh3W@Hf76}Ng^iT>ZNKfr;k{u=4&5q3MiUA>? zp$vWidoO~10WV(s45jn~)Pom$>7oBg(zF*Jy#3A0zL|NuKPRs8z3zb74 z$RiPw&YDf3^?nw|UDI*seLd4D9V&U$3I*|$V!^Q>6G5SDW*w2F74~q=zKlbm{*@Zz zL{DCpeZL%3X)~y8y)gM)0V|u;a^O?o*L?r7nmcyPh5Mm!pv3iA#HpcLnkQ}k-xrv3 zcg~D?&*!MLqDz$N!!~LYNm&%jq%9It@|NG$rNZu3+M))>7gAe, 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" -"rosarior/mayan-edms/language/bs_BA/)\n" -"Language: bs_BA\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 #: views.py:95 @@ -35,22 +33,16 @@ msgid "Documents" msgstr "Dokumenti" #: links.py:24 links.py:34 -#, fuzzy -#| msgid "Remove documents from folders" msgid "Remove from folders" -msgstr "Ukloniti dokumente iz foldera" +msgstr "" #: links.py:27 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to a folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:31 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:42 views.py:37 msgid "Create folder" @@ -97,6 +89,7 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 +#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -105,6 +98,7 @@ msgid "Remove documents from folders" msgstr "Ukloniti dokumente iz foldera" #: permissions.py:22 +#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -118,6 +112,7 @@ msgstr "" #: views.py:49 #, python-format +#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" @@ -148,22 +143,19 @@ msgstr "" #: views.py:137 msgid "Add" -msgstr "" +msgstr "Dodati" #: views.py:139 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add document to folders" msgid_plural "Add documents to folders" -msgstr[0] "Add document to a folder" -msgstr[1] "Add document to a folder" -msgstr[2] "Add document to a folder" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" #: views.py:150 -#, fuzzy, python-format -#| msgid "Add document: %s to folder." +#, python-format msgid "Add document \"%s\" to folders" -msgstr "Add document: %s to folder." +msgstr "" #: views.py:161 msgid "Folders to which the selected documents will be added." @@ -191,50 +183,61 @@ msgstr "" #: views.py:222 msgid "Remove" -msgstr "" +msgstr "Ukloniti" #: views.py:224 -#, fuzzy #| msgid "Remove documents from folders" msgid "Remove document from folders" msgid_plural "Remove documents from folders" -msgstr[0] "Ukloniti dokumente iz foldera" -msgstr[1] "Ukloniti dokumente iz foldera" -msgstr[2] "Ukloniti dokumente iz foldera" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" #: views.py:235 -#, fuzzy, python-format +#, python-format #| msgid "Remove documents from folders" msgid "Remove document \"%s\" to folders" -msgstr "Ukloniti dokumente iz foldera" +msgstr "" #: views.py:246 msgid "Folders from which the selected documents will be removed." msgstr "" #: views.py:273 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s is not in folder: %(folder)s." -msgstr "Dokument: %(document)s je već u folderu: %(folder)s." +msgstr "" #: views.py:282 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s removed from folder: %(folder)s." -msgstr "Dokument: %(document)s je već u folderu: %(folder)s." +msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Mora biti barem jedan dokument." +#~ msgstr "Must provide at least one document." + +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "97c0d1f6a737e93c542fd20ae2682559_pl_0" +#~ msgstr[1] "97c0d1f6a737e93c542fd20ae2682559_pl_1" +#~ msgstr[2] "97c0d1f6a737e93c542fd20ae2682559_pl_2" #~ msgid "Must provide at least one folder document." -#~ msgstr "Mora biti makar jedan folder dokumenata." +#~ msgstr "Must provide at least one folder document." #~ msgid "Document: %s removed successfully." -#~ msgstr "Dokument \"%s\" uspješno uklonjen." +#~ msgstr "Document: %s removed successfully." #~ msgid "Document: %(document)s delete error: %(error)s" -#~ msgstr "Dokument: %(document)s greška brisanja: %(error)s" +#~ msgstr "Document: %(document)s delete error: %(error)s" + +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "81c6b0124b038e876c41a6794709629b_pl_0" +#~ msgstr[1] "81c6b0124b038e876c41a6794709629b_pl_1" +#~ msgstr[2] "81c6b0124b038e876c41a6794709629b_pl_2" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -272,15 +275,21 @@ msgstr "Dokument: %(document)s je već u folderu: %(folder)s." #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" +#~ msgid "Add document to a folder" +#~ msgstr "Add document to a folder" + +#~ msgid "Add document: %s to folder." +#~ msgstr "Add document: %s to folder." + #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -313,12 +322,12 @@ msgstr "Dokument: %(document)s je već u folderu: %(folder)s." #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." diff --git a/mayan/apps/folders/locale/da/LC_MESSAGES/django.mo b/mayan/apps/folders/locale/da/LC_MESSAGES/django.mo index 2de6d19193f958824a9e10b2ffc0d2d853f9ddf4..c3d85a4425c477afd8e8456be697803151401860 100644 GIT binary patch delta 271 zcmZ3-wT!*~o)F7a1|VPuVi_O~0b*_-?g3&D*a5^2K)e%(Er9qJ5OV^tF(U&58<4gI z(jdJqKw1_^`vB=4AkG3}M;O;v+#aGBZ9RTOm~9BeV)*=d6sKo!QLXokWFFXk?=B z2P7H|8jV79{sM(YAw(t7d1qIG!pWRGGk4#;_ny<_d1~h|Q-3T_E$D8vM5odB=(ySx zA*Ns&j=&W-3HM+xyoSy20XD*Cn1pYz4}QR5n5`3{2hPDmtmWaf5If>MA%uz_jQZNf z>oAM&6PSXRumRq{_<%b|@E-QVSJ(wJ2w`8*gvQ?0iZ2%b2a#&ws6Ukyt+mPH)%dW6 zqpP(Jiyf9s?E9Xdqk+Nd%TRFiIn#;HfP5}_AzKtw@_7z|Ld9{mBVFlQT&M(+%Dxxc z7LzH-VG|3U%Vc@^N{L-LBL2@5JjY`HCmPKw#qkMM*HvSbG$S`YrfOrFmRep?S2(l- z+jG@fQ*w?BO`lM;QPt4N&~v(e@uINO9$*T|1>SOg4MEXlVkTW3W5eN)Y9Sew6WO_G rche53WV;q_eS0S9Y4-q+, 2012 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" -"da/)\n" -"Language: da\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 @@ -34,22 +33,16 @@ msgid "Documents" msgstr "Dokumenter" #: links.py:24 links.py:34 -#, fuzzy -#| msgid "Remove documents from folders" msgid "Remove from folders" -msgstr "Fjern dokumenter fra mapper" +msgstr "" #: links.py:27 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to a folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:31 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:42 views.py:37 msgid "Create folder" @@ -96,6 +89,7 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 +#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -104,6 +98,7 @@ msgid "Remove documents from folders" msgstr "Fjern dokumenter fra mapper" #: permissions.py:22 +#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -117,6 +112,7 @@ msgstr "" #: views.py:49 #, python-format +#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" @@ -150,18 +146,15 @@ msgid "Add" msgstr "" #: views.py:139 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add document to folders" msgid_plural "Add documents to folders" -msgstr[0] "Add document to a folder" -msgstr[1] "Add document to a folder" +msgstr[0] "" +msgstr[1] "" #: views.py:150 -#, fuzzy, python-format -#| msgid "Add document: %s to folder." +#, python-format msgid "Add document \"%s\" to folders" -msgstr "Add document: %s to folder." +msgstr "" #: views.py:161 msgid "Folders to which the selected documents will be added." @@ -192,46 +185,55 @@ msgid "Remove" msgstr "" #: views.py:224 -#, fuzzy #| msgid "Remove documents from folders" msgid "Remove document from folders" msgid_plural "Remove documents from folders" -msgstr[0] "Fjern dokumenter fra mapper" -msgstr[1] "Fjern dokumenter fra mapper" +msgstr[0] "" +msgstr[1] "" #: views.py:235 -#, fuzzy, python-format +#, python-format #| msgid "Remove documents from folders" msgid "Remove document \"%s\" to folders" -msgstr "Fjern dokumenter fra mapper" +msgstr "" #: views.py:246 msgid "Folders from which the selected documents will be removed." msgstr "" #: views.py:273 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s is not in folder: %(folder)s." -msgstr "Dokument: %(document)s er allerede i mappen: %(folder)s." +msgstr "" #: views.py:282 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s removed from folder: %(folder)s." -msgstr "Dokument: %(document)s er allerede i mappen: %(folder)s." +msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Angiv mindst ét ​​dokument." +#~ msgstr "Must provide at least one document." + +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "97c0d1f6a737e93c542fd20ae2682559_pl_0" +#~ msgstr[1] "97c0d1f6a737e93c542fd20ae2682559_pl_1" #~ msgid "Must provide at least one folder document." -#~ msgstr "Skal give mindst ét mappe dokument." +#~ msgstr "Must provide at least one folder document." #~ msgid "Document: %s removed successfully." -#~ msgstr "Dokument: %s blev slettet." +#~ msgstr "Document: %s removed successfully." #~ msgid "Document: %(document)s delete error: %(error)s" -#~ msgstr "Dokument: %(document)s slettefejl: %(error)s " +#~ msgstr "Document: %(document)s delete error: %(error)s" + +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "81c6b0124b038e876c41a6794709629b_pl_0" +#~ msgstr[1] "81c6b0124b038e876c41a6794709629b_pl_1" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -269,15 +271,21 @@ msgstr "Dokument: %(document)s er allerede i mappen: %(folder)s." #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" +#~ msgid "Add document to a folder" +#~ msgstr "Add document to a folder" + +#~ msgid "Add document: %s to folder." +#~ msgstr "Add document: %s to folder." + #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -310,12 +318,12 @@ msgstr "Dokument: %(document)s er allerede i mappen: %(folder)s." #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." diff --git a/mayan/apps/folders/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/folders/locale/de_DE/LC_MESSAGES/django.mo index 749888c41cbbc7c892f62839529a384224475da3..d28e73042e7e683cb651d4c12d9162d2dd2f6e3f 100644 GIT binary patch delta 911 zcmZY7&ubGw6u|L``C*c_=7-T#V|5P|tCBX^hN@B0Y6(~ol%gOWgeBRAgzW}5p@Kc+ zU~Iu9xK{0 z;s}umD0LD?_wYk|g+Y9c7iC0kTAWMmhLb-yudBk8lc^&!CKtqa1h|C0|AU zC%;;j4%ToHyEuoNC^!F(luG@^I40RGgE>rL0m-Q@`7WWXzmBrLfkpIC_Ir*}nU~m; zjRth&WS@|WtHT6U{;$dH;@D z-p;{pIpoCBxTHEtNa>}#($a*S_+PtNuj@o`T+atnnT}#)blb*C+o{_gL&wo~g70-J zbV~O_clEvSjD8j_20FSLxjl9!Unu3xqER%<=B$1Z$t~^9lnm1>mu62FXz{C7r<=dw zS#HO%x^1s)T(LV=%QC8Kw&yh6hH;@~``v}cs?~I+YwgvF9!9nUm-S@yR){m$dOiA9 oKZwoiFR^vK6*ps5x4U9{uI=hS@wwzRukPBOVY&D1X2W*XUvv|55dZ)H literal 2994 zcma)-ONbmr7{|*PjZS>V_aj4Wg9+de}XmeFYs}&db<$!gGa%8!8bCV0q;XU1b2WJzz4v0!8^f= z+59E&QS?6pSZJmMNYtmk|19`F~C z?fnk2AAf_-g4^y80*{!%=Q*$nz5p(PRd59E20sROfmcBbUISV0B9vZ2Zcc%(qW>F| zOR#>I5RZT>8T%l|b0OmgARh5i*8eo?e+jbRUxN>U*RuJaGyVY{$M_BeeF%IVJOI82 zaz3trc*KwRa6W$pDv@#w7S^fx!N4$kk6YPSl|HG{REy#KM2V{M_ zcM1`KEs*{G1VlQLT(KWd;pO~s<2vAml1Xv{6-8s)Tt}>94_=O)<9QM7UL2CL(nhi$1s>_C zVe{YPCRu>x?xccJ-EmE>rF?FxXGGfd!~#UDACl}P(iotCEM>?Ro4jj>xxTjCYv#p5 z9z+(wb$zVM1R!3`Bc3(V^*r**2zfTufH@QQdSpyL4uWxQD+ONSr6jE*&8w3ivs>Ep zVKP8~-dOr73u@BnlpP~Ah0z8aytyl-6*HyHh>qvmWrqDeL;m zSA(K1;GPjnZkGbF92+awb+qAoBwZ^5axoAoDuipdkVz9eA-bad(A8skmc}ybOWxCb zYj{h#u)*6?6RSxYib*5;Itq(Wve}8Td;x1T*r1+84hz+Z;8Xz>dp>{5m6_eGmY()$ zR5-PwqjzA}IpH~{NgF>>ZMp1@T_rmU%cm-s{eESrJvImhCGan_=?tgM_|bCLrA zd52F#Tecd_15UH)wD!qHtNrqRr?J1$fS|KV8$RoulxysBT20w%wwuit8)%g!Y>>02 zU1b8-a)qu&UD8PIYGhpPM-Whh*d36wMsC=auaOSnV>RV?R#u1BuD9#;(P&h&tjF)u zxmqs@>pIn->mi5bkQbVIkZG%XbY`JbpRFvPSniYwXx18)&b_&|=o~EN*l3@$(^0+1Lt(b%!LDx$$J;WoRapsQ?FPzy8d1x^C7+>)1XO3Nyu9dOka^@ z4kqqK(m2fnO@42fMm``;o)wEU43N$)`Jv3+lN*tex%nyO(>G?eDN`4;j|&DBOTNV& z7v{TFdQwCoXZD&I+{2|`s4~=zvV{o#O!6G?eVHX1x7#stH9SUL=GjN)x;G5oFp^2< zi$dQ{gvn~pbAnJ_qGMzj8+?4_5q4S`NpK(>ds zQ#UVbltr+4#o+S8@i6HY<@F8qg<->gI9XjtH#S*Pl+2Qcj2taSrw0c#+PpjrEY#;J jCNxa`krukLBxu&a, 2015 +# Jesaja Everling , 2017 # Mathias Behrle , 2014 # Roberto Rosario, 2012 # Stefan Lodders , 2012 @@ -14,14 +15,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" -"Last-Translator: Roberto Rosario\n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" -"edms/language/de_DE/)\n" -"Language: de_DE\n" +"PO-Revision-Date: 2017-04-24 22:43+0000\n" +"Last-Translator: Jesaja Everling \n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 @@ -38,20 +38,14 @@ msgid "Documents" msgstr "Dokumente" #: links.py:24 links.py:34 -#, fuzzy -#| msgid "Remove from folder" msgid "Remove from folders" msgstr "Aus Ordner entfernen" #: links.py:27 -#, fuzzy -#| msgid "Add to a folder" msgid "Add to a folders" msgstr "Zu Ordner hinzufügen" #: links.py:31 -#, fuzzy -#| msgid "Add to folder" msgid "Add to folders" msgstr "Zu Ordner hinzufügen" @@ -69,7 +63,7 @@ msgstr "Bearbeiten" #: links.py:53 msgid "All" -msgstr "" +msgstr "Alle" #: models.py:18 msgid "Label" @@ -100,6 +94,7 @@ msgid "Edit folders" msgstr "Ordner bearbeiten" #: permissions.py:16 +#| msgid "Delete new folders" msgid "Delete folders" msgstr "Ordner löschen" @@ -108,6 +103,7 @@ msgid "Remove documents from folders" msgstr "Dokumente aus Ordnern entfernen" #: permissions.py:22 +#| msgid "Edit new folders" msgid "View folders" msgstr "Ordner anzeigen" @@ -121,6 +117,7 @@ msgstr "Primärschlüssel des hinzuzufügenden Dokuments." #: views.py:49 #, python-format +#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "Ordner %s löschen?" @@ -151,21 +148,18 @@ msgstr "" #: views.py:137 msgid "Add" -msgstr "" +msgstr "Hinzufügen" #: views.py:139 -#, fuzzy -#| msgid "Add documents to folders" msgid "Add document to folders" msgid_plural "Add documents to folders" -msgstr[0] "Dokumente zu Ordnern hinzufügen" -msgstr[1] "Dokumente zu Ordnern hinzufügen" +msgstr[0] "" +msgstr[1] "" #: views.py:150 -#, fuzzy, python-format -#| msgid "Add documents to folders" +#, python-format msgid "Add document \"%s\" to folders" -msgstr "Dokumente zu Ordnern hinzufügen" +msgstr "" #: views.py:161 msgid "Folders to which the selected documents will be added." @@ -193,59 +187,58 @@ msgstr "" #: views.py:222 msgid "Remove" -msgstr "" +msgstr "Entfernen" #: views.py:224 -#, fuzzy #| msgid "Remove documents from folders" msgid "Remove document from folders" msgid_plural "Remove documents from folders" -msgstr[0] "Dokumente aus Ordnern entfernen" -msgstr[1] "Dokumente aus Ordnern entfernen" +msgstr[0] "" +msgstr[1] "" #: views.py:235 -#, fuzzy, python-format +#, python-format #| msgid "Remove documents from folders" msgid "Remove document \"%s\" to folders" -msgstr "Dokumente aus Ordnern entfernen" +msgstr "" #: views.py:246 msgid "Folders from which the selected documents will be removed." msgstr "" #: views.py:273 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s is not in folder: %(folder)s." -msgstr "Dokument %(document)s ist bereits im Ordner %(folder)s" +msgstr "" #: views.py:282 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s removed from folder: %(folder)s." -msgstr "Dokument %(document)s ist bereits im Ordner %(folder)s" +msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Es muss mindestens ein Dokument angegeben werden." +#~ msgstr "Must provide at least one document." #~ msgid "Add document to folder" #~ msgid_plural "Add documents to folder" -#~ msgstr[0] "Dokument zu Ordner hinzufügen" -#~ msgstr[1] "Dokumente zu Ordner hinzufügen" +#~ msgstr[0] "97c0d1f6a737e93c542fd20ae2682559_pl_0" +#~ msgstr[1] "97c0d1f6a737e93c542fd20ae2682559_pl_1" #~ msgid "Must provide at least one folder document." -#~ msgstr "Es muss mindestens ein Ordnerdokument angegeben werden" +#~ msgstr "Must provide at least one folder document." #~ msgid "Document: %s removed successfully." -#~ msgstr "Dokument \"%s\" erfolgreich entfernt" +#~ msgstr "Document: %s removed successfully." #~ msgid "Document: %(document)s delete error: %(error)s" -#~ msgstr "Fehler beim Löschen von Dokument %(document)s: %(error)s" +#~ msgstr "Document: %(document)s delete error: %(error)s" #~ msgid "Remove the selected document from the folder: %(folder)s?" #~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" -#~ msgstr[0] "Ausgewähltes Dokument aus Ordner %(folder)s entfernen?" -#~ msgstr[1] "Ausgewählte Dokumente aus Ordner %(folder)s entfernen?" +#~ msgstr[0] "81c6b0124b038e876c41a6794709629b_pl_0" +#~ msgstr[1] "81c6b0124b038e876c41a6794709629b_pl_1" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -293,11 +286,11 @@ msgstr "Dokument %(document)s ist bereits im Ordner %(folder)s" #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -330,12 +323,12 @@ msgstr "Dokument %(document)s ist bereits im Ordner %(folder)s" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." diff --git a/mayan/apps/folders/locale/en/LC_MESSAGES/django.mo b/mayan/apps/folders/locale/en/LC_MESSAGES/django.mo index 68442b990eb11af1dbe3213da6157c4a7e2a6c1a..19b3f593420b853760598a385227cc86757a6a8e 100644 GIT binary patch delta 247 zcmbQp)y`gjPl#nI0}!wQu?!IV05LZZ*8njHtN>yMAYKW?7C`(8h(T(V85tPZfwUHo zmIcyAK)N4@1Ay28$bY~DQLo4hQ6B}QLFyBMG)R3WkOnH%1RKTz6acD60YG^MRwR+h zhKv%EA22&k4q#E@bIZ?3NiAZ4P{os_n6i1zbq!2(jSLkGjjW7}H&0^fXT+{j9sth3 BAlLu^ literal 1297 zcmeH_-)huA6vm_0e*tg2RpF=zU1c`e?H}5dg<`vff{SHcy`Ls$w~=Hf%uL$uQ+U-I z@zTf8J1-P`2A`qg3;0d8wic}5y@!1KPLh*v&Y8@&+jB<&B82Wj1#}Dg0QoqE)}ilE z8|q#Pf)!AL55TwJHSi;N9sC471iylh!DH|qc;|8uyg|MSuH*j8m6=~SH}hKsy`KTS z-x28j-htllJ?Q;DgWm542)p1abOVBIGXoI7I=JZ*g!e*e6W%Y_)M;I^atS?}&rb4| zC7ETMk<&ERMaIUzon?4u>ojF+$8}Lm+ZP#RT(DzeV|4R%leFwb=^x;Qzy1F@rsSjwMu9pr&3XWbMPV@a;1$E13Sqx@wA>;G13WzJI_aA17kbX zi%sb`p>Et+7M+ghE>PS}mKH_47{@3SL*CE5?^#_}bo@o}auP2+i4oy5j3`D%DqBeB zcYdgM+2B78wUs8Jc6^*M#YIu#42i?nkK|59BdEzXM50T$Ki%n4o6IkrWFQseCVR8khxl;bWa+~ zuJ>}ZC05Srd;?=PqOVe&n62Jp|E> zcH@;0)WvS3wTX72;@dLJD4a2w>yg$G=`3YXY-$=iz@tA#v2XUOh zd5q!)cHuj8@gr(r4O?&*wZI{2;cqyEKhQ&mL02$}>X*R*yonk=kIzF@V|;Ej!7oOs z!ynWH-Hg)C1_M*5iKe*p;cSpUM19yI_Tm$~gs-p@w{Z?X<1K7pu_m0xe%3d4xZ#~y z#11T?CVYnc%m$YTzQwEfKFIg+8u?L>J9N5C-h$d;8iOjDi{uKr*2|-l)tXwr-dPK( zzCAP!q+VO?zL}=FX~*p}eTa6c(8qGxhEmo;{~?8TuM%pP|3fFL(21C=@2e&Jl8rm< zUd3dWm+b@RyM5#)ZOvV^Prd7Q(;Kq4!}nw3sq~FhW+X9^naqsZop9gzlkv&1^rypc zYbaSL=L@;A$)3r?3+u)F-!B|yXC_#pU}C}a3xqxkhASOw33i(nPp2A>1J08fD5gBH96lH3Id{S>iT1!pn;4Z`XC z>0^vN4$gv)fbW15hbxXlknFh%J_CN{<~KmH`y23Sa2I?G`~@U=e}QfA7@WQUz5z~w zS3$D>2e1PE2~yr}gQVv;7RmmTAjv-iQXET~HnSM)9CQ{?i!2N4`K*HYoR0M`YV6e2?Oz{89|aPLfT7 zYJ%(~pJ-5Q(?NCjJU)((Vn+FW3LjDx#{!54N-3@tm|7Yr2^6sJb6<4^JsDYU72i;y zFLi0z{QtU%FW|Z;3dqIHX(_Bs_ewLvlBv(;al{5a$vg3BEXYt=>EJG#bZR$Kc`g2u znPKy(6V8KubKG+WaJ-s&JZ8A?ed*^O(rzLFduGt-NMkkzVK}TECcuxa300b z*rECYs0`ttKjcB=oGL0U=`mc(p4x(e2b+>>F(qk+wf(@xzj77HViw1RB-05DbL1Tr zSrJ4*)XnMw<{7pq)@8_+2FCKfR$GBDxv)Hx0t+gV+2Pt9&Ln{?99`ByPv{|kPY$`- z;FQxeHI$Nd=%Dn}*h(CRY}4=!t$LX&ZnvMmEmfu|S z;s=5A9=(VbA8#~Y@tRF<{AJ!4Z=Ij;8WW8M4tgtcDN? zL+;c%s#n*^MP2WaH=gu+rXD&Wb!qBjm8DBd?cC{Rtx=gnRiVRpYr{S~vU11P`yt9~ zigz}JHquVNy|&;@=I2P`hSXj=>L?$@*y5Axfz6CYhu)kMkF`LzS4zG4d!Vc|o*skGql576oGQCq~`tkPO&hg{I^&2|{{f(XKM zzv$)8u(`xZjwhQw0hKPo-Qw!JYmz9%a+i#K_sdZ$wk_%#eDC^BU{&71_DhLdBPo=L zshwc&TfB;_XY#Da?!P${NVwhmlFO*1sZp9ND{=0qqXsg95*g+RNQBt{*+u=$OY}PQRrG`oUNm%ykmG+cj2lGx zB{=C0Zb^B_8H%qfwi;Uu#TE&sHX8_R6)ZsY8WQ4CTVq)PWmOVaM_6#kbw@k`S;zw` m6kkb0+^w@O6u>Sx#vP;7N diff --git a/mayan/apps/folders/locale/es/LC_MESSAGES/django.po b/mayan/apps/folders/locale/es/LC_MESSAGES/django.po index c6deaf9ce7..5de5e425eb 100644 --- a/mayan/apps/folders/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 @@ -13,14 +13,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-05-09 01:41+0000\n" +"PO-Revision-Date: 2017-04-21 17:50+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" -"language/es/)\n" -"Language: es\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 @@ -37,22 +36,16 @@ msgid "Documents" msgstr "Documentos" #: links.py:24 links.py:34 -#, fuzzy -#| msgid "Remove from folder" msgid "Remove from folders" -msgstr "Remover de la carpeta" +msgstr "" #: links.py:27 -#, fuzzy -#| msgid "Add to a folder" msgid "Add to a folders" -msgstr "Añadir a una carpeta" +msgstr "" #: links.py:31 -#, fuzzy -#| msgid "Add to folder" msgid "Add to folders" -msgstr "Añadir a carpeta" +msgstr "" #: links.py:42 views.py:37 msgid "Create folder" @@ -68,7 +61,7 @@ msgstr "Editar" #: links.py:53 msgid "All" -msgstr "" +msgstr "Todos" #: models.py:18 msgid "Label" @@ -99,6 +92,7 @@ msgid "Edit folders" msgstr "Editar carpetas" #: permissions.py:16 +#| msgid "Delete new folders" msgid "Delete folders" msgstr "Borrar carpetas" @@ -107,6 +101,7 @@ msgid "Remove documents from folders" msgstr "Eliminar documentos de las carpetas" #: permissions.py:22 +#| msgid "Edit new folders" msgid "View folders" msgstr "Ver carpetas" @@ -120,6 +115,7 @@ msgstr "Llave primaria del documento a ser agregado." #: views.py:49 #, python-format +#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "¿Eliminar la carpeta: %s?" @@ -150,21 +146,18 @@ msgstr "" #: views.py:137 msgid "Add" -msgstr "" +msgstr "Agregar" #: views.py:139 -#, fuzzy -#| msgid "Add documents to folders" msgid "Add document to folders" msgid_plural "Add documents to folders" -msgstr[0] "Agregar documentos a carpetas" -msgstr[1] "Agregar documentos a carpetas" +msgstr[0] "" +msgstr[1] "" #: views.py:150 -#, fuzzy, python-format -#| msgid "Add documents to folders" +#, python-format msgid "Add document \"%s\" to folders" -msgstr "Agregar documentos a carpetas" +msgstr "" #: views.py:161 msgid "Folders to which the selected documents will be added." @@ -192,60 +185,58 @@ msgstr "" #: views.py:222 msgid "Remove" -msgstr "" +msgstr "Eliminar" #: views.py:224 -#, fuzzy #| msgid "Remove documents from folders" msgid "Remove document from folders" msgid_plural "Remove documents from folders" -msgstr[0] "Eliminar documentos de las carpetas" -msgstr[1] "Eliminar documentos de las carpetas" +msgstr[0] "" +msgstr[1] "" #: views.py:235 -#, fuzzy, python-format +#, python-format #| msgid "Remove documents from folders" msgid "Remove document \"%s\" to folders" -msgstr "Eliminar documentos de las carpetas" +msgstr "" #: views.py:246 msgid "Folders from which the selected documents will be removed." msgstr "" #: views.py:273 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s is not in folder: %(folder)s." -msgstr "Documento: %(document)s ya está en la carpeta: %(folder)s." +msgstr "" #: views.py:282 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s removed from folder: %(folder)s." -msgstr "Documento: %(document)s ya está en la carpeta: %(folder)s." +msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Debe proporcionar al menos un documento." +#~ msgstr "Must provide at least one document." #~ msgid "Add document to folder" #~ msgid_plural "Add documents to folder" -#~ msgstr[0] "Añadir documento a la carpeta" -#~ msgstr[1] "Añadir los documentos a la carpeta" +#~ msgstr[0] "97c0d1f6a737e93c542fd20ae2682559_pl_0" +#~ msgstr[1] "97c0d1f6a737e93c542fd20ae2682559_pl_1" #~ msgid "Must provide at least one folder document." -#~ msgstr "Debe proveer al menos un documento de carpeta." +#~ msgstr "Must provide at least one folder document." #~ msgid "Document: %s removed successfully." -#~ msgstr "Documento: %s eliminado con éxito." +#~ msgstr "Document: %s removed successfully." #~ msgid "Document: %(document)s delete error: %(error)s" -#~ msgstr "Documento: %(document)s error de eliminación: %(error)s " +#~ msgstr "Document: %(document)s delete error: %(error)s" #~ msgid "Remove the selected document from the folder: %(folder)s?" #~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" -#~ msgstr[0] "¿Eliminar el documento seleccionado de la carpeta: %(folder)s?" -#~ msgstr[1] "" -#~ "¿Eliminar los documentos seleccionados de la carpeta: %(folder)s?" +#~ msgstr[0] "81c6b0124b038e876c41a6794709629b_pl_0" +#~ msgstr[1] "81c6b0124b038e876c41a6794709629b_pl_1" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -293,11 +284,11 @@ msgstr "Documento: %(document)s ya está en la carpeta: %(folder)s." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -330,12 +321,12 @@ msgstr "Documento: %(document)s ya está en la carpeta: %(folder)s." #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." diff --git a/mayan/apps/folders/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/folders/locale/fa/LC_MESSAGES/django.mo index aa8f61db7d4b41b80fbebb70d5b51d874be2a7ff..35070c51cc38650bbf4a555e18919ec53ed19447 100644 GIT binary patch delta 565 zcmZ9}ze_?<6u|LkzSK+MA*x71IO_T zWuup>Qh10#*2j>3%x1dKLGr2@a+|V8Za{(_%%FGk^m21j%N}RwB!5G$_F0YdMygMEYO#~xh yUpSJ8MAg0C|F;rLL}Is}y2IjZmKrzBgGQxUR!g==HD?d0Q+vf)ZI;x7Bk%)y{Y%aO literal 2305 zcmai!&u`pB6vu}Wpe(-&6b`KzK$Q}}yX#Fsk)sGoen>@K5ta>Han`e2Bd@*kc=O`` zB7tmj$Pq3G#HmUerCriQqp8-Dup8{J6zXTt{d>ecg{1$u^yav7p?t`@d zA8-OZ_b_9xfeYZ{;0pK>xDJkh--8tACy@MfLGphad<8rP9|7-zuY-SrZ-A$<`8+rd zo&i4sJIKKTb>6$h;6C^kcnTt>!2&o2N-zih z2$GIn@JaADkaVbI{xA3(<|C&W8wJmTwC`Q81bzTs0>1!9!Cyh@#b033f~c;vhjh^( zy%eiAp1{KkxM<(gxTrr=TN)^Pe?Uq!P_n4TRHyVfn@kWostroVUc^Q9ra^hIOP0kg zuhwn~H{gNC>z-o?KeH_FS%;OGwj1o4_JtXU-n)2au^Frdc2n?L^coAo5rJScNmzql z80|?Iliai{VGTmk+gKFd$#$(Kq^!3cXElF62Ug^s3*YyA+8sTN$@`hx2GIi`^2fP~XnB61m1V=WwD;Q$sZ~9L=jK1GYSD>+y+%jE;H9Ge zj;8BcX`B~J#@iRQ;>BVShFV1|+2l8ER~*+$Ixp#luD@Bt$X!9!TGcmQ>6ig^y5cPg zABVBxNz=DI7`TnL*$`S)m`#JvlU9fvy&429qfl60Ud{)!-L8w3e9dbX{CJ~ZXi_$s zu$r>qBu)x-voMw`UoOuMlGgLZ+%#H+Pe-e+wvbUER)RvyLGLDc?W*ZZ5lk&q=d_7| z9Yw4QUz>Gno`nt@d}7fK`eF@UH*@n&+czC;&hwkn;BG6L$|-%4$B$FR$s7xJ!b8=; zz01RcaEFJxYLlyDwG|%W0qeKJ9kqtXlk2K;XFKfDj^0{g93H4G_~@$5|9c4s`%x@) zoZfVZwVUCd+Wh0I?eHjew1>3=*x%%8i-)(=26S{FsON%(H^QIQ8jIw2Gv7W(7Dz>H zK-QXC$Bw;TUW2Hq{{z^kazgz4P_K~q3&rPgcoyGkqGs#-gA46JdX2R8GxPz7CRM3pd zaD diff --git a/mayan/apps/folders/locale/fa/LC_MESSAGES/django.po b/mayan/apps/folders/locale/fa/LC_MESSAGES/django.po index fb57e3ef38..bbd4f34faf 100644 --- a/mayan/apps/folders/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" -"language/fa/)\n" -"Language: fa\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 @@ -33,22 +32,16 @@ msgid "Documents" msgstr "اسناد" #: links.py:24 links.py:34 -#, fuzzy -#| msgid "Remove from folder" msgid "Remove from folders" -msgstr "حذف از پرونده" +msgstr "" #: links.py:27 -#, fuzzy -#| msgid "Add to a folder" msgid "Add to a folders" -msgstr "اضافه به پرونده" +msgstr "" #: links.py:31 -#, fuzzy -#| msgid "Add to folder" msgid "Add to folders" -msgstr "اضافه به پرونده" +msgstr "" #: links.py:42 views.py:37 msgid "Create folder" @@ -95,6 +88,7 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 +#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -103,6 +97,7 @@ msgid "Remove documents from folders" msgstr "حذف اسناد از پرونده ها" #: permissions.py:22 +#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -116,6 +111,7 @@ msgstr "" #: views.py:49 #, python-format +#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" @@ -146,21 +142,17 @@ msgstr "" #: views.py:137 msgid "Add" -msgstr "" +msgstr "افزودن" #: views.py:139 -#, fuzzy -#| msgid "Add document to folder" -#| msgid_plural "Add documents to folder" msgid "Add document to folders" msgid_plural "Add documents to folders" -msgstr[0] "اسناد را به پوشه اضافه کنید" +msgstr[0] "" #: views.py:150 -#, fuzzy, python-format -#| msgid "Add document: %s to folder." +#, python-format msgid "Add document \"%s\" to folders" -msgstr "Add document: %s to folder." +msgstr "" #: views.py:161 msgid "Folders to which the selected documents will be added." @@ -188,48 +180,55 @@ msgstr "" #: views.py:222 msgid "Remove" -msgstr "" +msgstr "حذف" #: views.py:224 -#, fuzzy #| msgid "Remove documents from folders" msgid "Remove document from folders" msgid_plural "Remove documents from folders" -msgstr[0] "حذف اسناد از پرونده ها" +msgstr[0] "" #: views.py:235 -#, fuzzy, python-format +#, python-format #| msgid "Remove documents from folders" msgid "Remove document \"%s\" to folders" -msgstr "حذف اسناد از پرونده ها" +msgstr "" #: views.py:246 msgid "Folders from which the selected documents will be removed." msgstr "" #: views.py:273 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s is not in folder: %(folder)s." -msgstr "سند%(document)s درون پرونده%(folder)s. میباشد." +msgstr "" #: views.py:282 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s removed from folder: %(folder)s." -msgstr "سند%(document)s درون پرونده%(folder)s. میباشد." +msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "حداقل یک سند باید ارایه شود." +#~ msgstr "Must provide at least one document." + +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "97c0d1f6a737e93c542fd20ae2682559_pl_0" #~ msgid "Must provide at least one folder document." -#~ msgstr "حداقل یک پرونده سند باید ارایه گردد." +#~ msgstr "Must provide at least one folder document." #~ msgid "Document: %s removed successfully." -#~ msgstr "سند: %s با موفقیت حذف شد." +#~ msgstr "Document: %s removed successfully." #~ msgid "Document: %(document)s delete error: %(error)s" -#~ msgstr "سند%(document)s خطای حذف%(error)s" +#~ msgstr "Document: %(document)s delete error: %(error)s" + +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "81c6b0124b038e876c41a6794709629b_pl_0" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -270,15 +269,18 @@ msgstr "سند%(document)s درون پرونده%(folder)s. میباشد." #~ msgid "Add document to a folder" #~ msgstr "Add document to a folder" +#~ msgid "Add document: %s to folder." +#~ msgstr "Add document: %s to folder." + #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -311,12 +313,12 @@ msgstr "سند%(document)s درون پرونده%(folder)s. میباشد." #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." diff --git a/mayan/apps/folders/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/folders/locale/fr/LC_MESSAGES/django.mo index 768c59ea0a89daf1c2b17286c38ce66624ca84e6..457c6bd38540d0d41a19b65fbef1e4bdae77fc4a 100644 GIT binary patch delta 746 zcmY+>KS*0q6vy!!^WW4a#x{*cYY+`m2x<&gM2aHVf`fvSi&V^$M3km^6c^FWr8-@l zEG@;Ql;RSlLziv^DRyyium!*<9yPrIWt^SMqHVu(tG&3$4 z9gN=|9>nV!W4t(nNp!FdSMVXOV-UA6hT9mx-P`X!Fv0(QjN%Du-Z>5#vubMCy`L8& z7{+CMf@|o*kEn&)_yDV@1V2%Ue_<>BK|h{hCtjiEJ!O*?>_Dv_!S@_)0)yl?$E<4O z!ztEdkW~%Xh}s~_qY3k<0>@D&nnHD~jGDiJA^eOl@hgtu1!~<3s#OPHq2|qCiu`7t zACGYjBlrPT=@(RCd#D9RsH-_aZ5ZTb2J2Dl`|<1QFlRiZ{m@j!-ay4dXpa4PJ92_dEYbp z-S^fm`Mc~Vf2$o0Ow~QlcIUIXo^(%cAlGZZ1ycXt^bO?ts)vEN$7Vw9RX61I*q!j8 rjn;12R3sCgd{-`4N{dd#4n;Z>!*g?`*`iZPFF0RQ~KzWqM5L!qI>sJCqPD2QJpg^n!$K(iXcE|CC^{$zjbz%gZ z-~wEWgv24-FdVocAtVl1`~l^_2^9$>{sAtO6W`yy9gjrgMWf_ z-d`Zu@elYYc16AEN$@N1B6t-% z51z%QC%}2|987K)jX4~BMt)L@3 z&9%>4zH19PvaGJZuEGu2Zsrwa>K3FhwMgEL%oK~JHd};DMnm)*(wmnnPa4$G!YUGEG^Ob&*VI&@4S!Qe1h?TUQ#w8bysg085=K*)of==3!n4|ZysdS&Rx0i6 z>=ZTac3NV$X!)IzjP}V=hnz8l-BBes)=_H7(nO)YQeVn^t`y6K1r!w;jM40O;gA-) zy3}=1Wi#Arn^Flq`&x6^n9k(r#Fmi8l4togYO%(rHyxeYT0{N|Yi=M-*I4#tN7cC3 z4X0|hI>V!%v*R9ro>wMj3T%Gc544ax@UkK>11^VyF2%x;A{B9kN@Z|W4;Hfb3GHHw zQV!Cb>KX1ur-jSuD)hyYXnVs!Vp1d&uSCjYb+k4dguRgq&D$c7xFggfhXYe1`D{Jt zc5#i+w9{X>mgGdN;=pB2mzq=C45heDhDCn^$y(N2s6Qodsbx|$hXZc*gcUZX;g|a( zb!bP+>p`c4JLHWbAJA#TOLE;7D$sK5;b0pf?jj6|{<>@w4BXDA^iUh9v4=6+=R?+d zGuIKvG-VVrR!2Rykm>Zte^1SXMibGY)9)sDu@l zlmFguKz~gpN|yrI@&oBPlIpeNI|xOt(u-`v58#LBiFb|^qQOkBqc%9nlxaCCpvi%p_OPor?)q p!vS@56bvGf%TfOCd+vW|&RadAJ6`~!%I8}x$7+Xm(eC)R{R@wqjw%2E diff --git a/mayan/apps/folders/locale/fr/LC_MESSAGES/django.po b/mayan/apps/folders/locale/fr/LC_MESSAGES/django.po index d39a7bc2e9..8354e92018 100644 --- a/mayan/apps/folders/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pierre Lhoste , 2012 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" -"fr/)\n" -"Language: fr\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 @@ -36,22 +35,16 @@ msgid "Documents" msgstr "Documents" #: links.py:24 links.py:34 -#, fuzzy -#| msgid "Remove from folder" msgid "Remove from folders" -msgstr "Supprimer du dossier" +msgstr "" #: links.py:27 -#, fuzzy -#| msgid "Add to a folder" msgid "Add to a folders" -msgstr "Ajouter à un dossier" +msgstr "" #: links.py:31 -#, fuzzy -#| msgid "Add to folder" msgid "Add to folders" -msgstr "Ajouter au dossier" +msgstr "" #: links.py:42 views.py:37 msgid "Create folder" @@ -98,6 +91,7 @@ msgid "Edit folders" msgstr "Modifier les dossiers" #: permissions.py:16 +#| msgid "Delete new folders" msgid "Delete folders" msgstr "Supprimer les dossiers" @@ -106,6 +100,7 @@ msgid "Remove documents from folders" msgstr "Retirer des documents des répertoires" #: permissions.py:22 +#| msgid "Edit new folders" msgid "View folders" msgstr "Afficher les dossiers" @@ -119,6 +114,7 @@ msgstr "Clé primaire du document à ajouter." #: views.py:49 #, python-format +#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "Supprimer les dossier : %s ?" @@ -149,21 +145,18 @@ msgstr "" #: views.py:137 msgid "Add" -msgstr "" +msgstr "Ajouter" #: views.py:139 -#, fuzzy -#| msgid "Add documents to folders" msgid "Add document to folders" msgid_plural "Add documents to folders" -msgstr[0] "Ajouter des documents aux dossiers" -msgstr[1] "Ajouter des documents aux dossiers" +msgstr[0] "" +msgstr[1] "" #: views.py:150 -#, fuzzy, python-format -#| msgid "Add documents to folders" +#, python-format msgid "Add document \"%s\" to folders" -msgstr "Ajouter des documents aux dossiers" +msgstr "" #: views.py:161 msgid "Folders to which the selected documents will be added." @@ -172,8 +165,7 @@ msgstr "" #: views.py:190 #, python-format msgid "Document: %(document)s is already in folder: %(folder)s." -msgstr "" -"Document: %(document)s est déjà présent dans le répertoire: %(folder)s." +msgstr "Document: %(document)s est déjà présent dans le répertoire: %(folder)s." #: views.py:200 #, python-format @@ -192,65 +184,58 @@ msgstr "" #: views.py:222 msgid "Remove" -msgstr "" +msgstr "Supprimer" #: views.py:224 -#, fuzzy #| msgid "Remove documents from folders" msgid "Remove document from folders" msgid_plural "Remove documents from folders" -msgstr[0] "Retirer des documents des répertoires" -msgstr[1] "Retirer des documents des répertoires" +msgstr[0] "" +msgstr[1] "" #: views.py:235 -#, fuzzy, python-format +#, python-format #| msgid "Remove documents from folders" msgid "Remove document \"%s\" to folders" -msgstr "Retirer des documents des répertoires" +msgstr "" #: views.py:246 msgid "Folders from which the selected documents will be removed." msgstr "" #: views.py:273 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s is not in folder: %(folder)s." msgstr "" -"Document: %(document)s est déjà présent dans le répertoire: %(folder)s." #: views.py:282 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s removed from folder: %(folder)s." msgstr "" -"Document: %(document)s est déjà présent dans le répertoire: %(folder)s." #~ msgid "Must provide at least one document." -#~ msgstr "Il est nécessaire de fournir au moins un document." +#~ msgstr "Must provide at least one document." #~ msgid "Add document to folder" #~ msgid_plural "Add documents to folder" -#~ msgstr[0] "Ajouter un document au répertoire" -#~ msgstr[1] "Ajouter les documents au répertoire" +#~ msgstr[0] "97c0d1f6a737e93c542fd20ae2682559_pl_0" +#~ msgstr[1] "97c0d1f6a737e93c542fd20ae2682559_pl_1" #~ msgid "Must provide at least one folder document." -#~ msgstr "Vous devez fournir au moins un document pour le répertoire." +#~ msgstr "Must provide at least one folder document." #~ msgid "Document: %s removed successfully." -#~ msgstr "Document: %s supprimé avec succès." +#~ msgstr "Document: %s removed successfully." #~ msgid "Document: %(document)s delete error: %(error)s" -#~ msgstr "Document: %(document)s erreur de suppression: %(error)s" +#~ msgstr "Document: %(document)s delete error: %(error)s" #~ msgid "Remove the selected document from the folder: %(folder)s?" #~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" -#~ msgstr[0] "" -#~ "Êtes vous certain de vouloir supprimer le document sélectionné du dossier " -#~ "%(folder)s ?" -#~ msgstr[1] "" -#~ "Êtes vous certain de vouloir supprimer les documents sélectionnés du " -#~ "dossier %(folder)s ?" +#~ msgstr[0] "81c6b0124b038e876c41a6794709629b_pl_0" +#~ msgstr[1] "81c6b0124b038e876c41a6794709629b_pl_1" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -298,11 +283,11 @@ msgstr "" #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -335,12 +320,12 @@ msgstr "" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." diff --git a/mayan/apps/folders/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/folders/locale/hu/LC_MESSAGES/django.mo index e6afc465994fe0bc28e60e172e5305f6fd43a7ac..e9f68cf9d577d00863db1d449d5cd483d8a84772 100644 GIT binary patch delta 259 zcmYL?%L+kJ6o%J64sshXQin1WDGs@naxDV}%D^)in;V%aWu*+gg9+sgyn|A_gN%Gf z$*Qk!ueH~|_bYr2E^i5YCsYtpFog)L!K)Lr;S69AwB>A delta 673 zcmZ|L&ui2`6bJB0w{>+b=z1x&3PYu!VoH+!P?jECsZh{W>B)na?B;bzGuc@(lZE!O z^e>PSdX_!*(39AM^fpKR7Zf~s5PDHW(SzTKhgHM}FP~)Q<>gJ@RKL}R?=MXrFvNM} z6{JSik#CVUE;@|eg>|?HH{l()2j}5ycn-dUXW&Ozg{SZu{0eWv%M*-Uh4aVD>3%^fpS8K?r{a4RsA`+yDQV~GY2|J|FxU%^*X+l{MTbCM`?*d, 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/hu/)\n" -"Language: hu\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 @@ -34,22 +33,16 @@ msgid "Documents" msgstr "dokumentumok" #: links.py:24 links.py:34 -#, fuzzy -#| msgid "Remove documents from folders" msgid "Remove from folders" -msgstr "Dokumentumok eltávolítása a mappákból" +msgstr "" #: links.py:27 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to a folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:31 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:42 views.py:37 msgid "Create folder" @@ -96,6 +89,7 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 +#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -104,6 +98,7 @@ msgid "Remove documents from folders" msgstr "Dokumentumok eltávolítása a mappákból" #: permissions.py:22 +#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -117,6 +112,7 @@ msgstr "" #: views.py:49 #, python-format +#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" @@ -150,18 +146,15 @@ msgid "Add" msgstr "" #: views.py:139 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add document to folders" msgid_plural "Add documents to folders" -msgstr[0] "Add document to a folder" -msgstr[1] "Add document to a folder" +msgstr[0] "" +msgstr[1] "" #: views.py:150 -#, fuzzy, python-format -#| msgid "Add document: %s to folder." +#, python-format msgid "Add document \"%s\" to folders" -msgstr "Add document: %s to folder." +msgstr "" #: views.py:161 msgid "Folders to which the selected documents will be added." @@ -192,46 +185,55 @@ msgid "Remove" msgstr "" #: views.py:224 -#, fuzzy #| msgid "Remove documents from folders" msgid "Remove document from folders" msgid_plural "Remove documents from folders" -msgstr[0] "Dokumentumok eltávolítása a mappákból" -msgstr[1] "Dokumentumok eltávolítása a mappákból" +msgstr[0] "" +msgstr[1] "" #: views.py:235 -#, fuzzy, python-format +#, python-format #| msgid "Remove documents from folders" msgid "Remove document \"%s\" to folders" -msgstr "Dokumentumok eltávolítása a mappákból" +msgstr "" #: views.py:246 msgid "Folders from which the selected documents will be removed." msgstr "" #: views.py:273 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s is not in folder: %(folder)s." -msgstr "A %(document)s nevű dokumentum már van a %(folder)s. mappában." +msgstr "" #: views.py:282 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s removed from folder: %(folder)s." -msgstr "A %(document)s nevű dokumentum már van a %(folder)s. mappában." +msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Adjon meg legalább egy dokumentumot." +#~ msgstr "Must provide at least one document." + +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "97c0d1f6a737e93c542fd20ae2682559_pl_0" +#~ msgstr[1] "97c0d1f6a737e93c542fd20ae2682559_pl_1" #~ msgid "Must provide at least one folder document." -#~ msgstr "Legalább egy dokumentum mappa szükséges" +#~ msgstr "Must provide at least one folder document." #~ msgid "Document: %s removed successfully." -#~ msgstr "A %s dokumentum eltávolítása sikerült." +#~ msgstr "Document: %s removed successfully." #~ msgid "Document: %(document)s delete error: %(error)s" -#~ msgstr "Hiba %(error)s a %(document)s dokumentum törlésekor." +#~ msgstr "Document: %(document)s delete error: %(error)s" + +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "81c6b0124b038e876c41a6794709629b_pl_0" +#~ msgstr[1] "81c6b0124b038e876c41a6794709629b_pl_1" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -269,15 +271,21 @@ msgstr "A %(document)s nevű dokumentum már van a %(folder)s. mappában." #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" +#~ msgid "Add document to a folder" +#~ msgstr "Add document to a folder" + +#~ msgid "Add document: %s to folder." +#~ msgstr "Add document: %s to folder." + #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -310,12 +318,12 @@ msgstr "A %(document)s nevű dokumentum már van a %(folder)s. mappában." #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." diff --git a/mayan/apps/folders/locale/id/LC_MESSAGES/django.mo b/mayan/apps/folders/locale/id/LC_MESSAGES/django.mo index 902719afa10161f779b097cfd5a70688efcf1732..2a3525b88b66e1141d4cbc217c5cab73c7cbaf6d 100644 GIT binary patch delta 188 zcmX@ax|C&tN+L4@14AJYa{_TG5VHYsJrH*?GBC73`2tJ~4D3L*IFM!q((*tWC=CWc zCIiR}77))dC56EyKe;qFHLs+YAt*IBzbtj)Szl9gT>}$cBSQs4BP%0gAltxzE5Khj zD77rJI5R&_*Cnwe)k?w0z!0v^%*x1Yvp*vzqi9KDZc<_f(9~>@sSFv31*OFd0Q;yT AssI20 delta 323 zcmZ9GJ5Iwu5QfJP6s6zG{X_OdFOlr)>Fc<~5v!>WA{dYsF_03Y+&PmNzYAbP4 j%JT0u{Xe=C+c~bZLM$&3ck1&@iuys=iSKYxAB^b-$@N%% diff --git a/mayan/apps/folders/locale/id/LC_MESSAGES/django.po b/mayan/apps/folders/locale/id/LC_MESSAGES/django.po index d485caf52d..195392107e 100644 --- a/mayan/apps/folders/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/id/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" -"language/id/)\n" -"Language: id\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 @@ -37,16 +36,12 @@ msgid "Remove from folders" msgstr "" #: links.py:27 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to a folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:31 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:42 views.py:37 msgid "Create folder" @@ -93,6 +88,7 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 +#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -101,6 +97,7 @@ msgid "Remove documents from folders" msgstr "" #: permissions.py:22 +#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -114,6 +111,7 @@ msgstr "" #: views.py:49 #, python-format +#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" @@ -144,20 +142,17 @@ msgstr "" #: views.py:137 msgid "Add" -msgstr "" +msgstr "tambah" #: views.py:139 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add document to folders" msgid_plural "Add documents to folders" -msgstr[0] "Add document to a folder" +msgstr[0] "" #: views.py:150 -#, fuzzy, python-format -#| msgid "Add document: %s to folder." +#, python-format msgid "Add document \"%s\" to folders" -msgstr "Add document: %s to folder." +msgstr "" #: views.py:161 msgid "Folders to which the selected documents will be added." @@ -185,39 +180,55 @@ msgstr "" #: views.py:222 msgid "Remove" -msgstr "" +msgstr "hapus" #: views.py:224 -#, fuzzy -#| msgid "Add document to a folder" +#| msgid "Remove documents from folders" msgid "Remove document from folders" msgid_plural "Remove documents from folders" -msgstr[0] "Add document to a folder" +msgstr[0] "" #: views.py:235 -#, fuzzy, python-format -#| msgid "Add document: %s to folder." +#, python-format +#| msgid "Remove documents from folders" msgid "Remove document \"%s\" to folders" -msgstr "Add document: %s to folder." +msgstr "" #: views.py:246 msgid "Folders from which the selected documents will be removed." msgstr "" #: views.py:273 -#, fuzzy, python-format -#| msgid "Document: %(document)s delete error: %(error)s" +#, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s is not in folder: %(folder)s." -msgstr "Dokumen: %(document)s penghapusan bermasalah: %(error)s" +msgstr "" #: views.py:282 -#, fuzzy, python-format -#| msgid "Document: %(document)s delete error: %(error)s" +#, python-format +#| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s removed from folder: %(folder)s." -msgstr "Dokumen: %(document)s penghapusan bermasalah: %(error)s" +msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Harus memberikan setidaknya satu dokumen." +#~ msgstr "Must provide at least one document." + +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "97c0d1f6a737e93c542fd20ae2682559_pl_0" + +#~ msgid "Must provide at least one folder document." +#~ msgstr "Must provide at least one folder document." + +#~ msgid "Document: %s removed successfully." +#~ msgstr "Document: %s removed successfully." + +#~ msgid "Document: %(document)s delete error: %(error)s" +#~ msgstr "Document: %(document)s delete error: %(error)s" + +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "81c6b0124b038e876c41a6794709629b_pl_0" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -255,15 +266,21 @@ msgstr "Dokumen: %(document)s penghapusan bermasalah: %(error)s" #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" +#~ msgid "Add document to a folder" +#~ msgstr "Add document to a folder" + +#~ msgid "Add document: %s to folder." +#~ msgstr "Add document: %s to folder." + #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -296,12 +313,12 @@ msgstr "Dokumen: %(document)s penghapusan bermasalah: %(error)s" #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." diff --git a/mayan/apps/folders/locale/it/LC_MESSAGES/django.mo b/mayan/apps/folders/locale/it/LC_MESSAGES/django.mo index d1bfbbdc726170a2cf60927c7e18dd2d3f5226b6..6a5ce41672278675a294e858795a92a7180ec172 100644 GIT binary patch delta 729 zcmY+>%PT}t9Ki82Gk3;inDKtU9}y;8&sd<5WFaeMBafN#n2lF99y=R$CrZLXSx8w> z78a~1DH{tLihn@FLN>m?=}J!XyPvuD-1|Gf-#PCYSBWc6$;O6aU2T?}cI=C=~ zol3cI1T!&=3Al_tT*nyP#zfpl51!id=a|m@4f^pJ<-IrTP-;av$=`u>wC)-peOR9+sheAH+kN>qnFI)i+-iGhy(ybXIQL zh>{@4MGERg6Gt%#r%-ln36pWl_6U2pzrZ#$sZtv2LMfyVB~Jv?SYOTaM-r~t6FasC zD4iUmBzV9od_jK7N0uT?M=87o?Nf^u#G_~fvU_p_vO6-ogdCkTH7*^XA-~sR>@Lup5_$2rZh#$L&8`=30ydV4xB!7Q` z6vsc{^Wd&MjN!));PwL8244oxf^BdEd=|V4PJ!Qo4!jAH-9;Gv0()}~JcaqcFivru zyeHq60HnMwgS0On7yJ~Yc&>pI_tzkP>;`U+fIorHfWL#}cMp;z?giff4}m`Dz*+Db z_!9UBh##A3<#F!=VS@SKcl`v;1I)*hdLN1GIiW(KGbn2 z&BU_(|8<)wKwUHq)aK@m6i$}!CT5o9(~zBkh*OE=K_-m_8A~S%6w0=oy0y}t&tJ4B z*qJhkB7-e+=oJDGZ9IP`T_@yT})-eO$~>I)`Nid7x7# zRI1Xbstbf?*;#Qx#%wUQj*pC9SE1y>@mLBh=u}q1o!iLd8`}_FHYyQjlV6mZTn{;& zX?ZksBp2X=j;F&`vTdkdT0S&7sZuH4Hr7f7vS@KYfx{kFrZd5b0;%Z#t``*kE-kb4XIqLO}_IeQXR^+-OyG^;?Yu?OJ-tYNG`iFWLt+O~F zZ`Fv@#==pB4ulCbpBKp}mR9oPIDkNRf@0oDf|F4qRNM)4@;bEBXe=V>txA#je94Je zA%pgsb0fdo-PqXZII^vV@)BuujkdxlZMq4i>d7#%-MBE)RjxbT8Y~SK>K*BKdaZes z9NLe!x;a9+PF`}|QH&a#<-wXTR=T;jR~NlwwH$dIO5-i0feulrK0kIrxhhznW3n8N zjflNPZ4&GAbd*i)+{`S`ALrUB-#^Fu)3YshDvH!NjZ{@3Xk>9Lcp!|Ec-StWb`q#< zWFly0xeZy{5FsC@w=zEIld7Q97Fm-lXEJY@nmVT7l4~P)sIs>CKFR^FMH*yrmk$li z;+2uSksy8HC!m(6TW`bmB~`USRO@6T%{Gz#1DadcY;8Lah7WCDtW+J9T7*f|3pIJQQ5yABi-Qt*B&-e, 2012 @@ -14,14 +14,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-09-24 10:31+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 @@ -38,22 +37,16 @@ msgid "Documents" msgstr "Documenti" #: links.py:24 links.py:34 -#, fuzzy -#| msgid "Remove from folder" msgid "Remove from folders" -msgstr "Rimuovi dalla cartella" +msgstr "" #: links.py:27 -#, fuzzy -#| msgid "Add to a folder" msgid "Add to a folders" -msgstr "Aggiungi ad una cartella" +msgstr "" #: links.py:31 -#, fuzzy -#| msgid "Add to folder" msgid "Add to folders" -msgstr "Aggiungi alla cartella" +msgstr "" #: links.py:42 views.py:37 msgid "Create folder" @@ -100,6 +93,7 @@ msgid "Edit folders" msgstr "Modifica cartelle" #: permissions.py:16 +#| msgid "Delete new folders" msgid "Delete folders" msgstr "Cancella cartelle" @@ -108,6 +102,7 @@ msgid "Remove documents from folders" msgstr "Rimuovere i documenti da cartelle" #: permissions.py:22 +#| msgid "Edit new folders" msgid "View folders" msgstr "Vedi cartelle" @@ -121,6 +116,7 @@ msgstr "Chiave primaria del documento da aggiungere" #: views.py:49 #, python-format +#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "Cancellare la cartella: %s?" @@ -151,21 +147,18 @@ msgstr "" #: views.py:137 msgid "Add" -msgstr "" +msgstr "Aggiungi" #: views.py:139 -#, fuzzy -#| msgid "Add documents to folders" msgid "Add document to folders" msgid_plural "Add documents to folders" -msgstr[0] "Aggiungi i documenti alle cartelle" -msgstr[1] "Aggiungi i documenti alle cartelle" +msgstr[0] "" +msgstr[1] "" #: views.py:150 -#, fuzzy, python-format -#| msgid "Add documents to folders" +#, python-format msgid "Add document \"%s\" to folders" -msgstr "Aggiungi i documenti alle cartelle" +msgstr "" #: views.py:161 msgid "Folders to which the selected documents will be added." @@ -179,8 +172,7 @@ msgstr "Documento: %(document)s è già nella cartella: %(folder)s." #: views.py:200 #, python-format msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "" -"Documento: %(document)s aggiunto alla cartella: %(folder)s successfully." +msgstr "Documento: %(document)s aggiunto alla cartella: %(folder)s successfully." #: views.py:212 #, python-format @@ -194,59 +186,58 @@ msgstr "" #: views.py:222 msgid "Remove" -msgstr "" +msgstr "Rimuovi" #: views.py:224 -#, fuzzy #| msgid "Remove documents from folders" msgid "Remove document from folders" msgid_plural "Remove documents from folders" -msgstr[0] "Rimuovere i documenti da cartelle" -msgstr[1] "Rimuovere i documenti da cartelle" +msgstr[0] "" +msgstr[1] "" #: views.py:235 -#, fuzzy, python-format +#, python-format #| msgid "Remove documents from folders" msgid "Remove document \"%s\" to folders" -msgstr "Rimuovere i documenti da cartelle" +msgstr "" #: views.py:246 msgid "Folders from which the selected documents will be removed." msgstr "" #: views.py:273 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s is not in folder: %(folder)s." -msgstr "Documento: %(document)s è già nella cartella: %(folder)s." +msgstr "" #: views.py:282 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s removed from folder: %(folder)s." -msgstr "Documento: %(document)s è già nella cartella: %(folder)s." +msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Bisogna fornire almeno un documento." +#~ msgstr "Must provide at least one document." #~ msgid "Add document to folder" #~ msgid_plural "Add documents to folder" -#~ msgstr[0] "Aggiungi documento alla cartella" -#~ msgstr[1] "Aggiungi documenti alla cartella" +#~ msgstr[0] "97c0d1f6a737e93c542fd20ae2682559_pl_0" +#~ msgstr[1] "97c0d1f6a737e93c542fd20ae2682559_pl_1" #~ msgid "Must provide at least one folder document." -#~ msgstr "Devi almeno indicare una cartella documenti." +#~ msgstr "Must provide at least one folder document." #~ msgid "Document: %s removed successfully." -#~ msgstr "Documento: %s cancellato con successo." +#~ msgstr "Document: %s removed successfully." #~ msgid "Document: %(document)s delete error: %(error)s" -#~ msgstr "Documento: %(document)s errore di cancellazione: %(error)s" +#~ msgstr "Document: %(document)s delete error: %(error)s" #~ msgid "Remove the selected document from the folder: %(folder)s?" #~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" -#~ msgstr[0] "Rimuovere il documento selezionato dalla cartella: %(folder)s?" -#~ msgstr[1] "Rimuovere i documenti selezionati dalla cartella: %(folder)s?" +#~ msgstr[0] "81c6b0124b038e876c41a6794709629b_pl_0" +#~ msgstr[1] "81c6b0124b038e876c41a6794709629b_pl_1" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -294,11 +285,11 @@ msgstr "Documento: %(document)s è già nella cartella: %(folder)s." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -331,12 +322,12 @@ msgstr "Documento: %(document)s è già nella cartella: %(folder)s." #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." diff --git a/mayan/apps/folders/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/folders/locale/nl_NL/LC_MESSAGES/django.mo index e66bca40b5135701b5f205fe5af73cdb609bebbd..4ee4ace053eb17739a8193973c33337a3be655db 100644 GIT binary patch delta 878 zcmY+>OKVd>6u|LmnlwqD8mq0gwd0~xl*TmGD$zx?AV^(=AVPhBx8BjbZ@jsU7R0&` z1#vgHD(Ir$K;32IMg4ff$Z?8he<#Wmc4>)3^_+T%^!L;pPv;1`s6TR5lGstS?) z1Rv%xj(2egA7U7vp)6d-UVMqN!E2O_-{ClZ#0Y-FgZK+&-hPsd;RMS1d3?^{vKV83 z^_^8R;Wx%`h*h$o#%@gEAf7}iFxwu#guCe%u?O#C>qc;n{u&;`Pbhg3R4enxQ1+R@ ze)dW!UrijLup0S&ek(uo;vzhel;S|w*-l+#u7ksB$FFS$fXLQb6GCpZ@ zUfuBvo;}y~r!(-3y&N44)r@UM-`XqT9=j0hwHvWXI~lKKS_Kw-qw8g}9GJ3hI8~iD qQk~I((GAbsG}Y~*lj@@JZx@QL@$FXpK>rz2Dilk);?!!Us{R5}sDQTs literal 2610 zcma)-$!{D*6o-otwqXe|I|Nc8MDir+S&W0s7=z>3MwUFmawZlBBvdo~W?bW5hOX+d zEe?nS2aX^CXE-259FaKXf-EB7h{P4~H$))ifCRtS>o_8W(sX}auU@^amicY!=w|{= z;yJ<3T|%5=9>ELkN3aI|1U?Pk1doBo?-t@=@KnY+_z3z7;CR)YY-bO=hFW|Co=1NP##nC;d>s57`aZ=|msoIt)S1|2+_?h)=*O_yyPizXy5z26!Btf)lp$5{UGZeZhXY zHk@DHc+L?#FW_OjoXc}~cn@)0+_*k$i|wM^$+`haeV+wUiljZ05g{av^W(k7_2yhS z4{n?%x5x1C9^(2I?Skt{H|)he1yqa?1>P zG_`;+6Zd*#Oh5L#{o3sexJi_fq9}}bcJfiZtv?Ny9ujo-r4F*BCY>JgV`M~rI7Wc~ z9!lxO9I|G_imPq%DqW<)qK>QSN~bU)qwIx&RXWhYpx74(&xm!^B~P?tW929c$J!;S ztn^4h5C&8z*ZxB%E$oEqW|CbYFtQ(oei30dIw2EVns$rvjVK&a&pKNv@kgTBLit|ez0%~zae)0uf$HfCDq zXPw4uqX9){lg66u-lErN%Eqg$#_YKUT4fz2a5|9+jHfK`ft4|NdKk#dN_kcXJMuM3 zB_mv_~J}-OQDl%jju5?zNxl)gv_9=2!f?nuiYqaECSKA`?mP~wAHoQ1ep0gT8zJY9% zbj`xdyi7kArUQ9uK{l)N6|ogkxx;Y&u${1Qz8W1Kq2T|HjVPU&n<7jt%;iEBw3XUP zM)HplG~rxaK;_8CsO7sT_N^YeJdg{q$#x;a^;mqd9d?|LNE{1@_{5Y~5 zx_t5{E~E66k3)}>9?%%CB!bLlaWmC$Tw^P{dML-aYb23dI&8HjabjZYlb0^t9j~Y^ z8LM!(mB*J#n$CplJQYqdyO%iPA`rK{!l=v?;T6V==+Z7lI~ZO{KJuDPbg?K{DPAoU zIQisda&>vru=_5JmBn7puBR)kfIl){2L@6jn?+5M?S=m!RF#67$TgvrD$9eb2UnA9 n^D4@4gtL)Pm{{WMj|Ab2(=E#ZmgBKT0Em2vcJwgWX*~W9pvk{$ diff --git a/mayan/apps/folders/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/folders/locale/nl_NL/LC_MESSAGES/django.po index 2caf7fcc57..c7ac614503 100644 --- a/mayan/apps/folders/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/nl_NL/LC_MESSAGES/django.po @@ -1,23 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 +# Johan Braeken, 2017 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-01 09:04+0000\n" -"Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" -"edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 @@ -34,22 +34,16 @@ msgid "Documents" msgstr "Documenten" #: links.py:24 links.py:34 -#, fuzzy -#| msgid "Remove from folder" msgid "Remove from folders" -msgstr "Verwijder uit map" +msgstr "" #: links.py:27 -#, fuzzy -#| msgid "Add to a folder" msgid "Add to a folders" -msgstr "Voeg toe aan een map" +msgstr "" #: links.py:31 -#, fuzzy -#| msgid "Add to folder" msgid "Add to folders" -msgstr "Voeg toe aan map" +msgstr "" #: links.py:42 views.py:37 msgid "Create folder" @@ -96,6 +90,7 @@ msgid "Edit folders" msgstr "Bewerk mappen" #: permissions.py:16 +#| msgid "Delete new folders" msgid "Delete folders" msgstr "Verwijder mappe" @@ -104,6 +99,7 @@ msgid "Remove documents from folders" msgstr "Verwijder documenten van mappen" #: permissions.py:22 +#| msgid "Edit new folders" msgid "View folders" msgstr "Bekijk mappen" @@ -113,10 +109,11 @@ msgstr "Voeg documenten toe aan mappe" #: serializers.py:58 msgid "Primary key of the document to be added." -msgstr "" +msgstr "Primaire sleutel van het toe te voegen document." #: views.py:49 #, python-format +#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "Verwijder de map: %s?" @@ -147,21 +144,18 @@ msgstr "" #: views.py:137 msgid "Add" -msgstr "" +msgstr "Voeg toe" #: views.py:139 -#, fuzzy -#| msgid "Add documents to folders" msgid "Add document to folders" msgid_plural "Add documents to folders" -msgstr[0] "Voeg documenten toe aan mappe" -msgstr[1] "Voeg documenten toe aan mappe" +msgstr[0] "" +msgstr[1] "" #: views.py:150 -#, fuzzy, python-format -#| msgid "Add documents to folders" +#, python-format msgid "Add document \"%s\" to folders" -msgstr "Voeg documenten toe aan mappe" +msgstr "" #: views.py:161 msgid "Folders to which the selected documents will be added." @@ -189,55 +183,58 @@ msgstr "" #: views.py:222 msgid "Remove" -msgstr "" +msgstr "Verwijder" #: views.py:224 -#, fuzzy #| msgid "Remove documents from folders" msgid "Remove document from folders" msgid_plural "Remove documents from folders" -msgstr[0] "Verwijder documenten van mappen" -msgstr[1] "Verwijder documenten van mappen" +msgstr[0] "" +msgstr[1] "" #: views.py:235 -#, fuzzy, python-format +#, python-format #| msgid "Remove documents from folders" msgid "Remove document \"%s\" to folders" -msgstr "Verwijder documenten van mappen" +msgstr "" #: views.py:246 msgid "Folders from which the selected documents will be removed." msgstr "" #: views.py:273 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s is not in folder: %(folder)s." -msgstr "Document: %(document)s bestaat al in map: %(folder)s." +msgstr "" #: views.py:282 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s removed from folder: %(folder)s." -msgstr "Document: %(document)s bestaat al in map: %(folder)s." +msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "U dient minstens 1 document aan te geven." +#~ msgstr "Must provide at least one document." #~ msgid "Add document to folder" #~ msgid_plural "Add documents to folder" -#~ msgstr[0] "Voeg document toe aan map" -#~ msgstr[1] "Voeg documenten toe aan map" +#~ msgstr[0] "97c0d1f6a737e93c542fd20ae2682559_pl_0" +#~ msgstr[1] "97c0d1f6a737e93c542fd20ae2682559_pl_1" #~ msgid "Must provide at least one folder document." -#~ msgstr "U dient tenminste één mapdocument op te geven." +#~ msgstr "Must provide at least one folder document." #~ msgid "Document: %s removed successfully." -#~ msgstr "Document: %s succesvol verwijderd." +#~ msgstr "Document: %s removed successfully." #~ msgid "Document: %(document)s delete error: %(error)s" -#~ msgstr "" -#~ "Fout bij verwijderen document: %(document)s. foutmelding: %(error)s" +#~ msgstr "Document: %(document)s delete error: %(error)s" + +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "81c6b0124b038e876c41a6794709629b_pl_0" +#~ msgstr[1] "81c6b0124b038e876c41a6794709629b_pl_1" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -285,11 +282,11 @@ msgstr "Document: %(document)s bestaat al in map: %(folder)s." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -322,12 +319,12 @@ msgstr "Document: %(document)s bestaat al in map: %(folder)s." #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." diff --git a/mayan/apps/folders/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/folders/locale/pl/LC_MESSAGES/django.mo index d96133b64b7c4026364c9817c6235439571fd8c7..1d36225c728c90cb6ddfc49fbb674aebb7b6278c 100644 GIT binary patch delta 942 zcmY+BO-NKx6o9Wfjx$r5*^gG%To(>bF!A0Se{%F`h3hgwC^s=M&zKtD*o-rw2tt1l zLYqsAuw8)*H&Kf~gcj8(XXh=&?eM zqn+qB+Kq11u^{91N;SaCumeuQX6VBfxCoozGHitghT-$TzXp%;zYY(;Pf*T%hv$@9 zQok_HvXQ1r6c%7Rtilj{1SQbG{qPx-0xzHxehuUB4Qzzp0{<2~$^SN#xERUe)M|%v zZh$16)K@NsbTS2{P#(%f=7aycPy!5;&Y!@;a22+}4R{ECgcslsC=DgJo#eR&Wpa6l zOWlDI_Yk&FUp);RYmiU9Wa)zIFap0oxxf}Y0e?a%*n~59rCLI^Y6YYT8M(xW>_eqN znW{Xqj9(@q&0LAG96^tvBIK^!R_uc)(^E|CKat{cG3jnci;9HQ`nB<$Tdkjb-P& zjCL%0_gsI*={GCk-%GtidbUt0WeaYP@4B`g)t1ia9>3eRMqEcH5?ah*w>K$vZQmNU z9lf|%b8yJUHL7i*{4NsgoEmYhy=Xfr0YTQjz5T&6dk#spTab$X@;c;ACx>EcteDH* zFjnN0nT>ofmFS@P9DUF~S+2alr)sOt6>nB%Jb!LpFX-uFA?KCezPhc(OAFrh!n^xK I2fOp?FPVFYaR2}S literal 2955 zcmbW2%ZnUE9LGzIuhAHdQDf9tJ~r&CJ<~lKB}{f)O|lDtth=n6;6b!pqS$QrXR7M=u3y!D zzkA1r49`<|AIJObEsQn57jDG|&o5vd{1w~_?!Aq%U7!Q*1Yga$2;PVBo8X;b0NxK8 z@D6YzUw;pL7~_i|+4&44xv#-jz;8hEw`T`qhrpxY)8IMqZt!F95%3a-KlT+qWalb) zFZeA;{(b@}j^Ds1!Qa8#!QJ>g1MUT%182Y|zz(<@+yD*u5lHrS!q`>RWFNSQ@eeRc zb#m^?;(jgXTOj4%2PvMnL5lbNe0%|fNp=aOx_t`n0lx&v?=|p2@MrJ{_$NsD&%g*V z1}W}OK(c!cAKH)aK+5+IknH>gQXIQ#+5CQx>M#M)9$O$xvqf+Ud;^>Y&x4PFpMw*S5BZ}9Ey5nc3zhPry{0(HCdW&*D2{!2DK4rpJ=6mf z7v)0F0~yjU)r%h5N2=L=ypQ6gdeUAL4_YVf4TL)OVC&JSp2t1q#yuGtZWLcrfhVJ} zY5ni>I#qzW7&TCtI~qx0WU)3j(kvT#>=;Ch-;>-;r7 z6-ne7Y#T!_7l8O=k@1w~!taJ0VtOz!qX{ct28Sd{1&=cpwEPR47Z~`b}iA!j6b8r`eSgny*EwS4Nnx zj?A%qiZ)-P?yf;;ip|WF$NHk&%GsN0=6-LaddioBGN`3Ub>Y`K?pdc~qcw7J>3X$8;yR@n5r!t zUzn?McItNRD0&6=hP9IPk&uyR4J6S#hq=2hA}vk(YFmw7VihOr67((V9l$jr&~Pir$gPIK8!_LX-|gjw!>$+&9OY;*e|!6{J??q=S=$` z{hXv}d&aT(xpV0}$=FlSaiG(jI$XnH_Cy!0b2_{EyyE7Ix2+_Q$@l*MEnT@hC{12x zsGK-y23Iae!+gxfhY5{UG*n?im!#lvI+UR=*hw94y_0=&Wk~Bd+}zlFH=m&6JDZ>H zGGhuWJMxraR)s9oydo_=eoyvQFWI^nggza0PlRfuFyr^vk*)Ka8(wu2^1kxiq0l_m z@jxKx(qTO20%gj4leywh;}-5pTru5v>kD3-!Xdh?x~A)FsfrCgLVxoD4nmO?rC;Zz zag;E3lZ@M=>oGBLm*94be`GPK=PPA_v%(eiE69gp;LAvKH#b}=Qke|&O>)|oM$p~p z>me3Bf&Fn64@I|!ns$+;C&N-Jy+yB=tOQS^4+2GZbh&r+ybX$}gctop8=E#tITKe+ wGDuc&EUPZ4WJZfTyIrBmu<}F28o6@IKFnPF2aTm@C_4eV2WK<;XOXbK0mukHbN~PV diff --git a/mayan/apps/folders/locale/pl/LC_MESSAGES/django.po b/mayan/apps/folders/locale/pl/LC_MESSAGES/django.po index b869a1c60c..ff4b083470 100644 --- a/mayan/apps/folders/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Annunnaky , 2015 @@ -12,16 +12,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" -"pl/)\n" -"Language: pl\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 #: views.py:95 @@ -37,22 +35,16 @@ msgid "Documents" msgstr "Dokumenty" #: links.py:24 links.py:34 -#, fuzzy -#| msgid "Remove from folder" msgid "Remove from folders" -msgstr "Usuń z folderu" +msgstr "" #: links.py:27 -#, fuzzy -#| msgid "Add to a folder" msgid "Add to a folders" -msgstr "Dodaj do folderu" +msgstr "" #: links.py:31 -#, fuzzy -#| msgid "Add to folder" msgid "Add to folders" -msgstr "Dodaj do folderu" +msgstr "" #: links.py:42 views.py:37 msgid "Create folder" @@ -99,6 +91,7 @@ msgid "Edit folders" msgstr "Edytuj foldery" #: permissions.py:16 +#| msgid "Delete new folders" msgid "Delete folders" msgstr "Usuń foldery" @@ -107,6 +100,7 @@ msgid "Remove documents from folders" msgstr "Usuń dokumenty z folderów" #: permissions.py:22 +#| msgid "Edit new folders" msgid "View folders" msgstr "Przeglądaj foldery" @@ -120,6 +114,7 @@ msgstr "" #: views.py:49 #, python-format +#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "Usunąć folder: %s?" @@ -150,22 +145,20 @@ msgstr "" #: views.py:137 msgid "Add" -msgstr "" +msgstr "Dodaj" #: views.py:139 -#, fuzzy -#| msgid "Add documents to folders" msgid "Add document to folders" msgid_plural "Add documents to folders" -msgstr[0] "Dodaj dokumenty do folderów" -msgstr[1] "Dodaj dokumenty do folderów" -msgstr[2] "Dodaj dokumenty do folderów" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:150 -#, fuzzy, python-format -#| msgid "Add documents to folders" +#, python-format msgid "Add document \"%s\" to folders" -msgstr "Dodaj dokumenty do folderów" +msgstr "" #: views.py:161 msgid "Folders to which the selected documents will be added." @@ -193,62 +186,64 @@ msgstr "" #: views.py:222 msgid "Remove" -msgstr "" +msgstr "Usuń" #: views.py:224 -#, fuzzy #| msgid "Remove documents from folders" msgid "Remove document from folders" msgid_plural "Remove documents from folders" -msgstr[0] "Usuń dokumenty z folderów" -msgstr[1] "Usuń dokumenty z folderów" -msgstr[2] "Usuń dokumenty z folderów" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:235 -#, fuzzy, python-format +#, python-format #| msgid "Remove documents from folders" msgid "Remove document \"%s\" to folders" -msgstr "Usuń dokumenty z folderów" +msgstr "" #: views.py:246 msgid "Folders from which the selected documents will be removed." msgstr "" #: views.py:273 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s is not in folder: %(folder)s." -msgstr "Dokument: %(document)s jest już w folderze: %(folder)s." +msgstr "" #: views.py:282 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s removed from folder: %(folder)s." -msgstr "Dokument: %(document)s jest już w folderze: %(folder)s." +msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Musisz dodać co najmniej jeden dokument." +#~ msgstr "Must provide at least one document." #~ msgid "Add document to folder" #~ msgid_plural "Add documents to folder" -#~ msgstr[0] "Dodaj dokument do folderu" -#~ msgstr[1] "Dodaj dokumenty do folderu" -#~ msgstr[2] "Dodaj dokumenty do folderu" +#~ msgstr[0] "97c0d1f6a737e93c542fd20ae2682559_pl_0" +#~ msgstr[1] "97c0d1f6a737e93c542fd20ae2682559_pl_1" +#~ msgstr[2] "97c0d1f6a737e93c542fd20ae2682559_pl_2" +#~ msgstr[3] "97c0d1f6a737e93c542fd20ae2682559_pl_3" #~ msgid "Must provide at least one folder document." -#~ msgstr "Musisz dodać co najmiej jeden katalog dokumentów." +#~ msgstr "Must provide at least one folder document." #~ msgid "Document: %s removed successfully." -#~ msgstr "Pomyślnie usunięto dokument: %s. " +#~ msgstr "Document: %s removed successfully." #~ msgid "Document: %(document)s delete error: %(error)s" -#~ msgstr "Błąd %(error)s podczas usuwania dokumentu %(document)s" +#~ msgstr "Document: %(document)s delete error: %(error)s" #~ msgid "Remove the selected document from the folder: %(folder)s?" #~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" -#~ msgstr[0] "Usunąć wybrany dokument z folderu: %(folder)s?" -#~ msgstr[1] "Usunąć wybrane dokumenty z folderu: %(folder)s?" -#~ msgstr[2] "Usunąć wybrane dokumenty z folderu: %(folder)s?" +#~ msgstr[0] "81c6b0124b038e876c41a6794709629b_pl_0" +#~ msgstr[1] "81c6b0124b038e876c41a6794709629b_pl_1" +#~ msgstr[2] "81c6b0124b038e876c41a6794709629b_pl_2" +#~ msgstr[3] "81c6b0124b038e876c41a6794709629b_pl_3" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -296,11 +291,11 @@ msgstr "Dokument: %(document)s jest już w folderze: %(folder)s." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -333,12 +328,12 @@ msgstr "Dokument: %(document)s jest już w folderze: %(folder)s." #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." diff --git a/mayan/apps/folders/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/folders/locale/pt/LC_MESSAGES/django.mo index 0f7ce74b79e01fda04c8fabe3b77e9a5d8323124..2fc977d8f2cdc13ffdf8f43c887c5557039b9448 100644 GIT binary patch delta 426 zcmX}oze>YU6vy$KHf{RHLB&C^(hBNO8%a~GH6S!lT$R2-u@?zi3$=6->g*tei<7&v zATHwQ{yVO6{edG(4b?9T3AkoT3UBZb4esL?W^jpg3C^Pg zZqBYt$e}8nWMB;M1& delta 699 zcma*jOH15P6bJAdXR6j0Vi&eB;;F^KJ~B-*qi7a&tkbFsb?l-`Axw@Kn&b{iX14B2 zX_bpRzk+VMb0zo%+`9352nzo1FsK{B3y0r5Hz(&luKG_0_pZkBhXP{+Q9%4byh7X{ z^jI~7=!I*r3hS^058ymJgH!MtzJ!GyA@Z;Y^?x5>A9Uag=)!lf3O@+3CwxpMu<#G= zqscMsNB#v}zQYw*fq&rwJcqi$EgXPv(N%Bs3F-~X-FyL}L{woBeuJN32=#tP&=6ag zb%$;?h`|1xhWh6r1nTaGex>1VrVpuarf;3oYc&ozV-*^&)v~cP?srn+B$0_r(=(mP z`xM{54k1q|;YhaGSKG$8Ixz|x>#a1SW+K~x&*WtkvWEp3Gx@U7ia5?n;^~?l8Ty<& zl&TBk*X*2W+on?{%W-Ebrd6@5f%>NTgWEwG$k?oT8N1|I_MB;zO~)q3c5VBAvuD&$ zzjM0^;5)smomL&BHwcUs6Lxl(rh2rc#aNi$81JX4;WS%nh8Z$)P0N bLZ;M;?$0Spc(-Sik?&Cx@8OlyVt(=t)%cDv diff --git a/mayan/apps/folders/locale/pt/LC_MESSAGES/django.po b/mayan/apps/folders/locale/pt/LC_MESSAGES/django.po index 74b72bc511..7c42a09e08 100644 --- a/mayan/apps/folders/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Renata Oliveira , 2011 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" -"language/pt/)\n" -"Language: pt\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 @@ -36,22 +35,16 @@ msgid "Documents" msgstr "Documentos" #: links.py:24 links.py:34 -#, fuzzy -#| msgid "Remove documents from folders" msgid "Remove from folders" -msgstr "Remover documentos das pastas" +msgstr "" #: links.py:27 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to a folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:31 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:42 views.py:37 msgid "Create folder" @@ -98,6 +91,7 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 +#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -106,6 +100,7 @@ msgid "Remove documents from folders" msgstr "Remover documentos das pastas" #: permissions.py:22 +#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -119,6 +114,7 @@ msgstr "" #: views.py:49 #, python-format +#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" @@ -149,21 +145,18 @@ msgstr "" #: views.py:137 msgid "Add" -msgstr "" +msgstr "Adicionar" #: views.py:139 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add document to folders" msgid_plural "Add documents to folders" -msgstr[0] "Add document to a folder" -msgstr[1] "Add document to a folder" +msgstr[0] "" +msgstr[1] "" #: views.py:150 -#, fuzzy, python-format -#| msgid "Add document: %s to folder." +#, python-format msgid "Add document \"%s\" to folders" -msgstr "Add document: %s to folder." +msgstr "" #: views.py:161 msgid "Folders to which the selected documents will be added." @@ -191,49 +184,58 @@ msgstr "" #: views.py:222 msgid "Remove" -msgstr "" +msgstr "Remover" #: views.py:224 -#, fuzzy #| msgid "Remove documents from folders" msgid "Remove document from folders" msgid_plural "Remove documents from folders" -msgstr[0] "Remover documentos das pastas" -msgstr[1] "Remover documentos das pastas" +msgstr[0] "" +msgstr[1] "" #: views.py:235 -#, fuzzy, python-format +#, python-format #| msgid "Remove documents from folders" msgid "Remove document \"%s\" to folders" -msgstr "Remover documentos das pastas" +msgstr "" #: views.py:246 msgid "Folders from which the selected documents will be removed." msgstr "" #: views.py:273 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s is not in folder: %(folder)s." -msgstr "Documento: %(document)s já está na pasta: %(folder)s ." +msgstr "" #: views.py:282 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s removed from folder: %(folder)s." -msgstr "Documento: %(document)s já está na pasta: %(folder)s ." +msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Deve fornecer pelo menos um documento." +#~ msgstr "Must provide at least one document." + +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "97c0d1f6a737e93c542fd20ae2682559_pl_0" +#~ msgstr[1] "97c0d1f6a737e93c542fd20ae2682559_pl_1" #~ msgid "Must provide at least one folder document." -#~ msgstr "Deve fornecer pelo menos um documento da pasta." +#~ msgstr "Must provide at least one folder document." #~ msgid "Document: %s removed successfully." -#~ msgstr "Documento: %s removido com sucesso." +#~ msgstr "Document: %s removed successfully." #~ msgid "Document: %(document)s delete error: %(error)s" -#~ msgstr "Documento: %(document)s erro ao eliminar: %(error)s " +#~ msgstr "Document: %(document)s delete error: %(error)s" + +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "81c6b0124b038e876c41a6794709629b_pl_0" +#~ msgstr[1] "81c6b0124b038e876c41a6794709629b_pl_1" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -271,15 +273,21 @@ msgstr "Documento: %(document)s já está na pasta: %(folder)s ." #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" +#~ msgid "Add document to a folder" +#~ msgstr "Add document to a folder" + +#~ msgid "Add document: %s to folder." +#~ msgstr "Add document: %s to folder." + #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -312,12 +320,12 @@ msgstr "Documento: %(document)s já está na pasta: %(folder)s ." #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." diff --git a/mayan/apps/folders/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/folders/locale/pt_BR/LC_MESSAGES/django.mo index 40124051ffb60b572978bef0b4a8bdbe7ebcbed0..03e7ef6454dd2b6bc94ccf8d68ef6714344b6c25 100644 GIT binary patch delta 730 zcmY+>J4jnm9LMn!liVip72_k;S3*H36<;yL#}pA9EP_K3T*ONis0)SEv(Mz-s(}G2Fx&+{0l!#(s48D1up3VNa1)<~c^m zZ|3-+1s72jtQIGHMzv%ELzu@7JVGw>o0}@T#wx60Qn71=4e_XuNT;V3Xl)G@sn%&T zFVuJSLltWi+G#D(K&WaZdPry}38!jk-Myhx&<54Me}mI444sG>oSwFo{(7HhC;gXp zF7U*D4ZN}Mf}M6Jn6SgnM0sy}SGqmbo$O8xqk7j- zgy(5INA6&(37#0k3*!&40saX-3D)mq>_PAhct7}h&Wqp!m`C6};M?Fs;Je`6;FWy; zD)>0&pMoUk8<5U@3!Vml21(!ZyBM1W7r{f|d*E*HbMOi9D-eI|CSD}x2XGJg3rPBY z1<8)Tz-Pg+yBNbCJA~JBU>!URUI6RhI`|BD4crTU4La~9NOC(6`Xyqs2%f@x&%KOs z@Kx|JFa*hucfk9=_d&Y%5lHrY22%XK0LiW!AjR){@DcDQko5irJ__!JvmNjNI0Z`Z z74Sol?Eem|fxm+kk1g= z{0)-4eQ+uS4}%YbAAkr)YBNk=PvN2SG^h?}pk&h6Ktwqx_Y?=p*+D$yJLPvj9*PUa zj0Wi>`^YC6q_Y_0*8w~n55&<~c7;ZLp5)hDnmFJY;qOnPF0nT=&{_$NUy=bTbnY}Vn?J|HWw(DzJ@BY#WIeaEYle*%gKEm zJE39~_shC~d6r!eD>7u=#5z7OdQAnA3&%q#u%KgE9&X&`OcvP6(RrgHVK(`ja+B*G zr<@k4p_HsZ2c@UM7Sb@3o0j*Cj!IYZ-O5^Vfh1Za$ajcgDLOqkQb1+SXKs5l*Spiz zWhK{3qvnmi1ijw*z+0BaDjm0ZS8R%y&zz?n< z4Wl#BXw_y>erQGB(&hlJJGtSSgAnz2ocpW7Sm{o_vDERVhv!IXPa1D7_H}@&ZS(0B z?Qi(uNyA)jVRSnDVG5T2D`ef^4&E_`z zFj45?1JN%eKx;P3rPC)p!{*5$x?Fr2I$N?MYr`gk0v+j{_&PIJ0&V%$wanORGeb9t zsCA)<>S1HsE`~ZL7aB^@??ttV^0Mh}zr!zWUFXs|yyKxy, 2016 @@ -14,14 +14,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-17 23:07+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" -"edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 @@ -38,22 +37,16 @@ msgid "Documents" msgstr "Documentos" #: links.py:24 links.py:34 -#, fuzzy -#| msgid "Remove from folder" msgid "Remove from folders" -msgstr "Remover da pasta" +msgstr "" #: links.py:27 -#, fuzzy -#| msgid "Add to a folder" msgid "Add to a folders" -msgstr "Adicionar a uma pasta" +msgstr "" #: links.py:31 -#, fuzzy -#| msgid "Add to folder" msgid "Add to folders" -msgstr "Adicione a pasta" +msgstr "" #: links.py:42 views.py:37 msgid "Create folder" @@ -100,6 +93,7 @@ msgid "Edit folders" msgstr "Editar pastas" #: permissions.py:16 +#| msgid "Delete new folders" msgid "Delete folders" msgstr "Apagar pastas" @@ -108,6 +102,7 @@ msgid "Remove documents from folders" msgstr "Remover documentos das pastas" #: permissions.py:22 +#| msgid "Edit new folders" msgid "View folders" msgstr "Visualizar pastas" @@ -121,6 +116,7 @@ msgstr "Chave primária do documento a ser adicionado." #: views.py:49 #, python-format +#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "Apagar a pasta: %s?" @@ -151,21 +147,18 @@ msgstr "" #: views.py:137 msgid "Add" -msgstr "" +msgstr "Adicionar" #: views.py:139 -#, fuzzy -#| msgid "Add documents to folders" msgid "Add document to folders" msgid_plural "Add documents to folders" -msgstr[0] "Adicionar documentos para pastas" -msgstr[1] "Adicionar documentos para pastas" +msgstr[0] "" +msgstr[1] "" #: views.py:150 -#, fuzzy, python-format -#| msgid "Add documents to folders" +#, python-format msgid "Add document \"%s\" to folders" -msgstr "Adicionar documentos para pastas" +msgstr "" #: views.py:161 msgid "Folders to which the selected documents will be added." @@ -193,59 +186,58 @@ msgstr "" #: views.py:222 msgid "Remove" -msgstr "" +msgstr "Remover" #: views.py:224 -#, fuzzy #| msgid "Remove documents from folders" msgid "Remove document from folders" msgid_plural "Remove documents from folders" -msgstr[0] "Remover documentos das pastas" -msgstr[1] "Remover documentos das pastas" +msgstr[0] "" +msgstr[1] "" #: views.py:235 -#, fuzzy, python-format +#, python-format #| msgid "Remove documents from folders" msgid "Remove document \"%s\" to folders" -msgstr "Remover documentos das pastas" +msgstr "" #: views.py:246 msgid "Folders from which the selected documents will be removed." msgstr "" #: views.py:273 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s is not in folder: %(folder)s." -msgstr "Documento: %(document)s já está na pasta: %(folder)s ." +msgstr "" #: views.py:282 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s removed from folder: %(folder)s." -msgstr "Documento: %(document)s já está na pasta: %(folder)s ." +msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Deve fornecer, pelo menos, um documento." +#~ msgstr "Must provide at least one document." #~ msgid "Add document to folder" #~ msgid_plural "Add documents to folder" -#~ msgstr[0] "Adicionar documento para pasta" -#~ msgstr[1] "Adicionar documentos para pasta" +#~ msgstr[0] "97c0d1f6a737e93c542fd20ae2682559_pl_0" +#~ msgstr[1] "97c0d1f6a737e93c542fd20ae2682559_pl_1" #~ msgid "Must provide at least one folder document." -#~ msgstr "Deve fornecer pelo menos um documento da pasta." +#~ msgstr "Must provide at least one folder document." #~ msgid "Document: %s removed successfully." -#~ msgstr "Documento: %s removido com sucesso." +#~ msgstr "Document: %s removed successfully." #~ msgid "Document: %(document)s delete error: %(error)s" -#~ msgstr "Documento: %(document)s erro ao deletar: %(error)s " +#~ msgstr "Document: %(document)s delete error: %(error)s" #~ msgid "Remove the selected document from the folder: %(folder)s?" #~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" -#~ msgstr[0] "Remove o documento selecionado da pasta: %(folder)s?" -#~ msgstr[1] "Remove os documentos selecionados da pasta: %(folder)s?" +#~ msgstr[0] "81c6b0124b038e876c41a6794709629b_pl_0" +#~ msgstr[1] "81c6b0124b038e876c41a6794709629b_pl_1" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -293,11 +285,11 @@ msgstr "Documento: %(document)s já está na pasta: %(folder)s ." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -330,12 +322,12 @@ msgstr "Documento: %(document)s já está na pasta: %(folder)s ." #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." diff --git a/mayan/apps/folders/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/folders/locale/ro_RO/LC_MESSAGES/django.mo index 88ac90571e031beb8b947bed0f752f62fbfbccd4..1713ebc678a224cb4b7ce86b30b86d4fce1527bc 100644 GIT binary patch delta 424 zcmX}oze~eF6bJCTG-+(@q98a_h)^AhC&_86WNM%w4x)6>)k2O?wH9pJN!r1slN1hD zM`uBbi{MfzxH-9qga3g4fP>#xgAd+)-W~6LB!k>2)Bl_|Zx|wn%p)(6bI1=Qg~J(3 z!DX0+E3g9B;5KZ+47`ITyob~`f;N1D791z*uW$+TH#p&}&%RMm<0Eb%pWz;yzzSTz zsdT|%;xU}T`~+rUJ6Z2R+CP8=ID|NQx)!TZuVeb)Ks_8ZnVxt vwH_qivQ~cqjgUMm delta 712 zcmajbJx>%t7zglKSmo`sP?EDalSfp7kiG1^A#Or)Dh4q@K?o)0+?@e|niDM%>%&t-v%Fv*kOJoEa@d>#5w*#3LN-WO=s5hcV& z#7)Er!nEg>5Le*>Y{Dg2hI?=Z{(xif7!JWwpAa@2hi2at9Dr4L1$yu zZ4B(fUpV9wG#gT!vIyTp7aqYTJb`!MEKV~QzR8tv5P1xT;k$f%2Tma0%l!uLA^!(0 zv5a2c%%%|p?(bEOdqe?&b!W}|(zQG@mzhFM5&dRtjzdm33$0t(Q|oat=%vJ3EA7$! ziC*VHjQJ-8d|RTcwwaX`E0;tF8=~S_y^R!hnjH0_CS|j*_ytc+G|i z1J>tDvp?2WW7?@yoNA5Ss@JGHZryc@{rs|UcL6E z(>HHr-}~3xXIiy1pVv-54-?j#jIq;_FnQX=+eYmdMZAq-;!w6_gje_}#i{RewqiGy nS2e#)B~y&Q@e?!4A$8K<2Qs2GIy, 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-04-17 09:43+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" -"edms/language/ro_RO/)\n" -"Language: ro_RO\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 #: views.py:95 @@ -35,22 +33,16 @@ msgid "Documents" msgstr "Documente" #: links.py:24 links.py:34 -#, fuzzy -#| msgid "Remove documents from folders" msgid "Remove from folders" -msgstr "Scoateți documentele din directoare" +msgstr "" #: links.py:27 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to a folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:31 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:42 views.py:37 msgid "Create folder" @@ -97,6 +89,7 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 +#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -105,6 +98,7 @@ msgid "Remove documents from folders" msgstr "Scoateți documentele din directoare" #: permissions.py:22 +#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -118,6 +112,7 @@ msgstr "" #: views.py:49 #, python-format +#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" @@ -148,22 +143,19 @@ msgstr "" #: views.py:137 msgid "Add" -msgstr "" +msgstr "Adaugă" #: views.py:139 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add document to folders" msgid_plural "Add documents to folders" -msgstr[0] "Add document to a folder" -msgstr[1] "Add document to a folder" -msgstr[2] "Add document to a folder" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" #: views.py:150 -#, fuzzy, python-format -#| msgid "Add document: %s to folder." +#, python-format msgid "Add document \"%s\" to folders" -msgstr "Add document: %s to folder." +msgstr "" #: views.py:161 msgid "Folders to which the selected documents will be added." @@ -177,8 +169,7 @@ msgstr "Documentul: %(document)s este deja în directorul : %(folder)s." #: views.py:200 #, python-format msgid "Document: %(document)s added to folder: %(folder)s successfully." -msgstr "" -"Documentul:%(document)s a fost adăugat la directorul :%(folder)s cu succes." +msgstr "Documentul:%(document)s a fost adăugat la directorul :%(folder)s cu succes." #: views.py:212 #, python-format @@ -192,50 +183,61 @@ msgstr "" #: views.py:222 msgid "Remove" -msgstr "" +msgstr "Şterge" #: views.py:224 -#, fuzzy #| msgid "Remove documents from folders" msgid "Remove document from folders" msgid_plural "Remove documents from folders" -msgstr[0] "Scoateți documentele din directoare" -msgstr[1] "Scoateți documentele din directoare" -msgstr[2] "Scoateți documentele din directoare" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" #: views.py:235 -#, fuzzy, python-format +#, python-format #| msgid "Remove documents from folders" msgid "Remove document \"%s\" to folders" -msgstr "Scoateți documentele din directoare" +msgstr "" #: views.py:246 msgid "Folders from which the selected documents will be removed." msgstr "" #: views.py:273 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s is not in folder: %(folder)s." -msgstr "Documentul: %(document)s este deja în directorul : %(folder)s." +msgstr "" #: views.py:282 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s removed from folder: %(folder)s." -msgstr "Documentul: %(document)s este deja în directorul : %(folder)s." +msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Trebuie selectat cel puțin un document." +#~ msgstr "Must provide at least one document." + +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "97c0d1f6a737e93c542fd20ae2682559_pl_0" +#~ msgstr[1] "97c0d1f6a737e93c542fd20ae2682559_pl_1" +#~ msgstr[2] "97c0d1f6a737e93c542fd20ae2682559_pl_2" #~ msgid "Must provide at least one folder document." -#~ msgstr "Trebuie selectat cel puțin un director." +#~ msgstr "Must provide at least one folder document." #~ msgid "Document: %s removed successfully." -#~ msgstr "Document: % s eliminat cu succes." +#~ msgstr "Document: %s removed successfully." #~ msgid "Document: %(document)s delete error: %(error)s" -#~ msgstr "Eroare %(error)s ştergere document %(document)s" +#~ msgstr "Document: %(document)s delete error: %(error)s" + +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "81c6b0124b038e876c41a6794709629b_pl_0" +#~ msgstr[1] "81c6b0124b038e876c41a6794709629b_pl_1" +#~ msgstr[2] "81c6b0124b038e876c41a6794709629b_pl_2" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -273,15 +275,21 @@ msgstr "Documentul: %(document)s este deja în directorul : %(folder)s." #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" +#~ msgid "Add document to a folder" +#~ msgstr "Add document to a folder" + +#~ msgid "Add document: %s to folder." +#~ msgstr "Add document: %s to folder." + #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -314,12 +322,12 @@ msgstr "Documentul: %(document)s este deja în directorul : %(folder)s." #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." diff --git a/mayan/apps/folders/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/folders/locale/ru/LC_MESSAGES/django.mo index 8f3c334adbbd8a08f9d559928744fe4436195527..df0e1fcea2262b5ee602819b4a934851eff5f29a 100644 GIT binary patch delta 421 zcmYMwJxjwt7{KvMlcs7-tz8OQQ5=P65^X9)F+w-R!9j3up&;VsT9mqo+bOuaIQoVN zVpm;+D>#aSTcIC8(Ep_YA9(I}FVDRsueqaa>#Ja02*M#tWSbl(`=k!f5W++sGgw9& zS24mGF5?LfV+SpKLtXcddfx}8@iUqK#wj6MqDQBgqKM2>FwO29dWmbe%XkYTyv73d zZ~}jD1dE)mokhLhOPHv`3_I6|c;IJVdQ+rOu^_JYgpYelguqfxv$^V(K8ie;d=A|)qt~%;g-KabD c)IIK=$-Z?eU(%6WuxrkhdSK-_S;=QAf5hiML;wH) delta 840 zcmZ|LO-~a+7{KvaTzo5_a%p@YF&HqRX)9IJ6Vb**lM)jWqn@bUArK4I-InO70W@hM z35UhRgMI@KML`hya`51F_Tbg4c;Fj&@IOm^O_=1_-|Vw9&oi@gk?AK-Z*Dq@n! zMG}j68rLyOd?9*x-=T`}2j0U7yKkVv5qygY+`(QvOSco4#KV|vdlyZeJl;kZv-B6A zn50M?<9J*m9Hhj-_B_(oU<#UBnPG0zMbP*6Fbz1j=qAh`HDe!P{)o8ls$5AqBBKhb zq(r8eFHie7t+A*RCZuxRqMMfe1L0)Q^PgGQj`QwGS4|gZl_R}!KCe7)qFg9E_3PG! z(QMf($wzK+cFIvQSCR#lBT<}D(lOQ5OerSzUNccFILiIA)Zexqc3&P!B!-fgWIUNp z4g2FACwDXPq>K-z6RG#rj#rkSu&b&5fnPlaJ*k^PRd47Oy{T(5SkSAwrnmH(Zs?6* z>F+ybZRx+Z`uy+qQ5oJXSP15HORurNp_~8g^}pG7DsQOL)GNVro~yK|?=GT`Ue~o? zK3Fs%&37hClBF*=PPn!qp{X}HP~99Rn2!m)OlC`epj$0myw~>dd+Q8+TH&q!FGZPm JG5=QQm7iN40LlOW diff --git a/mayan/apps/folders/locale/ru/LC_MESSAGES/django.po b/mayan/apps/folders/locale/ru/LC_MESSAGES/django.po index 140342392a..c606d3f136 100644 --- a/mayan/apps/folders/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,17 +9,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-02 04:15+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" -"language/ru/)\n" -"Language: ru\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 #: views.py:95 @@ -35,22 +32,16 @@ msgid "Documents" msgstr "Документы" #: links.py:24 links.py:34 -#, fuzzy -#| msgid "Remove documents from folders" msgid "Remove from folders" -msgstr "Удаление документов из папок" +msgstr "" #: links.py:27 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to a folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:31 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:42 views.py:37 msgid "Create folder" @@ -97,6 +88,7 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 +#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -105,6 +97,7 @@ msgid "Remove documents from folders" msgstr "Удаление документов из папок" #: permissions.py:22 +#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -118,6 +111,7 @@ msgstr "" #: views.py:49 #, python-format +#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" @@ -148,23 +142,20 @@ msgstr "" #: views.py:137 msgid "Add" -msgstr "" +msgstr "Добавить" #: views.py:139 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add document to folders" msgid_plural "Add documents to folders" -msgstr[0] "Add document to a folder" -msgstr[1] "Add document to a folder" -msgstr[2] "Add document to a folder" -msgstr[3] "Add document to a folder" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:150 -#, fuzzy, python-format -#| msgid "Add document: %s to folder." +#, python-format msgid "Add document \"%s\" to folders" -msgstr "Add document: %s to folder." +msgstr "" #: views.py:161 msgid "Folders to which the selected documents will be added." @@ -192,51 +183,64 @@ msgstr "" #: views.py:222 msgid "Remove" -msgstr "" +msgstr "Удалить" #: views.py:224 -#, fuzzy #| msgid "Remove documents from folders" msgid "Remove document from folders" msgid_plural "Remove documents from folders" -msgstr[0] "Удаление документов из папок" -msgstr[1] "Удаление документов из папок" -msgstr[2] "Удаление документов из папок" -msgstr[3] "Удаление документов из папок" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:235 -#, fuzzy, python-format +#, python-format #| msgid "Remove documents from folders" msgid "Remove document \"%s\" to folders" -msgstr "Удаление документов из папок" +msgstr "" #: views.py:246 msgid "Folders from which the selected documents will be removed." msgstr "" #: views.py:273 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s is not in folder: %(folder)s." -msgstr "Документ: %(document)s is already in folder: %(folder)s." +msgstr "" #: views.py:282 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s removed from folder: %(folder)s." -msgstr "Документ: %(document)s is already in folder: %(folder)s." +msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Необходимо указатьть хотя бы один документ." +#~ msgstr "Must provide at least one document." + +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "97c0d1f6a737e93c542fd20ae2682559_pl_0" +#~ msgstr[1] "97c0d1f6a737e93c542fd20ae2682559_pl_1" +#~ msgstr[2] "97c0d1f6a737e93c542fd20ae2682559_pl_2" +#~ msgstr[3] "97c0d1f6a737e93c542fd20ae2682559_pl_3" #~ msgid "Must provide at least one folder document." -#~ msgstr "Должна быть хотя бы одна папка документов." +#~ msgstr "Must provide at least one folder document." #~ msgid "Document: %s removed successfully." -#~ msgstr "Документ: %s успешно удален." +#~ msgstr "Document: %s removed successfully." #~ msgid "Document: %(document)s delete error: %(error)s" -#~ msgstr "Документ:%(document)s ошибка удаления: %(error)s" +#~ msgstr "Document: %(document)s delete error: %(error)s" + +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "81c6b0124b038e876c41a6794709629b_pl_0" +#~ msgstr[1] "81c6b0124b038e876c41a6794709629b_pl_1" +#~ msgstr[2] "81c6b0124b038e876c41a6794709629b_pl_2" +#~ msgstr[3] "81c6b0124b038e876c41a6794709629b_pl_3" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -274,15 +278,21 @@ msgstr "Документ: %(document)s is already in folder: %(folder)s." #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" +#~ msgid "Add document to a folder" +#~ msgstr "Add document to a folder" + +#~ msgid "Add document: %s to folder." +#~ msgstr "Add document: %s to folder." + #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -315,12 +325,12 @@ msgstr "Документ: %(document)s is already in folder: %(folder)s." #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." diff --git a/mayan/apps/folders/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/folders/locale/sl_SI/LC_MESSAGES/django.mo index bb1e3b162f22a25f79a91266696889b7d2143133..6e939825bc03c8ca3232b4433f02b63d2e1873de 100644 GIT binary patch delta 204 zcmZ3^cAcgEo)F7a1|VPtVi_Pd0b*7l_5orLNC09^AWj5gka#u_UtwfmC1aQeuF3nBND=B91NlZ%3VF)P7&q_@$(e+Hx4NEPW_{+}JT-U%v z*T_)8(8$Wj7|1p-;0o~94N5J`EY8f&({)KKNwrciGBAXzGqW->+nmc7!^oM*;9r%O In4QP~0C!6y`~Uy| delta 374 zcmZ9GEl&eM5QeApC_!MbASNLsRJ7?8%ExIW4g3H?vd4|M>#=*;-Bw_*AS?I{XdD(4 zL6hM41*mES@AiNYCV4VnZ)V=N=&p73z8c*UViBx^L$Cx&5aJqi!3|gj4Ot5;o_wCXd4D{~dCzHT_wP{h3q$lH zN02+nLF5He1}TiahodkLKft%J1;^kS?1h&w39sQZcmunknqX`krr;Y`fG^<&+*jBx z+eWd1fizYZU=1$9J@^{_gDKeE#TYJ@#;p%#;BzI{ z!aFdWHB;R$`v&#Y86d8E+w)`u&P=wtf=#~PTS#e^F2A68VT!>B%ZPI;vll17My+z@XAlpPKs1bF(2@>H!oveD)`RwP} Te@r+3{FE!(`lFQrC8uuzijbWf diff --git a/mayan/apps/folders/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/folders/locale/vi_VN/LC_MESSAGES/django.po index e752edf530..cdc1e0b29a 100644 --- a/mayan/apps/folders/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Trung Phan Minh , 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" -"mayan-edms/language/vi_VN/)\n" -"Language: vi_VN\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 @@ -34,22 +33,16 @@ msgid "Documents" msgstr "Tài liệu" #: links.py:24 links.py:34 -#, fuzzy -#| msgid "Remove documents from folders" msgid "Remove from folders" -msgstr "Xóa các tài liệu từ các thư mục" +msgstr "" #: links.py:27 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to a folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:31 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:42 views.py:37 msgid "Create folder" @@ -96,6 +89,7 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 +#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -104,6 +98,7 @@ msgid "Remove documents from folders" msgstr "Xóa các tài liệu từ các thư mục" #: permissions.py:22 +#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -117,6 +112,7 @@ msgstr "" #: views.py:49 #, python-format +#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" @@ -147,20 +143,17 @@ msgstr "" #: views.py:137 msgid "Add" -msgstr "" +msgstr "Thêm" #: views.py:139 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add document to folders" msgid_plural "Add documents to folders" -msgstr[0] "Add document to a folder" +msgstr[0] "" #: views.py:150 -#, fuzzy, python-format -#| msgid "Add document: %s to folder." +#, python-format msgid "Add document \"%s\" to folders" -msgstr "Add document: %s to folder." +msgstr "" #: views.py:161 msgid "Folders to which the selected documents will be added." @@ -188,48 +181,55 @@ msgstr "" #: views.py:222 msgid "Remove" -msgstr "" +msgstr "Xóa" #: views.py:224 -#, fuzzy #| msgid "Remove documents from folders" msgid "Remove document from folders" msgid_plural "Remove documents from folders" -msgstr[0] "Xóa các tài liệu từ các thư mục" +msgstr[0] "" #: views.py:235 -#, fuzzy, python-format +#, python-format #| msgid "Remove documents from folders" msgid "Remove document \"%s\" to folders" -msgstr "Xóa các tài liệu từ các thư mục" +msgstr "" #: views.py:246 msgid "Folders from which the selected documents will be removed." msgstr "" #: views.py:273 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s is not in folder: %(folder)s." -msgstr "Tài liệu: %(document)s đã tồn tại trong thư mục: %(folder)s." +msgstr "" #: views.py:282 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s removed from folder: %(folder)s." -msgstr "Tài liệu: %(document)s đã tồn tại trong thư mục: %(folder)s." +msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Cần cung cấp ít nhất một tài liệu." +#~ msgstr "Must provide at least one document." + +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "97c0d1f6a737e93c542fd20ae2682559_pl_0" #~ msgid "Must provide at least one folder document." -#~ msgstr "Cần cung cấp ít nhất một thư mục tài liệu." +#~ msgstr "Must provide at least one folder document." #~ msgid "Document: %s removed successfully." -#~ msgstr "Tài liệu: %s đã xóa thành công." +#~ msgstr "Document: %s removed successfully." #~ msgid "Document: %(document)s delete error: %(error)s" -#~ msgstr "Tài liệu: %(document)s lỗi xóa: %(error)s" +#~ msgstr "Document: %(document)s delete error: %(error)s" + +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "81c6b0124b038e876c41a6794709629b_pl_0" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -267,15 +267,21 @@ msgstr "Tài liệu: %(document)s đã tồn tại trong thư mục: %(folder)s. #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" +#~ msgid "Add document to a folder" +#~ msgstr "Add document to a folder" + +#~ msgid "Add document: %s to folder." +#~ msgstr "Add document: %s to folder." + #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -308,12 +314,12 @@ msgstr "Tài liệu: %(document)s đã tồn tại trong thư mục: %(folder)s. #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." diff --git a/mayan/apps/folders/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/folders/locale/zh_CN/LC_MESSAGES/django.mo index 2ad8193dd4d8c10493c5f456ae68b12afa8d8fa4..4b67959fd48970ac56d65fc95b9edb1b78735853 100644 GIT binary patch delta 343 zcmZ3-^_IQ2Lm9pn4lbxgBToBQYHs7N=(*ZbeuecQET#3 zMnSfq)ZF~C)X6SP*}Ueu1}3^jh6;v8Rz}8?_b^E#M9i#=%r-w^5@Tf9@O06<$={is hCugx(Ni#f~*8XJowx>&WBC(z?-~DptlF5RsvH&0LJP-f? delta 623 zcmZ|K&r1|x7zglY9Cd5Ew0p=(jh8}fgRz-$6)Uh9U^Uz`0d4^8Gw<_0^E|viBP-F-gLwUG zLR>($ARS~3xsMFvqC}L2G1vhIU=JLF*WngC55L1kcnBl#7rX(F;VpQzj;IyhgEOdQ zVK31r{g#Pt<04s4bO#!+34Va#z;zfd*!k-oyo~cV*baZdW*BcE!dyCs#O!K>|AjNq zQVpy+6%mTpULIDXNX(#VZ?MVWCU-dFwr$xd)^@Y{kq~a1)PDtM!E8Qa6}iDgA)Dnw z3>8fCsry)JesI4a9QMSviaCR`jKfTxLBYy%W?0$62+unmbau~>Wg6T*X?34T!(H8q zrYU+SQ}t9=Qc;tt8h!Lo8Q{g7$XR*iZpPs$rmI@FqIN2}#&j*EX=~T&E=g{$oK75V zzr_pwZBGd1Ps~?l7b`Qf<<(VOp1jVH`(j~194?j65ll?^ujbqpxg}j5U-Lgtmp_dK t?_YWw&%KT1;LUij@R9u87nOxlFgfLYc~@)tf9;jl{l(2%pZisA{R3%dss8`~ diff --git a/mayan/apps/folders/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/folders/locale/zh_CN/LC_MESSAGES/django.po index 16fca3a4ef..5bede7a98c 100644 --- a/mayan/apps/folders/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/folders/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" -"language/zh_CN/)\n" -"Language: zh_CN\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:33 forms.py:30 links.py:18 menus.py:8 models.py:43 permissions.py:7 @@ -34,22 +33,16 @@ msgid "Documents" msgstr "文档" #: links.py:24 links.py:34 -#, fuzzy -#| msgid "Remove documents from folders" msgid "Remove from folders" -msgstr "从文件夹中移除文档" +msgstr "" #: links.py:27 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to a folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:31 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add to folders" -msgstr "Add document to a folder" +msgstr "" #: links.py:42 views.py:37 msgid "Create folder" @@ -96,6 +89,7 @@ msgid "Edit folders" msgstr "" #: permissions.py:16 +#| msgid "Delete new folders" msgid "Delete folders" msgstr "" @@ -104,6 +98,7 @@ msgid "Remove documents from folders" msgstr "从文件夹中移除文档" #: permissions.py:22 +#| msgid "Edit new folders" msgid "View folders" msgstr "" @@ -117,6 +112,7 @@ msgstr "" #: views.py:49 #, python-format +#| msgid "Delete new folders" msgid "Delete the folder: %s?" msgstr "" @@ -147,20 +143,17 @@ msgstr "" #: views.py:137 msgid "Add" -msgstr "" +msgstr "新增" #: views.py:139 -#, fuzzy -#| msgid "Add document to a folder" msgid "Add document to folders" msgid_plural "Add documents to folders" -msgstr[0] "Add document to a folder" +msgstr[0] "" #: views.py:150 -#, fuzzy, python-format -#| msgid "Add document: %s to folder." +#, python-format msgid "Add document \"%s\" to folders" -msgstr "Add document: %s to folder." +msgstr "" #: views.py:161 msgid "Folders to which the selected documents will be added." @@ -188,48 +181,55 @@ msgstr "" #: views.py:222 msgid "Remove" -msgstr "" +msgstr "移除" #: views.py:224 -#, fuzzy #| msgid "Remove documents from folders" msgid "Remove document from folders" msgid_plural "Remove documents from folders" -msgstr[0] "从文件夹中移除文档" +msgstr[0] "" #: views.py:235 -#, fuzzy, python-format +#, python-format #| msgid "Remove documents from folders" msgid "Remove document \"%s\" to folders" -msgstr "从文件夹中移除文档" +msgstr "" #: views.py:246 msgid "Folders from which the selected documents will be removed." msgstr "" #: views.py:273 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s is not in folder: %(folder)s." -msgstr "文档: %(document)s已经存在于文件夹: %(folder)s." +msgstr "" #: views.py:282 -#, fuzzy, python-format +#, python-format #| msgid "Document: %(document)s is already in folder: %(folder)s." msgid "Document: %(document)s removed from folder: %(folder)s." -msgstr "文档: %(document)s已经存在于文件夹: %(folder)s." +msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "至少要有一个文档" +#~ msgstr "Must provide at least one document." + +#~ msgid "Add document to folder" +#~ msgid_plural "Add documents to folder" +#~ msgstr[0] "97c0d1f6a737e93c542fd20ae2682559_pl_0" #~ msgid "Must provide at least one folder document." -#~ msgstr "必须提供至少一个文件夹文档" +#~ msgstr "Must provide at least one folder document." #~ msgid "Document: %s removed successfully." -#~ msgstr "文档:%s移除成功" +#~ msgstr "Document: %s removed successfully." #~ msgid "Document: %(document)s delete error: %(error)s" -#~ msgstr "文档: %(document)s 删除错误:%(error)s" +#~ msgstr "Document: %(document)s delete error: %(error)s" + +#~ msgid "Remove the selected document from the folder: %(folder)s?" +#~ msgid_plural "Remove the selected documents from the folder: %(folder)s?" +#~ msgstr[0] "81c6b0124b038e876c41a6794709629b_pl_0" #~ msgid "A folder named: %s, already exists." #~ msgstr "A folder named: %s, already exists." @@ -267,15 +267,21 @@ msgstr "文档: %(document)s已经存在于文件夹: %(folder)s." #~ msgid "Are you sure you with to delete the folder: %s?" #~ msgstr "Are you sure you with to delete the folder: %s?" +#~ msgid "Add document to a folder" +#~ msgstr "Add document to a folder" + +#~ msgid "Add document: %s to folder." +#~ msgstr "Add document: %s to folder." + #~ msgid "Add documents: %s to folder." #~ msgstr "Add documents: %s to folder." #~ msgid "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgstr "" -#~ "Are you sure you wish to remove the documents: %(documents)s from the " -#~ "folder \"%(folder)s\"?" +#~ "Are you sure you wish to remove the documents: %(documents)s from the folder" +#~ " \"%(folder)s\"?" #~ msgid "Document" #~ msgstr "document" @@ -308,12 +314,12 @@ msgstr "文档: %(document)s已经存在于文件夹: %(folder)s." #~ msgstr "What are folders?" #~ msgid "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." #~ msgstr "" -#~ "These folders can also be described as user folders. They are a way to " -#~ "let individual users create their own document organization methods. " -#~ "Folders created by one user and the documents contained by them don't " -#~ "affect any other user folders or documents." +#~ "These folders can also be described as user folders. They are a way to let " +#~ "individual users create their own document organization methods. Folders " +#~ "created by one user and the documents contained by them don't affect any " +#~ "other user folders or documents." diff --git a/mayan/apps/linking/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/ar/LC_MESSAGES/django.mo index 7a4b4bb3b14a6326d1107fab99c6b0b46ca02ba0..8298a705da8a16508e1f602bb06ddc28e268849c 100644 GIT binary patch delta 66 zcmZn{Z5Q2el-1N+*T6*A$WX!1$jZnV$Tl$G3h>trN-fJQ&dkr#bxABqwNfxLFodf! NvobQ<{EM}h1prSr5!3(x delta 66 zcmZn{Z5Q2el-1Ns*U(Vc$XLO^$ja1I*TBTUfGfaXHz>6%vp6$9PuC@}B-Kj6$iUD{ V*T7iU$WXz^(8|zY^Dow3764B_5y}7n diff --git a/mayan/apps/linking/locale/ar/LC_MESSAGES/django.po b/mayan/apps/linking/locale/ar/LC_MESSAGES/django.po index d6b885bdc6..192fc4e710 100644 --- a/mayan/apps/linking/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:10+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" -"ar/)\n" -"Language: ar\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:34 msgid "Linking" @@ -145,8 +143,8 @@ msgstr "is in regular expression (case insensitive)" #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." msgstr "" #: models.py:46 @@ -233,8 +231,7 @@ msgstr "" #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" #: views.py:87 @@ -262,6 +259,7 @@ msgstr "تحرير الرابط الذكي: %s" #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" @@ -281,6 +279,7 @@ msgstr "تحرير شرط الرابط الذكي" #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -388,14 +387,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/bg/LC_MESSAGES/django.mo index 5bd142a5bb762dc1e9bcfc305c53c96cadad977f..b97f70a206e058e838fd2d7734fb23ebaff0fd2d 100644 GIT binary patch delta 44 rcmbQkJBN3JA~UbKu7QcJk)eX2k(H70WIbkSgov4yk=f=jW;bR4-J}U{ delta 44 ycmbQkJBN3JA~Uak+Fh-k(H_GWIbkSpooF7u92aFk)f5L!R9b#H)a6cYYAom diff --git a/mayan/apps/linking/locale/bg/LC_MESSAGES/django.po b/mayan/apps/linking/locale/bg/LC_MESSAGES/django.po index c394cbfcc9..7392080b3d 100644 --- a/mayan/apps/linking/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pavlin Koldamov , 2012 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:10+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/bg/)\n" -"Language: bg\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:34 @@ -144,8 +143,8 @@ msgstr "" #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." msgstr "" #: models.py:46 @@ -232,8 +231,7 @@ msgstr "" #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" #: views.py:87 @@ -261,6 +259,7 @@ msgstr "" #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" @@ -280,6 +279,7 @@ msgstr "" #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -387,14 +387,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/bs_BA/LC_MESSAGES/django.mo index 47f0f219f563a4a7566ab3dfb1e067edc0bdfcd2..79741442d863c7dc0416f78789a0bdd93af9b42f 100644 GIT binary patch delta 66 zcmX>ma!h2yQC3rPT>}$cBSQs4BP%0gAltxzE5KhjD77rJI5R&_*Cnwe)k?w0z!0v^ N%*x1Y^DkB(765KC5)S|X delta 66 zcmX>ma!h2yQC3qkT|+}%BVz>vBP&x=T>}#X1Fisn-JsO6%;L=aJYAQ>l2j`NBLhP- VT?1oXBSQrvLn}jr&A(WESO9K25(NMN diff --git a/mayan/apps/linking/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/linking/locale/bs_BA/LC_MESSAGES/django.po index e9e1495109..fbc0698629 100644 --- a/mayan/apps/linking/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:10+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" -"rosarior/mayan-edms/language/bs_BA/)\n" -"Language: bs_BA\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:34 msgid "Linking" @@ -145,8 +143,8 @@ msgstr "je u regularnom izrazu (nije bitno velika ili mala slova)" #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." msgstr "" #: models.py:46 @@ -233,8 +231,7 @@ msgstr "" #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" #: views.py:87 @@ -262,6 +259,7 @@ msgstr "Izmjeni smart link: %s" #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" @@ -281,6 +279,7 @@ msgstr "Izmjeniti uslove smart linka" #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -388,14 +387,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/da/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/da/LC_MESSAGES/django.mo index ddbb8e9cd507f2d3c4c92f6a95579c80d107cf50..a8380c62ae6c4a9e3a64ac2c7c1163e48edc54d3 100644 GIT binary patch delta 64 zcmey&{F!;ea#M3%0~1{%Lj^-4D={k delta 64 zcmey&{F!;ea#J&1LqlC7V+8{vD^pWl0}}%St^j}CpwzO=;>`R!U6;g?R4WA|14A=i T17lqyLj@y4D?@{gcf=V1R@@Pt diff --git a/mayan/apps/linking/locale/da/LC_MESSAGES/django.po b/mayan/apps/linking/locale/da/LC_MESSAGES/django.po index b5d13031ab..0221a79bef 100644 --- a/mayan/apps/linking/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/da/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:10+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" -"da/)\n" -"Language: da\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:34 @@ -143,8 +142,8 @@ msgstr "" #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." msgstr "" #: models.py:46 @@ -231,8 +230,7 @@ msgstr "" #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" #: views.py:87 @@ -260,6 +258,7 @@ msgstr "" #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" @@ -279,6 +278,7 @@ msgstr "" #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -386,14 +386,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/de_DE/LC_MESSAGES/django.mo index 72938643108f39d2e329580c2bb4748aeb99fde7..065b19caf8f3f7e80b280634e82de04f6a8b4368 100644 GIT binary patch delta 66 zcmdm~wo`3`HMgm`u7QcJk)eX2k(H4#kZoYV72vNMlvylWKYNcRgUk+Fh-k(H^bu7Qbx0at*(Zcu7jW^rbIo~}z`Nvf5Ck%6I^ Vu7R;O;>5r+T( diff --git a/mayan/apps/linking/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/linking/locale/de_DE/LC_MESSAGES/django.po index 08b2e9a951..aa969323fe 100644 --- a/mayan/apps/linking/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mathias Behrle , 2014 @@ -13,14 +13,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:10+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" -"edms/language/de_DE/)\n" -"Language: de_DE\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:34 @@ -147,12 +146,9 @@ msgstr "ist in regulärem Ausdruck (ohne Groß/Kleinschreibung)" #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." -msgstr "" -"Eine Vorlage zur Verarbeitung eingeben (Django Standard Templating Sprache " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). Die " -"{{ document }} Kontextvariable ist verfügbar." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." +msgstr "Eine Vorlage zur Verarbeitung eingeben (Django Standard Templating Sprache (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). Die {{ document }} Kontextvariable ist verfügbar." #: models.py:46 #, python-format @@ -222,10 +218,9 @@ msgid "" msgstr "" #: serializers.py:139 -#, fuzzy, python-format -#| msgid "Document types" +#, python-format msgid "No such document type: %s" -msgstr "Dokumententypen" +msgstr "" #: views.py:60 #, python-format @@ -239,10 +234,8 @@ msgstr "Ähnliche Dokumente für %s" #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" -msgstr "" -"Dokumente in Smart Link \"%(smart_link)s\" verknüpft zu \"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgstr "Dokumente in Smart Link \"%(smart_link)s\" verknüpft zu \"%(document)s\"" #: views.py:87 msgid "Available document types" @@ -269,6 +262,7 @@ msgstr "Smart Link %s bearbeiten" #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "Smart Link %s wirklich löschen?" @@ -288,6 +282,7 @@ msgstr "Bedingung für Smart Link bearbeiten" #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "Bedingung für Smart Link \"%s\" wirklich löschen?" @@ -395,14 +390,14 @@ msgstr "Bedingung für Smart Link \"%s\" wirklich löschen?" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/en/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/en/LC_MESSAGES/django.mo index 2dc9524097a21d216742b458a05ca11390e9f20d..a8860895fc74dea0b507242429177d6445eae284 100644 GIT binary patch delta 26 hcmX>sbXaIZ9V@T7u7QcJk)eX2k(H70=5E#<%m8UE2V(#L delta 26 hcmX>sbXaIZ9V@SyuA!l>k+Fh-k(H_G=5E#<%m8UE2W9{O diff --git a/mayan/apps/linking/locale/es/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/es/LC_MESSAGES/django.mo index c56a9611a76e9d9258260e9c5359d8b471fba2bc..c050b5e56192e5bfd4c582a4ede7f9d44087295d 100644 GIT binary patch delta 66 zcmdn5zF&QVHMgm`u7QcJk)eX2k(H4#kZoYV72vNMlvylWKYNcRgUk+Fh-k(H^bu7Qbx0at*(Zcu7jW^rbIo~}z`Nvf5Ck%6I^ Ut^rWmQo+E`%EVxE0k=N~08(^b diff --git a/mayan/apps/linking/locale/es/LC_MESSAGES/django.po b/mayan/apps/linking/locale/es/LC_MESSAGES/django.po index d7c920794f..f52e241b9b 100644 --- a/mayan/apps/linking/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-05-09 01:40+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" -"language/es/)\n" -"Language: es\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:34 @@ -146,12 +145,9 @@ msgstr "está en la expresión regular (no sensible a mayúsculas)" #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." -msgstr "" -"Introduzca una plantilla para generar. Use el lenguaje de plantillas de " -"Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). La " -"variable {{ document }} está disponible en el contexto de la plantilla." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." +msgstr "Introduzca una plantilla para generar. Use el lenguaje de plantillas de Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). La variable {{ document }} está disponible en el contexto de la plantilla." #: models.py:46 #, python-format @@ -160,9 +156,7 @@ msgstr "Error generando etiqueta dinámica; %s" #: models.py:55 msgid "This smart link is not allowed for the selected document's type." -msgstr "" -"Este enlace inteligente no está permitido para el tipo de documento " -"seleccionado." +msgstr "Este enlace inteligente no está permitido para el tipo de documento seleccionado." #: models.py:91 models.py:103 msgid "Smart link" @@ -223,10 +217,9 @@ msgid "" msgstr "" #: serializers.py:139 -#, fuzzy, python-format -#| msgid "Document types" +#, python-format msgid "No such document type: %s" -msgstr "Tipos de documento" +msgstr "" #: views.py:60 #, python-format @@ -240,11 +233,8 @@ msgstr "Documentos en enlace inteligente: %s" #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" -msgstr "" -"Los documentos en enlace inteligente \"%(smart_link)s\" en relación con " -"\"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgstr "Los documentos en enlace inteligente \"%(smart_link)s\" en relación con \"%(document)s\"" #: views.py:87 msgid "Available document types" @@ -271,6 +261,7 @@ msgstr "Editar enlace inteligente: %s" #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "Borrar enlace inteligente: %s" @@ -290,6 +281,7 @@ msgstr "Editar condición de enlace inteligente" #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "¿Borrar condición de enlace inteligente: \"%s\"?" @@ -397,14 +389,14 @@ msgstr "¿Borrar condición de enlace inteligente: \"%s\"?" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/fa/LC_MESSAGES/django.mo index 751488f12a924df1796fcd4fbc4627e456092c5b..1cb0d1c52c9d088df639563a22973839a70733eb 100644 GIT binary patch delta 66 zcmX@7a86;vZ4Og&T>}$cBSQs4BP%0gAltxzE5KhjD77rJI5R&_*Cnwe)k?w0z!0v^ N%*x1YvjC?ZI{vBP&x=T>}#X1Fisn-JsO6%;L=aJYAQ>l2j`NBLhP- VT?1oXBSQrvLn}jr%>tZu>;QU*5mf*H diff --git a/mayan/apps/linking/locale/fa/LC_MESSAGES/django.po b/mayan/apps/linking/locale/fa/LC_MESSAGES/django.po index 80cfc88272..8798334ef2 100644 --- a/mayan/apps/linking/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammad Dashtizadeh , 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:10+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" -"language/fa/)\n" -"Language: fa\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:34 @@ -144,8 +143,8 @@ msgstr "موجود در عبارات منظم (case insensitive)" #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." msgstr "" #: models.py:46 @@ -216,10 +215,9 @@ msgid "" msgstr "" #: serializers.py:139 -#, fuzzy, python-format -#| msgid "Document types" +#, python-format msgid "No such document type: %s" -msgstr "انواع مستندات" +msgstr "" #: views.py:60 #, python-format @@ -233,8 +231,7 @@ msgstr "اسناد در لینک هوشمند: %s" #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" #: views.py:87 @@ -262,6 +259,7 @@ msgstr "ویرایش پیوند هوشمند %s" #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" @@ -281,6 +279,7 @@ msgstr "ویرایش شرط پیوند هوشمند \"%s\"" #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -388,14 +387,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/fr/LC_MESSAGES/django.mo index d0d811bbc9808963fb365bc76c5bcd5fb445d2b4..913f9600de54b01e864424f3d2783ac4be78cc31 100644 GIT binary patch delta 66 zcmcbienWkOHMgm`u7QcJk)eX2k(H4#kZoYV72vNMlvylWKYNcRgUk+Fh-k(H^bu7Qbx0at*(Zcu7jW^rbIo~}z`Nvf5Ck%6I^ Vu7R, 2012 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:10+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" -"fr/)\n" -"Language: fr\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:34 @@ -145,12 +144,9 @@ msgstr "est une expression régulière (insensible à la casse)" #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." -msgstr "" -"Indiquez un modèle à restituer. Utilise le langage de rendu de Django par " -"défaut (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). La " -"variable de contexte {{ document }} est disponible." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." +msgstr "Indiquez un modèle à restituer. Utilise le langage de rendu de Django par défaut (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). La variable de contexte {{ document }} est disponible." #: models.py:46 #, python-format @@ -159,8 +155,7 @@ msgstr "Erreur de génération de l'étiquette dynamique : %s" #: models.py:55 msgid "This smart link is not allowed for the selected document's type." -msgstr "" -"Un lien intelligent n'est pas autorisé pour le type de document sélectionné." +msgstr "Un lien intelligent n'est pas autorisé pour le type de document sélectionné." #: models.py:91 models.py:103 msgid "Smart link" @@ -221,10 +216,9 @@ msgid "" msgstr "" #: serializers.py:139 -#, fuzzy, python-format -#| msgid "Document types" +#, python-format msgid "No such document type: %s" -msgstr "Types de document" +msgstr "" #: views.py:60 #, python-format @@ -238,11 +232,8 @@ msgstr "Lien inetlligent du document: %s" #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" -msgstr "" -"Documents du lien intelligent \"%(smart_link)s\" en relation avec " -"\"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgstr "Documents du lien intelligent \"%(smart_link)s\" en relation avec \"%(document)s\"" #: views.py:87 msgid "Available document types" @@ -269,6 +260,7 @@ msgstr "Modifier le lien intelligent:%s" #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "Supprimer le lien intelligent : %s" @@ -288,6 +280,7 @@ msgstr "Modifier la condition sur le lien intelligent" #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "Supprimer la condition du lien intelligent : \"%s\" ?" @@ -395,14 +388,14 @@ msgstr "Supprimer la condition du lien intelligent : \"%s\" ?" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/hu/LC_MESSAGES/django.mo index 3ea7887c18ea067bb5e9de67b3e66891d90a3210..f8bcef246621b1156cc09ce05fe9bb707163fb84 100644 GIT binary patch delta 64 zcmeyt{DXPIa#M3%0~1{%Lj^-4D`R!U6;g?R4WA|14A=i T17lqyLj@y4D?@{gcVrj=SzHmU diff --git a/mayan/apps/linking/locale/hu/LC_MESSAGES/django.po b/mayan/apps/linking/locale/hu/LC_MESSAGES/django.po index 7da6e4ada6..d74a8bba39 100644 --- a/mayan/apps/linking/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/hu/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:10+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/hu/)\n" -"Language: hu\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:34 @@ -143,8 +142,8 @@ msgstr "" #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." msgstr "" #: models.py:46 @@ -231,8 +230,7 @@ msgstr "" #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" #: views.py:87 @@ -260,6 +258,7 @@ msgstr "" #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" @@ -279,6 +278,7 @@ msgstr "" #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -386,14 +386,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/id/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/id/LC_MESSAGES/django.mo index 6d018cc2d6dd62a004e3b9490ce30473891b3f40..d32f4809614cc43c243afd4bcd8fa82ecb184aaf 100644 GIT binary patch delta 64 zcmaFM{FZsba#M3%0~1{%Lj^-4D`R!U6;g?R4WA|14A=i T17lqyLj@y4D?@{gcLW&$Q``}Y diff --git a/mayan/apps/linking/locale/id/LC_MESSAGES/django.po b/mayan/apps/linking/locale/id/LC_MESSAGES/django.po index 7527bf07a1..54af185f05 100644 --- a/mayan/apps/linking/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/id/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:10+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" -"language/id/)\n" -"Language: id\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:34 @@ -143,8 +142,8 @@ msgstr "" #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." msgstr "" #: models.py:46 @@ -231,8 +230,7 @@ msgstr "" #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" #: views.py:87 @@ -260,6 +258,7 @@ msgstr "" #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" @@ -279,6 +278,7 @@ msgstr "" #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -386,14 +386,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/it/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/it/LC_MESSAGES/django.mo index 06d9b9a6d4bed2f23601f9f03407adfc60bf13c3..e6f26035d5f1a8300facb09c7ca2def5f8e793e2 100644 GIT binary patch delta 572 zcmX}p&nv@m7{KvoEkB11<;NIXGKsH!_qC07ahX~ov-0D{Ry(ZZD_fj2{s2-^uFAnt zEpl*D%7GIl2^VJ$u9Ejta(X?Vr|0weJkRH|*Y_1X{dSag93r2!BBLU*StsJdb0j4X z7{WJnqq|@ZyGahQ4qymV7{M(};u-4XKgfehFH`6MeW;C?sEtix7cQVSw6R2>Pr8lll_PA& zGFIRn>csbG;0Njioy{VxIEYS6pkACr{kjR%ubeGEIkQ#K5yOlaR@fi5;?^*+Y1XEu wjdX53U&z}lMj}(p#r>8U{;!M0t=RsmtJR&hv$?gR?N8f<%v#6y%6u|Klg2px)qXpA8*gg>|Vs850Yf_s>2&IjnV2E~h@EIQEmA)n<(Mibc zR%me$>IY~SF}MmXxJ$($Ll?oJE-E?*X7GP7)9;?cz2}~D@2|P-8*hfO-hNEv`?$!G zh`c&4auq)zDfx->IK+#XyC5=)WxRrq@Emrqh|h5j-{Le5@DBdQOX#IUCh-%aUBowGJZuZ{0DDgjN7lFK`mTIEwF({*u|T8J1vq#AF~*to_m41{{Y!4??!$| z_e2;@K9e|$Ur;+eMH~N);vC65aRuiw!UFE$T|7peJWKaHsH~t4P(^K|hT2$&Gx!v> zq20$U^hsYMHRL@`;YU1!-%uz1fd-Qk|0gJ6hWH-F(MP>FK>fOP)URy!2k|F~;-YaJ z<1SdX>lKT}F4*??gSuG@o`s#Txn-(;H}EXib{36YGH$_gY;VEYX(cncn%{0TtyMp2 gZ3dmdDn}aU8>2WMHI~;SKiteWno*_yGI^5t2e|}N#{d8T diff --git a/mayan/apps/linking/locale/it/LC_MESSAGES/django.po b/mayan/apps/linking/locale/it/LC_MESSAGES/django.po index 97feb29779..e844fcedae 100644 --- a/mayan/apps/linking/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Marco Camplese , 2016 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-09-24 10:31+0000\n" -"Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:34 @@ -145,12 +144,9 @@ msgstr "è un'espressione regolare (case insensitive)" #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." -msgstr "" -"Inserisci il template da renderizzare. Usa il linguaggio di template di " -"Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). " -"Variabili di contesto disponibili: {{ document }} " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." +msgstr "Inserisci il template da renderizzare. Usa il linguaggio di template di Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). Variabili di contesto disponibili: {{ document }} " #: models.py:46 #, python-format @@ -159,8 +155,7 @@ msgstr "Errore generando l'etichetta dinamica; %s" #: models.py:55 msgid "This smart link is not allowed for the selected document's type." -msgstr "" -"Questo link intelligente non è consentito per questo tipo di documento." +msgstr "Questo link intelligente non è consentito per questo tipo di documento." #: models.py:91 models.py:103 msgid "Smart link" @@ -221,10 +216,9 @@ msgid "" msgstr "" #: serializers.py:139 -#, fuzzy, python-format -#| msgid "Document types" +#, python-format msgid "No such document type: %s" -msgstr "Tipi di documento" +msgstr "" #: views.py:60 #, python-format @@ -238,11 +232,8 @@ msgstr "Documenti nel link intelligente: %s" #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" -msgstr "" -"Documenti nel link intelligente: \"%(smart_link)s\" è correlato con " -"\"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgstr "Documenti nel link intelligente: \"%(smart_link)s\" è correlato con \"%(document)s\"" #: views.py:87 msgid "Available document types" @@ -269,6 +260,7 @@ msgstr "Modifica il link intelligente: %s" #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "Cancella collegamento intelligente: %s" @@ -288,6 +280,7 @@ msgstr "Modifica condizioni per i link intelligenti" #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "Cancella condizione collegamento intelligente: \"%s\" ?" @@ -395,14 +388,14 @@ msgstr "Cancella condizione collegamento intelligente: \"%s\" ?" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/nl_NL/LC_MESSAGES/django.mo index da52ed42211f4661900f60b3340e0397c673f97a..81fe50b18c9ccb0aac628c6c7dbcf24ae01a6613 100644 GIT binary patch delta 442 zcmX}oJxjx25Ww+k>5Glk4uV8{E53n4FfTH++83K=8f4tPBmL8k&m2+BO)g~BE#55jy!P< z;A>Lv;v{*tAi|MZE)zX0;VK%qmE?P3x!^MPa3QJUgQyE8Q0EqL4p(p#k1&nrsPh*%hF7Tb_c(=**oR-nj>rtbZ&H}1O9wpE1p(^& zCN5zU`|%FP@fkDtiTdGhWR?7&{we9ar8hE_1P%Al?mYjkp}d^=d7OJJQbuxVJt1bP_5JwHA`HRl-n@Em*b7FFLP^}8DAF}=8&YS60@ipil_!u zQPp>`fM?i+FF1go7{VA|qaIEmv!xr=pGvi!gG-^@gkf1mCaas7yloq1&NO4iMPu1* zcr~wDG3K1Qo7Xd@^>@#l)Ga%2AFV~S(fNj3^0q7bisO{(US&t0a{n_mKQXgacD&Nq MMzvgM9Y!ufztz@3oB#j- diff --git a/mayan/apps/linking/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/linking/locale/nl_NL/LC_MESSAGES/django.po index 2f24da038b..c1a72cb8ee 100644 --- a/mayan/apps/linking/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-09 15:56+0000\n" -"Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" -"edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:34 @@ -145,8 +144,8 @@ msgstr "komt overeen met 'reguliere expressie (hoofdletter ongevoelig)" #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." msgstr "" #: models.py:46 @@ -217,10 +216,9 @@ msgid "" msgstr "" #: serializers.py:139 -#, fuzzy, python-format -#| msgid "Document types" +#, python-format msgid "No such document type: %s" -msgstr "Documentsoorten" +msgstr "" #: views.py:60 #, python-format @@ -234,8 +232,7 @@ msgstr "" #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" #: views.py:87 @@ -263,6 +260,7 @@ msgstr "'smartlink': %s bewerken." #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" @@ -282,6 +280,7 @@ msgstr "Bewerk 'smartlink' conditie." #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -389,14 +388,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/pl/LC_MESSAGES/django.mo index 7e338b92e4c6789199b9bb422c470ac4956764b7..a8e6ce275264d18adb0d464b63ed917bc87fde12 100644 GIT binary patch delta 723 zcmYMwyGvX_6u{xLN_;<74M_}|9Wk!2ESb5xtGMn}gVq{SSV>?DNfcQ{O#(sKGF2iZ zsZxrSm2oXCv^4n-M6fU@D40gDQSf*4>cTMJ%$b>U?z!Kh$I2hJz(;t5^>~F03G+34vqW$kyD*NYcX6sc(Ku>D!&ruIkt^~p@KZQ<+vyhq zns6Dl^I!N3SAzWxHnQKvBpzZK8)>&6$5H>lcMRbMYMxDO$1T*t|L`TAV8+EEMjHstq;Go{Jim`%hyXPlSv z;;gN$cs&+-Gx>39VQMxT8_6tAri^FZ{k@))*Yjhp@*lO*#X}((Wud7+D~-q`X+AE&NE9(HwRpD91R-Bt85Di?rshEw(#0@>VqI_vJmfU WD;#L5`+`)w&Fhgjp5LgND7gkqA!FA7 delta 633 zcmXZYJxE(o6u|K#!T6CHHHtQ+wYNy4tvq}0%Lka`Sp^qyusYR`B}hO)V*IF+kU?;0 zX`wBhx^{3Z2)a6DXrWLX3Jy+!(8Wny6#SnUxSZd)hj-t(=UyZ}C4SyCRH_Xkm#rfG zB69dZl>=)nx?F#@UxKjqfp!$C$%g)E5|Gd>&NhQ2(=l1Gt3R_yfMe?-;?~ z1(G3>f2b3N2v4vF^#xM+7;~r%-y%!C5%jx#3}LnIFVseVP#c}a4o*XbrgX-0&hwMT z`q^~avngv^-%NY6#qE{Nm9>&LQP?VGjc;AXvq{f)#&=m~zm_A{Q^}kuufE$TtOkRn vAaLfju_kLu&z&6&e3MAj(tME8bWqDS@2uI`snzux`+_r$GyXxOZ83ZYO&U=? diff --git a/mayan/apps/linking/locale/pl/LC_MESSAGES/django.po b/mayan/apps/linking/locale/pl/LC_MESSAGES/django.po index 91534b9b21..cfb807e1c9 100644 --- a/mayan/apps/linking/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # mic , 2012,2015 @@ -11,16 +11,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:10+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" -"pl/)\n" -"Language: pl\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:34 msgid "Linking" @@ -146,12 +144,9 @@ msgstr "jest w wyrażeniu regularnym (wielkość liter ma znaczenie)" #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." -msgstr "" -"Podaj szablon do wyrenderowania. Użyj domyślnego języka szablonów Django " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). Zmienna " -"kontekstowa {{ document }} jest dostępna." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." +msgstr "Podaj szablon do wyrenderowania. Użyj domyślnego języka szablonów Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). Zmienna kontekstowa {{ document }} jest dostępna." #: models.py:46 #, python-format @@ -221,10 +216,9 @@ msgid "" msgstr "" #: serializers.py:139 -#, fuzzy, python-format -#| msgid "Document types" +#, python-format msgid "No such document type: %s" -msgstr "Typy dokumentów" +msgstr "" #: views.py:60 #, python-format @@ -238,8 +232,7 @@ msgstr "Dokumenty w łączu: %s" #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "Dokumenty w łączu \"%(smart_link)s\" powiązane z \"%(document)s\"" #: views.py:87 @@ -267,6 +260,7 @@ msgstr "Edytuj łącze: %s" #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "Usuń łącze: %s" @@ -286,6 +280,7 @@ msgstr "Edycja warunku łącza" #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "Usunąć warunek łącza: \"%s\"?" @@ -393,14 +388,14 @@ msgstr "Usunąć warunek łącza: \"%s\"?" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/pt/LC_MESSAGES/django.mo index d2e09912e28e83b199892eec7a19683b6e04700a..e2d31cffd2d732eeb3a6d60cdca3e57d78bdd16f 100644 GIT binary patch delta 44 scmX>ldP;P|Cstl_T>}$cBSQs4BP%20$^TiU5h7+*MrNDU*%q?^03s3#v;Y7A delta 44 zcmX>ldP;P|CstlFT|+}%BVz>vBP&zW$^TiUfg%RRx<-ZyMut{~2AkE{7P9~VA=wM6 diff --git a/mayan/apps/linking/locale/pt/LC_MESSAGES/django.po b/mayan/apps/linking/locale/pt/LC_MESSAGES/django.po index 95ea4d88c5..53b67941ae 100644 --- a/mayan/apps/linking/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Emerson Soares , 2011 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:10+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" -"language/pt/)\n" -"Language: pt\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:34 @@ -146,8 +145,8 @@ msgstr "contido em expressão regular (insensível a minúsculas/maiúsculas)" #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." msgstr "" #: models.py:46 @@ -234,8 +233,7 @@ msgstr "" #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" #: views.py:87 @@ -263,6 +261,7 @@ msgstr "Editar Ligação inteligente: %s" #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" @@ -282,6 +281,7 @@ msgstr "Editar condição de ligação inteligente" #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -389,14 +389,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/pt_BR/LC_MESSAGES/django.mo index 291998338c397e6b6e10a9fcd5e69b5f7962d144..cafe8e8b0e3cde7e99f2499a9c3cfab2d5a6da00 100644 GIT binary patch delta 572 zcmX}oODIHP6u|K_-pw#GUX2L1q$zbZb1|66)L2D;cGBgKJdkYCM+SJR8p?K zs0H=F1oq-QYN7i$g4Z~W@2H6esGf$3joO(x)It_eJGz4!cZgc()gpsV1~R1QR_tue7Yf*J##!HV4cpyFuV>x+TVF-pFMpgzod5s; delta 598 zcmXZY%PT~26u|N0&5Xwwc|^l4$)oOdXU3pOBC_*{g(zh(>NbpLHWp){WF-+&c9eyM zNLkoU{sATSlcgd%$@dI(`+a`D^Lw0g&q?D=N@R^lsG;fE*jcfn10ny>=d6CY|~ z3-!VTHsA_sp~u*XNgTo-)I@_+PeWw^wKH+lLN-u4x{rG947JdQX(m1JE(~cZeOxy@&jzkKCF0zr$Wn0{{R3 diff --git a/mayan/apps/linking/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/linking/locale/pt_BR/LC_MESSAGES/django.po index 225c041f1b..1849ac120e 100644 --- a/mayan/apps/linking/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -13,14 +13,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-17 23:07+0000\n" -"Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" -"edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:34 @@ -147,12 +146,9 @@ msgstr "está em expressão regular (case insensitive)" #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." -msgstr "" -"Introduza um template para renderizar. Use a linguagem de templates padrão " -"do Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). A " -"variável {{ document }} está disponível. " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." +msgstr "Introduza um template para renderizar. Use a linguagem de templates padrão do Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). A variável {{ document }} está disponível. " #: models.py:46 #, python-format @@ -161,8 +157,7 @@ msgstr "Erro gerando etiqueta dinâmica; %s" #: models.py:55 msgid "This smart link is not allowed for the selected document's type." -msgstr "" -"Este link inteligente não é permitido para o tipo de documento selecionado. " +msgstr "Este link inteligente não é permitido para o tipo de documento selecionado. " #: models.py:91 models.py:103 msgid "Smart link" @@ -223,10 +218,9 @@ msgid "" msgstr "" #: serializers.py:139 -#, fuzzy, python-format -#| msgid "Document types" +#, python-format msgid "No such document type: %s" -msgstr "Tipo de Documento" +msgstr "" #: views.py:60 #, python-format @@ -240,11 +234,8 @@ msgstr "Os documentos em referência inteligente: %s " #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" -msgstr "" -"Os documentos em link inteligente \"%(smart_link)s\" em relação com " -"\"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgstr "Os documentos em link inteligente \"%(smart_link)s\" em relação com \"%(document)s\"" #: views.py:87 msgid "Available document types" @@ -271,6 +262,7 @@ msgstr "Editar Ligação inteligente: %s" #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "Apagar link inteligente: %s" @@ -290,6 +282,7 @@ msgstr "Editar condição de ligação Inteligente" #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "Apagar condição de link inteligente: %s?" @@ -397,14 +390,14 @@ msgstr "Apagar condição de link inteligente: %s?" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/ro_RO/LC_MESSAGES/django.mo index 56b85aa338e5bd1cc7bc6535015be2ed6b401c29..5525f35bbc2ccb40b91babc8e05e2f6b3bd3bf8d 100644 GIT binary patch delta 44 scmew%`a^WXCstl_T>}$cBSQs4BP%20$^TiU5h7+*MrNDU*)FmG05ReWJ^%m! delta 44 zcmew%`a^WXCstlFT|+}%BVz>vBP&zW$^TiUfg%Pbx`yTo29{PP#+%jIF0udsGENLe diff --git a/mayan/apps/linking/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/linking/locale/ro_RO/LC_MESSAGES/django.po index 29eacbefc4..be3e36ae00 100644 --- a/mayan/apps/linking/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Badea Gabriel , 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-04-17 09:43+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" -"edms/language/ro_RO/)\n" -"Language: ro_RO\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:34 msgid "Linking" @@ -145,8 +143,8 @@ msgstr "este în expresie regulată (case insensitive)" #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." msgstr "" #: models.py:46 @@ -233,8 +231,7 @@ msgstr "" #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" #: views.py:87 @@ -262,6 +259,7 @@ msgstr "Editare legătură inteligentă:% s" #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" @@ -281,6 +279,7 @@ msgstr "Editați condiție legătură inteligentă" #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -388,14 +387,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/ru/LC_MESSAGES/django.mo index cc892430f8f2d1a7941dea23e2d7c68262b85cc0..e79fef0921a0d5092da465ab0933e30e8bf52a60 100644 GIT binary patch delta 44 rcmZpaZj|28#Kvo`Yha>lWT;?hWMyPLxt~oMA!24_WVU%b+bK2x^N=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:34 msgid "Linking" @@ -145,8 +142,8 @@ msgstr "В регулярном выражении (без учета регис #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." msgstr "" #: models.py:46 @@ -217,10 +214,9 @@ msgid "" msgstr "" #: serializers.py:139 -#, fuzzy, python-format -#| msgid "Document types" +#, python-format msgid "No such document type: %s" -msgstr "Типы документов" +msgstr "" #: views.py:60 #, python-format @@ -234,8 +230,7 @@ msgstr "" #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" #: views.py:87 @@ -263,6 +258,7 @@ msgstr "Редактировать отношение %s" #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" @@ -282,6 +278,7 @@ msgstr "Изменить условие отношения" #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -389,14 +386,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/sl_SI/LC_MESSAGES/django.mo index e620cd432403688ad83e1d1698d6709a36938b95..6e939825bc03c8ca3232b4433f02b63d2e1873de 100644 GIT binary patch delta 41 pcmcc4a-C(uUS4xu0~1{%Lj^-4D!XK8$YEo0s#9=3zz@^ delta 41 tcmcc4a-C(uUS2a@LqlC7V+8{vD^t^nr=%eQhUN+e7FMQ~8$YEo0s#B23#0%5 diff --git a/mayan/apps/linking/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/linking/locale/sl_SI/LC_MESSAGES/django.po index 80116a3848..83e60b14ac 100644 --- a/mayan/apps/linking/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/sl_SI/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,16 +9,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-17 08:59+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" -"edms/language/sl_SI/)\n" -"Language: sl_SI\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" +"Language: sl_SI\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: apps.py:34 msgid "Linking" @@ -144,8 +142,8 @@ msgstr "" #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." msgstr "" #: models.py:46 @@ -232,8 +230,7 @@ msgstr "" #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" #: views.py:87 @@ -261,6 +258,7 @@ msgstr "" #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" @@ -280,6 +278,7 @@ msgstr "" #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -387,14 +386,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/vi_VN/LC_MESSAGES/django.mo index 1b113136132284d396b70a397d379a3f0b85f3f1..0fdc96a1fbc820d6833d38aece4b399911516cc0 100644 GIT binary patch delta 44 rcmeyv_lIwTE(@=@u7QcJk)eX2k(H70WGfbFgov4yk=f=X7Aa-`0XYgS delta 44 ycmeyv_lIwTE(@=juA!l>k+Fh-k(H_GWGfbFpooF7u92aFk)f5L!R90uDP{lx016`j diff --git a/mayan/apps/linking/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/linking/locale/vi_VN/LC_MESSAGES/django.po index d6b17306ad..e18349a8c9 100644 --- a/mayan/apps/linking/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Trung Phan Minh , 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:10+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" -"mayan-edms/language/vi_VN/)\n" -"Language: vi_VN\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:34 @@ -144,8 +143,8 @@ msgstr "" #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." msgstr "" #: models.py:46 @@ -232,8 +231,7 @@ msgstr "" #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" #: views.py:87 @@ -261,6 +259,7 @@ msgstr "Sửa liên kết thông minh: %s" #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" @@ -280,6 +279,7 @@ msgstr "" #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -387,14 +387,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/linking/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/linking/locale/zh_CN/LC_MESSAGES/django.mo index bf81964d9bd319beca9169573f7d0a00659f67c9..7994c6a355386d47d1575c1b2d0b9b855dd64189 100644 GIT binary patch delta 44 scmew@_*-zp0#;sgT>}$cBSQs4BP%20$!l4q5h7+*MrNC@vZ^ry03T=znE(I) delta 44 zcmew@_*-zp0#;r#T|+}%BVz>vBP&zW$!l4qfg%RRx<-ZyMut{~2Ai+4sxboqA1@1! diff --git a/mayan/apps/linking/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/linking/locale/zh_CN/LC_MESSAGES/django.po index e690217030..cc674043eb 100644 --- a/mayan/apps/linking/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/linking/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:10+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" -"language/zh_CN/)\n" -"Language: zh_CN\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:34 @@ -144,8 +143,8 @@ msgstr "正则表达式(大小写不敏感)" #: models.py:22 models.py:117 msgid "" "Enter a template to render. Use Django's default templating language " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The " -"{{ document }} context variable is available." +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). The {{ " +"document }} context variable is available." msgstr "" #: models.py:46 @@ -232,8 +231,7 @@ msgstr "" #: views.py:71 #, python-format -msgid "" -"Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" +msgid "Documents in smart link \"%(smart_link)s\" as related to \"%(document)s\"" msgstr "" #: views.py:87 @@ -261,6 +259,7 @@ msgstr "编辑智能链接: %s" #: views.py:194 #, python-format +#| msgid "Delete smart links" msgid "Delete smart link: %s" msgstr "" @@ -280,6 +279,7 @@ msgstr "编辑智能链接条件" #: views.py:304 #, python-format +#| msgid "Edit smart link condition" msgid "Delete smart link condition: \"%s\"?" msgstr "" @@ -387,14 +387,14 @@ msgstr "" #~ msgstr "What are smart links?" #~ msgid "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." #~ msgstr "" -#~ "Smart links are a set of conditional statements that are used to query " -#~ "the database using the current document the user is accessing as the data " -#~ "source, the results of these queries are a list of documents that relate " -#~ "in some manner to the document being displayed and allow users the " -#~ "ability to jump to and from linked documents very easily." +#~ "Smart links are a set of conditional statements that are used to query the " +#~ "database using the current document the user is accessing as the data " +#~ "source, the results of these queries are a list of documents that relate in " +#~ "some manner to the document being displayed and allow users the ability to " +#~ "jump to and from linked documents very easily." diff --git a/mayan/apps/lock_manager/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/lock_manager/locale/ar/LC_MESSAGES/django.mo index 221ad445d127e535cc07d8a39bafc41d0534f59d..ee24593b8ef9522290f5941cdc97981c7ff7ef96 100644 GIT binary patch delta 44 zcmX@ka-3ztB3^S{0~1{%Lj^-4DsRymB<7`;CZ?xaDI^w6j%19Ue2}pX06cUK Ay8r+H delta 44 zcmX@ka-3ztB3?6HLqlC7V+8{vD^t^n>sL=sXN=(}x4B<7`;CZ?xaDI}#&j$w?Re1y>$088`^ A#Q*>R delta 44 zcmey){GEBiB3?6HLqlC7V+8{vD^t^n>(@=rVvOSPNz6+xO-xUre3eB<7`;CZ?xaDI^ugJ2_4+V~n2skg*B? DbF&Z_ delta 47 zcmcc3a+_tsB3?6HLqlC7V+8{vD^t^n>rYH>XN=sRymB<7`;CZ?xaDWoJ$j%19Ue2~!)07=3Q AtN;K2 delta 44 zcmeyw{E2zOB3?6HLqlC7V+8{vD^t^n>sL=sXN=7|M3sa6UpsqrqZlR228Cl@ni F0svxq4toFq delta 49 zcmcb^dWUs`4I{6auA!l>k+Fh-k(H_GWKYHelO>s=__$IQsZ4*Cl@hg F0RUdN4vqi- diff --git a/mayan/apps/lock_manager/locale/en/LC_MESSAGES/django.mo b/mayan/apps/lock_manager/locale/en/LC_MESSAGES/django.mo index 6bcd9f629a7e30c990fdd2d33100f323088b2afd..2a49b9eccb8068fe73b6d325cac90bbe08440f20 100644 GIT binary patch delta 23 ecmeyx^owai7q7Xlfr+k>p@N~2m67qp>5l5l7|M3sa6W9#gkt#Mo$i6Y6k#1 CTnk+Fh-k(H_GWKYILlYcNq@%SX>rI#kAr&=kb7Ecaj>Hq*j C84hUx diff --git a/mayan/apps/lock_manager/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/lock_manager/locale/fa/LC_MESSAGES/django.mo index 5decc33561e69cd0e97309a52591c10dc6ac7641..5e367c5dab70fbf26a49c25a5718e16a333e2c3e 100644 GIT binary patch delta 44 zcmbQiGJ|EpE?#q80~1{%Lj^-4D7|M3sa6VUMU%Oiq9+$K^#A}w Ck+Fh-k(H_GWKYJ!lO>s=czhD`(n}N5Q>_%ziY6B^^#TAv CTMixo diff --git a/mayan/apps/lock_manager/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/lock_manager/locale/hu/LC_MESSAGES/django.mo index 576f0cdf0837fe2de007a14690546db8c0a851b4..88b6e13897b01784a015997271738d0e78844f1c 100644 GIT binary patch delta 44 zcmcc2e3^MdE3dh(fr+k>p@N~2m67qpN$Yrg67$ka6Vp?z6f#OD+cQQ_Ue2fk061q3 A761SM delta 44 zcmcc2e3^MdE3cWZp`oskv4Vk-m8t2(N$V#2GDh+EB<7`;CZ?xaDP)vRUdE^k05@I^ ACIA2c diff --git a/mayan/apps/lock_manager/locale/id/LC_MESSAGES/django.mo b/mayan/apps/lock_manager/locale/id/LC_MESSAGES/django.mo index 2fac201b33dd1155b36aa4fa41d82fda3ca7c9fb..e8fb71df1948af4df20e560465ac668bc6721ab8 100644 GIT binary patch delta 44 zcmX@he3p4aE3dh(fr+k>p@N~2m67qpN$Yuh67$ka6Vp?z6f#pLJ1|C1Ucsme05$Cm A_5c6? delta 44 zcmX@he3p4aE3cWZp`oskv4Vk-m8t2(N$V&3F-GzDB<7`;CZ?xaDP*QhUe2fn05vfV A1^@s6 diff --git a/mayan/apps/lock_manager/locale/it/LC_MESSAGES/django.mo b/mayan/apps/lock_manager/locale/it/LC_MESSAGES/django.mo index 9c4fb23e94bdf5907a04bdcf3b25ffa71033e1f9..fb0dcfa5a8d636de62bb3410841a6968d4ebf575 100644 GIT binary patch delta 46 zcmcb^dWUs`4I{6)u7QcJk)eX2k(H70WKYKZJU)qe>7|M3sa6V^C6n2iq9^Aw(i delta 44 zcmcb^dWUs`4I{6auA!l>k+Fh-k(H_GWKYKZlSP@LxO@`x(n}N5Q>_#x=P(rj02s0i A(*OVf diff --git a/mayan/apps/lock_manager/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/lock_manager/locale/nl_NL/LC_MESSAGES/django.mo index 2c3454e1511d6eb8fde9bb78abfd5f4d6d740506..3242fe2e800f44820059183fd53f7e8685847433 100644 GIT binary patch delta 47 zcmX@la-Lg_gUKBL DeS{B| diff --git a/mayan/apps/lock_manager/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/lock_manager/locale/pl/LC_MESSAGES/django.mo index 2f721648c0b17e8dcb01c0d3a86cb3b9d86c2a34..8764a448d6136e7f3c8efeacde52feea350057e7 100644 GIT binary patch delta 44 zcmZ3>vX*7SB3^S{0~1{%Lj^-4DsRymB<7`;CZ?xaDHP;Pj%19Ue2_5*05kp$ Ab^rhX delta 44 zcmZ3>vX*7SB3?6HLqlC7V+8{vD^t^n>sL=sXN=(}%6B<7`;CZ?xaDHN1Uj%AFVe3a1;08G6O A-v9sr delta 43 zcmeyy{Ed0SB3?6HLqlC7V+8{vD^t^n>(@`tW{l$YNz6+xO-xUtNep!^mr{Yha>lWT;?hWMyPL*^}`!zfWRbdTC;Ms+B@PNxW0gWMQW0$#qO! E07k10Jpcdz delta 49 zcmeBR>tNep!^mrvX*7SB3^S{0~1{%Lj^-4Dv!?{B<7`;CZ?xaDHP?$2l-FVV2qx8nK23g DV&4y( delta 47 zcmZ3>vX*7SB3?6HLqlC7V+8{vD^t^n>vv7AWQ^kXNz6+xO-xU-X^cB<7`;CZ?xaDHP|#2YXJ=VvL@Al`#bX DXFLzR delta 47 zcmdnVvXf=PB3?6HLqlC7V+8{vD^t^n>-S8qW{l$ZNz6+xO-xU$mg!B<7`;CZ?xaDO6>|JNr#eWsIJDfl&tl Dea8>- delta 47 zcmeyv{D*nMB3?6HLqlC7V+8{vD^t^n>$guXV~pbWNz6+xO-xU3P7 De?1Td diff --git a/mayan/apps/mailer/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/ar/LC_MESSAGES/django.mo index 798d7b15f07efcfc0be0b15a8b19b388efdc4fb2..96aadb4e6d1a382a537a665741adbb341b9253d2 100644 GIT binary patch delta 138 zcmZ3;I+MlXo)F7a1|VPrVi_P-0b*t#)&XJ=umIxwKuJp=4N?OG6H9z~&2={Jd0!l>Fq<+|;}hJ%)gy{H)aE5?#-fiOx=` zX1a!kx<#AVm>g(v~\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" -"ar/)\n" -"Language: ar\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:26 msgid "Mailer" @@ -148,6 +146,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "يجب أن توفر ما لا يقل عن وثيقة واحدة." diff --git a/mayan/apps/mailer/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/bg/LC_MESSAGES/django.mo index 2046c01dcdf56d1ce0ce94f030310073e0c3f0e4..301b1cc0ab4ab1d5a0fc030b93ecce3203d02386 100644 GIT binary patch delta 363 zcmX}nOG^S#7{>8)rYTb^NW=@Z7&k$Sftiz+m`x;t3k#)nn+ORvwJ5?xpj%fVgM#=m z2K)xCa%Z%vpk?2}|69@v55ITLecqBU@!nU;9w};z?2{+5OFoE{qm{C;fH^$CZ9Ksp zJjVoHVgYY3h69v+LzHvJn8j!{|BBCA_0)nU&BXN@mthz4I6=8ELYbdq5x+5o8BUi6 z9AX`hv4s8A_zXGvx8#BHD25c<)h3aOtG&NJmyZpSl!jU-R(Ptr;is;K4eP8_alN8z se8)F|IimNxM62muv>!Y7ox5ANcJ9OL=_>&k&CM|104hd=go2@Ojrr2qf` delta 612 zcmXZX&ubGw6u|M>7_GHduoY@haHJO@W=T?0Ar}wzC(Hxqiya)p9h}AYX#2mTo&OVO@E=mw5;HL&k|fTc zZN7;oc>i`l2#LQjfybF*50FIr{W4y_dpLzp@hZMVd$3=44gX*cFCF}UV7$fqHhN-# zCl>#3%ifH7cLUBLsBy!I`wc2tR1WmaXs!)~Wa-}LuDkwKpwJ96rf>bMoa^Odwy~WA- zR3?+k&dGE(pUXw(W2eZZ=Tg~>%x3cGi*N77zIs<)nGMs?JNk|8O8w4mBRw>mL|gaG zmhQQP9@vK-1${lRbwmBZJk%da4a}Awor}M?tzXkN(mnHt>Y-%onhn=OkxlH{>3tZH X@0!QD>&BY4E8Dg6_k8zzKKWuFt7ocF diff --git a/mayan/apps/mailer/locale/bg/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/bg/LC_MESSAGES/django.po index 2224a4f8cb..eaac9825c1 100644 --- a/mayan/apps/mailer/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Pavlin Koldamov , 2015 msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:07+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/bg/)\n" -"Language: bg\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:26 @@ -148,9 +147,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "Трябва да посочите поне един документ." - -#~ msgid "Successfully queued for delivery via email." -#~ msgstr "Успешно наредено за изпращане чрез ел.поща." diff --git a/mayan/apps/mailer/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/bs_BA/LC_MESSAGES/django.mo index 6621c1115fb95af1dde5656fe6fe0661c31db5fb..5dc33dcdab5202a688b001a0bcd4266e75b1807d 100644 GIT binary patch delta 138 zcmbQnx`D;wo)F7a1|VPrVi_P-0b*t#)&XJ=umIw3KuJp=4N?OG6H9z~&2{Nn7@UUyJ)F2&z7IpX6Lj0$qsRO-u z*P4n+2U@d+;Ve_-md%E3IO&w$t#}#4w0gU_=CM#pM5iR9cr+67Ov*udFJ|1D+Bhpx z9XO^)D$LGBBuQPwYJ4Q2L5|zv(Q8|;b#OkW+owFIyQIiyk`>7`ze>_{md)pvUq5A+ X3g\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" -"rosarior/mayan-edms/language/bs_BA/)\n" -"Language: bs_BA\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:26 msgid "Mailer" @@ -148,6 +146,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "Mora biti barem jedan dokument." diff --git a/mayan/apps/mailer/locale/da/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/da/LC_MESSAGES/django.mo index 97a0d55e8d7c486269cc2e8c30e1649cf3317761..c616db04ec92e3fe8fcfcbc5aa6ff7ea85cfa2d1 100644 GIT binary patch delta 137 zcmZ3>a*WyHo)F7a1|VPrVi_P-0b*t#)&XJ=umIv7prj>`2C0F8i6y?g=DG$Zx<-Zy zhDKIK#uLv;8^Z<6tc=XG4S;~lC$YFhH>4;ruQ(^MB)`Z?At*m7wWuT?NEas-W#&&- HV|)exM*|yZ delta 274 zcmX@cyq2Z@o)F7a1|VPpVi_RT0b*7lwgF-g2moSbAPxlLX^adEr9fH%h={Jd0!l>Fq<+|;}hJ%)gy{H)aE5?#-fiOx=` zX1a!kx<#AVm>g(v~`Poo+0RYrPLy7\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" -"da/)\n" -"Language: da\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:26 @@ -147,6 +146,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "Angiv mindst ét ​​dokument." diff --git a/mayan/apps/mailer/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/de_DE/LC_MESSAGES/django.mo index 4680b55b45e5897165cbf31321fb7343c1d85785..c399b834d978477b46348ceb0076866994a13f4a 100644 GIT binary patch delta 721 zcmX}pziSg=7{KxO;w3R>HChv6g5YVD3?Vf+^8+)AB^LW5i7rm1N`|wND@k+`L+K(2 zDjtG}5_Hk2rJT^E(53zdPNirE$7bl%)$bF}Jn-c6zIlJ$^S=G$w|MW@xc*KNDe?k& zKwc%cG=7L$K&cm4M;&+ZB>u(-4p7z};dvZC_HR6cr|92618?Icyo)FB39`PYR%nFy z<0Xdit?vhv1HYhr*jG&8jz7MK*XaL23u8w4By~)yogglr9M(r6PM@*I4sKf zszrl2>bdXgaDb{&DteDn@dlc>jT5+!mr*}X)tJW9SV1Z1j&B3yrtbUwhbZeGp~?B` z6%F=M>o|j(IE^~1YB-0p*vHQ}K>4uO+$#mCI7w0JEP0NUkS9r!Y^BCX2{}VPP=eP| zXUMvA^3W=mCKLjl`2-rjfNA^hV!7= h?mA|}=`6Nw$E${aYHrcE;(m%OxRb^`Z_PN={sIXgPAUKZ delta 1260 zcmZY7OK1~890u@7(??p{s@1BsRYyxfTazZ~3xkT-=Aa}ZRuDb8$xf3co87vzTWNa; z2#REci;;jq6#6ADc%-2Y3K?!k3Vqe+%hA zpI|?1sbee-kHJB#&nD3rLB~UQ8@`A8pn+8vk;WV>(0~wQo8e=Kx!5z`CBJ_eQUWWG z68Z``{0`~lojA>Q*biyrW3UVBvpgEKM_#IR4c*SkWz<#bITP*TmTQxt}s;60Khi;AZ6KV5QNpRO4N|28%GglScu`{yya z;bvu$)c<2r4)ZqXXf1 zjK^b%=ty4_r74B=!sji;kh)@mZ7yM|ka-BI*JR&0*ZRU8nx&BSy zU^1Mh(8kQdx*Rw52};QQ*w8cRKU|4p`MFgcM(I;8!du@hXkajOc_1ly(UGV$Llx2% zhU7vs{tj1+oXClcF!)trslte`ara$AuR9ky)R(j-Og(1_Et{u7Ie}*0<`|9#d1Xt8 RPAZ1#rW;4g-$G9UzX69E@#X*k diff --git a/mayan/apps/mailer/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/de_DE/LC_MESSAGES/django.po index 3f21ec3b96..1cdb05e5c6 100644 --- a/mayan/apps/mailer/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/de_DE/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:07+0000\n" -"Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" -"edms/language/de_DE/)\n" -"Language: de_DE\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:26 @@ -61,11 +60,7 @@ msgid "" "\n" " --------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "" -"Anlagen: {{ document }}\n" -"\n" -" --------\n" -" Diese E-Mail wurde gesendet mit %(project_title)s (%(project_website)s)" +msgstr "Anlagen: {{ document }}\n\n --------\n Diese E-Mail wurde gesendet mit %(project_title)s (%(project_website)s)" #: literals.py:13 #, python-format @@ -74,12 +69,7 @@ msgid "" "\n" "--------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "" -"Um dieses Dokument anzuzeigen klicken Sie bitte auf folgenden Link: " -"{{ link }}\n" -"\n" -"--------\n" -" Diese E-Mail wurde gesendet mit %(project_title)s (%(project_website)s)" +msgstr "Um dieses Dokument anzuzeigen klicken Sie bitte auf folgenden Link: {{ link }}\n\n--------\n Diese E-Mail wurde gesendet mit %(project_title)s (%(project_website)s)" #: models.py:13 msgid "Date time" @@ -115,14 +105,11 @@ msgstr "Link für Dokument: {{ document }}" #: settings.py:15 msgid "Template for the document link email form subject line." -msgstr "" -"Vorlage für die Betreffzeile des Formulars für die Dokumentenlinkversendung" +msgstr "Vorlage für die Betreffzeile des Formulars für die Dokumentenlinkversendung" #: settings.py:20 msgid "Template for the document link email form body line." -msgstr "" -"Vorlage für den Nachrichtenteil des Formulars für die " -"Dokumentenlinkversendung" +msgstr "Vorlage für den Nachrichtenteil des Formulars für die Dokumentenlinkversendung" #: settings.py:24 msgid "Document: {{ document }}" @@ -130,13 +117,11 @@ msgstr "Dokument: {{ document }}" #: settings.py:25 msgid "Template for the document email form subject line." -msgstr "" -"Vorlage für die Betreffzeile des Formulars für die Dokumentenversendung" +msgstr "Vorlage für die Betreffzeile des Formulars für die Dokumentenversendung" #: settings.py:30 msgid "Template for the document email form body line." -msgstr "" -"Vorlage für den Nachrichtenteil des Formulars für die Dokumentenversendung" +msgstr "Vorlage für den Nachrichtenteil des Formulars für die Dokumentenversendung" #: views.py:35 #, python-format @@ -161,21 +146,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "Es muss mindestens ein Dokument angegeben werden." - -#~ msgid "Successfully queued for delivery via email." -#~ msgstr "Erfolgreich eingereiht in den E-Mailversand" - -#~ msgid "Email document: %s" -#~ msgstr "E-Mail Dokument: %s" - -#~ msgid "Email link for document: %s" -#~ msgstr "E-Mail Link für Dokument %s" - -#~ msgid "Email documents: %s" -#~ msgstr "E-Mail Dokumente: %s" - -#~ msgid "Email links for documents: %s" -#~ msgstr "Links für Dokumente %s" diff --git a/mayan/apps/mailer/locale/en/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/en/LC_MESSAGES/django.mo index 6bcd9f629a7e30c990fdd2d33100f323088b2afd..2a49b9eccb8068fe73b6d325cac90bbe08440f20 100644 GIT binary patch delta 23 ecmeyx^owai7q7Xlfr+k>p@N~2m67qp>5l5ltQL8b}{0AuW-^^Vfyqpl}E&K!R?mdQ$c&^h0_oAw86k ztCo=7Ni|X#=O~4zG*XHV6bg`jJFO?X&8Dp;k}Kwb7B|neaWm!cTfGj;78wnOB0)VI z2+$noJ>fn~m8dwdN2n zf(nYTcotFdAU%}aMX8A5MO4Hd6g(8~9z7KQFGNk}xI+_@LH}1zxcm`#HOSl2!Scg*;UF@NqM=tevMf z94_Jo>?6I>zKMkiDxaua#$Ljj!&@i=hgl{GC=CLoA`wZE38hG;2wZ7yiC*?t7AEIV+S?s*NWLEA5^1NNOZHIW+8q;&_ybWP~$VEwaa~TkWj$bQZ_` zK3^g3#In;SnThINSB*_u30tppxoi6DL~^R~TB>@|Nmsx7=QDTR%km(n|NkeSmjS$j zKj>uw13lweH=|Q&CzpsDZDq7=EIOQ|sZKNCJq{e-cRm}78P}c6+V-rzmNi)uFVAP} zM9!pVbuM9PBXM{)YC^^3K+)GY(myoRKOEMB!_i2@ds*ArFw#F5=^s3#2Zy5J;!^EN ze>D$IIhrKHtVZZmQc>BE YRC#5|+`^pWE!VYssrpcHw7%K@7u7fB00000 diff --git a/mayan/apps/mailer/locale/es/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/es/LC_MESSAGES/django.po index 57bbdc0c3c..e9f54a6f2b 100644 --- a/mayan/apps/mailer/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Lory977 , 2015 # Roberto Rosario, 2015 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-05-09 01:36+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" -"language/es/)\n" -"Language: es\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:26 @@ -64,13 +63,7 @@ msgid "" "\n" " --------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "" -"Se adjunta a este correo electrónico es el documento: {{ document }}\n" -"\n" -"\n" -"--------\n" -"Este correo electrónico ha sido enviado desde %(project_title)s " -"(%(project_website)s)" +msgstr "Se adjunta a este correo electrónico es el documento: {{ document }}\n\n\n--------\nEste correo electrónico ha sido enviado desde %(project_title)s (%(project_website)s)" #: literals.py:13 #, python-format @@ -79,13 +72,7 @@ msgid "" "\n" "--------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "" -"Para acceder a este documento, haga clic en el siguiente enlace: {{ link }}\n" -"\n" -"\n" -"--------\n" -"Este correo electrónico ha sido enviado desde %(project_title)s " -"(%(project_website)s)" +msgstr "Para acceder a este documento, haga clic en el siguiente enlace: {{ link }}\n\n\n--------\nEste correo electrónico ha sido enviado desde %(project_title)s (%(project_website)s)" #: models.py:13 msgid "Date time" @@ -121,15 +108,11 @@ msgstr "Enlace para el documento: {{ documento }}" #: settings.py:15 msgid "Template for the document link email form subject line." -msgstr "" -"Plantilla para la línea de asunto del correo electrónico para envío de " -"enlace del documento." +msgstr "Plantilla para la línea de asunto del correo electrónico para envío de enlace del documento." #: settings.py:20 msgid "Template for the document link email form body line." -msgstr "" -"Plantilla para el cuerpo del correo electrónico de envío de enlace de " -"documento." +msgstr "Plantilla para el cuerpo del correo electrónico de envío de enlace de documento." #: settings.py:24 msgid "Document: {{ document }}" @@ -137,15 +120,11 @@ msgstr "Documento: {{ document }}" #: settings.py:25 msgid "Template for the document email form subject line." -msgstr "" -"Plantilla para la línea de sujeto del correo electrónico de envio de " -"documento." +msgstr "Plantilla para la línea de sujeto del correo electrónico de envio de documento." #: settings.py:30 msgid "Template for the document email form body line." -msgstr "" -"Plantilla para la línea de cuerpo del correo electrónico para envío de " -"documento." +msgstr "Plantilla para la línea de cuerpo del correo electrónico para envío de documento." #: views.py:35 #, python-format @@ -170,23 +149,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "Debe proveer al menos un documento" - -#~ msgid "Successfully queued for delivery via email." -#~ msgstr "" -#~ "Añadido de forma exitosa a la lista de espera para envío de correo " -#~ "electrónico" - -#~ msgid "Email document: %s" -#~ msgstr "Enviar documento: %s" - -#~ msgid "Email link for document: %s" -#~ msgstr "Enviar enlace para el documento: %s" - -#~ msgid "Email documents: %s" -#~ msgstr "Enviar documentos: %s" - -#~ msgid "Email links for documents: %s" -#~ msgstr "Enviar enlaces para documentos: %s" diff --git a/mayan/apps/mailer/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/fa/LC_MESSAGES/django.mo index 3a0871e7110de62cd0dedcecd1d4d48f9a4767e5..9bca9010e55435daac38b812cf87344aa5eeda77 100644 GIT binary patch delta 537 zcmYMwze_?<6u|NOe)y|WOG8U5tF1`Pr}#h+DrhT+CsZ;N2k)_nU+7}a zQtFV)HZe&3!D$I>p*$ku>zp@^Y3eeju!F?~X zV1aramr>&qzI(OH^XRJ`@!7R|7BWs5(Qn8rddVJAMj9jOTBZ?pv(v?_lON4HWv8G&?ezansqB;*gT5m} WKl!J0HBixyfdicgjWjNTVdDo!8aFfm delta 1080 zcmZ9}Pe@cj9Ki9}UDwJoOUp_vr$nf1)m>A;i%HqRkRm+=S&Kenb9K#i4IvOE{}e*e zGw9H%%UTr6wnR}BK@fF~4)YW`M2F6uI`;j&U6-|id7pW|H}jj{o4H%|wqoW-dC@~f zJ3z0Y|DxB^pL=-FPI;9o!Y(Yuv$zfWaX${^;x}<8@AFuWD_DU^EWvkJji2!#{=~yd z%_!wlYCC}=xCI-r4%<*RzJyZP72JonQ0A>*13tzk{DL9;izl&x#qD?%7xlzY3Hz%v3_9^Vw%|Ryh@bERR&w6*ehqWC;+~8g?+*G#+r@yI+-s1+{Tm;U zRBCtbU9M5CPKxc4Ka)mow@IZ^{T@1n=9}E9T$41ePHxR@mG*njWosxlm>9LjCOdR} zTy>9zBT>B(iWkJ9k+G57XBq0@*hGHbf79ZdKDtTlL*Dkf-b8#-k59y=B14uAPwJ=@ zCJ-C5@`)Ple(&kyeTl(AD;^(CM5ELCM#4&1L)na0G%{sPOzWvgSX)x59q`p;(q6Bp zv@H+}20|^mIn>eGYJc=q6KQS}YP!{Px}PG@0c3vNKP=txd*RFe$h2!f4Ws zC$nGdaev@k!ID*zmbry%oeyMNl2p1dO@8L)eE0o5tuIWQXr6Uw1 diff --git a/mayan/apps/mailer/locale/fa/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/fa/LC_MESSAGES/django.po index ecea8f78a7..da2441e358 100644 --- a/mayan/apps/mailer/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Mehdi Amani , 2014 msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:07+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" -"language/fa/)\n" -"Language: fa\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:26 @@ -148,21 +147,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "حداقل یک سند بایست ارایه گردد." - -#~ msgid "Successfully queued for delivery via email." -#~ msgstr "ورود موفق به صف ارسال از طریق ایمیل" - -#~ msgid "Email document: %s" -#~ msgstr "ایمیل سند: %s" - -#~ msgid "Email link for document: %s" -#~ msgstr "پیوند ایمیل برای سند: %s" - -#~ msgid "Email documents: %s" -#~ msgstr "ایمیل اسناد: %s" - -#~ msgid "Email links for documents: %s" -#~ msgstr "پیوند ایمیل برای اسناد: %s" diff --git a/mayan/apps/mailer/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/fr/LC_MESSAGES/django.mo index 68ac401944ad9c9f1897e7120af5b9d54bd78c29..f64d39260642b79ed82c2139bfeb8113c1f662cb 100644 GIT binary patch delta 731 zcmX}p%S#(k6u{v-amJYVh{jjdLPuz+V4{=ph3QU|c2Q`I3*8k9BMg;{#0Mw^>82DE z5l0ublwudPbtmJ}rCs(P5b*)xsxDj!y6NxKsRvHJIhov?d+#}I+OA(bPU;(qXeJ+$ zf5<1~zQzZUizxLGhf&8vti%(H;U&u2YkYvolDqfqSVi5BaeRTTID+Lki>zN%?|CTY zizSTWTIeQ9!*3`X+r~yb2;U!JC-phnSjUgM@j3S4J6y#*e1t;=Jvfwu>(o~?HR!KC z&{a;f9J+~*sehoH=r`8l1)6w+)!0&YcT*{p_jyd>1lHkvSg#;U)K=(EY@^;qlm6&>kMYQl4zQ#fPjGyonQ@Fsr%9QF!SudMtASGlZO(cJ*Do6?0glt@bX{j1= zSPGek+<=6fSVFE^LS~mB{@oU;_U}CG#!~enm7*pL7dv{dPU)f7J*4DWf@f zY6MzOU)t(U+Zi)sXYDSYEi0aTmCieJ?zHO_(u3nOPS&)o%>D0rvv#kah&Cqj-W#Vl psQ4m{4epbAY1-j`wOJJQ$zp& delta 1302 zcmZY7OKeP07{Ku}Z81gBdR9G-ct*|Wj8`&BNZUlDEIh;R=FX{JZs*p0OhOa06$_DE zgoPjokyyy=g>=J42#Ht_7GfzOVkiFJ?QOkIX72Bt@0@!c-??|^erT_~Z)>`wD4PEw z`Dc{s6dQO@p5j@2hE2GyQK=R@jLm3pA$qs~&!zpha0cy%*oKdBHon5C_!&Ets;RG3 z7897k?8|T+PQ$$@3mnDCSjH)MA~nF}v`3Jiy3Ruma2x026O{39Q4aJG*JH~hrHZ%> zH?qDOrm}^=9lU_=a4A+;^#R#9j~8ioXO*H$y+p~to77LZg7!C*3@l*Ra?%27>_dqU zU^~`u7GA}btgr4}beT!jfJYsJVRP})8PmKF#SnyZp*d+b`zcVr-6U4QK zY#cV`m+y&!P!IcF)hQcoh1xY10k2{vmdVFA8++F7k8Iln!9e7?r}W9lM5a8po^hS3 z@lWZhV`(Gjh)*{ys{d@PXIeJr3WZ#8gYGJpHf@R@P3kzfIoGuzS1jmaq13gdvx_pd zpY?JFe5(?;R_OU9-81MrLFf$+8r`#N=fOjL2XwbR5zE_yR#Y|Nj$^V`-u8yJ*QZaO z*-+|D6ROLRw!O&r9pfe$8t(}H>*;q)g<#y8UD&OMc}Ls7kDa_LBY4kD%s4j8{d-v4 znLV@SkQd3wsyR(wBERDJ+KTj$=P*IUGU@j6@xAPk($3>v6dGTT-q5b42OODjwH1bZ h5Zpr5*g7EJqxXVzz15~t^&H7@e4)9c-r9UQ^9x;p{+j>* diff --git a/mayan/apps/mailer/locale/fr/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/fr/LC_MESSAGES/django.po index 87d0987fda..2b25d93f06 100644 --- a/mayan/apps/mailer/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Christophe CHAUVET , 2015 msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:07+0000\n" -"Last-Translator: Christophe CHAUVET \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" -"fr/)\n" -"Language: fr\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:26 @@ -62,11 +61,7 @@ msgid "" "\n" " --------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "" -"Attaché à ce courriel , voici le - document: {{ document }}\n" -"\n" -" --------\n" -" Ce courriel a été envoyé depuis %(project_title)s (%(project_website)s)" +msgstr "Attaché à ce courriel , voici le - document: {{ document }}\n\n --------\n Ce courriel a été envoyé depuis %(project_title)s (%(project_website)s)" #: literals.py:13 #, python-format @@ -75,11 +70,7 @@ msgid "" "\n" "--------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "" -"Pour acceder à ce document cliquer sur le lien suivant: {{ link }}\n" -"\n" -"--------\n" -" Ce courriel a été envoyé depuis %(project_title)s (%(project_website)s)" +msgstr "Pour acceder à ce document cliquer sur le lien suivant: {{ link }}\n\n--------\n Ce courriel a été envoyé depuis %(project_title)s (%(project_website)s)" #: models.py:13 msgid "Date time" @@ -156,21 +147,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "Vous devez fournir au moins un document." - -#~ msgid "Successfully queued for delivery via email." -#~ msgstr "Ajouter à la file d'attente avec succès pour l'envoi via courriel." - -#~ msgid "Email document: %s" -#~ msgstr "Document du courriel: %s" - -#~ msgid "Email link for document: %s" -#~ msgstr "Lien du courriel pour ce document: %s" - -#~ msgid "Email documents: %s" -#~ msgstr "Documents du courriel: %s" - -#~ msgid "Email links for documents: %s" -#~ msgstr "Liens de courriel pour le document: %s" diff --git a/mayan/apps/mailer/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/hu/LC_MESSAGES/django.mo index 3ad8c86f5dd0f9df0ed716f032aaf11b6e411b67..4144046e029bd642b57617dc53a234a13ffb3ca5 100644 GIT binary patch delta 137 zcmdnWa+2BNo)F7a1|VPrVi_P-0b*t#)&XJ=umIwIprj>`2C0F8i6y?g=DG$Zx<-Zy zhDKIK#uLv;8^Z<6tc=XG4S;~lC$YFhH>4;ruQ(^MB)`Z?At*m7wWuT?NEas-W#&&- HV|)n!P6Hcx delta 279 zcmX@fyp^T?o)F7a1|VPpVi_RT0b*7lwgF-g2moSbAPxlLnT!k!r9fI0i1~pUfLyRX zAcX+FrNt!*1x5K~nJK9Xi6sg-sfj>={Jd0!l>Fq<+|;}hJ%)gy{H)aE5?#-fiOx=` zX1a!kx<#AVm>g(v~\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/hu/)\n" -"Language: hu\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:26 @@ -147,6 +146,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "Adjon meg legalább egy dokumentumot." diff --git a/mayan/apps/mailer/locale/id/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/id/LC_MESSAGES/django.mo index 25ce02cbc79eb4c9cc75daece7380e27fecaa7d4..1a79a82f4ec658e5dcc52acfabb9c710bbf4b60e 100644 GIT binary patch delta 175 zcmcc3@|ij6o)F7a1|VPpVi_RT0b*7lwgF-g2moSEAPxlLPDTcXXdulC#7}{2AOh!uQZOCWq%|^1Df~P)$Nb%V` z2)=|b;6#7;_+Vxj{-5?&XZ^k3`4F5o(_;qAHj^+-9+@2mnFA(gHZ39E*t^YaONc|Z zX7gCE{(iCk6Qd{arXZ2l&cjPpu1rRN9+re|&qHYmvhuku$ol^KL%JSGtz~cmDhP)| zsRl}Q?{4LkR>qmq%I0ARfzrG?m4O0%7V6Ql;&c;qUd}7DZi&9ELb$q561a)dF`SRn zXp&q;aXcN*W*2;F7d0+O&IyYUCN|?D&Y<1&TAxSPSk(>+DxRn^Ia+Y!O@_IBMR4eA KZk#ub`{EZ}uukRx diff --git a/mayan/apps/mailer/locale/id/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/id/LC_MESSAGES/django.po index 5bd9c0705c..3ce394916a 100644 --- a/mayan/apps/mailer/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/id/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-20 19:16+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" -"language/id/)\n" -"Language: id\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:26 @@ -147,6 +146,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "Harus memberikan setidaknya satu dokumen." diff --git a/mayan/apps/mailer/locale/it/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/it/LC_MESSAGES/django.mo index 1ccfce19a49f51d4bc51c7bda7ebcbb968b9f32b..cde481eead328ecca58ec3f23ed22fda188ff0d6 100644 GIT binary patch delta 728 zcmX}pKS&!<9Ki8+_G0SUni~H^ZNV!<1SOc9)?fw&QR*NVPY?v5M7ZHF^+au56cLwJ zX(=9pNK2t0g6p{mj&|zkR>TffT*cC{>G>H2P^O&%Dexu0i%!Z*W0m*c@G*mgfDRnEAbuj{)$>< zP|kx54C7|e9h8DUP!6_-F+47=pJE5|bF{FQ&0Y8!)3}6R@Bo`}Fr?HcF6H1y=GPPr zQC}@nRZh5uaq!Y|i5#B4C>#z7HJ-_U zpj)b%9F>XmLvAi1J(Q47Eg?6R+t-qEi&8{O1Ed3mR!P6hgP&!Zrsv(6X}?|1`rq|_ ze>T(u3S9ZA^Edw1UTW)cIr1t()#$<)KX?u^y#N5Zj) o?M*pz3!Z6v^SL?K3+(WvW(-rrbl&FNyuV*D;hV-tux(suchWgiRsaA1 delta 1236 zcmZY7PizcP9Ki9n-BuT^KlP`r7Eh?q+O=I(>4uUt9O#O)M7T|6M>9G*vu1Xi(8FF4 z5y?d2CZaB!WbX}e(W8)v0|^H`IB|2R`u?WdRlLm1XWn}=^LxMFo7-C!Ix3&q8t*Hb z=IoX;rc|HUz=if2Z{i#_;#gd%R=kL-(ZX%$VF%u>%|FI<^q*rJzQ9fR7T4fBb}3a+ zKe*Y>z&gIZ3lHF0Jc|+N4wl zkKq9ERgs$`3_QVm_z`!aOVp=S<1XH!Ka^04DfJ2^gE^E+yh9261v_yO*JCHE7x$xN zK2$S@^1gvPiLV@PcHkZC!DrZlZ)$!*3H%KuqwmO}esYn(alR(=8u#E{q_pY`%JUPr z4?P^l2Y4LcV`Yq+cIrKjS24s{?8PxwK>?!jLew_Ylr51al_FuKIVF3^bTg;?6SDtO z0a>ghw2@P`TAKVTw9{%UR~8awA|p~#S+)E$k`=#4)V6S~{gY8&_Ly}>m6L(4YOWy` ztK>biT(I0yR`&$zWWlfIwdv&z9eu{pzGWIkyX5^TPpUeT_!|2SN, 2016 msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-09-24 10:09+0000\n" -"Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:26 @@ -62,11 +61,7 @@ msgid "" "\n" " --------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "" -"Allegato a questa mail è il documento: {{ document }}\n" -"\n" -" --------\n" -"Questa mail è stata inviata da %(project_title)s (%(project_website)s)" +msgstr "Allegato a questa mail è il documento: {{ document }}\n\n --------\nQuesta mail è stata inviata da %(project_title)s (%(project_website)s)" #: literals.py:13 #, python-format @@ -75,11 +70,7 @@ msgid "" "\n" "--------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "" -"Per accedere al documento fai click sul seguente link: {{ link }}\n" -"\n" -"--------\n" -"Questa mail è stata inviata da %(project_title)s (%(project_website)s)" +msgstr "Per accedere al documento fai click sul seguente link: {{ link }}\n\n--------\nQuesta mail è stata inviata da %(project_title)s (%(project_website)s)" #: models.py:13 msgid "Date time" @@ -115,15 +106,11 @@ msgstr "Link per il documento: {{ document }}" #: settings.py:15 msgid "Template for the document link email form subject line." -msgstr "" -"Template per l'oggetto del modulo e-mail per l'invio del collegamento al " -"documento." +msgstr "Template per l'oggetto del modulo e-mail per l'invio del collegamento al documento." #: settings.py:20 msgid "Template for the document link email form body line." -msgstr "" -"Template per il corpo del modulo e-mail per l'invio del collegamento al " -"documento." +msgstr "Template per il corpo del modulo e-mail per l'invio del collegamento al documento." #: settings.py:24 msgid "Document: {{ document }}" @@ -160,21 +147,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "Fornire almeno un documento " - -#~ msgid "Successfully queued for delivery via email." -#~ msgstr "Messo in coda per il recapito via email." - -#~ msgid "Email document: %s" -#~ msgstr "Email documento: %s" - -#~ msgid "Email link for document: %s" -#~ msgstr "Email link per il documento: %s" - -#~ msgid "Email documents: %s" -#~ msgstr "Email documenti: %s" - -#~ msgid "Email links for documents: %s" -#~ msgstr "Email link per i documenti: %s" diff --git a/mayan/apps/mailer/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/nl_NL/LC_MESSAGES/django.mo index 426a200b38c3dfb03709dcc732dd4d7f4367a47c..b01cd70868cc7f82acce22dd66770942db757ff8 100644 GIT binary patch delta 522 zcmYk%u}cDB7{~Ef&pT7ow2-0#&7h?$y$b_rY7C)>aBH|gNfIq}cZ*tD-hzfG0*SVU zhQ{a*=s$>{si~ng8u~tZL=Qag=Y8KheSX)A9fiAZqk(fpCFp6oM~~ABJ{Ia219*Z_ zJjD=R;soA$_fHt({DNV8#Top-2!{NF-zCxFoWh_|T{Xu>1}vfka8Lql4qi}uc+H<2 zpu87nkswLWS(G4oltJq_f@PE-Rm|WaO7Jt!E3}xe?%0q--FpunF~#{AC-L38|3Pvn za;P{h#Z`ZZe7TeiF#9{DhEcv$!b&g+WzhdCF~mtas7?P)q+V<6s}f7Ps+X*k{`6+o;)aLR9XIch|{`z4drD zU8;%$SHumeR}d%896537AHbDf5&Qw1`M#OSB-sdSJs&^&+5Y<3Z=YN|^MgQn1N9Q> zAE@u5e)kkUC}*D*;tY5Wd=Weko&zs|Z-O6I{hxy8VfVp{;FsVlpamP?x8U30_uxC= zFW_bHG59?A56J8O3qA*mXM|V)7Qpwx3n1%Q23hAS$eMRS_DjJlU=IEU?LUI-|JAdl z?x^BDkad3p^1hG23*gTn>-`mc4SWo;?k6DY{Tn230pi{R7eUthdBt52KXC^i)-wc` zKm)ShBaq|z6ZjVRd)5CZcop_vAcveabDUp5<-*!Hu3UIsE-$09c1#hkqO#7zf@2r^ zvCZc|IE(vWo6q+;>RD7Ar-&aQUgFP&jb~z0dPUO2{m0mNki-Eo#x!K6NBXr(iGdy@|@sC9DJc%rmYF7FK5zFZ?nJC zxUDAE`JkVTbR2BtqbwNMkQ&>!2EjF_q=$dNw;EEn-T64^bb{_OwY%ZUO3?nO-G*au zTTL~ud%~|BbXTd<4VPE0v{4#ch(j=N(qxJB)`irYLhPQQ9Vrvf!N01?o~-KlY{ao> zMmGHfv&|?+e1n0KX-J#7kH)lkQ~9xS3Eo?_M2lnZCt<5~aB$G{ypJBL`#ihlY$lzy zu9fn!0~M!P3zLckTPC@4bE~z~=-=q~jsnzawj0;1@wo3`Fq`1?UfuVtNg}mbqi8H$ zru_Qu;Cirnq~JtWm$%t>|J`rpI~IC_%vO7x0${o3a3GCNNCD7+F*x3U+{^H_7A zruI~F)sFkw$>D0HBERP5olY=qrWVfGrP^e;oQyj4sYv2U z, 2016 msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-28 12:35+0000\n" -"Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" -"edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:26 @@ -148,21 +147,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "U dient minstens 1 document aan te geven." - -#~ msgid "Successfully queued for delivery via email." -#~ msgstr "Succesvol in de wachtrij geplaatst voor levering via e-mail." - -#~ msgid "Email document: %s" -#~ msgstr "E-mail document: %s" - -#~ msgid "Email link for document: %s" -#~ msgstr "E-mail link voor document: %s" - -#~ msgid "Email documents: %s" -#~ msgstr "E-mail documenten: %s" - -#~ msgid "Email links for documents: %s" -#~ msgstr "E-mail links voor documenten: %s" diff --git a/mayan/apps/mailer/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/pl/LC_MESSAGES/django.mo index 1fb73eb45ee66804d0b4ee60db9643d036e2a6fe..2cee7eee9700a5783b8be169ece3179e7cf6833b 100644 GIT binary patch delta 763 zcmYMx&ubGw6u|LmvT54JL``j#8tt@@lB&_&P1OhP{sRRs9`#l{dGjE&2t9i8@7;dkBM&KeLTVUSGVns;-^@^7dVR_kX-5;PU3ge_^UUcVw2qXD)Kn$G)-Pmg7bDlUQi-) zr>n~LE-0(G-~x@gq}RD9QKsC9ow{mdicm(idW1|e8s%6raq;u z*igDsw97@;(T-bnOD2~%U+Rx6R^7$RHZiv9H(SMfksme#ztxDU`flUldemxQ(~s&6 z^D1%JF5lEof{n-zyh7-Cj;?82S9KxGJNB~Y>bW^B-6gL)Fa6HAz2vxhYpXNCB8RD( zcGwlpkl=XLvS$x=JM*%kmvvzyc;w0VY&x^Z)<= literal 2311 zcmb7^%WoT16o&^WFGG2>yq^c6REeUo$4*MBNnA=El_JF=G$w)NjpxR>_IR$jGZWWt zyQx}Llr;;~6$lBj1F=I$MKl&GHv9qX%Bm7VEZFipGae^#7QmIq-+i3tJu~OG6URQa zFkZs*3Z8p-#_{}cAO0}b?zgOC;CtY4a07f4^gz}Lz!$)e2j^daPhkBGcmli)o&g#@OAJS_$>G($a#McPJ(?9KkE!Q)`IrB){=-MiNK>swPdeGqfsk7*X5kUFG3QBJ!och7RP=b>3Q+ftUOZ_b3T)R|%4w{>b5h{dlV( zYmv1c*J`+)?b!Fb^ieEh>7^M+U+qfMrJ+jRs>)W|=K^v5(awG#sW0Ac(H6?cLCF6o zAEtr)t4fkrlGFe2Gpcmh*_zRO2lk3*Z%7j=9k^5xT@ldoQe{1NLAJGt>`GWyp1ly) zL%XV7%B{UywHJ*P5#()tUtKCW#kcHY(JoDsQ*uwAww)QrfuMas?kcu>P|lgQOGPRb zU1xU6!N{$mu6EUkAjIWrLZQ>?R|IqqHfsI9FSGt+3z^Y!uplVKP@) zsVwhbNipx_7IhHe1+}Z)Hu8<+#R!r@1#?u}5hj#T`Tgp7`^>%^d)$`BUJh#7!w2iq znJpC!V|A(R=hpn#2;V-B*9IR-&`y?Nd3p|qd{UkW%H<-xO%CCByy%=Qm*~`~WIA7- z;pqf#JM%?{E?-XeS;m=!P7yk#$+?_WHL`ze?*=y$L5k|y>#0Db%WSdGzqK?G4F71A!&0l+@aWDV|1N#ip*3u)8fvv$_*m5lFn1- zQJkposUpum6jO4Nyxv)$F%lkWE1PWVwc?=YWCg`XL`iY3FHPe$#(Zi*4 zL*Wu+6)?I!vL}qM!c-z{ TjU##oCF~@@ebYy63?%*mYgdJc diff --git a/mayan/apps/mailer/locale/pl/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/pl/LC_MESSAGES/django.po index 68352b1e01..3aaea55f61 100644 --- a/mayan/apps/mailer/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Annunnaky , 2015 # Wojtek Warczakowski , 2016 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:07+0000\n" -"Last-Translator: Wojtek Warczakowski \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" -"pl/)\n" -"Language: pl\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:26 msgid "Mailer" @@ -150,21 +148,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "Musisz podać co najmniej jeden dokument." - -#~ msgid "Successfully queued for delivery via email." -#~ msgstr "Przekazanie do wysłania drogą e-mail zakończone powodzeniem. " - -#~ msgid "Email document: %s" -#~ msgstr "Dokument e-mail: %s" - -#~ msgid "Email link for document: %s" -#~ msgstr "Link dokumetu: %s" - -#~ msgid "Email documents: %s" -#~ msgstr "Dokumenty e-mail: %s" - -#~ msgid "Email links for documents: %s" -#~ msgstr "Linki dla dokumentów: %s" diff --git a/mayan/apps/mailer/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/pt/LC_MESSAGES/django.mo index f1f05abb0b1d5e4e2af96f992960a60f1345b5f3..a07d56e28fcb28bc3a87d219f83c3ac0febcd624 100644 GIT binary patch delta 363 zcmX}nF-yZx6o%n*)2KCCOI;LfAsy@@!8R=|WbqHwMY|Nbq#z=Qfh1$0vj|eSx;VOa zDxDmh1UtBP6zBc{!O{0t>4A?Y_vCU;^5bY{__b?43bjp&WIzh!lbCXqh>d03#|q}~ z1b6Th9qeHlFVWn;MKkXn_i&6G_=YX~z>$)nWGs<28V{Mj1yAU5p8h+>3g>S;#v;?# zv5jWXIUeF2ngtW=;tR54`D2@C-q8}qEI$||D|wME^F*1UqDyL^U)6iAijw?(E$nJkwzD}x@*&-K{RP4;!2_ngyGV@63O-6=6bC~(#0Uw zi-FN-6N|-SVK$lg2MkPXeBV~Q$v2<(x%b}Zc?0cRYraO*bA}a0#*hLi?jyMOf=>_UA5(U9H2Dfj{9pdmEff#VQkT920xmS-xPU=00P43p)4FNui6j|`Oez)Z zg+>=sx-q9G3^M04W_sGd(k$H7w>;aeIkqpn46STi7OiIsd0NO9va8l|HkaGX7mG`` j*P$yVmg5ah2f}lCiF;J#jv!1FHL6$s$BTHdrat`wi0MtW diff --git a/mayan/apps/mailer/locale/pt/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/pt/LC_MESSAGES/django.po index b49adffade..cb4a371921 100644 --- a/mayan/apps/mailer/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/pt/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-20 19:16+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" -"language/pt/)\n" -"Language: pt\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:26 @@ -106,9 +105,7 @@ msgstr "Hiperligação para o documento: {{ document }}" #: settings.py:15 msgid "Template for the document link email form subject line." -msgstr "" -"Modelo para a linha do assunto do formulário de mensagem da hiperligação de " -"documento." +msgstr "Modelo para a linha do assunto do formulário de mensagem da hiperligação de documento." #: settings.py:20 msgid "Template for the document link email form body line." @@ -149,6 +146,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "Deve fornecer pelo menos um documento." diff --git a/mayan/apps/mailer/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/pt_BR/LC_MESSAGES/django.mo index 57b92419dfdc6fbd4f977e02fe13cb2b014ce303..fa6f848b215ede91d13f6465e05784ba8e1955bc 100644 GIT binary patch delta 741 zcmX}pKS&!<9Ki8+dNG>RrkZFp2wo9!ki*Mq6|)q?(iQ|`N*AX_Jmjc)!GAai>L3)e zsD}s+E!4raaCWnk?bNC5P>`aFTXpInxYX}YPk-chpZ9X_?%nVGPMZ%KmQU*SZAE0r z7V?~ICl56)M7~0)cQ}GN9%C(@VhvuPJbQ^vSYLU2zY`xa@5dOvz{mIs<2a8zzpPdn zRPjd{qqr5ii?ZQIln>j-G=2^5|G_TiXJ})J#Xa~O`)~<2@Bmx!SwyM#6y@LwbDhm1 z?61}s$QPAEcd(iHUg#H0GXEX=H}pTsNhPbP8v9Y!4PgS`;3F&{Keft53SGxG+{704 zSDzX1F7*?i;&Et(^LfpD6kp;el!~sSpssl#rH45xh!0ASGlE`5+0p zrRvBLnMn20QwiyzgdDYm^iHZtk?eaPQt@5TftyxIzpH|86`H0`y3=p{PCf5`&b>w0r`ub+sf69sR~ znVIv9f;U^7alK$T`cF#^xf8{s{i8k4821dvoGQAL{*RhPzZA>+zvAg275}bX19!+- Ao&W#< delta 1315 zcmZ|NPe>F|90%~XuG;#q%(DEOzc4*yJL;whi4VZT@VU#CEg} z5e%I=R9FN-MeM~xgs~SR=#Zy^iY|4oE?tVgzu8gC>ajDQd2im%`@QeX)7lU9+4nWY zHv}5tXyPLzL7dQh;VG^!`lYusDMSlk3CvM@y8@LO%!sn3Zzk$4= zkFXO~l?V}o1F#3{i!?6!FmMlEhwoquG_dMC(zpgMqklLe1a65%$OXO%d<*N*{}jko z^G+KA70Ai#4?G);J8%cq7qff;AHp{H8ggXcAwQ@Bd2N6#uo`wktR)6vI~;+WP#SU~ z7a%8b6LJFcupchKeeg%%0Ctf*g@H@B7=cTW6KJj!q6BwT#tU-eq_`Nu z!6|UTn{n_r!SA07$36reB{t&VSIvzRK|3P0;EaO&ig|=TF0Psr;JER5_^lS_;G6XO z{EqoGZ1a2gm~vx9p-?tyCft-XoH(`FVmPI0IxP>`zm4gdF&W(EOBy$=m3eEX*?-(D zJY@9m|IEzr1H5ce#B;(*>zHdhl(x)_mXxGAq)Qb8rXg3BQM^0h13OQ+iG;N6aaY%; z>AWjlnJla)buA;UY079SN#2KdvA8MsGn@-m?TL1GM`OFGD;DqV^`4b9j`<_qeH4qu zdwM&%(8@=#Ui74;8n&)FrWL0lY*f-AOKOg4Q@_gHLH|5n7*i5vN;zlk%~h6u3uT9+ zh45AjHiH2FcVkqWQ1kcmb0)S((w`;#aFIZvOO#eEl~y7!Icoanr0TV^yqd^V`$3tJ z9FHLr(xSA~O~T7IZE{nq4^_M?kz@Ts6PBD%Q3-ZM`3F;)V^aP$>6-1R#1+|TiCX-E Vq><53^>Uet_qePs_a*W&^b0Ub0wDkZ diff --git a/mayan/apps/mailer/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/pt_BR/LC_MESSAGES/django.po index 69ce53296c..9c32b5e1d8 100644 --- a/mayan/apps/mailer/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Aline Freitas , 2016 # Rogerio Falcone , 2015 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-17 22:45+0000\n" -"Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" -"edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:26 @@ -63,10 +62,7 @@ msgid "" "\n" " --------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "" -"Se anexa a este documento de e-mail: {{ document }}\n" -"--------\n" -"Este e-mail foi enviado por %(project_title)s (%(project_website)s)" +msgstr "Se anexa a este documento de e-mail: {{ document }}\n--------\nEste e-mail foi enviado por %(project_title)s (%(project_website)s)" #: literals.py:13 #, python-format @@ -75,10 +71,7 @@ msgid "" "\n" "--------\n" " This email has been sent from %(project_title)s (%(project_website)s)" -msgstr "" -"Para acessar este documento clique na ligação a seguir: {{ link }}\n" -"--------\n" -"Este email foi enviado por %(project_title)s (%(project_website)s)" +msgstr "Para acessar este documento clique na ligação a seguir: {{ link }}\n--------\nEste email foi enviado por %(project_title)s (%(project_website)s)" #: models.py:13 msgid "Date time" @@ -114,14 +107,11 @@ msgstr "Link para o documento: {{ document }}" #: settings.py:15 msgid "Template for the document link email form subject line." -msgstr "" -"Modelo para a linha de assunto do e-mail para envio do link do documento." +msgstr "Modelo para a linha de assunto do e-mail para envio do link do documento." #: settings.py:20 msgid "Template for the document link email form body line." -msgstr "" -"Modelo para a linha do corpo do formulário do e-mail para envio do link do " -"documento" +msgstr "Modelo para a linha do corpo do formulário do e-mail para envio do link do documento" #: settings.py:24 msgid "Document: {{ document }}" @@ -158,21 +148,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "Deve fornecer pelo menos um documento." - -#~ msgid "Successfully queued for delivery via email." -#~ msgstr "Agregado com êxito à lista de espera para envio de e-mail." - -#~ msgid "Email document: %s" -#~ msgstr "E-mail de documentos: %s" - -#~ msgid "Email link for document: %s" -#~ msgstr "link de e-mail para documento: %s " - -#~ msgid "Email documents: %s" -#~ msgstr "E-mail de documentos: %s" - -#~ msgid "Email links for documents: %s" -#~ msgstr "link de e-mail para documento: %s " diff --git a/mayan/apps/mailer/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/ro_RO/LC_MESSAGES/django.mo index 3a0d42b05603328ef819a0e4b063f129ddbd5cba..5412f82dbbcacf26b3a66b71d4d9ac8ce4158ca5 100644 GIT binary patch delta 176 zcmbQvx`8F?o)F7a1|VPpVi_RT0b*7lwgF-g2moSEAPxlLSq z24e$iO-*A)^}CDeFR`=;R@KNd*IHOKW~pWf(n5u@-LYUa!pxMeMs1It@3PgH`#ukj zK?LDw#KlmE-pw`7aj9BmG+!?aArL;jo$x?_e;WGZLqX}KvbDTuq;4x|O%uY!ZJNSW zlqGPMWYJ}M9>sBUC04L- MpKnTo)BgvvA1j4T$p8QV diff --git a/mayan/apps/mailer/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/ro_RO/LC_MESSAGES/django.po index d68c417523..e2d2b92b98 100644 --- a/mayan/apps/mailer/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/ro_RO/LC_MESSAGES/django.po @@ -1,23 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-20 19:16+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" -"edms/language/ro_RO/)\n" -"Language: ro_RO\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:26 msgid "Mailer" @@ -148,6 +146,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "Trebuie selectat cel puțin un document." diff --git a/mayan/apps/mailer/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/ru/LC_MESSAGES/django.mo index 5bd5e1c07b9938806297f9e22da082b72cb8a14d..3c0b9702e1c54ed45411b5fd677f9f618988e797 100644 GIT binary patch delta 514 zcmYk&Jxjw-7>40AZEcNOYrragV4OrWn8Z>cqdIgbsKv=n5jq4)LzCdzwIT=-+{8%) zU7e(e`X>||Ty+ryap>lKY7k#|dgVPm$@%!s-{#t{YU)&?#>fo0AQNOc!4K8J6dvLT z9^)XM;S^rtBtFLfzu-LmI}V{D|IRPq0KJA8TtL3tmR5KW3l~u=yc17wagM$v#>oj8 zr@!K@0^Y|yVTJw!HMG-g9&2b}2dA+c`;3e9U#POaG|RSB1`OQ84J_k1X7MfVKaoR8 z>_ZwQqFA$k8{%d}iTO;E_;&yF;-tewA>xLU7V}oo3K*LeICgs<&VF VLk|PTcfFf#vL{FB%tNGS%RiiMK#%|c delta 750 zcmZwD%WD%+6u{w|N2B)Lh_+hAD_zwlW0Tq{6-4Srq&~n+?M8-VS_UQ$lT4ti*ho>R zpfI=;1b2eaM~d1u@qxM%?ttt30d8Em$j;vlsVfhh`R+Y)a^~iK=>IcVX-2~@1aXu+ zMb^mEJe@5}P=Jt8eaCHCMP>i%08!38{o_i;>!idbf$ zKd_Ga0MBt4-=c2(h7v#|6+2>JW9b?$UB=&HMQM}T& zBE%w#aSCOO;w!v^+ns%wQ!KI{#_L$X!?=gb__b4yQREUtFRA~Kp2a!aH#>m;i_lf7 zde}keE7sS>VMRYVNb2A$|Dv0fzEZv`hP<`Fo3Wd2u_W__T-i=r(kw~GGAZP;mQ3eT zZpO-%49^H&o4D(yQdY6J=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:26 msgid "Mailer" @@ -150,9 +147,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "Необходимо указатьть хотя бы один документ." - -#~ msgid "Successfully queued for delivery via email." -#~ msgstr "Успешно добавлено в очередь доставки электронной почты." diff --git a/mayan/apps/mailer/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/sl_SI/LC_MESSAGES/django.mo index 7947303cfc8fbdc70a1094a396a537f34037a13f..a6994d9f475d68c17ff190538304895d6e434e8b 100644 GIT binary patch delta 138 zcmeyt(#K+PPl#nI0}wC*u?!Ha05LNV>i{tbSOD=Aprj>`2C0F8i6y?g=DG$Zx<-Zy zhDKIK#uLv;8^Z<6tc=XG4S;~lC$YFhH>4;ruQ(^MB)`Z?At*m7wWuT?NEas-W#(^I IW7J~=0EihIEdT%j delta 278 zcmYL@!AiqG5QeuBFFkthVL)%XWjETQp@`8$C?p!&`T%P)hs3&5Hk(|1gMtSi#1|?) zMvsm~@Q07#pWz?=O|T2zw@1OJU>z_6=8QRHCd{u2=9qb6wml)*KfmAr+kKA5zw);6 zuy)i{C4%v=Lc\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" -"edms/language/sl_SI/)\n" -"Language: sl_SI\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" +"Language: sl_SI\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: apps.py:26 msgid "Mailer" @@ -148,6 +146,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "Potrebno je podati vsaj en dokument" diff --git a/mayan/apps/mailer/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/vi_VN/LC_MESSAGES/django.mo index 58c2f067873cfe998825b5708745b173350fe802..8eabc3c25fb8fec153435299621c3324265ec46f 100644 GIT binary patch delta 137 zcmX@fa)sIAo)F7a1|VPrVi_P-0b*t#)&XJ=umIv&KuJp=4N?OG6H9z~&2={Jd0!l>Fq<+|;}hJ%)gy{H)aE5?#-fiOx=` zX1a!kx<#AVm>g(v~\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" -"mayan-edms/language/vi_VN/)\n" -"Language: vi_VN\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:26 @@ -147,6 +146,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "Cần cung cấp ít nhất một tài liệu." diff --git a/mayan/apps/mailer/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/mailer/locale/zh_CN/LC_MESSAGES/django.mo index d8ab2ea206307a30c726de7ffa8be0ad798fd0b2..2caa55a5427dba3e03f9fce6c1aef361b279c742 100644 GIT binary patch delta 137 zcmZ3>a*o;Jo)F7a1|VPrVi_P-0b*t#)&XJ=umIvIKuJp=4N?OG6H9z~&2={Jd0!l>Fq<+|;}hJ%)gy{H)aE5?#-fiOx=` zX1a!kx<#AVm>g(v~g@ diff --git a/mayan/apps/mailer/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/mailer/locale/zh_CN/LC_MESSAGES/django.po index ed05a3fe45..73391a6ef5 100644 --- a/mayan/apps/mailer/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/mailer/locale/zh_CN/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-20 19:16+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" -"language/zh_CN/)\n" -"Language: zh_CN\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:26 @@ -147,6 +146,3 @@ msgstr "" #, python-format msgid "%(count)d document links queued for email delivery" msgstr "" - -#~ msgid "Must provide at least one document." -#~ msgstr "至少要有一个文档" diff --git a/mayan/apps/metadata/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/metadata/locale/ar/LC_MESSAGES/django.mo index 6f20d3280aab42b163f24bdddc9c5ee4f820dcc8..357e2d1004a369320eb64480f44a138d2368d1af 100644 GIT binary patch delta 784 zcmYk)KTH!*9Ki9{KTuo1ma0WTu!KO3@sjI7i@7KX2|5sr)iAISXlP9kX{{93M#9j* z0$fOdgpmk1mY{zwkMRDNib#pfPY7rBVxJ{s9i*5sqLD6ZnLxs8HolHdMedT*pUvfqgt* z`Ta`0M;!~ei!vd|>JQOGscZ)MsdqH8k;VFWA6ZLPFo{1fjy051l+Cu0)al$0PC>0$ zl7*Y(3L%TgtGO!!LSBE6l=GACLtbN;ydF{^C*p*B4{{_D&18quQ|dNSlM0a$xfYwx z7Sow@F&(q!+}&2$y%u_#{}|2WXBOwPxuO~EU8wjyJuWNd{gxQi^a0I?N8^TR^wZb% zKPXQ_b?au^ttE#*!S-Mc7D4Di#MLemXcM(bK@fsk zC9Q%;(1RWnRAQ^5l8Z$Uq2S4j7nw!Tqu|AhhaUaExC3u~Gdq)+c{6#ItR%}n60v)V zvV+)3{3Z4hpCeS1Gf|~_(8KLGkK6DmuE7tu89(8A{EjjFjWYiaZo+tzQZ&^rY{flj zDOFazG}`$vfwI7PJc=dE;>U2jomFLC7k1-8l#RxzTJR+9##3Sc3O3Wfj$Js9a*!JS zB)Rw4!~W_azaC&<1xIidC9@2bgQF-JUdA}y!3;h?7Xy^cI!H?nkicW;U@w+&A1>h( ze!+{FS<5*4t2Z?E<2M|}7`t!=HHxxfmP!sX5%zB(YpDA;h>tLZUr}C7vP=?OoMOpF zk@Y$Vxe-Z53g=edMyjpSqpTz33FLj{|G*8Y4TO}=|1>h)61Ii5u+83$_m*ygkORtd zsp@p}Q1x;2c73d=Gt!+c%@p;8ONH6oq_4fAp7K3D6!N~FESxJ%`}tyD^>pl=J7}d+ zmea3oC+)hHJz(4M@#EGBe>OLhE99*sUeQl$$4)WNwwxhtA5QnX^|9u=k@~Newn%-b z^+0quSTHZmb8VgkH?>&`D#2CrRtGmsO$T#QEd, 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-28 07:35+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" -"ar/)\n" -"Language: ar\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 #: settings.py:10 @@ -105,13 +103,11 @@ msgid "\"%s\" is required for this document type." msgstr "" #: forms.py:112 -#, fuzzy -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" msgid "Metadata types to be added to the selected documents." -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: forms.py:141 +#| msgid " Available models: %s" msgid " Available template context variables: " msgstr "" @@ -156,6 +152,7 @@ msgid "Metadata types" msgstr "أنواع البيانات الوصفية" #: models.py:42 +#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -178,8 +175,8 @@ msgstr "Default" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language (https://docs.djangoproject.com/en/1.7/" -"ref/templates/builtins/)." +"Django's default templating language " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -198,7 +195,8 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected format." +"The parser will reformat the value entered to conform to the expected " +"format." msgstr "" #: models.py:78 @@ -301,7 +299,7 @@ msgstr "" #: views.py:95 msgid "Add" -msgstr "" +msgstr "إضافة" #: views.py:97 msgid "Add metadata types to document" @@ -314,25 +312,22 @@ msgstr[4] "" msgstr[5] "" #: views.py:108 -#, fuzzy, python-format -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" +#, python-format msgid "Add metadata types to document: %s" -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: views.py:152 #, python-format msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." -msgstr "" -"تم اضافة نوع البيانات الوصفية %(metadata_type)s بنجاح للوثيقة %(document)s ." +"Metadata type: %(metadata_type)s successfully added to document " +"%(document)s." +msgstr "تم اضافة نوع البيانات الوصفية %(metadata_type)s بنجاح للوثيقة %(document)s ." #: views.py:162 #, python-format msgid "" "Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "" -"نوع البيانات الوصفية %(metadata_type)s موجود مسبقا للوثيقة %(document)s ." +msgstr "نوع البيانات الوصفية %(metadata_type)s موجود مسبقا للوثيقة %(document)s ." #: views.py:176 #, python-format @@ -340,11 +335,9 @@ msgid "Metadata edit request performed on %(count)d document" msgstr "" #: views.py:179 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Metadata edit request performed on %(count)d documents" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:231 msgid "Edit document metadata" @@ -357,11 +350,9 @@ msgstr[4] "" msgstr[5] "" #: views.py:242 -#, fuzzy, python-format -#| msgid "Edit metadata for document: %(document)s" -#| msgid_plural "Edit metadata for the %(count)d selected documents" +#, python-format msgid "Edit metadata for document: %s" -msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" +msgstr "قم بتعديل البيانات الوصفية للوثيقة: %s" #: views.py:295 #, python-format @@ -399,11 +390,9 @@ msgstr[4] "" msgstr[5] "" #: views.py:408 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Remove metadata types from the document: %s" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:455 #, python-format @@ -425,6 +414,7 @@ msgstr "" #: views.py:492 #, python-format +#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" @@ -438,6 +428,7 @@ msgid "Internal name" msgstr "" #: views.py:531 +#| msgid "View metadata types" msgid "Available metadata types" msgstr "" @@ -456,7 +447,22 @@ msgid "Required metadata types for document type: %s" msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "يجب أن توفر ما لا يقل عن وثيقة واحدة." +#~ msgstr "Must provide at least one document." + +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "bae23547be942683f3c566589b362141_pl_0" +#~ msgstr[1] "bae23547be942683f3c566589b362141_pl_1" +#~ msgstr[2] "bae23547be942683f3c566589b362141_pl_2" +#~ msgstr[3] "bae23547be942683f3c566589b362141_pl_3" +#~ msgstr[4] "bae23547be942683f3c566589b362141_pl_4" +#~ msgstr[5] "bae23547be942683f3c566589b362141_pl_5" + +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " +#~ "%(exception)s" +#~ msgstr "" +#~ "Error removing metadata type: %(metadata_type)s from document: %(document)s." #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -491,6 +497,33 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" +#~ msgid "Edit metadata for document: %(document)s" +#~ msgid_plural "Edit metadata for the %(count)d selected documents" +#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" +#~ msgstr[1] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_1" +#~ msgstr[2] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_2" +#~ msgstr[3] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_3" +#~ msgstr[4] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_4" +#~ msgstr[5] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_5" + +#~ msgid "Add metadata types to document: %(document)s" +#~ msgid_plural "Add metadata types to the %(count)d selected documents" +#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" +#~ msgstr[2] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_2" +#~ msgstr[3] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_3" +#~ msgstr[4] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_4" +#~ msgstr[5] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_5" + +#~ msgid "Remove metadata types from document: %(document)s" +#~ msgid_plural "Remove metadata types from the %(count)d selected documents" +#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" +#~ msgstr[2] "6ecb682bfaa127b9e56a8036a602ccf4_pl_2" +#~ msgstr[3] "6ecb682bfaa127b9e56a8036a602ccf4_pl_3" +#~ msgstr[4] "6ecb682bfaa127b9e56a8036a602ccf4_pl_4" +#~ msgstr[5] "6ecb682bfaa127b9e56a8036a602ccf4_pl_5" + #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -603,47 +636,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/metadata/locale/bg/LC_MESSAGES/django.mo index 8fa341dd1538121795bddc028205ddc473357ee4..2b592a2cd0e342e67119e58d87bdd444c967a139 100644 GIT binary patch delta 349 zcmbQqv7dc{N5c2@}uYsCnf%Fd`EeE82?X;UB#GS`Qhp`Jk#$nXaWfDEhz z(jq{*0Z2;#>8U_k07$O`(m*r80OT+b;Dk^NTu>V10FW6VzyZWSEeza146+CWKptdp zOi5vINli;E%_(7U$xklLoh-+wFgb}a)znzRW23) delta 443 zcmXZW%}T>S5C`y0t2VYM6+{$N7Ai`?)NN{1dJu&8aS_EAkkoFaP!q995j@n^gBPJf zPF{TizY0Zc`wAPpiSOXqoBypDnEW!6VKV*LgL=PEj}by96hg+}3><<>Fanq1I9!1# zxEX#gz!B7^p*9>w?ZFoE3OR>55hY|Err{LagL3aNOv6Hy)X5HB?$D46Kj9?&g46H^ zCZUR}uyYV-kx`^PTt@t#!Qt`<87fl#C?Sh5KKh~;G?2HV6EsD8&=6hu(#AkX Vbmd%6yazYp1Fde*%=nkl-9OpnWC#EN diff --git a/mayan/apps/metadata/locale/bg/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/bg/LC_MESSAGES/django.po index e3f5f1e10b..1285c0e77b 100644 --- a/mayan/apps/metadata/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pavlin Koldamov , 2012 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-28 07:35+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/bg/)\n" -"Language: bg\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 @@ -104,13 +103,11 @@ msgid "\"%s\" is required for this document type." msgstr "" #: forms.py:112 -#, fuzzy -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" msgid "Metadata types to be added to the selected documents." -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: forms.py:141 +#| msgid " Available models: %s" msgid " Available template context variables: " msgstr "" @@ -155,6 +152,7 @@ msgid "Metadata types" msgstr "" #: models.py:42 +#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -177,8 +175,8 @@ msgstr "По подразбиране" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language (https://docs.djangoproject.com/en/1.7/" -"ref/templates/builtins/)." +"Django's default templating language " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -197,7 +195,8 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected format." +"The parser will reformat the value entered to conform to the expected " +"format." msgstr "" #: models.py:78 @@ -300,7 +299,7 @@ msgstr "" #: views.py:95 msgid "Add" -msgstr "" +msgstr "Добави" #: views.py:97 msgid "Add metadata types to document" @@ -309,16 +308,15 @@ msgstr[0] "" msgstr[1] "" #: views.py:108 -#, fuzzy, python-format -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" +#, python-format msgid "Add metadata types to document: %s" -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: views.py:152 #, python-format msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." +"Metadata type: %(metadata_type)s successfully added to document " +"%(document)s." msgstr "" #: views.py:162 @@ -333,11 +331,9 @@ msgid "Metadata edit request performed on %(count)d document" msgstr "" #: views.py:179 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Metadata edit request performed on %(count)d documents" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:231 msgid "Edit document metadata" @@ -346,11 +342,9 @@ msgstr[0] "" msgstr[1] "" #: views.py:242 -#, fuzzy, python-format -#| msgid "Edit metadata for document: %(document)s" -#| msgid_plural "Edit metadata for the %(count)d selected documents" +#, python-format msgid "Edit metadata for document: %s" -msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" +msgstr "" #: views.py:295 #, python-format @@ -384,11 +378,9 @@ msgstr[0] "" msgstr[1] "" #: views.py:408 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Remove metadata types from the document: %s" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:455 #, python-format @@ -410,6 +402,7 @@ msgstr "" #: views.py:492 #, python-format +#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" @@ -423,6 +416,7 @@ msgid "Internal name" msgstr "" #: views.py:531 +#| msgid "View metadata types" msgid "Available metadata types" msgstr "" @@ -441,7 +435,18 @@ msgid "Required metadata types for document type: %s" msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Трябва да посочите поне един документ." +#~ msgstr "Must provide at least one document." + +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "bae23547be942683f3c566589b362141_pl_0" +#~ msgstr[1] "bae23547be942683f3c566589b362141_pl_1" + +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " +#~ "%(exception)s" +#~ msgstr "" +#~ "Error removing metadata type: %(metadata_type)s from document: %(document)s." #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -476,6 +481,21 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" +#~ msgid "Edit metadata for document: %(document)s" +#~ msgid_plural "Edit metadata for the %(count)d selected documents" +#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" +#~ msgstr[1] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_1" + +#~ msgid "Add metadata types to document: %(document)s" +#~ msgid_plural "Add metadata types to the %(count)d selected documents" +#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" + +#~ msgid "Remove metadata types from document: %(document)s" +#~ msgid_plural "Remove metadata types from the %(count)d selected documents" +#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" + #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -588,47 +608,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/metadata/locale/bs_BA/LC_MESSAGES/django.mo index 0706344f25d74a4843231400ea254edd7b5b72e6..59a73f5751c4fb90d1092146edc6a3dbfb56b82b 100644 GIT binary patch delta 776 zcmYk)T}V@59LMqJY}3uPN~iW>rN>eR(Shw$3d5j4DuQZ7cq0;rwqVIzZO3j$cY-(K zAt*rIaL4@;GKp4xeBgUt%9F<8j=^B<^A_?%_fFjtTsYS|4X~KlWocUP3;#%pE!@ zChnnwQ+NpHQ3oyI4P3{YxF3DL!s%L9LS1y9rX9;TfYZ@<9@`i%;wgNA3g9jNv|7gO z&>3RlJ-co zwTkbRJ>Sa()3L!|F1FD5u->rC^#`-H%8XyMhnt%n@iSIXN^D&mb@CS+w_q3CqI;fx zKA$e#cJ5Z5R-4uOj5F@}m7?wD3;))Q6y1@{v9=W}?N`lsz3e@*Yr(T*ckrXVX@$K+ Nc*A6JzzSAVjX!9iS5E){ delta 777 zcmXxh&1(}u7{~ERn!XrgtufZu>PRg@>FOpmT5{?^L@dD~2nt1~p~2MZQFh)~Q$P{fl^@ZimZ;ve8e6!GH4@2|!Op84!-CNs}7`!xSBzw$Mod1Q$F z=(3aSi+NE$+hixDCHx2EU=!f5)Ae?J+MIaFr}sv6WP(x&?K}4VfWQQTWGZr|SBDs56BM(k&|TB(-dIZ`w=g)lVj~GnOEhLUa{zvCaqtpl*^uf z!uPYY=e-NTau|nE-8=1)pkhmYk#)XTnzH_>%4E4S)B7aV{?XU!JnkP(ja8$DvvFXf aI9zNtToT%O*Ra=vnyYi#jqYjd1My#)B3^$0 diff --git a/mayan/apps/metadata/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/bs_BA/LC_MESSAGES/django.po index 64afb7555a..f87695ab6f 100644 --- a/mayan/apps/metadata/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-28 07:35+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" -"rosarior/mayan-edms/language/bs_BA/)\n" -"Language: bs_BA\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 #: settings.py:10 @@ -105,13 +103,11 @@ msgid "\"%s\" is required for this document type." msgstr "" #: forms.py:112 -#, fuzzy -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" msgid "Metadata types to be added to the selected documents." -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: forms.py:141 +#| msgid " Available models: %s" msgid " Available template context variables: " msgstr "" @@ -156,6 +152,7 @@ msgid "Metadata types" msgstr "Metadata tip" #: models.py:42 +#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -178,8 +175,8 @@ msgstr "default" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language (https://docs.djangoproject.com/en/1.7/" -"ref/templates/builtins/)." +"Django's default templating language " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -198,7 +195,8 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected format." +"The parser will reformat the value entered to conform to the expected " +"format." msgstr "" #: models.py:78 @@ -301,7 +299,7 @@ msgstr "" #: views.py:95 msgid "Add" -msgstr "" +msgstr "Dodati" #: views.py:97 msgid "Add metadata types to document" @@ -311,18 +309,16 @@ msgstr[1] "" msgstr[2] "" #: views.py:108 -#, fuzzy, python-format -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" +#, python-format msgid "Add metadata types to document: %s" -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: views.py:152 #, python-format msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." -msgstr "" -"Metadata tip: %(metadata_type)s uspješno dodan u dokument %(document)s." +"Metadata type: %(metadata_type)s successfully added to document " +"%(document)s." +msgstr "Metadata tip: %(metadata_type)s uspješno dodan u dokument %(document)s." #: views.py:162 #, python-format @@ -336,11 +332,9 @@ msgid "Metadata edit request performed on %(count)d document" msgstr "" #: views.py:179 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Metadata edit request performed on %(count)d documents" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:231 msgid "Edit document metadata" @@ -350,11 +344,9 @@ msgstr[1] "" msgstr[2] "" #: views.py:242 -#, fuzzy, python-format -#| msgid "Edit metadata for document: %(document)s" -#| msgid_plural "Edit metadata for the %(count)d selected documents" +#, python-format msgid "Edit metadata for document: %s" -msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" +msgstr "Izmjeni metadata za dokument: %s" #: views.py:295 #, python-format @@ -389,11 +381,9 @@ msgstr[1] "" msgstr[2] "" #: views.py:408 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Remove metadata types from the document: %s" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:455 #, python-format @@ -415,6 +405,7 @@ msgstr "" #: views.py:492 #, python-format +#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" @@ -428,6 +419,7 @@ msgid "Internal name" msgstr "" #: views.py:531 +#| msgid "View metadata types" msgid "Available metadata types" msgstr "" @@ -446,7 +438,19 @@ msgid "Required metadata types for document type: %s" msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Mora se osigurati bar jedan dokument." +#~ msgstr "Must provide at least one document." + +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "bae23547be942683f3c566589b362141_pl_0" +#~ msgstr[1] "bae23547be942683f3c566589b362141_pl_1" +#~ msgstr[2] "bae23547be942683f3c566589b362141_pl_2" + +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " +#~ "%(exception)s" +#~ msgstr "" +#~ "Error removing metadata type: %(metadata_type)s from document: %(document)s." #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -481,6 +485,24 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" +#~ msgid "Edit metadata for document: %(document)s" +#~ msgid_plural "Edit metadata for the %(count)d selected documents" +#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" +#~ msgstr[1] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_1" +#~ msgstr[2] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_2" + +#~ msgid "Add metadata types to document: %(document)s" +#~ msgid_plural "Add metadata types to the %(count)d selected documents" +#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" +#~ msgstr[2] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_2" + +#~ msgid "Remove metadata types from document: %(document)s" +#~ msgid_plural "Remove metadata types from the %(count)d selected documents" +#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" +#~ msgstr[2] "6ecb682bfaa127b9e56a8036a602ccf4_pl_2" + #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -593,47 +615,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/da/LC_MESSAGES/django.mo b/mayan/apps/metadata/locale/da/LC_MESSAGES/django.mo index 6662d5afe8c3de15b14e31a75ef1b361e6a1d7b9..7f834863884e31b220b45289839d923260ce4713 100644 GIT binary patch delta 309 zcmYL^%L)Ne7=X`QTr-rcTqjF4#Sk^6Sle1jX*721?8gI$#bn9GBiLH;9-e_W@ckiw zedqfxoxgML$wwl5znm{;m5sOFhCSp5Pju;R+7% z7LH(3Hw>kcwAF|tLt~7q*vImK4bI^mmW8M9{ESP~H_R?sqDWN?bofPzL>??3llu~J xIfg-CuNG@R@YlW_Rkdk!()L!*X?7g9Ww%_*$~QLI)R5E@`8Zt>P+*n}b6zhlHAo*lP!uc2`gl!9^Ew zaP}j_(a8@`u)E*E=W1T^r3i4LA#% z#eTPVK7n)Cw_zP#!7_Y-Yw#7W!W`ZpKL|0_XUb;G#lbC{flsgo-=O)>C!B}hkl+ZK zVjDN}o(q@ZIz;FAN6fjI3B+`pDgDDLg;UTTHy4XZ=-mIN_5E%~)5T@hOJYfprgIr# zkts=WcG^v)(wh&*)?Kj0J&*eh5`Gv2Tr`EK93Jo^*-JV}rubf@Wk|m8@SfoQ4vFos h5q#821B+VfEa_32s2I)pyQb0L8dsdPi~eW3^#}UqK%)Qv diff --git a/mayan/apps/metadata/locale/da/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/da/LC_MESSAGES/django.po index 68bf8dc462..1c5353ff42 100644 --- a/mayan/apps/metadata/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/da/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mads L. Nielsen , 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-28 07:35+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" -"da/)\n" -"Language: da\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 @@ -104,13 +103,11 @@ msgid "\"%s\" is required for this document type." msgstr "" #: forms.py:112 -#, fuzzy -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" msgid "Metadata types to be added to the selected documents." -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: forms.py:141 +#| msgid " Available models: %s" msgid " Available template context variables: " msgstr "" @@ -155,6 +152,7 @@ msgid "Metadata types" msgstr "" #: models.py:42 +#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -177,8 +175,8 @@ msgstr "Standard" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language (https://docs.djangoproject.com/en/1.7/" -"ref/templates/builtins/)." +"Django's default templating language " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -197,7 +195,8 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected format." +"The parser will reformat the value entered to conform to the expected " +"format." msgstr "" #: models.py:78 @@ -309,16 +308,15 @@ msgstr[0] "" msgstr[1] "" #: views.py:108 -#, fuzzy, python-format -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" +#, python-format msgid "Add metadata types to document: %s" -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: views.py:152 #, python-format msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." +"Metadata type: %(metadata_type)s successfully added to document " +"%(document)s." msgstr "" #: views.py:162 @@ -333,11 +331,9 @@ msgid "Metadata edit request performed on %(count)d document" msgstr "" #: views.py:179 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Metadata edit request performed on %(count)d documents" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:231 msgid "Edit document metadata" @@ -346,11 +342,9 @@ msgstr[0] "" msgstr[1] "" #: views.py:242 -#, fuzzy, python-format -#| msgid "Edit metadata for document: %(document)s" -#| msgid_plural "Edit metadata for the %(count)d selected documents" +#, python-format msgid "Edit metadata for document: %s" -msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" +msgstr "" #: views.py:295 #, python-format @@ -384,11 +378,9 @@ msgstr[0] "" msgstr[1] "" #: views.py:408 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Remove metadata types from the document: %s" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:455 #, python-format @@ -410,6 +402,7 @@ msgstr "" #: views.py:492 #, python-format +#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" @@ -423,6 +416,7 @@ msgid "Internal name" msgstr "" #: views.py:531 +#| msgid "View metadata types" msgid "Available metadata types" msgstr "" @@ -441,7 +435,18 @@ msgid "Required metadata types for document type: %s" msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Angiv mindst ét ​​dokument." +#~ msgstr "Must provide at least one document." + +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "bae23547be942683f3c566589b362141_pl_0" +#~ msgstr[1] "bae23547be942683f3c566589b362141_pl_1" + +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " +#~ "%(exception)s" +#~ msgstr "" +#~ "Error removing metadata type: %(metadata_type)s from document: %(document)s." #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -476,6 +481,21 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" +#~ msgid "Edit metadata for document: %(document)s" +#~ msgid_plural "Edit metadata for the %(count)d selected documents" +#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" +#~ msgstr[1] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_1" + +#~ msgid "Add metadata types to document: %(document)s" +#~ msgid_plural "Add metadata types to the %(count)d selected documents" +#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" + +#~ msgid "Remove metadata types from document: %(document)s" +#~ msgid_plural "Remove metadata types from the %(count)d selected documents" +#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" + #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -588,47 +608,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/metadata/locale/de_DE/LC_MESSAGES/django.mo index 10e9d47bae7cc1b2b2a6042247931528b20e8b24..6cc7a7f136232144a3688e3e8478c4d967428a52 100644 GIT binary patch delta 2086 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 no=E+@^sA~~R?b}Gno*t6xRL3ywtxF!E`fG${|=, 2015 +# Jesaja Everling , 2017 # Mathias Behrle , 2014 # Stefan Lodders , 2012 # Tobias Paepke , 2014,2016 @@ -13,14 +14,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-31 19:03+0000\n" -"Last-Translator: Tobias Paepke \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" -"edms/language/de_DE/)\n" -"Language: de_DE\n" +"PO-Revision-Date: 2017-04-24 23:12+0000\n" +"Last-Translator: Jesaja Everling \n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 @@ -40,9 +40,7 @@ msgstr "Dokumente mit fehlenden optionalen Metadaten" msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" -msgstr "" -"Queryset enthaltend eine Referenz auf eine Metadatentyp Instanz und einen " -"Wert für diesen Metadatentyp" +msgstr "Queryset enthaltend eine Referenz auf eine Metadatentyp Instanz und einen Wert für diesen Metadatentyp" #: apps.py:121 msgid "Metadata type name" @@ -109,12 +107,11 @@ msgid "\"%s\" is required for this document type." msgstr "\"%s\" wird für diesen Dokumententyp benötigt." #: forms.py:112 -#, fuzzy -#| msgid "Metadata type is not valid for this document type." msgid "Metadata types to be added to the selected documents." -msgstr "Metadatentyp ist nicht gültig für diesen Dokumententyp" +msgstr "Metadatentypen für die ausgewählten Dokumente." #: forms.py:141 +#| msgid " Available models: %s" msgid " Available template context variables: " msgstr "Verfügbare Kontextvariablen:" @@ -159,12 +156,11 @@ msgid "Metadata types" msgstr "Metadatentypen" #: models.py:42 +#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." -msgstr "" -"Name unter dem andere Apps diesen Wert referenzieren. Keine reservierten " -"Worte aus Python oder Leerzeichen verwenden." +msgstr "Name unter dem andere Apps diesen Wert referenzieren. Keine reservierten Worte aus Python oder Leerzeichen verwenden." #: models.py:47 msgid "Label" @@ -174,10 +170,7 @@ msgstr "Bezeichner" msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -msgstr "" -"Vorlage/Template zur Generierung eingeben. Django's Standard-Vorlagen-" -"Sprache benutzen (https://docs.djangoproject.com/en/1.7/ref/templates/" -"builtins/)" +msgstr "Vorlage/Template zur Generierung eingeben. Django's Standard-Vorlagen-Sprache benutzen (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" #: models.py:55 msgid "Default" @@ -186,12 +179,9 @@ msgstr "Standard" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language (https://docs.djangoproject.com/en/1.7/" -"ref/templates/builtins/)." -msgstr "" -"Vorlage/Template zur Generierung eingeben. Muss eine komma-separierte " -"Zeichenkette ausgeben (https://docs.djangoproject.com/en/1.7/ref/templates/" -"builtins/)" +"Django's default templating language " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +msgstr "Vorlage/Template zur Generierung eingeben. Muss eine komma-separierte Zeichenkette ausgeben (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" #: models.py:65 msgid "Lookup" @@ -201,9 +191,7 @@ msgstr "Suche" msgid "" "The validator will reject data entry if the value entered does not conform " "to the expected format." -msgstr "" -"Der Validierer wird den eingegebenen Wert zurückweisen, wenn er dem " -"geforderten Format nicht entspricht." +msgstr "Der Validierer wird den eingegebenen Wert zurückweisen, wenn er dem geforderten Format nicht entspricht." #: models.py:72 msgid "Validator" @@ -211,10 +199,9 @@ msgstr "Validierer" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected format." -msgstr "" -"Der Parser wird den eingegebenen Wert so reformatieren, dass er dem " -"geforderten Format entspricht." +"The parser will reformat the value entered to conform to the expected " +"format." +msgstr "Der Parser wird den eingegebenen Wert so reformatieren, dass er dem geforderten Format entspricht." #: models.py:78 msgid "Parser" @@ -297,10 +284,8 @@ msgid "Primary key of the metadata type to be added." msgstr "Primärschlüssel des hinzuzufügenden Metadatentyps" #: serializers.py:130 -#, fuzzy -#| msgid "Primary key of the metadata type to be added." msgid "Primary key of the metadata type to be added to the document." -msgstr "Primärschlüssel des hinzuzufügenden Metadatentyps" +msgstr "" #: views.py:41 #, python-format @@ -313,14 +298,12 @@ msgid "Metadata add request performed on %(count)d documents" msgstr "" #: views.py:56 views.py:192 views.py:358 -#, fuzzy -#| msgid "Only select documents of the same type." msgid "Selected documents must be of the same type." -msgstr "Es können nur Dokumente des gleichen Typs ausgewählt werden" +msgstr "" #: views.py:95 msgid "Add" -msgstr "" +msgstr "Hinzufügen" #: views.py:97 msgid "Add metadata types to document" @@ -329,38 +312,32 @@ msgstr[0] "Metadatentypen zu Dokument hinzufügen" msgstr[1] "Metadatentypen zu Dokumenten hinzufügen" #: views.py:108 -#, fuzzy, python-format -#| msgid "Add metadata types to document" -#| msgid_plural "Add metadata types to documents" +#, python-format msgid "Add metadata types to document: %s" -msgstr "Metadatentypen zu Dokument hinzufügen" +msgstr "" #: views.py:152 #, python-format msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." -msgstr "" -"Metadatentyp %(metadata_type)s erfolgreich hinzugefügt zu Dokument " -"%(document)s" +"Metadata type: %(metadata_type)s successfully added to document " +"%(document)s." +msgstr "Metadatentyp %(metadata_type)s erfolgreich hinzugefügt zu Dokument %(document)s" #: views.py:162 #, python-format msgid "" "Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "" -"Metadatentyp %(metadata_type)s bereits vorhanden für Dokument %(document)s" +msgstr "Metadatentyp %(metadata_type)s bereits vorhanden für Dokument %(document)s" #: views.py:176 -#, fuzzy, python-format -#| msgid "Metadata type is required for this document type." +#, python-format msgid "Metadata edit request performed on %(count)d document" -msgstr "Metadatentyp ist erforderlich für diesen Dokumententyp" +msgstr "" #: views.py:179 -#, fuzzy, python-format -#| msgid "Metadata type is required for this document type." +#, python-format msgid "Metadata edit request performed on %(count)d documents" -msgstr "Metadatentyp ist erforderlich für diesen Dokumententyp" +msgstr "" #: views.py:231 msgid "Edit document metadata" @@ -369,17 +346,14 @@ msgstr[0] "Metadaten bearbeiten" msgstr[1] "Metadaten bearbeiten" #: views.py:242 -#, fuzzy, python-format -#| msgid "Metadata for document: %s" +#, python-format msgid "Edit metadata for document: %s" -msgstr "Metadaten von Dokument %s" +msgstr "Metadaten des Dokuments %s bearbeiten" #: views.py:295 #, python-format msgid "Error editing metadata for document: %(document)s; %(exception)s." -msgstr "" -"Fehler bei der Bearbeitung der Metadaten für Dokument %(document)s: " -"%(exception)s" +msgstr "Fehler bei der Bearbeitung der Metadaten für Dokument %(document)s: %(exception)s" #: views.py:306 #, python-format @@ -408,29 +382,23 @@ msgstr[0] "Metadatentypen von Dokument entfernen" msgstr[1] "Metadatentypen von Dokumenten entfernen" #: views.py:408 -#, fuzzy, python-format -#| msgid "Remove metadata types from the document" -#| msgid_plural "Remove metadata types from the documents" +#, python-format msgid "Remove metadata types from the document: %s" -msgstr "Metadatentypen von Dokument entfernen" +msgstr "" #: views.py:455 #, python-format msgid "" "Successfully remove metadata type \"%(metadata_type)s\" from document: " "%(document)s." -msgstr "" -"Metadatentyp \"%(metadata_type)s\" erfolgreich entfernt von Dokument " -"%(document)s" +msgstr "Metadatentyp \"%(metadata_type)s\" erfolgreich entfernt von Dokument %(document)s" #: views.py:465 #, python-format msgid "" "Error removing metadata type \"%(metadata_type)s\" from document: " "%(document)s; %(exception)s" -msgstr "" -"Fehler bei der Entfernung von Metadatentyp \"%(metadata_type)s\" von " -"Dokument %(document)s: %(exception)s" +msgstr "Fehler bei der Entfernung von Metadatentyp \"%(metadata_type)s\" von Dokument %(document)s: %(exception)s" #: views.py:476 msgid "Create metadata type" @@ -438,6 +406,7 @@ msgstr "Metadatentyp erstellen" #: views.py:492 #, python-format +#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "Metadatentyp %s löschen?" @@ -451,6 +420,7 @@ msgid "Internal name" msgstr "Interner Name" #: views.py:531 +#| msgid "View metadata types" msgid "Available metadata types" msgstr "Verfügbare Metadatentypen" @@ -468,26 +438,19 @@ msgstr "Optionale Metadatentypen für Dokumententyp %s" msgid "Required metadata types for document type: %s" msgstr "Erforderliche Metadatentypen für Dokumententyp %s" -#~ msgid "Primary key of the document metadata type." -#~ msgstr "Primärschlüssel des Metadatendokumententyps." - -#~ msgid "Value of the corresponding metadata type instance." -#~ msgstr "Wert der entsprechenden Metadatentyp-Instanz" - #~ msgid "Must provide at least one document." -#~ msgstr "Es muss mindestens ein Dokument angegeben werden" +#~ msgstr "Must provide at least one document." #~ msgid "The selected document doesn't have any metadata." #~ msgid_plural "The selected documents don't have any metadata." -#~ msgstr[0] "Für das ausgewählte Dokument existieren keine Metadaten" -#~ msgstr[1] "Für die ausgewählten Dokumente existieren keine Metadaten" +#~ msgstr[0] "bae23547be942683f3c566589b362141_pl_0" +#~ msgstr[1] "bae23547be942683f3c566589b362141_pl_1" #~ msgid "" -#~ "Error adding metadata type \"%(metadata_type)s\" to document: " -#~ "%(document)s; %(exception)s" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Fehler beim Hinzufügen von Metadatentyp \"%(metadata_type)s\" zu Dokument " -#~ "%(document)s: %(exception)s" +#~ "Error removing metadata type: %(metadata_type)s from document: %(document)s." #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -649,47 +612,47 @@ msgstr "Erforderliche Metadatentypen für Dokumententyp %s" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/en/LC_MESSAGES/django.mo b/mayan/apps/metadata/locale/en/LC_MESSAGES/django.mo index 63994bec65e6f68a2d66bce640d71425e2483287..0390dcea16330bec36dcc9abf3bae7c352ba76ac 100644 GIT binary patch delta 498 zcmXZYy-LGi6vpwB8k+>H(P}}ZRgsEQz(zrEaMHz(LG%h-70f2MWT=~pL+}P%-7JVG zZZ2Mc77;{O!F%xkBzfWF_kJWfPx2Xd!}P1}UK^u9HK`Y>MIAX@7~i;nKRAU!#cUGW zsAtwt`};VC$LM1hBfP+2e8d{Q;wJWS$1JtEf#QY)T@F&L;u+51dAYvDLDqMufDfpK z?|4PHUsTXjZc?BdRM2Ns(0;l9hkDMZiBErPGEvfbRMI_E(gRe|1W9U7<$2&0K_`$c zYoUU+%k?_a!?sXCcQOAnsGmAQ=|eTD*`?!c=v1BS)F?GhY4Alhl+TJcY8p^sxu=x8 lG#`!LhjZ^_iFcSyyW6#uXmL4;JF}g5HD2nSxNj95{R4*@E8hSB delta 571 zcma*izb^w}9LMqJ+Vfi-Elr3YCml=`J!%jpv51P**ti=c)fRWAMkNMghYM3T7K^2c zbTbOEl8A(jMMD1r?{Dw^08jG0*Yo@N+^O+qRNv$JxuPYhaq5Yhpeh<4+Aq#v3&(IY zLg50A;3mqvjR~w`H~N^yIu76?#_$!_@e6ZoS5`FGaDpioYN%raJF$sVco&X8u!Hd@ zO3-hVhkH3xBjhAX;2SncuoslTEtJ50Tq^U^nBaZ2Oh*!Lp(Nf$NqmNq_yQ&I6_Qx} zgzGC^LEsIPz-44fc_@J^;kb?x_!1@XHA>)n)a2lhzpo|MhUv+(vJ|Hzt2BO3^|yP$ zH3t12YA~FWh}_g}$;N|rtEF<@p=*{8N=Li4W9D76;N+Po6&=$q?Ra}m(Vg{=qs`c2 XI+ICT^X8njl+89)_2Bw7gN&QY^kmqoFt#Fm0Knt&fck z#Kwgpp}Db%NfQb2f$^~!6BD$u0ELMfqOkEnT|ji<0*S_j(ZuiXdaEb>&*z*wGw1O? z=S;ueexoNp8=d#6QT7mx#B|tfNcH)=P%f34wPF$5@K(@{m6?^$-io*5PK@DR?7<_r z2;av#{2Xt??{P8yg#6{r%FP;hP>%F%4%TBUHeomNX9K*{U=}0zG%m#nT!v?Y_E&+o za30U=EB>8W3|G@mqrRWTW{p2eWg!nHu@=wZ2lxq2;1JW^g1_PbrWTlyBs+oXXcCpI z*HH_26V=~)$QrpVmYI#gNIR> zbA$GCs1+Z_$8Zvrv74B{5MR;+*Pz-N%s)yc8@w@tRkSbQ9e5RWE`CR?WCw4m!`-M3 z_G3GqzZ)$YPqLS}uq zhW0hmvKk}2*@hdDLu4-U5gS1V^Y{>+!e;yfm8p78BH6bDYJnT-$iE)!=bthg&7gut(bO=u(yJH?|i%z2^_AY9LGpLDQLuK%1bg+Rzw7~p& zDw@fIsF}HeZ=fc09rZz7?%mLcdvOSLNY9}@_YG>`o2V6s_|mgjjwHv9;d-1x{SI8l zjPCz;RB}A1p%<;-7^MsnEY)IPBIP)b9=y8Z1eq)u8Brt|ipB z%4ULH^|x&~>}oh&WKJlzd?RcX6_-_J^!leS}JQK%Ri_}@m$$T z<*uNi{~5}5Q2OnDYTF2h&_1>hDxJh0Vmr}B=&)@hxH*2&Ug}p-KR7E1U1N68)_F~3 zM+>i&b%m=B=0=@t?un;H+#}BB=@qt7k8xkG_1jOJaUV;x`)E6{H6ER3ks?o&%H+!KEp6r?5nKLuz z@|`oYKem0{p8H|O_+yIHOy2N>e?q=(=%*sMp zssWUN4Wmr(5X!)FCn-qi&Y;GhP-ZxRgA8N|%D@_mW>E%q8u_U&I6Q&B;&yD|BCDYe zque*bK{`H%5`iyKW_|}>koW&@3ahDbSy+}yjo|%w2Ia$X3lsPkHsfj*&cP(g%&wty z@EyvM+`^q$#WZDxeJJf_QJz1DEqES#|#k<$d8fv<^(CuaV7a-@-}iKxs5D)*KY$#l4X*mSxNG z$VW!jl+7RPQczElWn-37m49WzOZkq8Ys2}sC+`f6vr;L4-IV2F&+#j!EYJU5@m9EI z>!9oDfvhu>P8n@^I%6y<9NXxWlN{_fwiojcRhngXW>~u>W0GF^f~%e9wAW{}YxNuL z4G$Rqx60nRrRQ|N@vM~PS;3`PzG>>3a8IELlPWht!MJv{Qy`S8g^KjZWLHXW2;;^A}FfH8n@;>!XPV z9Z$42HAUl%@pwh&wrH0bO1o*tj<#E#Y1N5%efhrT)`ph+SJRJ&^7hOt;rxy{eyGCA zXzTK6E0xarZS!hFmcMUaUH<0W>TxygX0HiiY)n>j8&P#!J!qGM;KYtbUS75Raz5h} zCY+>OD|`1klQuk;cKaRer3V~87fIFiTiLV~T#zaXr8!DDbNAs`{zl}ra8GGn#&(f% zv@I, 2014 @@ -13,14 +13,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-23 06:39+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" -"language/es/)\n" -"Language: es\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 @@ -40,9 +39,7 @@ msgstr "Documentos sin metadatos opcionales" msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" -msgstr "" -"QuerySet que contiene una referencia de instancia de tipo de meta datos y un " -"valor para ese tipo de meta datos " +msgstr "QuerySet que contiene una referencia de instancia de tipo de meta datos y un valor para ese tipo de meta datos " #: apps.py:121 msgid "Metadata type name" @@ -109,12 +106,11 @@ msgid "\"%s\" is required for this document type." msgstr "\"%s\" es requerido para este tipo de documento." #: forms.py:112 -#, fuzzy -#| msgid "Metadata type is not valid for this document type." msgid "Metadata types to be added to the selected documents." -msgstr "El tipo de metadato no es válido para este tipo de documento." +msgstr "" #: forms.py:141 +#| msgid " Available models: %s" msgid " Available template context variables: " msgstr "Variables de contexto de plantilla disponibles:" @@ -159,12 +155,11 @@ msgid "Metadata types" msgstr "Tipos de metadatos" #: models.py:42 +#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." -msgstr "" -"Nombre usado por otros módulos para hacer referencia a este valor. No " -"utilize palabras reservadas de Python o espacios." +msgstr "Nombre usado por otros módulos para hacer referencia a este valor. No utilize palabras reservadas de Python o espacios." #: models.py:47 msgid "Label" @@ -174,9 +169,7 @@ msgstr "Etiqueta" msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -msgstr "" -"Introduzca una plantilla para generar. Use el lenguaje de plantillas de " -"Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). " +msgstr "Introduzca una plantilla para generar. Use el lenguaje de plantillas de Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). " #: models.py:55 msgid "Default" @@ -185,12 +178,9 @@ msgstr "Por defecto" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language (https://docs.djangoproject.com/en/1.7/" -"ref/templates/builtins/)." -msgstr "" -"Introduzca una plantilla para generar. Debe resultar en una cadena de texto " -"delimitada por comas. Use el lenguaje de plantillas de Django (https://docs." -"djangoproject.com/en/1.7/ref/templates/builtins/). " +"Django's default templating language " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +msgstr "Introduzca una plantilla para generar. Debe resultar en una cadena de texto delimitada por comas. Use el lenguaje de plantillas de Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/). " #: models.py:65 msgid "Lookup" @@ -200,9 +190,7 @@ msgstr "Lista de opciones" msgid "" "The validator will reject data entry if the value entered does not conform " "to the expected format." -msgstr "" -"El validador rechazará la entrada de datos si el valor introducido no se " -"ajusta al formato esperado." +msgstr "El validador rechazará la entrada de datos si el valor introducido no se ajusta al formato esperado." #: models.py:72 msgid "Validator" @@ -210,10 +198,9 @@ msgstr "Validador" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected format." -msgstr "" -"El analizador volverá a formatear el valor introducido para ajustarse al " -"formato esperado." +"The parser will reformat the value entered to conform to the expected " +"format." +msgstr "El analizador volverá a formatear el valor introducido para ajustarse al formato esperado." #: models.py:78 msgid "Parser" @@ -296,10 +283,8 @@ msgid "Primary key of the metadata type to be added." msgstr "Llave principal del tipo de meta datos a ser agregada." #: serializers.py:130 -#, fuzzy -#| msgid "Primary key of the metadata type to be added." msgid "Primary key of the metadata type to be added to the document." -msgstr "Llave principal del tipo de meta datos a ser agregada." +msgstr "" #: views.py:41 #, python-format @@ -312,14 +297,12 @@ msgid "Metadata add request performed on %(count)d documents" msgstr "" #: views.py:56 views.py:192 views.py:358 -#, fuzzy -#| msgid "Only select documents of the same type." msgid "Selected documents must be of the same type." -msgstr "Sólo seleccionar documentos del mismo tipo." +msgstr "" #: views.py:95 msgid "Add" -msgstr "" +msgstr "Agregar" #: views.py:97 msgid "Add metadata types to document" @@ -328,39 +311,32 @@ msgstr[0] "Añadir tipos de meta datos al documento" msgstr[1] "Añadir tipos de meta datos a los documentos" #: views.py:108 -#, fuzzy, python-format -#| msgid "Add metadata types to document" -#| msgid_plural "Add metadata types to documents" +#, python-format msgid "Add metadata types to document: %s" -msgstr "Añadir tipos de meta datos al documento" +msgstr "" #: views.py:152 #, python-format msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." -msgstr "" -"Tipo de metadatos: %(metadata_type)s añadido con éxito al documento " +"Metadata type: %(metadata_type)s successfully added to document " "%(document)s." +msgstr "Tipo de metadatos: %(metadata_type)s añadido con éxito al documento %(document)s." #: views.py:162 #, python-format msgid "" "Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "" -"Tipo de metadatos: %(metadata_type)s ya presente en el documento " -"%(document)s." +msgstr "Tipo de metadatos: %(metadata_type)s ya presente en el documento %(document)s." #: views.py:176 -#, fuzzy, python-format -#| msgid "Metadata type is required for this document type." +#, python-format msgid "Metadata edit request performed on %(count)d document" -msgstr "El tipo de metadatos es requerido para este tipo de documento." +msgstr "" #: views.py:179 -#, fuzzy, python-format -#| msgid "Metadata type is required for this document type." +#, python-format msgid "Metadata edit request performed on %(count)d documents" -msgstr "El tipo de metadatos es requerido para este tipo de documento." +msgstr "" #: views.py:231 msgid "Edit document metadata" @@ -369,10 +345,9 @@ msgstr[0] "Editar meta datos de documento" msgstr[1] "Editar meta datos de documentos" #: views.py:242 -#, fuzzy, python-format -#| msgid "Metadata for document: %s" +#, python-format msgid "Edit metadata for document: %s" -msgstr "Meta datos para el documento: %s" +msgstr "Editar metadatos del documento: %s" #: views.py:295 #, python-format @@ -406,29 +381,23 @@ msgstr[0] "Remover tipos de meta datos del documento" msgstr[1] "Remover tipos de meta datos de los documentos" #: views.py:408 -#, fuzzy, python-format -#| msgid "Remove metadata types from the document" -#| msgid_plural "Remove metadata types from the documents" +#, python-format msgid "Remove metadata types from the document: %s" -msgstr "Remover tipos de meta datos del documento" +msgstr "" #: views.py:455 #, python-format msgid "" "Successfully remove metadata type \"%(metadata_type)s\" from document: " "%(document)s." -msgstr "" -"Remoción con éxito el tipo de meta datos \"%(metadata_type)s\" del " -"documento: %(document)s." +msgstr "Remoción con éxito el tipo de meta datos \"%(metadata_type)s\" del documento: %(document)s." #: views.py:465 #, python-format msgid "" "Error removing metadata type \"%(metadata_type)s\" from document: " "%(document)s; %(exception)s" -msgstr "" -"Error al eliminar el tipo de metadatos \"%(metadata_type)s\" del documento: " -"%(document)s; %(exception)s" +msgstr "Error al eliminar el tipo de metadatos \"%(metadata_type)s\" del documento: %(document)s; %(exception)s" #: views.py:476 msgid "Create metadata type" @@ -436,6 +405,7 @@ msgstr "Crear tipo de metadatos" #: views.py:492 #, python-format +#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "¿Borrar el tipo de metadato: %s?" @@ -449,6 +419,7 @@ msgid "Internal name" msgstr "Nombre interno" #: views.py:531 +#| msgid "View metadata types" msgid "Available metadata types" msgstr "Tipos de metadatos disponibles" @@ -466,26 +437,19 @@ msgstr "Tipos de metadatos opcionales para tipo de documento: %s" msgid "Required metadata types for document type: %s" msgstr "Tipos de metadata requerida para tipo de documento: %s" -#~ msgid "Primary key of the document metadata type." -#~ msgstr "Llave primaria del tipo de metadato del documento." - -#~ msgid "Value of the corresponding metadata type instance." -#~ msgstr "Valor de la instancia de tipo meta datos correspondientes." - #~ msgid "Must provide at least one document." -#~ msgstr "Debe proveer al menos un documento." +#~ msgstr "Must provide at least one document." #~ msgid "The selected document doesn't have any metadata." #~ msgid_plural "The selected documents don't have any metadata." -#~ msgstr[0] "El documento seleccionado no tiene metadatos." -#~ msgstr[1] "Los documentos seleccionados no tienen metadatos." +#~ msgstr[0] "bae23547be942683f3c566589b362141_pl_0" +#~ msgstr[1] "bae23547be942683f3c566589b362141_pl_1" #~ msgid "" -#~ "Error adding metadata type \"%(metadata_type)s\" to document: " -#~ "%(document)s; %(exception)s" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Error al añadir tipo de metadatos \"%(metadata_type)s\" al documento: " -#~ "%(document)s; %(exception)s" +#~ "Error removing metadata type: %(metadata_type)s from document: %(document)s." #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -647,47 +611,47 @@ msgstr "Tipos de metadata requerida para tipo de documento: %s" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/metadata/locale/fa/LC_MESSAGES/django.mo index 77a41754ad3e6e368f14bcb87077886f737ac5b8..6aadeffac34256ccf9a8b94f273a6376e6d6d3d0 100644 GIT binary patch delta 1569 zcmYk+OKeP09LMo9(`n1J)y_)qN zOGJW5BqW3p6ANK0kq9XwnTf>0!UhX0kcj&Jt|9)Jb3f zZ-`dfI9jFKm^E1H;Xv#vG-fjH#sa*ErFa>~;7x47$5@G;B4fN5#30sUF}5H-vyj6` zT#CbtNtw-bd|cRxWq1TbIDoZyH-G*bHK!k_fq!8G26?-lTZGlP3afBG25Y<))ttAWCUybK@e0=99qh#C$e5<4$$ZnbMn9_`Y(HW0^Hdg0R>~|T{h6&D}vTW^n5zCl}0c^l#T!2ZOfVYr2 znP;fXWsyhC7u3L7g$2c^^ZIh~KZ;I-3%ao#7vf6nz)Lt6-=iiFs`yhAQEbwEI2KRg z6ugf0IEa(*2PV;?z%;RbRIQ!OpI=k{Rb+R#z$DEpY{hq|>l4}7(b$fv+Ks4UI)F>? zB`R|@q|L&4xE9x=?t6gB#7I6389}YQ1GSZ%DLVRmc40fF@hpBr-FT8wRn=!uDNds% z_yUy?AEmAdRHLrX#V8)aRd^fq9uH|&rb{>|6Cu=B)X_l4QU|rS+tGzA%z2RtMGt6_ z`u-J4u|mZcb9xlLz1tH=S@|=4Xm$BMD{-QU<8+$Vtx#oY3Cz&RHK}sSTpOpDMw>;W zIGxa+g8rczXneb74s8alk)~j;Q_k+jIhpKSGG-=fV@a2jKW(N$IZrh-Gjpo$yX{%Q1$H{v_8WCrp~nCK delta 2075 zcmZwHUrZcD9KiA6;ChxG2v;iBS{!Kk+um_NX-}l0G=NrXNmGlp#&YG>f`L229gQTK z4JgniCC028n}!7S;aW^3^ct%%ebCegpCqQ5-PX{=zSS6Qd@&{(zrW>5H0gxd&+gpp z%x``(%S`$9nr#?*G?osM6w&ro6%z2fn#t+et-{M2~BR-CIumrp+pkW@j;ODp%f66}RFp9)di865=hOh(Wy%aux z6SyAFU=LovBj{x|)}*2+{bNYXY6RCXzj}=u{*=ijh$m52@EI2363UA=u@Qg82Gnbn z3g7{hi4EL~W4I5mqP!mdZ^I*8TGuMTrVD%3bi09Mwo@CBZKLz1DMTBp?g zxE~+Equ7lm5|dg&8OK2x=NAm)M)vIh?!{i5MG4>^G-cpimM1C6M_EY`%1XE5X6(tf zkK$C0Qm3#*`Vmb9K7+C)aqPfZEXP|&?8;lTlF=gMRaJ*FZ={I)Yi`=I4ZT>(^YLs) z6FYgH!Kd*WwqhB}BzScM<*fAM4xGVF_%+txGFG9FeKIhV^<9*}{tA$P`Y12UmWEQ4 z0V`1UtP9)lP`3Sje30iaQBLzUltXqKpT$l-1<9C&8W-_J{2rxWkeB3aoyz*L$xRat zS5Q)N2lwEgD0|$>(U#BbCG5hp_zvDe=|4)k%J6lRl%GWj_zFsf{zeHXpQxq12E*8o zhtNF3jST!d%778V;~mw8l93*i&+ZsD;2WrM0cG!(Fb5@z^1B=?4!(Ml`UF)%%e$KU4QL4l) zMPigAQBRfi?WXRe?x0HHh?xmiX2`kZPt*tJ~QXNnq$4`+maiN#jH1AA(9x70G@>*l;)aeT`bLM0cq*ixiw+rTe|&IE zCyha)FSYtpQYT)~seVHz>7i3&!$v6c-P$tG%hKd_HDarsxiOOQ>Xhz}o?xo@m>x1x z(O5JU4XK0odLhXh_v~-oURT=?9UL|8PT!Xp88MQ>iFj-vetdOUHy}L_Po|>rJ|kom z`^|!#!G?xlW0MXywlp_ev;Ixe5)L*-ba+=wQ*-7U|DGHxQm8Y{g{H?^E^4=W0|k~- z;txCH_C@EUz2Hn~`&0X}oz@kVHFsBVRMuXb)b=@NTH6_C%3iQ;`Zi~Dac!, 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-28 07:35+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" -"language/fa/)\n" -"Language: fa\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 @@ -37,9 +36,7 @@ msgstr "" msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" -msgstr "" -"محتوای مجموعه درخواستها شامل یک نمونه مرجع و یک مقدار برای متا داده مورد نظر " -"است" +msgstr "محتوای مجموعه درخواستها شامل یک نمونه مرجع و یک مقدار برای متا داده مورد نظر است" #: apps.py:121 msgid "Metadata type name" @@ -106,12 +103,11 @@ msgid "\"%s\" is required for this document type." msgstr "" #: forms.py:112 -#, fuzzy -#| msgid "Metadata type is not valid for this document type." msgid "Metadata types to be added to the selected documents." -msgstr "این نوع از متادیتا برای این نوع سند قابل قبول نیست." +msgstr "" #: forms.py:141 +#| msgid " Available models: %s" msgid " Available template context variables: " msgstr "" @@ -156,6 +152,7 @@ msgid "Metadata types" msgstr "انواه متادیتا" #: models.py:42 +#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -178,8 +175,8 @@ msgstr "پیش فرض" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language (https://docs.djangoproject.com/en/1.7/" -"ref/templates/builtins/)." +"Django's default templating language " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -198,7 +195,8 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected format." +"The parser will reformat the value entered to conform to the expected " +"format." msgstr "" #: models.py:78 @@ -282,10 +280,8 @@ msgid "Primary key of the metadata type to be added." msgstr "کلید اولیه برای نوع متا داده اضافه گردد" #: serializers.py:130 -#, fuzzy -#| msgid "Primary key of the metadata type to be added." msgid "Primary key of the metadata type to be added to the document." -msgstr "کلید اولیه برای نوع متا داده اضافه گردد" +msgstr "" #: views.py:41 #, python-format @@ -298,14 +294,12 @@ msgid "Metadata add request performed on %(count)d documents" msgstr "" #: views.py:56 views.py:192 views.py:358 -#, fuzzy -#| msgid "Only select documents of the same type." msgid "Selected documents must be of the same type." -msgstr "فقط اسناد از نوع همسان را انتخاب کنید" +msgstr "" #: views.py:95 msgid "Add" -msgstr "" +msgstr "افزودن" #: views.py:97 msgid "Add metadata types to document" @@ -313,16 +307,15 @@ msgid_plural "Add metadata types to documents" msgstr[0] "ًانواع متا داده را به اسناد اضافه کنید" #: views.py:108 -#, fuzzy, python-format -#| msgid "Add metadata types to document" -#| msgid_plural "Add metadata types to documents" +#, python-format msgid "Add metadata types to document: %s" -msgstr "ًانواع متا داده را به اسناد اضافه کنید" +msgstr "" #: views.py:152 #, python-format msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." +"Metadata type: %(metadata_type)s successfully added to document " +"%(document)s." msgstr "جذف موفق متادیتای ندع : %(metadata_type)s برای سند : %(document)s." #: views.py:162 @@ -332,16 +325,14 @@ msgid "" msgstr "متادیتای نوع : %(metadata_type)s در سند %(document)s. موجود است." #: views.py:176 -#, fuzzy, python-format -#| msgid "Metadata type is required for this document type." +#, python-format msgid "Metadata edit request performed on %(count)d document" -msgstr "نوع متاداده برای این نوع سند مورد نیاز است" +msgstr "" #: views.py:179 -#, fuzzy, python-format -#| msgid "Metadata type is required for this document type." +#, python-format msgid "Metadata edit request performed on %(count)d documents" -msgstr "نوع متاداده برای این نوع سند مورد نیاز است" +msgstr "" #: views.py:231 msgid "Edit document metadata" @@ -349,10 +340,9 @@ msgid_plural "Edit documents metadata" msgstr[0] "اسناد متاداده را ویرایش کنید" #: views.py:242 -#, fuzzy, python-format -#| msgid "Metadata for document: %s" +#, python-format msgid "Edit metadata for document: %s" -msgstr "متا داده برای سند : %s" +msgstr "ویرایش متادیتای سند : %s" #: views.py:295 #, python-format @@ -385,11 +375,9 @@ msgid_plural "Remove metadata types from the documents" msgstr[0] "انواع متا داده را از اسناد حذف کنید" #: views.py:408 -#, fuzzy, python-format -#| msgid "Remove metadata types from the document" -#| msgid_plural "Remove metadata types from the documents" +#, python-format msgid "Remove metadata types from the document: %s" -msgstr "انواع متا داده را از اسناد حذف کنید" +msgstr "" #: views.py:455 #, python-format @@ -403,9 +391,7 @@ msgstr "حذف موفق متادیتای نوع \"%(metadata_type)s\" از سن msgid "" "Error removing metadata type \"%(metadata_type)s\" from document: " "%(document)s; %(exception)s" -msgstr "" -"خطا در حذف متادیتای نوع\"%(metadata_type)s\" ازسند: %(document)s; " -"%(exception)s" +msgstr "خطا در حذف متادیتای نوع\"%(metadata_type)s\" ازسند: %(document)s; %(exception)s" #: views.py:476 msgid "Create metadata type" @@ -413,6 +399,7 @@ msgstr "ایجاد نوع متا دیتا" #: views.py:492 #, python-format +#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" @@ -426,6 +413,7 @@ msgid "Internal name" msgstr "نام داخلی" #: views.py:531 +#| msgid "View metadata types" msgid "Available metadata types" msgstr "" @@ -443,22 +431,18 @@ msgstr "متادیتا نوع اختیاری برای نوع ستئ %s" msgid "Required metadata types for document type: %s" msgstr "متادیتای نوع الزامی برای نوع سند :%s" -#~ msgid "Value of the corresponding metadata type instance." -#~ msgstr "مقدار مرتبط با نوع متا داده" - #~ msgid "Must provide at least one document." -#~ msgstr "حداقل یک سند باید ارایه شود." +#~ msgstr "Must provide at least one document." #~ msgid "The selected document doesn't have any metadata." #~ msgid_plural "The selected documents don't have any metadata." -#~ msgstr[0] "اسناد انتخاب شده هیچ متا داده ای ندارند" +#~ msgstr[0] "bae23547be942683f3c566589b362141_pl_0" #~ msgid "" -#~ "Error adding metadata type \"%(metadata_type)s\" to document: " -#~ "%(document)s; %(exception)s" -#~ msgstr "" -#~ "نوع متا داده افزودن خطا \"%(metadata_type)s به سند %(document)s; " +#~ "Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " #~ "%(exception)s" +#~ msgstr "" +#~ "Error removing metadata type: %(metadata_type)s from document: %(document)s." #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -617,47 +601,47 @@ msgstr "متادیتای نوع الزامی برای نوع سند :%s" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/metadata/locale/fr/LC_MESSAGES/django.mo index d26681e94eed3cd6bb65142d7cc40540f206ae0a..e5da3672f59469ccdd2901db6069edf9cdb96094 100644 GIT binary patch delta 1918 zcmYM!Z){Ul7{~FaUH7MMWuvyjRyVqix<4?swya1uV4G|xIJPiD#3^aCBMQ+VLy0d) zqrs2}A*na)l?gF{1O!aXjc<^}#HpFdj3)9%F_M_M_{IpqS0*NYe|JSs_T0}ox9hp* zJoh>MaP;m_@t1JmywN6zM~M&oW=GVopjutm>5M&}W3l<;A^j347oJcUPC_7L91DNNUzkt92Zny7?I z)&VLivL^tY`csuESfXy7&vVlMz1DgnLmF zGaTr2HrzGXco1B3#gr6!4NKD4u3*rILcYoD=uc} zusNH=VSE_}@G8decU0;E3{+HY_#D2Ctkr%-W$r#Qw?+98(eFYJp2iGnr=Q^<-a;)f z$|}fQ(bmy$Vs-HSf%qnPN$z6`;pDs`>51iN4{&{BQ@xy7rgXIiru!UL)*22ch$pEL|^%y z3N%9~%W8v!GRL8^B+vKSUaqQx5yDT9CEG#lA(TGtTur|d;{;{lwN9?ta$i|f)6v@Q z^;Rw%p8pyt_l~S?3=zf0xu`%k63T*#Plc#zeTsO{RPF5qzd>G8rk*5t?cVFygsKB& zY?RQee9(sJ=rpLQHguHBZJ#|&?+GGKY$cR>wH%?NvXkf_^oywX&581w-r;UyjOZeC z3Mc{F;`~vyF_1{kB%DiiNvE-TgF9H=?|1rZ>z#Lk5w{qe^toNNvwmkORB(^3I_`Hy zR^M>a;gg{)-MyQ;)2VnWol9q&o8j31ce1&3)?Es3_0?i^A8B;+k%IdZpKZ}&<{ zq8Af_0W>jgNFXsGiY63^Zx zo7vfCX0CVJ-s#BRm^JB?qU<1QiHpTbrLbi(7s}l!N(JyS2`r`*Aj=uo92rhdf`M=H@63o0;xzyn=1GWSUZY@c@z(^)<>s zmr;^)6?p@79cAE~$Q;z)7(_{vym<(xV<$@g-55m^BRpT7=4KX-qRi|k+=}L zcVZ8^C~tNdWx(%H2E2)3oIW$Ze>Pwj^|!EB{*EtV8=Yi=@1aa!2uZs7xPtskD!-&* z1rDQR;5JH%{zcgn5z-^=-FUJ{sTj%x{-kjwE?~#W=Ig{IXkafM!$tTjK89s%G#O_F z%JW*Q$v?}b`e=9@9h8}!LK)~RcHlQC8JNaG%Y&+rms3GpgX^&YokINruA=@k`u$k9 zWz?&%2iKvD^LmyWdC>bPYdMOy@DKFxD&MlOkDc@!Uc6#iIf?_ej&z&*GW4`B@7 zMA=M#p{(hBY{3~i?>6kEejNAVZIp4hFxx|T2`9<sEwM5R!?f2r07uk|8NF?gpZskjcuD$i`pJ^T$hj;ZD|3%F}uL zb(U0aBV=M@Wji;k3za8vD-k4^kAE!X=eCaMCM0tmgcMm;De`jJHvd*BU2rqXa;zj| zIW`g#3rF5R%aUp-viTxJBe8;D-}+gRT`px4v4fBdOBUsaNtToCASJ7|aFvZAn^4NK zJpMJxwW(0&1gd9<27=@77k(c6e@1eGq_AcDe_|o*BxIv?5zT}wog7&yt%NM0(%$Hl zfH!aIs@#^Tjm5dMrMrttjCkB@owlslwY}b&K<;kY+r^8!GLEbJ)Am3jZfe8TNz+6HzHQ{hsPj_&KIgoG?wiRqQT(en6 z!x6q04n~`FxUspeKKFga+9I#6GU^?xtjN7m*;C?0s;YC9b3QF94H$>)4A}^HtE=XC z;f1q{jf|hy&*mN}S-#88@D}EPc|;$uGifW4)<#CBY$l~M)_7_{Ua0nsre{ZnB(u!J zGSj3ZlQbpsEQVwvzYLBhc`=%FYUILLzQ3rQQIZ||hISqdGcu&DfT8;hnFKwCTq8(M zt&t(q38`%ljr&kHhkiDXp4f9@N9_zc?#Ov2z_, 2016 # PatrickHetu , 2012 # Pierre Lhoste , 2012 # SadE54 , 2013 @@ -13,14 +14,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-28 07:35+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" -"fr/)\n" -"Language: fr\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 @@ -40,9 +40,7 @@ msgstr "Documents avec métadonnées optionnelles manquantes" msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" -msgstr "" -"Jeu de requête contenant une référence d'instance MetadataType et une valeur " -"pour ce type de métadonnées" +msgstr "Jeu de requête contenant une référence d'instance MetadataType et une valeur pour ce type de métadonnées" #: apps.py:121 msgid "Metadata type name" @@ -106,15 +104,14 @@ msgstr "Erreur de valeur par défaut : %s" #: forms.py:94 models.py:124 #, python-format msgid "\"%s\" is required for this document type." -msgstr "" +msgstr "\"%s\" est requis pour ce type de document." #: forms.py:112 -#, fuzzy -#| msgid "Metadata type is not valid for this document type." msgid "Metadata types to be added to the selected documents." -msgstr "Le type de métadonnée n'est pas valide pour ce type de document." +msgstr "" #: forms.py:141 +#| msgid " Available models: %s" msgid " Available template context variables: " msgstr "Variable de contexte du modèle disponibles :" @@ -159,12 +156,11 @@ msgid "Metadata types" msgstr "Types de métadonnées" #: models.py:42 +#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." -msgstr "" -"Nom utilisé par d'autres applications pour référencer cette valeur. Veuillez " -"ne pas utiliser de mots réservés Python ou d'espaces." +msgstr "Nom utilisé par d'autres applications pour référencer cette valeur. Veuillez ne pas utiliser de mots réservés Python ou d'espaces." #: models.py:47 msgid "Label" @@ -174,9 +170,7 @@ msgstr "Libellé" msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -msgstr "" -"Indiquez un modèle à restituer. Utilise le langage de rendu de Django par " -"défaut (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" +msgstr "Indiquez un modèle à restituer. Utilise le langage de rendu de Django par défaut (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" #: models.py:55 msgid "Default" @@ -185,12 +179,9 @@ msgstr "Par défaut" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language (https://docs.djangoproject.com/en/1.7/" -"ref/templates/builtins/)." -msgstr "" -"Indiquez un modèle à restituer. Le résultat doit être une chaîne de " -"caractères délimitée par des virgules. Utilise le langage de rendu de Django " -"par défaut (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" +"Django's default templating language " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +msgstr "Indiquez un modèle à restituer. Le résultat doit être une chaîne de caractères délimitée par des virgules. Utilise le langage de rendu de Django par défaut (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" #: models.py:65 msgid "Lookup" @@ -200,9 +191,7 @@ msgstr "Recherche" msgid "" "The validator will reject data entry if the value entered does not conform " "to the expected format." -msgstr "" -"Le système de validation rejettera les données saisies si elles ne sont pas " -"conformes au format attendu." +msgstr "Le système de validation rejettera les données saisies si elles ne sont pas conformes au format attendu." #: models.py:72 msgid "Validator" @@ -210,10 +199,9 @@ msgstr "Validateur" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected format." -msgstr "" -"L'analyseur syntaxique reformatera la valeur saisie pour la rendre conforme " -"au format attendu." +"The parser will reformat the value entered to conform to the expected " +"format." +msgstr "L'analyseur syntaxique reformatera la valeur saisie pour la rendre conforme au format attendu." #: models.py:78 msgid "Parser" @@ -296,10 +284,8 @@ msgid "Primary key of the metadata type to be added." msgstr "Clé primaire du type de la métadonnée à ajouter." #: serializers.py:130 -#, fuzzy -#| msgid "Primary key of the metadata type to be added." msgid "Primary key of the metadata type to be added to the document." -msgstr "Clé primaire du type de la métadonnée à ajouter." +msgstr "" #: views.py:41 #, python-format @@ -312,14 +298,12 @@ msgid "Metadata add request performed on %(count)d documents" msgstr "" #: views.py:56 views.py:192 views.py:358 -#, fuzzy -#| msgid "Only select documents of the same type." msgid "Selected documents must be of the same type." -msgstr "Sélectionner seulement les documents avec le même type." +msgstr "" #: views.py:95 msgid "Add" -msgstr "" +msgstr "Ajouter" #: views.py:97 msgid "Add metadata types to document" @@ -328,39 +312,32 @@ msgstr[0] "Ajouter des types de méta-données au document" msgstr[1] "Ajouter des types de métadonnées aux documents" #: views.py:108 -#, fuzzy, python-format -#| msgid "Add metadata types to document" -#| msgid_plural "Add metadata types to documents" +#, python-format msgid "Add metadata types to document: %s" -msgstr "Ajouter des types de méta-données au document" +msgstr "" #: views.py:152 #, python-format msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." -msgstr "" -"Le type de métadonnées: %(metadata_type)s ajouter avec succès au document " +"Metadata type: %(metadata_type)s successfully added to document " "%(document)s." +msgstr "Le type de métadonnées: %(metadata_type)s ajouter avec succès au document %(document)s." #: views.py:162 #, python-format msgid "" "Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "" -"Le type de métadonnée: %(metadata_type)s est déjà présent dans le document " -"%(document)s." +msgstr "Le type de métadonnée: %(metadata_type)s est déjà présent dans le document %(document)s." #: views.py:176 -#, fuzzy, python-format -#| msgid "Metadata type is required for this document type." +#, python-format msgid "Metadata edit request performed on %(count)d document" -msgstr "Le type de métadonnée est requis pour ce type de document." +msgstr "" #: views.py:179 -#, fuzzy, python-format -#| msgid "Metadata type is required for this document type." +#, python-format msgid "Metadata edit request performed on %(count)d documents" -msgstr "Le type de métadonnée est requis pour ce type de document." +msgstr "" #: views.py:231 msgid "Edit document metadata" @@ -369,17 +346,14 @@ msgstr[0] "Modifier les méta-données du document" msgstr[1] "Modifier les métadonnées des documents" #: views.py:242 -#, fuzzy, python-format -#| msgid "Metadata for document: %s" +#, python-format msgid "Edit metadata for document: %s" -msgstr "Métadonnées du document: %s" +msgstr "Modifier les métadonnées pour le document: %s" #: views.py:295 #, python-format msgid "Error editing metadata for document: %(document)s; %(exception)s." -msgstr "" -"Erreur lors de la modification des métadonnées du document %(document)s; " -"%(exception)s." +msgstr "Erreur lors de la modification des métadonnées du document %(document)s; %(exception)s." #: views.py:306 #, python-format @@ -408,29 +382,23 @@ msgstr[0] "Supprimer les types de métadonnées du document" msgstr[1] "Supprimer les types de métadonnées des documents" #: views.py:408 -#, fuzzy, python-format -#| msgid "Remove metadata types from the document" -#| msgid_plural "Remove metadata types from the documents" +#, python-format msgid "Remove metadata types from the document: %s" -msgstr "Supprimer les types de métadonnées du document" +msgstr "" #: views.py:455 #, python-format msgid "" "Successfully remove metadata type \"%(metadata_type)s\" from document: " "%(document)s." -msgstr "" -"Type de métadonnées supprimer avec succès \"%(metadata_type)s\" pour le " -"document: %(document)s." +msgstr "Type de métadonnées supprimer avec succès \"%(metadata_type)s\" pour le document: %(document)s." #: views.py:465 #, python-format msgid "" "Error removing metadata type \"%(metadata_type)s\" from document: " "%(document)s; %(exception)s" -msgstr "" -"Erreur lors de la suppression du type de métadonnée \"%(metadata_type)s\" " -"pour le document: %(document)s; %(exception)s" +msgstr "Erreur lors de la suppression du type de métadonnée \"%(metadata_type)s\" pour le document: %(document)s; %(exception)s" #: views.py:476 msgid "Create metadata type" @@ -438,6 +406,7 @@ msgstr "Créer un type de métadonnée" #: views.py:492 #, python-format +#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "Êtes vous certain de vouloir supprimer le type de métadonnées : %s?" @@ -451,6 +420,7 @@ msgid "Internal name" msgstr "Nom interne" #: views.py:531 +#| msgid "View metadata types" msgid "Available metadata types" msgstr "Types de métadonnées disponibles" @@ -468,23 +438,19 @@ msgstr "Types de métadonnées optionnelles pour le type de document: %s" msgid "Required metadata types for document type: %s" msgstr "Types de métadonnées requises pour le type de document: %s" -#~ msgid "Value of the corresponding metadata type instance." -#~ msgstr "Valeur de l'instance de type de métadonnées correspondantes." - #~ msgid "Must provide at least one document." -#~ msgstr "Vous devez fournir au moins un document." +#~ msgstr "Must provide at least one document." #~ msgid "The selected document doesn't have any metadata." #~ msgid_plural "The selected documents don't have any metadata." -#~ msgstr[0] "Le document sélectionné n'a pas de méta-données." -#~ msgstr[1] "Les documents sélectionnés n'ont pas de métadonnées." +#~ msgstr[0] "bae23547be942683f3c566589b362141_pl_0" +#~ msgstr[1] "bae23547be942683f3c566589b362141_pl_1" #~ msgid "" -#~ "Error adding metadata type \"%(metadata_type)s\" to document: " -#~ "%(document)s; %(exception)s" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Erreur lors de l'ajout d'un type de métadonnées \"%(metadata_type)s\" au " -#~ "document: %(document)s; %(exception)s" +#~ "Error removing metadata type: %(metadata_type)s from document: %(document)s." #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -646,47 +612,47 @@ msgstr "Types de métadonnées requises pour le type de document: %s" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/metadata/locale/hu/LC_MESSAGES/django.mo index 7befe12136e58f006218f0b8b58ba0bf87b57ff3..7048ae4581a62a57aeabfb38cbf301eb79385b79 100644 GIT binary patch delta 175 zcmX@edY`5Ko)F7a1|VPoVi_Q|0b*7ljsap2C;(z!ATET`^+1{rh%WLN;5D6F$e&;U^^IG@{>z*Q}ap`N-7Id875Abop{5C*Id`Y dMAyhr!O+Oc$au0LqclRq%*x1Yb0nh^BLKs{7zh9W delta 279 zcmcc5a*(zDo)F7a1|VPsVi_QI0b+I_&H-W&=m26~Ant_H(}6S}5HAH{Wgy-H#Qls6 z3^#zZAP{FTF);80=_(*C0HnKsv?`FE4Wxm}zyQbu17-#WHU<_TlXYUQzOrv=afw1f zQGQuwN~%I)i9$|lB2XYdFI6EWKe;qFHLpZ(;%r}2GhIVNT_a-!10yR_Q(XfS0|TxA zf8C(evdrSl{5)Nk#FA7i1tSAPpgIFxBMSusb1P%h&9aP6jB1W4S^0SixvA+uv(poE Y4lhhfQbHor7CzeJA#0Lw)<4gdfE diff --git a/mayan/apps/metadata/locale/hu/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/hu/LC_MESSAGES/django.po index df6b29ee21..49089d5669 100644 --- a/mayan/apps/metadata/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/hu/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-28 07:35+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/hu/)\n" -"Language: hu\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 @@ -103,13 +102,11 @@ msgid "\"%s\" is required for this document type." msgstr "" #: forms.py:112 -#, fuzzy -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" msgid "Metadata types to be added to the selected documents." -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: forms.py:141 +#| msgid " Available models: %s" msgid " Available template context variables: " msgstr "" @@ -154,6 +151,7 @@ msgid "Metadata types" msgstr "" #: models.py:42 +#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -176,8 +174,8 @@ msgstr "" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language (https://docs.djangoproject.com/en/1.7/" -"ref/templates/builtins/)." +"Django's default templating language " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -196,7 +194,8 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected format." +"The parser will reformat the value entered to conform to the expected " +"format." msgstr "" #: models.py:78 @@ -308,16 +307,15 @@ msgstr[0] "" msgstr[1] "" #: views.py:108 -#, fuzzy, python-format -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" +#, python-format msgid "Add metadata types to document: %s" -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: views.py:152 #, python-format msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." +"Metadata type: %(metadata_type)s successfully added to document " +"%(document)s." msgstr "" #: views.py:162 @@ -332,11 +330,9 @@ msgid "Metadata edit request performed on %(count)d document" msgstr "" #: views.py:179 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Metadata edit request performed on %(count)d documents" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:231 msgid "Edit document metadata" @@ -345,11 +341,9 @@ msgstr[0] "" msgstr[1] "" #: views.py:242 -#, fuzzy, python-format -#| msgid "Edit metadata for document: %(document)s" -#| msgid_plural "Edit metadata for the %(count)d selected documents" +#, python-format msgid "Edit metadata for document: %s" -msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" +msgstr "" #: views.py:295 #, python-format @@ -383,11 +377,9 @@ msgstr[0] "" msgstr[1] "" #: views.py:408 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Remove metadata types from the document: %s" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:455 #, python-format @@ -409,6 +401,7 @@ msgstr "" #: views.py:492 #, python-format +#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" @@ -422,6 +415,7 @@ msgid "Internal name" msgstr "" #: views.py:531 +#| msgid "View metadata types" msgid "Available metadata types" msgstr "" @@ -440,7 +434,18 @@ msgid "Required metadata types for document type: %s" msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Adjon meg legalább egy dokumentumot." +#~ msgstr "Must provide at least one document." + +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "bae23547be942683f3c566589b362141_pl_0" +#~ msgstr[1] "bae23547be942683f3c566589b362141_pl_1" + +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " +#~ "%(exception)s" +#~ msgstr "" +#~ "Error removing metadata type: %(metadata_type)s from document: %(document)s." #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -475,6 +480,21 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" +#~ msgid "Edit metadata for document: %(document)s" +#~ msgid_plural "Edit metadata for the %(count)d selected documents" +#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" +#~ msgstr[1] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_1" + +#~ msgid "Add metadata types to document: %(document)s" +#~ msgid_plural "Add metadata types to the %(count)d selected documents" +#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" + +#~ msgid "Remove metadata types from document: %(document)s" +#~ msgid_plural "Remove metadata types from the %(count)d selected documents" +#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" + #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -587,47 +607,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/id/LC_MESSAGES/django.mo b/mayan/apps/metadata/locale/id/LC_MESSAGES/django.mo index 25923ff24d24da737938e553a821784fe451bb96..5737c6d156a0fb97754674296437b3fc9cf79d83 100644 GIT binary patch delta 227 zcmaFKx{P&#NZ{BeTs7jGT;YC5gF7i5ZhSm<-u6 J5(`R;830^SBTWDR delta 294 zcmZ3+`jT~mNUjbq^ApQZwos0|&|A90}T_+O*g8-18 z4y9KBX-y!1Cy-_Z(vN{OP&pj1Kv_UxFaW7x24bMuASMID#5Fp~zNN(_3I#>^Wtl0d z3W+5OIjM<2f&9Ewg_Qi{(%jU%61|DnLrl$d4GndTj1>%wtV~UH4NMFSxB~ojgHp>f zi!<}{bX^ilQmqt>3=Dzl40Mew6b#I*j7>KuFmf_ZE?_b+@JK8wEmp`)%}q)z%FIs8 iQz%X?$xKPi&Z|sRC{8RX1zMI3vP_R5Be9^gm;nG{Q$6zl diff --git a/mayan/apps/metadata/locale/id/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/id/LC_MESSAGES/django.po index 07a912f7fa..3ad1e79c7e 100644 --- a/mayan/apps/metadata/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/id/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-28 07:35+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" -"language/id/)\n" -"Language: id\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 @@ -103,13 +102,11 @@ msgid "\"%s\" is required for this document type." msgstr "" #: forms.py:112 -#, fuzzy -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" msgid "Metadata types to be added to the selected documents." -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: forms.py:141 +#| msgid " Available models: %s" msgid " Available template context variables: " msgstr "" @@ -154,6 +151,7 @@ msgid "Metadata types" msgstr "" #: models.py:42 +#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -176,8 +174,8 @@ msgstr "" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language (https://docs.djangoproject.com/en/1.7/" -"ref/templates/builtins/)." +"Django's default templating language " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -196,7 +194,8 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected format." +"The parser will reformat the value entered to conform to the expected " +"format." msgstr "" #: models.py:78 @@ -299,7 +298,7 @@ msgstr "" #: views.py:95 msgid "Add" -msgstr "" +msgstr "tambah" #: views.py:97 msgid "Add metadata types to document" @@ -307,16 +306,15 @@ msgid_plural "Add metadata types to documents" msgstr[0] "" #: views.py:108 -#, fuzzy, python-format -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" +#, python-format msgid "Add metadata types to document: %s" -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: views.py:152 #, python-format msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." +"Metadata type: %(metadata_type)s successfully added to document " +"%(document)s." msgstr "" #: views.py:162 @@ -331,11 +329,9 @@ msgid "Metadata edit request performed on %(count)d document" msgstr "" #: views.py:179 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Metadata edit request performed on %(count)d documents" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:231 msgid "Edit document metadata" @@ -343,11 +339,9 @@ msgid_plural "Edit documents metadata" msgstr[0] "" #: views.py:242 -#, fuzzy, python-format -#| msgid "Edit metadata for document: %(document)s" -#| msgid_plural "Edit metadata for the %(count)d selected documents" +#, python-format msgid "Edit metadata for document: %s" -msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" +msgstr "" #: views.py:295 #, python-format @@ -380,11 +374,9 @@ msgid_plural "Remove metadata types from the documents" msgstr[0] "" #: views.py:408 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Remove metadata types from the document: %s" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:455 #, python-format @@ -406,6 +398,7 @@ msgstr "" #: views.py:492 #, python-format +#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" @@ -419,6 +412,7 @@ msgid "Internal name" msgstr "" #: views.py:531 +#| msgid "View metadata types" msgid "Available metadata types" msgstr "" @@ -437,7 +431,17 @@ msgid "Required metadata types for document type: %s" msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Harus memberikan setidaknya satu dokumen." +#~ msgstr "Must provide at least one document." + +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "bae23547be942683f3c566589b362141_pl_0" + +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " +#~ "%(exception)s" +#~ msgstr "" +#~ "Error removing metadata type: %(metadata_type)s from document: %(document)s." #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -472,6 +476,18 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" +#~ msgid "Edit metadata for document: %(document)s" +#~ msgid_plural "Edit metadata for the %(count)d selected documents" +#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" + +#~ msgid "Add metadata types to document: %(document)s" +#~ msgid_plural "Add metadata types to the %(count)d selected documents" +#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#~ msgid "Remove metadata types from document: %(document)s" +#~ msgid_plural "Remove metadata types from the %(count)d selected documents" +#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -584,47 +600,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/it/LC_MESSAGES/django.mo b/mayan/apps/metadata/locale/it/LC_MESSAGES/django.mo index 3afdd8fbc0e024af020ec99471422e1033768bb4..ab289083031fe1aa1c0252872d38f16d7209b94e 100644 GIT binary patch delta 1917 zcmYM#S!`5Q9LMqh4A4dBIvuC99k`XHMeH&IZFNd3Yel835k(+jbcV3DQi_BK3<)** zV5;>B#Dr)fn$$HRm&AxRJg|fskOzIx5HT@^HzFAI0blt3ZtujCIrnqUy`6K<`Jexp zo?3RMD|f4M@(H7?rPfhThs}1YJ%tP9YJph;j$R2>3AFYERus%dB z;1kq%Um$a^i`azMP%FQWrC3GSN_fA`qLIV|CNP7QcoH?CPw^QX!(J@ntr}n>DstJN ze+0GSw{R3 zpRlyzTprHG=TQ?ojQokcj`es7SK>FQkcY`YMYIl;ge^D&Q&q&DEVNDBQ1+)$10D_f zZ=gf}W7NzqqXxQxEY^O<$MCPfnPhGw{Z**@2TP%Cby&?|*Y|dzlJGTDL|oLKpTRviiW(4Z`l1C0ug~T?tj$+DX+K`$7$B$Yw)>E}*Jya!Q zzAUAo|K$UFvwedpXU=}_a`E<%cYNx}u-jFdamPzHdA((|VRyXZ z{G^@PgYK=e8u!P_Z6zH|tqYry2`727zoErmisph$}%wKSqqkg+?on`~!FcS?lD zR1JwSMidreVnResB#{J778AS#Z(xwbXktQ$7mWIVF9z|62V?yHc4tc;IO*BXnKN_d zobx~b={v2jZyLQmd*TU0>838Aei|}nKla?i55<~nOf6R9QtSw>hj1F#Z(s$U#&!55 z-it+3jG2QKSd8^JA6t+|OgGLmX4Lf1m_&zX1Zw9m;&glqHU0yPGrze&BZjwdHZJ0B8Lq^wxD~hI z3DgVzKtgB!39gIjR7B>ZcHWA+aU<5^DO3b6V;Fx#EqKZd;=i263>v!8f{$ZA>VYqi zKXaL%`|uie;%(FpJ7(rz+=UvSz$hNWF8m6&VL7w!#RNW$mrx5`I-B@wqA=Sg`lb;T z(sj5D+fb2kF^(^wa^u6G{|9`p$e0_rg8pMll%*H23co>R>7S^t;&0TBOF3X&m!pLZsD*c<-m?c4vHe(w&j+5xrCk3MTum`)R3+&qs&YsPtRv!U%N@x^RN>!2E(tf_dUYrcn?dKNe>^04?q4b7vbj!;pv=r% zn)F<@V{&sS`{vZ0MHB2qBGXz@6Y{-GaY;?~X7S0;qHV)z-x?h94kQzfW&2jjvFY$! z$4Yp;!vl`%M=~#$I!oNtK`ZT~oL+zIM%wcBS$@A`rR@R7@(&I=nZHVV<`u?S1CDPe zY~Rk^ie#In*N1lHU*ROiUP8l3yS2X6Zy#U*?!mEP5!0=A=jI$YAkB!oKA+h$^YfUU z8g>fH>h*?(ob;gQCX#O7*lTmEv661ux7}VRl36fov}t8H77NE4tZ2NYsVN+7j7Ez) zw}-o&1IcvKbHi=6@3dI)XpHBg;fAOckF~^BWxtevpi`LriS* zP})m*WA~F*!bx$R_MLRvv;5?smno~3ZYX2XdGlMGt diff --git a/mayan/apps/metadata/locale/it/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/it/LC_MESSAGES/django.po index 39ecb89af3..b3c60f0a00 100644 --- a/mayan/apps/metadata/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Marco Camplese , 2016 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-30 21:18+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 @@ -38,8 +37,7 @@ msgstr "Nel documento mancano metadati opzionali" msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" -msgstr "" -"Queryset che contiene il riferimento all'istanza MetadataType e il valore " +msgstr "Queryset che contiene il riferimento all'istanza MetadataType e il valore " #: apps.py:121 msgid "Metadata type name" @@ -106,12 +104,11 @@ msgid "\"%s\" is required for this document type." msgstr "\"%s\" è richiesto per questo tipo di documento.." #: forms.py:112 -#, fuzzy -#| msgid "Metadata type is not valid for this document type." msgid "Metadata types to be added to the selected documents." -msgstr "Il metadato non è valido per il tipo di documento" +msgstr "" #: forms.py:141 +#| msgid " Available models: %s" msgid " Available template context variables: " msgstr "Variabili di contesto template disponibili:" @@ -156,12 +153,11 @@ msgid "Metadata types" msgstr "Tipi di Metadati" #: models.py:42 +#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." -msgstr "" -"Nome usato dalle altre app per riferirsi a questo valore. Non utilizzare " -"parole riservate di python o spazi." +msgstr "Nome usato dalle altre app per riferirsi a questo valore. Non utilizzare parole riservate di python o spazi." #: models.py:47 msgid "Label" @@ -171,9 +167,7 @@ msgstr "Etichetta" msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -msgstr "" -"Inserisci il template da renderizzare. Usa il linguaggio di template di " -"Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" +msgstr "Inserisci il template da renderizzare. Usa il linguaggio di template di Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" #: models.py:55 msgid "Default" @@ -182,12 +176,9 @@ msgstr "Default" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language (https://docs.djangoproject.com/en/1.7/" -"ref/templates/builtins/)." -msgstr "" -"Inserisci il template da renderizzare. Deve essere una stringa separata da " -"virgole. Usa il linguaggio di template di Django (https://docs.djangoproject." -"com/en/1.7/ref/templates/builtins/)" +"Django's default templating language " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +msgstr "Inserisci il template da renderizzare. Deve essere una stringa separata da virgole. Usa il linguaggio di template di Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" #: models.py:65 msgid "Lookup" @@ -197,9 +188,7 @@ msgstr "Ricerca" msgid "" "The validator will reject data entry if the value entered does not conform " "to the expected format." -msgstr "" -"Il validatore rifiuterà l'inserimento se il valore immesso non è conforme al " -"formato richiesto." +msgstr "Il validatore rifiuterà l'inserimento se il valore immesso non è conforme al formato richiesto." #: models.py:72 msgid "Validator" @@ -207,10 +196,9 @@ msgstr "Validatore" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected format." -msgstr "" -"Il parser riformatta il valore immesso per renderlo conforme al formato " -"voluto." +"The parser will reformat the value entered to conform to the expected " +"format." +msgstr "Il parser riformatta il valore immesso per renderlo conforme al formato voluto." #: models.py:78 msgid "Parser" @@ -293,10 +281,8 @@ msgid "Primary key of the metadata type to be added." msgstr "Chiave primaria del tipo metadato da aggiungere." #: serializers.py:130 -#, fuzzy -#| msgid "Primary key of the metadata type to be added." msgid "Primary key of the metadata type to be added to the document." -msgstr "Chiave primaria del tipo metadato da aggiungere." +msgstr "" #: views.py:41 #, python-format @@ -309,14 +295,12 @@ msgid "Metadata add request performed on %(count)d documents" msgstr "" #: views.py:56 views.py:192 views.py:358 -#, fuzzy -#| msgid "Only select documents of the same type." msgid "Selected documents must be of the same type." -msgstr "Selezionare solo documenti dello stesso tipo." +msgstr "" #: views.py:95 msgid "Add" -msgstr "" +msgstr "Aggiungi" #: views.py:97 msgid "Add metadata types to document" @@ -325,38 +309,32 @@ msgstr[0] "Aggiungi tipo metadato al documento" msgstr[1] "Aggiungi tipo metadati ai documenti " #: views.py:108 -#, fuzzy, python-format -#| msgid "Add metadata types to document" -#| msgid_plural "Add metadata types to documents" +#, python-format msgid "Add metadata types to document: %s" -msgstr "Aggiungi tipo metadato al documento" +msgstr "" #: views.py:152 #, python-format msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." -msgstr "" -"Tipo metadata: %(metadata_type)s aggiunto con successo al documento " +"Metadata type: %(metadata_type)s successfully added to document " "%(document)s." +msgstr "Tipo metadata: %(metadata_type)s aggiunto con successo al documento %(document)s." #: views.py:162 #, python-format msgid "" "Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "" -"Tipo Metadata: %(metadata_type)s già presente per il documento %(document)s." +msgstr "Tipo Metadata: %(metadata_type)s già presente per il documento %(document)s." #: views.py:176 -#, fuzzy, python-format -#| msgid "Metadata type is required for this document type." +#, python-format msgid "Metadata edit request performed on %(count)d document" -msgstr "Tipo di metadati è necessario per questo tipo di documento." +msgstr "" #: views.py:179 -#, fuzzy, python-format -#| msgid "Metadata type is required for this document type." +#, python-format msgid "Metadata edit request performed on %(count)d documents" -msgstr "Tipo di metadati è necessario per questo tipo di documento." +msgstr "" #: views.py:231 msgid "Edit document metadata" @@ -365,16 +343,14 @@ msgstr[0] "Modifica metadato documento" msgstr[1] "Modifica metadato documenti" #: views.py:242 -#, fuzzy, python-format -#| msgid "Metadata for document: %s" +#, python-format msgid "Edit metadata for document: %s" -msgstr "Metadati per il documento: %s" +msgstr "Modifica metadata per il documento: %s" #: views.py:295 #, python-format msgid "Error editing metadata for document: %(document)s; %(exception)s." -msgstr "" -"Errore modifica metadato per il documento: %(document)s; %(exception)s." +msgstr "Errore modifica metadato per il documento: %(document)s; %(exception)s." #: views.py:306 #, python-format @@ -403,29 +379,23 @@ msgstr[0] "Rimuovi tipi matadato dal documento" msgstr[1] "Rimuovi tipi matadato dai documenti" #: views.py:408 -#, fuzzy, python-format -#| msgid "Remove metadata types from the document" -#| msgid_plural "Remove metadata types from the documents" +#, python-format msgid "Remove metadata types from the document: %s" -msgstr "Rimuovi tipi matadato dal documento" +msgstr "" #: views.py:455 #, python-format msgid "" "Successfully remove metadata type \"%(metadata_type)s\" from document: " "%(document)s." -msgstr "" -"Rimosso con successo il tipo metadato \"%(metadata_type)s\" dal documento: " -"%(document)s." +msgstr "Rimosso con successo il tipo metadato \"%(metadata_type)s\" dal documento: %(document)s." #: views.py:465 #, python-format msgid "" "Error removing metadata type \"%(metadata_type)s\" from document: " "%(document)s; %(exception)s" -msgstr "" -"Errore rimuovendo il tipo metadato \"%(metadata_type)s\" dal documento: " -"%(document)s; %(exception)s" +msgstr "Errore rimuovendo il tipo metadato \"%(metadata_type)s\" dal documento: %(document)s; %(exception)s" #: views.py:476 msgid "Create metadata type" @@ -433,6 +403,7 @@ msgstr "Crea tipo metadato" #: views.py:492 #, python-format +#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "Cancellare il tipo metadato: %s?" @@ -446,6 +417,7 @@ msgid "Internal name" msgstr "Nome interno" #: views.py:531 +#| msgid "View metadata types" msgid "Available metadata types" msgstr "Tipo metadato disponibili" @@ -463,26 +435,19 @@ msgstr "Tipi metadati opzionali per il tipo documento: %s" msgid "Required metadata types for document type: %s" msgstr "Tipi metadati obbligatori per il tipo documento: %s" -#~ msgid "Primary key of the document metadata type." -#~ msgstr "Chiave primaria del tipo metadato del documento" - -#~ msgid "Value of the corresponding metadata type instance." -#~ msgstr "Valore dell'istanza corrispondente del tipo metadato." - #~ msgid "Must provide at least one document." -#~ msgstr "Devi fornire almeno un documento." +#~ msgstr "Must provide at least one document." #~ msgid "The selected document doesn't have any metadata." #~ msgid_plural "The selected documents don't have any metadata." -#~ msgstr[0] "Il documento selezionato non ha nessun tipo di metadato." -#~ msgstr[1] "I documenti selezionati non hanno nessun tipo di metadato." +#~ msgstr[0] "bae23547be942683f3c566589b362141_pl_0" +#~ msgstr[1] "bae23547be942683f3c566589b362141_pl_1" #~ msgid "" -#~ "Error adding metadata type \"%(metadata_type)s\" to document: " -#~ "%(document)s; %(exception)s" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Errore aggiungendo il tipo metadato \"%(metadata_type)s\" al documento: " -#~ "%(document)s; %(exception)s" +#~ "Error removing metadata type: %(metadata_type)s from document: %(document)s." #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -644,47 +609,47 @@ msgstr "Tipi metadati obbligatori per il tipo documento: %s" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/metadata/locale/nl_NL/LC_MESSAGES/django.mo index 89be2431e28f9f07f4f2b0b84cf05d4d96b7ad4a..cb0d44e9cc213d4428c59b3e08f7ec49f40fb1e8 100644 GIT binary patch literal 2576 zcma)-&u<$=6vwBfKfwGhzfyj*lR#)9w6WttDUO0@>QoAflaRUrsRugoKHHn@?wHxJ z-6H;hB2=MDhyz7j;MxlkmvW&(;>ZQ55(qAp_yZ6UhhF%;^?Gb4kzlklpZW3T&3kX2 z$A26-@R>k4f%-gZb)OKgfuHP0gL3IUA*MhD;u9aEc?i4)J_~*U=D_d3qu>wVVemKb z8SpN62)qYA1@1o}#QoqH_&7KYJ`A1&Uj)x&BoLptiiX#(fo#$Z@F4gV$a=oX)^CDG zF#aBV0{j_#1iYK^FA$&Dhs}KMA&~7F10MyCgU7)<$a+^nmU|E6eOn;QYY?C4py6{q z0$%_>&BiyuFA>ArAjjTiL44vC8rJ_K$Z`7xgh}EKh)?{EhWGyoa@_s~S?^&S%KMIH zoCewdH$awq6T~Op$;KB!J~z(huY;`T2FUwvf^bQE3v&E!f$Yz1P=ddLPlESAge{FF zQbmlTzKr@bDi@Y{5S4S3?dQAY!oG1{oj~RD_)dn)OBg(d$~JLfpE+N-a2|8)Id3^O zFd@xpAoW#pXQ;3re0O|5?877~m&Z^!W?VQH$57eVv`kDU6EaAop%2=DAz#+Dk+z8$ zU)S0Z#a7xYEt(N$e4nd~$SPl1H8PM^OXYTmvxbx<8B=$t>vpCJ6H%tRYKOK@*->Ge zBpIVkNlx;5NR~3}+MF3D%6%)HU2cZ$cI%0Zf+PvzhSV(^=vakLqfiOkFIk36R~FW7S*h`S<6)g_r*TdjI&7D3)C!={of7G_`f3a@&_ zSvgxQ6;GmHC_vC#r%u3n_mDePDxP|!fRbBQiS?>R#Yw0vXV}}i2^$uSqHT(?95>pk zL0*+qRFdVktu^J;3fU%^P{n>SEvK5+wo3VYx7(eutSG3{<(Zm}@`zy=&>0D*0vN(vq>`WndR>u~X_OENtxw-&aI3cYjML<#0v=`fiu&dFYPekzvZ^Ky22 zE+_gw{|*@n5-U3zKYyP-B==)ZFk@%LhNcF7<;V)|^z&iw8L1FiqS)yW6{WUi98kMU zyx3F166u^%#~IU8iA=Gy-Brr?B+gsh0C#0?qORLEeIk%h-C)ZnBV2Dp7ao!SekW1~ zogi$2a}rmxX*e@{${q~7Mo#yLG@cb~$^tkfvq@bt&>$Al&S3NZem7FfVx^+Nqredw znMq}ENF{rNvJi0q~R z5k0I3JVf_0xCp16ZjJk;UA1+ce7GS?8Oc|hJ%>J7MykM*O4Kssz@Qm zhk2BNi>|{8c2mEL2k;4Y;&bO)9HhR9GVu@GkJ~7LBxvlyPLz53QN9l$j~eF{XMHtE zK?2C5EOZIqa0<6jcHYNqGBA%a;Wd<<74b0Eu@EcDoYe~J>|3)lVuW&9^(=jt2A zSYLg29kx*>{)@8ncFtE89zYrBInSe9(F_u!x{cER4oV=AtFOEI2Fg6IQTlHpk9yB* zm9^AI3UY^Ekc~IeLFX=V_nfRsy9Sv^QqK;J09>(gn)|58eMqQ{{6IvbEs`d zm&u*f+1$kFXq1kpFE?7U)2A~RbxL9JxMN_9f#mu$(O5A+pdN}(St z=reYwrREyW70bpijm%Zbldp>Lp{D3jqN8itm<1j9w!TbcCWw9|a>?BdL^qP@=vngN l@Ks&#*_kf;K`pdFO?&?XmqD6CD6&{E5}j@xkJeiA{{UwYk)Z$p diff --git a/mayan/apps/metadata/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/nl_NL/LC_MESSAGES/django.po index 7875891511..c5843458f7 100644 --- a/mayan/apps/metadata/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/nl_NL/LC_MESSAGES/django.po @@ -1,23 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 +# Johan Braeken, 2017 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-09 16:41+0000\n" -"Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" -"edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Johan Braeken\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 @@ -31,7 +31,7 @@ msgstr "Documenten missen vereiste metadata" #: apps.py:96 msgid "Documents missing optional metadata" -msgstr "" +msgstr "Documenten met ontbrekende optionele metadata" #: apps.py:115 msgid "" @@ -104,13 +104,11 @@ msgid "\"%s\" is required for this document type." msgstr "\"%s\" is vereist voor deze documentsoort." #: forms.py:112 -#, fuzzy -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" msgid "Metadata types to be added to the selected documents." -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: forms.py:141 +#| msgid " Available models: %s" msgid " Available template context variables: " msgstr "" @@ -155,6 +153,7 @@ msgid "Metadata types" msgstr "Metadatasoorten" #: models.py:42 +#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -177,8 +176,8 @@ msgstr "Verstekwaarde" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language (https://docs.djangoproject.com/en/1.7/" -"ref/templates/builtins/)." +"Django's default templating language " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -197,7 +196,8 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected format." +"The parser will reformat the value entered to conform to the expected " +"format." msgstr "" #: models.py:78 @@ -226,7 +226,7 @@ msgstr "" #: models.py:190 models.py:191 msgid "Document metadata" -msgstr "" +msgstr "Document metadata" #: models.py:204 msgid "Document type" @@ -246,15 +246,15 @@ msgstr "" #: permissions.py:12 msgid "Add metadata to a document" -msgstr "" +msgstr "Voeg metadata toe aan een document" #: permissions.py:15 msgid "Remove metadata from a document" -msgstr "" +msgstr "Verwijder metadata van een document" #: permissions.py:18 msgid "View metadata from a document" -msgstr "" +msgstr "Bekijk metadata van een document" #: permissions.py:21 msgid "Metadata setup" @@ -266,15 +266,15 @@ msgstr "" #: permissions.py:26 msgid "Create new metadata types" -msgstr "" +msgstr "Voeg een nieuw metadatatype toe" #: permissions.py:29 msgid "Delete metadata types" -msgstr "" +msgstr "Verwijder metadatatypes" #: permissions.py:32 msgid "View metadata types" -msgstr "" +msgstr "Bekijk metadatatypes" #: serializers.py:49 msgid "Primary key of the metadata type to be added." @@ -300,7 +300,7 @@ msgstr "" #: views.py:95 msgid "Add" -msgstr "" +msgstr "Voeg toe" #: views.py:97 msgid "Add metadata types to document" @@ -309,16 +309,15 @@ msgstr[0] "" msgstr[1] "" #: views.py:108 -#, fuzzy, python-format -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" +#, python-format msgid "Add metadata types to document: %s" -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: views.py:152 #, python-format msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." +"Metadata type: %(metadata_type)s successfully added to document " +"%(document)s." msgstr "" #: views.py:162 @@ -333,11 +332,9 @@ msgid "Metadata edit request performed on %(count)d document" msgstr "" #: views.py:179 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Metadata edit request performed on %(count)d documents" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:231 msgid "Edit document metadata" @@ -346,11 +343,9 @@ msgstr[0] "" msgstr[1] "" #: views.py:242 -#, fuzzy, python-format -#| msgid "Edit metadata for document: %(document)s" -#| msgid_plural "Edit metadata for the %(count)d selected documents" +#, python-format msgid "Edit metadata for document: %s" -msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" +msgstr "" #: views.py:295 #, python-format @@ -384,11 +379,9 @@ msgstr[0] "" msgstr[1] "" #: views.py:408 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Remove metadata types from the document: %s" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:455 #, python-format @@ -410,6 +403,7 @@ msgstr "" #: views.py:492 #, python-format +#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" @@ -423,6 +417,7 @@ msgid "Internal name" msgstr "" #: views.py:531 +#| msgid "View metadata types" msgid "Available metadata types" msgstr "" @@ -441,7 +436,18 @@ msgid "Required metadata types for document type: %s" msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "U dient minstens 1 document aan te geven." +#~ msgstr "Must provide at least one document." + +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "bae23547be942683f3c566589b362141_pl_0" +#~ msgstr[1] "bae23547be942683f3c566589b362141_pl_1" + +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " +#~ "%(exception)s" +#~ msgstr "" +#~ "Error removing metadata type: %(metadata_type)s from document: %(document)s." #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -476,6 +482,21 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" +#~ msgid "Edit metadata for document: %(document)s" +#~ msgid_plural "Edit metadata for the %(count)d selected documents" +#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" +#~ msgstr[1] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_1" + +#~ msgid "Add metadata types to document: %(document)s" +#~ msgid_plural "Add metadata types to the %(count)d selected documents" +#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" + +#~ msgid "Remove metadata types from document: %(document)s" +#~ msgid_plural "Remove metadata types from the %(count)d selected documents" +#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" + #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -588,47 +609,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/metadata/locale/pl/LC_MESSAGES/django.mo index 674ae9326143efc98064454e1f8d0317baf31d6e..04e31087eb4e2e1f0d9d9474ea33b621d2b57603 100644 GIT binary patch delta 1523 zcmYM!OGs2v9LMo9Hs)hye4CY(V>#xelXI`*Yjg}-N+kq61`|XHs)d1VS}23i3v5wM zfo(E3SuG@*ojVsT5<#RzyC5Q4=)y%%WK`eZ_1YZfoXwl66boD})U71?aS-?8H7vy2xDOv-9=^sZe2cqr2`h0G^NmTF zZ&XUTu!#Z8;i)57f^`^k+ez06^m2U`HSi16dy80(D>#o|@D@H|7QI--XgQcfhBB9M zH{+XOD*Vh2Ifp?HOnQ6R; zGio!w`AMZ1|6&am6Gz4{&8QbU@HF<}FixX7-a>U~d~6Top;lIkVXQ(;tQQaBIk$ZS zYY4?%OlfcDSY9KppgPz>t;9o7jU}kPZbF@rPSk+s@fZ%F-kU=0?L*W8=CA_aAYGbw zsOLXm6aFb8{_Rv6S$->ypjPx0oh?9qW`SZ4F5xnM#``#5V$3P*B23!bd#Hh@kl>id zZhHp1X}?7E^A$DG-=)N#$(S-WvJ-1j6B$5fC8&wap(e73TG1+M#cQY#Z=kakG=^yB zq3&Nn^*@R_tP`jSP9t+LvneW?Sq781iTb?y7{!lgP@x`hy^P0cUq^oC8HKhel~Fkm?}mYiS{K44mx) zvzM&UD%|=C6ip?ak2z&!_>S<@Z;wU3-_iNK{OL{#pm^oRr P=FOZf_j%GA6~F!g&oh-t delta 1776 zcmbW%O>C4!9LMolx`hI}ytGtA5C$skE_Ca@uuw`162id*f+B$$CF#TNleA0sS;KA# z%ZuwlG$Eu1HX2Fb0LH`v>49E2-~j?X5b%N_#24NYNNS@PP2>W>@2`DIGia#qn`T-8*mJV z@Hu{rLqxF=Q>-=x2avVR0c48#5bIdq9HkLsU=WqTMVy7VPzyZ7B>sU3Y@TjRJ$9oO z-iw-F@f}1ZavBxzB_vZbf?D`CcH>?3S>Lp?f3tA|F2QZcTBd+{@BnVbW7vbYaSyJY zIkCVg)Qis`?=)YdGChw`ynqVy0ltcV`u%yFV`YT%j?mBgzF7GHR&|rnP z5tIp|B3y!l_&&aiV_1Wm2{(jqqPBjgZx6Q7&mmLINz{=I`Cda#*sP=ey=WKMJX6tc zRV77Lv*HOthYCJ8|EatF^VehI?w42Aj4H6ifDleTDsfS=Txx+wVFI6g<~v z3z>nu>y_GuKbpQM@LtjFcQYk7`(m7iTl88=w%6Iuqh8tO-I9}aN=}>E(d*iOJy7I{ z|C~Sk`HZeWcy%n1h$T}tp6p1ctM_Iu)JQy*Y`5_>9jSD+F7zajIuUM6d&?8?^<7EZ z+-%kC>{_K}MD2KIB5n^K9v|17c+_sN3EN?l)i1-lho{cE7mSi|U-2NZWSuLY+DyTE zPA>2DxjCD2v#!S%d;Pp0)`tR>@}7OlZF1By)8-v}^`evY%9&n2X*Ju-uJOs*x`|hm U{n@!INB{2w;eRYq{k7rQU), 2015 @@ -13,16 +13,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-28 07:35+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" -"pl/)\n" -"Language: pl\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 #: settings.py:10 @@ -41,9 +39,7 @@ msgstr "Dokumenty, w których brak jest opcjonalnych metadanych" msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" -msgstr "" -"Queryset zawierający referencję do instancji MetadataType i wartość dla tego " -"typu metadanych" +msgstr "Queryset zawierający referencję do instancji MetadataType i wartość dla tego typu metadanych" #: apps.py:121 msgid "Metadata type name" @@ -110,12 +106,11 @@ msgid "\"%s\" is required for this document type." msgstr "" #: forms.py:112 -#, fuzzy -#| msgid "Metadata type is not valid for this document type." msgid "Metadata types to be added to the selected documents." -msgstr "Typ metadanej jest niewłaściwy dla tego typu dokumentu." +msgstr "" #: forms.py:141 +#| msgid " Available models: %s" msgid " Available template context variables: " msgstr "Dostępne zmienne kontekstowe szablonu:" @@ -160,6 +155,7 @@ msgid "Metadata types" msgstr "Typy metadanych" #: models.py:42 +#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -173,9 +169,7 @@ msgstr "Etykieta" msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -msgstr "" -"Podaj szablon do wyrenderowania. Użyj domyślnego języka szablonów Django " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" +msgstr "Podaj szablon do wyrenderowania. Użyj domyślnego języka szablonów Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" #: models.py:55 msgid "Default" @@ -184,12 +178,9 @@ msgstr "Domyślny" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language (https://docs.djangoproject.com/en/1.7/" -"ref/templates/builtins/)." -msgstr "" -"Podaj szablon do wyrenderowania. Wynikiem szablonu musi być łańcuch " -"rozdzielony przecinkami. Użyj domyślnego języka szablonów Django (https://" -"docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +"Django's default templating language " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +msgstr "Podaj szablon do wyrenderowania. Wynikiem szablonu musi być łańcuch rozdzielony przecinkami. Użyj domyślnego języka szablonów Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." #: models.py:65 msgid "Lookup" @@ -199,9 +190,7 @@ msgstr "Wyszukanie" msgid "" "The validator will reject data entry if the value entered does not conform " "to the expected format." -msgstr "" -"Walidator odrzuci dane jeśli podana wartość nie będzie zgodna z oczekiwanym " -"formatem." +msgstr "Walidator odrzuci dane jeśli podana wartość nie będzie zgodna z oczekiwanym formatem." #: models.py:72 msgid "Validator" @@ -209,7 +198,8 @@ msgstr "Walidator" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected format." +"The parser will reformat the value entered to conform to the expected " +"format." msgstr "Parser zmieni format podanej wartości na format oczekiwany." #: models.py:78 @@ -307,15 +297,12 @@ msgid "Metadata add request performed on %(count)d documents" msgstr "" #: views.py:56 views.py:192 views.py:358 -#, fuzzy -#| msgid "The selected document doesn't have any metadata." -#| msgid_plural "The selected documents don't have any metadata." msgid "Selected documents must be of the same type." -msgstr "Wybrany dokument nie ma żadnych metadanych." +msgstr "" #: views.py:95 msgid "Add" -msgstr "" +msgstr "Dodaj" #: views.py:97 msgid "Add metadata types to document" @@ -323,18 +310,18 @@ msgid_plural "Add metadata types to documents" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: views.py:108 -#, fuzzy, python-format -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" +#, python-format msgid "Add metadata types to document: %s" -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: views.py:152 #, python-format msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." +"Metadata type: %(metadata_type)s successfully added to document " +"%(document)s." msgstr "" #: views.py:162 @@ -344,16 +331,14 @@ msgid "" msgstr "" #: views.py:176 -#, fuzzy, python-format -#| msgid "Metadata type is required for this document type." +#, python-format msgid "Metadata edit request performed on %(count)d document" -msgstr "Typ metadanych jest wymagany dla tego typu dokumentu." +msgstr "" #: views.py:179 -#, fuzzy, python-format -#| msgid "Metadata type is required for this document type." +#, python-format msgid "Metadata edit request performed on %(count)d documents" -msgstr "Typ metadanych jest wymagany dla tego typu dokumentu." +msgstr "" #: views.py:231 msgid "Edit document metadata" @@ -361,18 +346,17 @@ msgid_plural "Edit documents metadata" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: views.py:242 -#, fuzzy, python-format -#| msgid "Metadata for document: %s" +#, python-format msgid "Edit metadata for document: %s" -msgstr "Metadane dokumentu: %s" +msgstr "" #: views.py:295 #, python-format msgid "Error editing metadata for document: %(document)s; %(exception)s." -msgstr "" -"Błąd podczas edycji metadanych dla dokumentu: %(document)s; %(exception)s." +msgstr "Błąd podczas edycji metadanych dla dokumentu: %(document)s; %(exception)s." #: views.py:306 #, python-format @@ -400,13 +384,12 @@ msgid_plural "Remove metadata types from the documents" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: views.py:408 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Remove metadata types from the document: %s" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:455 #, python-format @@ -428,6 +411,7 @@ msgstr "" #: views.py:492 #, python-format +#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" @@ -441,6 +425,7 @@ msgid "Internal name" msgstr "" #: views.py:531 +#| msgid "View metadata types" msgid "Available metadata types" msgstr "" @@ -459,7 +444,20 @@ msgid "Required metadata types for document type: %s" msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Musisz dodać co najmniej jeden dokument." +#~ msgstr "Must provide at least one document." + +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "bae23547be942683f3c566589b362141_pl_0" +#~ msgstr[1] "bae23547be942683f3c566589b362141_pl_1" +#~ msgstr[2] "bae23547be942683f3c566589b362141_pl_2" +#~ msgstr[3] "bae23547be942683f3c566589b362141_pl_3" + +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " +#~ "%(exception)s" +#~ msgstr "" +#~ "Error removing metadata type: %(metadata_type)s from document: %(document)s." #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -499,6 +497,21 @@ msgstr "" #~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" #~ msgstr[1] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_1" #~ msgstr[2] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_2" +#~ msgstr[3] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_3" + +#~ msgid "Add metadata types to document: %(document)s" +#~ msgid_plural "Add metadata types to the %(count)d selected documents" +#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" +#~ msgstr[2] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_2" +#~ msgstr[3] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_3" + +#~ msgid "Remove metadata types from document: %(document)s" +#~ msgid_plural "Remove metadata types from the %(count)d selected documents" +#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" +#~ msgstr[2] "6ecb682bfaa127b9e56a8036a602ccf4_pl_2" +#~ msgstr[3] "6ecb682bfaa127b9e56a8036a602ccf4_pl_3" #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -612,47 +625,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/metadata/locale/pt/LC_MESSAGES/django.mo index 203a0a0fb18469dbe6db76d63300bfa49a266a9c..9dcb3612c080f7b23f0bdf381b2dbd58c4f97f2a 100644 GIT binary patch delta 773 zcmYMyKS/{~E9my1zrG^R#v(#BKN5NIHOY6_W(qpd@slA&8$-85hn5yY&P5=c3U zQaUtS$AW{R(8a|Tf)p%nr9*{IT{>h5((msK_`q|YOD^yGJkNW%i2RLIe@5(ghDeZi z$v&SkDQu(Sqh(AI8|cTc7{eys!9N&8i-%p2N zAJ&;V$kQyJ_gLM7-*5uYQJuF?6AyDyqY2bxNgTvk~oRT179}N9uJbhDg0K`teQxf= py!$i|zxk$6%oX-G1CM>~QP*d?Tyd7&dN68x>t6&*KKEDm#(z)_OeO#T delta 801 zcmX}qKTK0m6vy$~((*^8Xe%gGMWYEop zN0`Q^7{h&3p|^Mk-{U;C+V|(EuICnT43|+8zT%(-y~YtdXrDKb3C$6z*-w~Ye)E&T zF5RADmK!g5`x<`4t9Xp+w1rw|loNFn!wWc$+%mIh@fK=_il|PXBc;s??7=O};0`94 z-yAVep>KE>oA>}{nJtcf+e1uo-ar-nfjnw{;VAw=P0+_doerYK5gfo9NS{Hli9ysZ zwFfGwMVukelNU*aUR3DcP*;7ViYurW#5s1;Ng%iBzDrcm%7N0YjeN#~|*W@;v1sBcH-LjL#8!}`0fd!f{Ax8dv)uUv9PSGH?z U#j}+1)@^n5e_e0FKk0t<7uZ2w_5c6? diff --git a/mayan/apps/metadata/locale/pt/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/pt/LC_MESSAGES/django.po index 267672d678..53e6984954 100644 --- a/mayan/apps/metadata/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Emerson Soares , 2011 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-28 07:35+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" -"language/pt/)\n" -"Language: pt\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 @@ -106,13 +105,11 @@ msgid "\"%s\" is required for this document type." msgstr "" #: forms.py:112 -#, fuzzy -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" msgid "Metadata types to be added to the selected documents." -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: forms.py:141 +#| msgid " Available models: %s" msgid " Available template context variables: " msgstr "" @@ -157,6 +154,7 @@ msgid "Metadata types" msgstr "Tipos de metadados" #: models.py:42 +#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -179,8 +177,8 @@ msgstr "Padrão" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language (https://docs.djangoproject.com/en/1.7/" -"ref/templates/builtins/)." +"Django's default templating language " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -199,7 +197,8 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected format." +"The parser will reformat the value entered to conform to the expected " +"format." msgstr "" #: models.py:78 @@ -302,7 +301,7 @@ msgstr "" #: views.py:95 msgid "Add" -msgstr "" +msgstr "Adicionar" #: views.py:97 msgid "Add metadata types to document" @@ -311,26 +310,22 @@ msgstr[0] "" msgstr[1] "" #: views.py:108 -#, fuzzy, python-format -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" +#, python-format msgid "Add metadata types to document: %s" -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: views.py:152 #, python-format msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." -msgstr "" -"Tipo de metadados: %(metadata_type)s adicionado com sucesso ao documento " +"Metadata type: %(metadata_type)s successfully added to document " "%(document)s." +msgstr "Tipo de metadados: %(metadata_type)s adicionado com sucesso ao documento %(document)s." #: views.py:162 #, python-format msgid "" "Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "" -"Tipo de metadados: %(metadata_type)s já existe no documento %(document)s ." +msgstr "Tipo de metadados: %(metadata_type)s já existe no documento %(document)s ." #: views.py:176 #, python-format @@ -338,11 +333,9 @@ msgid "Metadata edit request performed on %(count)d document" msgstr "" #: views.py:179 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Metadata edit request performed on %(count)d documents" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:231 msgid "Edit document metadata" @@ -351,11 +344,9 @@ msgstr[0] "" msgstr[1] "" #: views.py:242 -#, fuzzy, python-format -#| msgid "Edit metadata for document: %(document)s" -#| msgid_plural "Edit metadata for the %(count)d selected documents" +#, python-format msgid "Edit metadata for document: %s" -msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" +msgstr "Editar os metadados do documento: %s" #: views.py:295 #, python-format @@ -389,11 +380,9 @@ msgstr[0] "" msgstr[1] "" #: views.py:408 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Remove metadata types from the document: %s" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:455 #, python-format @@ -415,6 +404,7 @@ msgstr "" #: views.py:492 #, python-format +#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" @@ -428,6 +418,7 @@ msgid "Internal name" msgstr "" #: views.py:531 +#| msgid "View metadata types" msgid "Available metadata types" msgstr "" @@ -446,7 +437,18 @@ msgid "Required metadata types for document type: %s" msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Deve fornecer pelo menos um documento." +#~ msgstr "Must provide at least one document." + +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "bae23547be942683f3c566589b362141_pl_0" +#~ msgstr[1] "bae23547be942683f3c566589b362141_pl_1" + +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " +#~ "%(exception)s" +#~ msgstr "" +#~ "Error removing metadata type: %(metadata_type)s from document: %(document)s." #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -481,6 +483,21 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" +#~ msgid "Edit metadata for document: %(document)s" +#~ msgid_plural "Edit metadata for the %(count)d selected documents" +#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" +#~ msgstr[1] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_1" + +#~ msgid "Add metadata types to document: %(document)s" +#~ msgid_plural "Add metadata types to the %(count)d selected documents" +#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" + +#~ msgid "Remove metadata types from document: %(document)s" +#~ msgid_plural "Remove metadata types from the %(count)d selected documents" +#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" + #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -593,47 +610,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/metadata/locale/pt_BR/LC_MESSAGES/django.mo index 5d8c3cf9abdd1be43541131681c4e33367647459..01d2c36d044d1f0dafbd62eeda988c60e1dbe193 100644 GIT binary patch delta 1946 zcmX}tZ){Ul7{~F`4%`Or58cK_YsY0UHyMSsgAQ9Z2X3gq1`bgPL04=^5LiuHG+87y zar#Pzx0>bX&djBPBe!xju<7xHKJaan?CtiWe+C63}MobvkL zc;3VX+^;MDZ(>1QOMe6E`)O>{`*Spwa$_88a0)-bk8u`OPb(1R6mZz$7!U!2h&(Z{|j7>KcMpBZ`4Zqc&Gsf zPy-BMJC5NXev17Vs5a(+o}(r-gL?6KB&gk&!B}Da1&lbf@NBZWQu0I z5jCUzsEIs}mvI75;4@5rE8a$hwvV%=B%DIh!n}(L>4%uaPf(G(g^ExEgRaLW)G>by zLs%@(&`Ms#d+`if_#^Ue^A9R?wS+@^y9W2*2r3fap(g&b*Y`83_Ph=Y7({*UBqs3; zDw1;;*ZKdQMur;}(^BYPM$*BI;R>9@hw(G-c@4`VdM1P$F^Zb_)3_JU;t<}(Blsk< z(}XUfBJsWF6ul<0h(94t)8`Pm_ zQ5{rL#w|TuH7uGfD%<@GqtD?R!|iI?T>y^m5_H+AEM3|ZAlAN$)>_~n+K`vo_q9kJhfc} z%S}{;dcJI-q2sEe{}~atvhVqH6C|ltkO8N=h9y zepTH>?6kwBFF0?MCjHe1vpFlBed^fJ%y1!LHRqi#%MbdT7Z*?X?XJqSJzKfg>8}d; z?b#(Cl^n`EXU|my?Ms27iq1&;`baElMPrFrhuu>X>iGXoJQ0hxwNn=DNaYKWM{=p* z{E<{4n@d=O*#nteA&dD`?oig5syX3v+UlnLm3ixErjSaf(%C%ov2WBbb$+X#^f`Yl b3zXQ+;Su}m@G0lD#vZ>NUva^XH+B9CNQ2CD delta 2551 zcmZwIZ){Ul7{~F`@qcr`24leZa}l;Nq-84`lL2$!0Egn{oFZWmFYQID-MyvlFbgqN zV>C);f`vCG3aAlZDM@33#3;I8h#DpO22CJD5=m5I(8Op|@cX;%I$n6P)6co*_MCgp zbDrD%(0;8mbE$It5ku*t&ZB-8CM~jx<)`0i2JAkU#St9~F2C%kgtuj2CbT{!_SK zG$r4^5y#UXLoLk35Wa{Se+p;eXE=lBn~OBwrQry%ukvXWHufv_V0qgM?DuU-Qh~J|YJb4=NUq)jZ4c%zNM{qCd3!fl= z<{Tdj@dEbXpQs&nP0vrA$%l3_gsbr&T6h-OjQJ5+lld2Q##Ib{2qUOSe1O`( zmxb$}v5xB-sI#wS6=}Wy%V_AVj-m#Bfot#*DztN%Wfj&I>__c9i#npekUTR1&SMc) z;se->y8k?Ks^(?96W>B@=pt^{`(JJ4vvVKX-1r9L*vxEN>2Xx3-Y$3&71GnV9M7O4 zbq!naCR*6Sfh$rEV*tCTDwhA5&ksG{tf2N5I`tsEO4_l?{dxSK-g{|pp(>MA6n-s` zqc`iQqot3A-i8KhTcMNRE;EjL54Dr3h!Z%IQHa)3Z!Igi(EF{@n#WHXg;7VN^H$Q` zT6DH-v{;C)|9_wyNfGlPwTG&rW6%*0wT!8yK~DHZ=dG-*rz(q8?xSv|>a9@G>*T*e z*iBXPwo}8@yQ#_{e&GDqOX1g%Y@n*lq;fj`&-z{JP#iXbek63JycPaWDfmgG^BpbI zvu7tho$H#^T9P|DWm{mJ9gSw!mDQD`y=-Y&UGCS?*Gd*|9ZaRIMAF+Ii#nE_w&IRW zhvzz0)Qb!bIBq(WJy`D4y73_^<;0yxx_BdHd3&t%UdKw=1CEs*N;uhT<^9#8GOjO{Hx&;)JsEDl#prf=x}q@Jg#O+}6?(Y;109 zEbZwI_B#7xshH;mJMFa7W`!G@{O>ijTH%##jjh@971a&v<1s?DDe1)0cFJ07>$1cD z+>`GMMZAH~?qqxJkBZ?yZg@tnBSH2L&k#^Q6dgRv3L sz}S%N&IMmJ+i@>xMQuO$BX78o7^%T#wds7WX#Cizk$ap^!@|}70T5S~0ssI2 diff --git a/mayan/apps/metadata/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/pt_BR/LC_MESSAGES/django.po index 68994c1801..9782bf8e69 100644 --- a/mayan/apps/metadata/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -13,14 +13,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-17 23:07+0000\n" -"Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" -"edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 @@ -40,9 +39,7 @@ msgstr "Documentos sem metadados opcionais" msgid "" "Queryset containing a MetadataType instance reference and a value for that " "metadata type" -msgstr "" -"Contendo queryset para MetadataType, referência de instância e um valor para " -"esse tipo de metadados" +msgstr "Contendo queryset para MetadataType, referência de instância e um valor para esse tipo de metadados" #: apps.py:121 msgid "Metadata type name" @@ -109,12 +106,11 @@ msgid "\"%s\" is required for this document type." msgstr "\"%s\" é necessário para este tipo de documento." #: forms.py:112 -#, fuzzy -#| msgid "Metadata type is not valid for this document type." msgid "Metadata types to be added to the selected documents." -msgstr "Tipo de Metadados é necessário para o tipo de documento" +msgstr "" #: forms.py:141 +#| msgid " Available models: %s" msgid " Available template context variables: " msgstr "Variáveis de contexto do modelo disponíveis:" @@ -159,12 +155,11 @@ msgid "Metadata types" msgstr "Tipos de metadados" #: models.py:42 +#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." -msgstr "" -"Nome usado por outros aplicativos em referência a este valor. Não usar " -"palavras reservadas de python, ou espaços." +msgstr "Nome usado por outros aplicativos em referência a este valor. Não usar palavras reservadas de python, ou espaços." #: models.py:47 msgid "Label" @@ -174,9 +169,7 @@ msgstr "Label" msgid "" "Enter a template to render. Use Django's default templating language " "(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" -msgstr "" -"Insira um modelo para renderizar. Use a linguagem de modelo padrão do Django " -"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" +msgstr "Insira um modelo para renderizar. Use a linguagem de modelo padrão do Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" #: models.py:55 msgid "Default" @@ -185,12 +178,9 @@ msgstr "Padrão" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language (https://docs.djangoproject.com/en/1.7/" -"ref/templates/builtins/)." -msgstr "" -"Insira um modelo para renderizar. Precisa resultar em uma seqüência de " -"caracteres delimitada por vírgulas. Use a linguagem de modelo padrão do " -"Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" +"Django's default templating language " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." +msgstr "Insira um modelo para renderizar. Precisa resultar em uma seqüência de caracteres delimitada por vírgulas. Use a linguagem de modelo padrão do Django (https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)" #: models.py:65 msgid "Lookup" @@ -200,9 +190,7 @@ msgstr "Tipo de metadados não é válido, para o tipo de documento" msgid "" "The validator will reject data entry if the value entered does not conform " "to the expected format." -msgstr "" -"O validador rejeitará a entrada de dados se o valor inserido não estiver de " -"acordo com o formato esperado." +msgstr "O validador rejeitará a entrada de dados se o valor inserido não estiver de acordo com o formato esperado." #: models.py:72 msgid "Validator" @@ -210,10 +198,9 @@ msgstr "Validador" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected format." -msgstr "" -"O analisador irá reformatar o valor inserido para estar em conformidade com " -"o formato esperado." +"The parser will reformat the value entered to conform to the expected " +"format." +msgstr "O analisador irá reformatar o valor inserido para estar em conformidade com o formato esperado." #: models.py:78 msgid "Parser" @@ -296,10 +283,8 @@ msgid "Primary key of the metadata type to be added." msgstr "Chave primária do tipo de metadados a ser adicionado." #: serializers.py:130 -#, fuzzy -#| msgid "Primary key of the metadata type to be added." msgid "Primary key of the metadata type to be added to the document." -msgstr "Chave primária do tipo de metadados a ser adicionado." +msgstr "" #: views.py:41 #, python-format @@ -312,14 +297,12 @@ msgid "Metadata add request performed on %(count)d documents" msgstr "" #: views.py:56 views.py:192 views.py:358 -#, fuzzy -#| msgid "Only select documents of the same type." msgid "Selected documents must be of the same type." -msgstr "Apenas selecionar documentos do mesmo tipo." +msgstr "" #: views.py:95 msgid "Add" -msgstr "" +msgstr "Adicionar" #: views.py:97 msgid "Add metadata types to document" @@ -328,38 +311,32 @@ msgstr[0] "Adicionar tipos de metadados para o documento" msgstr[1] "Adicionar tipos de metadados para os documentos" #: views.py:108 -#, fuzzy, python-format -#| msgid "Add metadata types to document" -#| msgid_plural "Add metadata types to documents" +#, python-format msgid "Add metadata types to document: %s" -msgstr "Adicionar tipos de metadados para o documento" +msgstr "" #: views.py:152 #, python-format msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." -msgstr "" -"Tipo Metadado %(metadata_type)s adicionado com sucesso para o documento " +"Metadata type: %(metadata_type)s successfully added to document " "%(document)s." +msgstr "Tipo Metadado %(metadata_type)s adicionado com sucesso para o documento %(document)s." #: views.py:162 #, python-format msgid "" "Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "" -"Tipo Metadado: %(metadata_type)s já está presente no documento%(document)s." +msgstr "Tipo Metadado: %(metadata_type)s já está presente no documento%(document)s." #: views.py:176 -#, fuzzy, python-format -#| msgid "Metadata type is required for this document type." +#, python-format msgid "Metadata edit request performed on %(count)d document" -msgstr "Faltando metadados necessários" +msgstr "" #: views.py:179 -#, fuzzy, python-format -#| msgid "Metadata type is required for this document type." +#, python-format msgid "Metadata edit request performed on %(count)d documents" -msgstr "Faltando metadados necessários" +msgstr "" #: views.py:231 msgid "Edit document metadata" @@ -368,10 +345,9 @@ msgstr[0] "Editar metadado do documento" msgstr[1] "Editar metadados dos documentos" #: views.py:242 -#, fuzzy, python-format -#| msgid "Metadata for document: %s" +#, python-format msgid "Edit metadata for document: %s" -msgstr "Metadados para documento: %s" +msgstr "Editar os metadados do documento: %s" #: views.py:295 #, python-format @@ -405,29 +381,23 @@ msgstr[0] "Remover tipos de metadados do documento" msgstr[1] "Remover tipos de metadados dos documentos" #: views.py:408 -#, fuzzy, python-format -#| msgid "Remove metadata types from the document" -#| msgid_plural "Remove metadata types from the documents" +#, python-format msgid "Remove metadata types from the document: %s" -msgstr "Remover tipos de metadados do documento" +msgstr "" #: views.py:455 #, python-format msgid "" "Successfully remove metadata type \"%(metadata_type)s\" from document: " "%(document)s." -msgstr "" -"Removido com sucesso o Stipo de metadato \"%(metadata_type)s\" do " -"documento: %(document)s." +msgstr "Removido com sucesso o Stipo de metadato \"%(metadata_type)s\" do documento: %(document)s." #: views.py:465 #, python-format msgid "" "Error removing metadata type \"%(metadata_type)s\" from document: " "%(document)s; %(exception)s" -msgstr "" -"Erro para remover o tipo de metadado \"%(metadata_type)s\" do documento: " -"%(document)s; %(exception)s" +msgstr "Erro para remover o tipo de metadado \"%(metadata_type)s\" do documento: %(document)s; %(exception)s" #: views.py:476 msgid "Create metadata type" @@ -435,6 +405,7 @@ msgstr "Criar Tipo de documento" #: views.py:492 #, python-format +#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "Apagar o tipo de metadados: %s?" @@ -448,6 +419,7 @@ msgid "Internal name" msgstr "nome interno" #: views.py:531 +#| msgid "View metadata types" msgid "Available metadata types" msgstr "Tipos de metadados disponíveis" @@ -465,26 +437,19 @@ msgstr "Tipo de metadado opicional para os tipos de documentos : %s" msgid "Required metadata types for document type: %s" msgstr "Tipos de metadados requeridos para documento do tipo: %s" -#~ msgid "Primary key of the document metadata type." -#~ msgstr "Chave primária do tipo de metadados a ser adicionado." - -#~ msgid "Value of the corresponding metadata type instance." -#~ msgstr "Valor da instância tipo de metadados correspondente." - #~ msgid "Must provide at least one document." -#~ msgstr "Deve fornecer pelo menos um documento." +#~ msgstr "Must provide at least one document." #~ msgid "The selected document doesn't have any metadata." #~ msgid_plural "The selected documents don't have any metadata." -#~ msgstr[0] "O documento selecionado não possui metadados." -#~ msgstr[1] "Os documentos selecionados não possuem metadados." +#~ msgstr[0] "bae23547be942683f3c566589b362141_pl_0" +#~ msgstr[1] "bae23547be942683f3c566589b362141_pl_1" #~ msgid "" -#~ "Error adding metadata type \"%(metadata_type)s\" to document: " -#~ "%(document)s; %(exception)s" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Erro ao adicionar metadados de tipo \"%(metadata_type)s\" para o " -#~ "documento: %(document)s; %(exception)s" +#~ "Error removing metadata type: %(metadata_type)s from document: %(document)s." #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -646,47 +611,47 @@ msgstr "Tipos de metadados requeridos para documento do tipo: %s" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/metadata/locale/ro_RO/LC_MESSAGES/django.mo index 78f128bfdfb279f9f6374f782db0df577819b03c..07bf1e0ec4323811a51adb0708e16a48d5622301 100644 GIT binary patch delta 826 zcmYMyKS*0q6vy$Km}iVy|0MozY@aQ`Iz0RGw2=mc4lRfvigf58h}0)q(1?j0gc1rJ zI%Rp(KZrvI7ZI$)!J$hhOQ()@&`Bs1Itm^8{l(B8y!Z1=Zq7OP-uET(JyE=jM?M(h zE+ffk3mG$jjbSF@6ZYdV*5D89!3*rhKN!V0U)Ev|wqqaO!V!$%Gt}?K@ecZ!Fs5kU z@jwo+=<=;Dl1NTSRCS7gx++nJQ87yED&)#xnpXBL^1XB8W4EKp5bl$ zjTZGyj4WE%j7r$e^bqf1Cr)ECzQRe|z!&%p<9MGRw_*m_gBe5Zd;%ZfbL6nh8&qR& zk=mw&MRm5xg9@D@8?S^CDY_WCFI|mJr-7lO9Snuu0VUUtbiZmu#TE4o71Z@8+8DY* z`mUTL3^HzBm=@IW>0MB$L+x5GC4E(*GuR0a1z*EkEep9ddp`Gaec4|rWbIVGJXJFg z3icwOAB{Nfu;Zoew3qdUcy`_TsYz$rf4!7n%B?t0=L&w-_T2Qpb(yS}DVMBbD6pa@ e$z{JVH_sY-mCS4F|BIyTeEBFk6AB*3-v0%f3|L?Q delta 846 zcmYk)&ubGw6u|M9G)?S}_@goYsJ4zo{Bc;_B&KRWPl_Ux{=kFcDYhf7)J;jUE%vep z1@WK<7f(`9!9&o45U(B-K?@=xcv8fJ`X>kl5x;MZ;3Ko2&CKq+d9(9A_aYa58A{z1 zVwAR>Hkc6Ehrdwceo|x)KEPpI!L9fWGx!_RnC=nDV-~Ymz!Vly-y6dmP9d*|#a@w6 zE^)Jl4j&y{#I^Vcb)si@8eif#W|>vT&v(6y1^!<}ezMF(7xWN!V7uGD((QkTB$kgj zLVo$gjjn7JUsH9KQCA;e7M&nXnLBYe>OxPURzAgL1kd3hE@B^EM}7V_Zo{Xj3Ey_d zKcLR@84r+OzH_q~^YpGm2Pg0-p2b@@ggPT(N#@fAl!@yfWq#i%zL*+)}ktaomHh+dnzsOxp#o>D7Jbc&%ltrsNiR z&UH$MjeDqCu5^}r!$hd~eAvSu, 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-28 07:35+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" -"edms/language/ro_RO/)\n" -"Language: ro_RO\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 #: settings.py:10 @@ -105,13 +103,11 @@ msgid "\"%s\" is required for this document type." msgstr "" #: forms.py:112 -#, fuzzy -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" msgid "Metadata types to be added to the selected documents." -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: forms.py:141 +#| msgid " Available models: %s" msgid " Available template context variables: " msgstr "" @@ -156,6 +152,7 @@ msgid "Metadata types" msgstr "Metadate tipuri de" #: models.py:42 +#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -178,8 +175,8 @@ msgstr "Iniţial" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language (https://docs.djangoproject.com/en/1.7/" -"ref/templates/builtins/)." +"Django's default templating language " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -198,7 +195,8 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected format." +"The parser will reformat the value entered to conform to the expected " +"format." msgstr "" #: models.py:78 @@ -301,7 +299,7 @@ msgstr "" #: views.py:95 msgid "Add" -msgstr "" +msgstr "Adaugă" #: views.py:97 msgid "Add metadata types to document" @@ -311,27 +309,22 @@ msgstr[1] "" msgstr[2] "" #: views.py:108 -#, fuzzy, python-format -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" +#, python-format msgid "Add metadata types to document: %s" -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: views.py:152 #, python-format msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." -msgstr "" -"Tipul de metadate:%(metadata_type)s au fost adăugate cu succes documentul " +"Metadata type: %(metadata_type)s successfully added to document " "%(document)s." +msgstr "Tipul de metadate:%(metadata_type)s au fost adăugate cu succes documentul %(document)s." #: views.py:162 #, python-format msgid "" "Metadata type: %(metadata_type)s already present in document %(document)s." -msgstr "" -"Tipul de metadate:%(metadata_type)s e deja prezent în documentul " -"%(document)s." +msgstr "Tipul de metadate:%(metadata_type)s e deja prezent în documentul %(document)s." #: views.py:176 #, python-format @@ -339,11 +332,9 @@ msgid "Metadata edit request performed on %(count)d document" msgstr "" #: views.py:179 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Metadata edit request performed on %(count)d documents" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:231 msgid "Edit document metadata" @@ -353,11 +344,9 @@ msgstr[1] "" msgstr[2] "" #: views.py:242 -#, fuzzy, python-format -#| msgid "Edit metadata for document: %(document)s" -#| msgid_plural "Edit metadata for the %(count)d selected documents" +#, python-format msgid "Edit metadata for document: %s" -msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" +msgstr "Editați metadate pentru document:% s" #: views.py:295 #, python-format @@ -392,11 +381,9 @@ msgstr[1] "" msgstr[2] "" #: views.py:408 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Remove metadata types from the document: %s" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:455 #, python-format @@ -418,6 +405,7 @@ msgstr "" #: views.py:492 #, python-format +#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" @@ -431,6 +419,7 @@ msgid "Internal name" msgstr "" #: views.py:531 +#| msgid "View metadata types" msgid "Available metadata types" msgstr "" @@ -449,7 +438,19 @@ msgid "Required metadata types for document type: %s" msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Trebuie să furnizeze cel puțin un document." +#~ msgstr "Must provide at least one document." + +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "bae23547be942683f3c566589b362141_pl_0" +#~ msgstr[1] "bae23547be942683f3c566589b362141_pl_1" +#~ msgstr[2] "bae23547be942683f3c566589b362141_pl_2" + +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " +#~ "%(exception)s" +#~ msgstr "" +#~ "Error removing metadata type: %(metadata_type)s from document: %(document)s." #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -484,6 +485,24 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" +#~ msgid "Edit metadata for document: %(document)s" +#~ msgid_plural "Edit metadata for the %(count)d selected documents" +#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" +#~ msgstr[1] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_1" +#~ msgstr[2] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_2" + +#~ msgid "Add metadata types to document: %(document)s" +#~ msgid_plural "Add metadata types to the %(count)d selected documents" +#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" +#~ msgstr[2] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_2" + +#~ msgid "Remove metadata types from document: %(document)s" +#~ msgid_plural "Remove metadata types from the %(count)d selected documents" +#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" +#~ msgstr[2] "6ecb682bfaa127b9e56a8036a602ccf4_pl_2" + #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -596,47 +615,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/metadata/locale/ru/LC_MESSAGES/django.mo index 348cd83c882cd6c024af7c92c8e8afee133f8e8c..41ef1f99722435ce8178de8d6218e78a3c37cceb 100644 GIT binary patch delta 1439 zcmYk+OGs2v9LMo9&5Vy6&Bv6fnbTvk*No2i%8A}4lv!rbA`!H*Rch}Dq1o8NRpuo~ zC@7>w?qU#wL<)kShgeYUR0tQAXptyIRNvp#r~~JI&OPIK{m=i}v2Ca{I+E_XX((H% zE2uLLV-DdfCl5-3+n9VzM0JJGgC&@ayKy_#<8r)>UhKog_yV)=9meA{#^D?;H706) z(a5F4OK$>(F%7q3GFGDt>re|eU=Z6De(%MVyg$Na_yIF;3U}cmR;|MdT!eQ~^Y);d z_02;XTDTtr_yo1%DNMlxe$;?W+>d^&#xtnj2Qd?0FT9VVHavqm$amDdNs03(FGs!a z)H~~&78*7=r?L$8gZ?~9jJ|Tp%xrN4sFJfKQ)s`aLp_#!aq@w z$xdR!gd&L1eRNbN8gHcuK88_7c@W01#Q+=H921J`4pm-uVI2pz}q2VTH>Qd1#&i^cc_6&XJnrVv+Q2y3wk z+fiS|Cp?04s0~z+7;EqtZo{jnhz=lUFz=&$GXWYC*oc|Lr7+6uD;S27xo=nVnBy%JiU=P>F2Rl+w_h_^2uhmy%5P9HHuZ z!c>*uJa!~D&?bs@Q8MZDDr>2HxpvVV+j)VT=ez7LYN5%Mv2EQm(YK4&DsdOY8r)ru z)KjhJd?#B^Tx@P?xe)RB&s!hk!m;M~Nr&rTV{=pNLE?nN`j*t4Tox!S4unI#P&g7U zvbsGv|9VOz;nLVs&sRt6Udl6F3ffYPAO4cZ2c@4;0p z!rQn5eVdia$7oy zI{W}Ta2a>_NF&ijc@Eyq`C&Io#$LvU@G_R+HI$63Via#;6V?(vO?4C{Gbc;Qzf3T} z3pwKt@h~o71q=F_O$JsGWhZuFJC5TUxQHWoh?^(RS(LNh&kd`_M^OUlN4cEC_!y4i zZd|S)|GQ}X&I=h(!;LzL9cbYdlvI^+&@I@6l9@Oj#|e}auc8Ea1Di3#Pr}3}k)*1x zu@9F~0t&KgxhuQVG~}n(gOcL6P*ONeI^>MAXy6Te5xa=;OPt3+`dj>FC4d#8l+<2F z8Gk$XTzK!={8cDNaRM3UZC2(_xA7sVV58od%0-bvW>u}%THCoaqQo`~ zo^n)jQKjsmwo;3!ja1onJC!Ts70Duj%KcxvWMs}Ok}f$bNv9Mpw<2iog2}U#05w9D zoogytRePyY_i{6CYF%P)%`f>(lSf35`&=9-*#kyU(U9edeX)$Y9*mhNXv0 zgBQt!spH90XNS#%6;Y2H!=~y<42|lPIb@!)*1t;W zt>I`(G+NZ#6Fz2+45kK?iSS{=GCOrF+U)g<#&oo$v$-|%*_K;A`-kF+%(unw`Rz~2 z1`4k_i_YiHjPr#(Ro>W8x9i`ao|Ek~rnHmQj`Yd8=bU+G)>&}J+;jG`uEZqH4#z+@Sgrq`Ua=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 #: settings.py:10 @@ -106,13 +103,11 @@ msgid "\"%s\" is required for this document type." msgstr "" #: forms.py:112 -#, fuzzy -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" msgid "Metadata types to be added to the selected documents." -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: forms.py:141 +#| msgid " Available models: %s" msgid " Available template context variables: " msgstr "" @@ -157,6 +152,7 @@ msgid "Metadata types" msgstr "Типы метаданных" #: models.py:42 +#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -179,8 +175,8 @@ msgstr "Умолчание" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language (https://docs.djangoproject.com/en/1.7/" -"ref/templates/builtins/)." +"Django's default templating language " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -199,10 +195,9 @@ msgstr "Валидатор" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected format." -msgstr "" -"Введённое значение будет переформатировано парсером так, чтобы удовлетворять " -"требованиям формата." +"The parser will reformat the value entered to conform to the expected " +"format." +msgstr "Введённое значение будет переформатировано парсером так, чтобы удовлетворять требованиям формата." #: models.py:78 msgid "Parser" @@ -285,10 +280,8 @@ msgid "Primary key of the metadata type to be added." msgstr "Первичный ключ добавляемого типа метаданных." #: serializers.py:130 -#, fuzzy -#| msgid "Primary key of the metadata type to be added." msgid "Primary key of the metadata type to be added to the document." -msgstr "Первичный ключ добавляемого типа метаданных." +msgstr "" #: views.py:41 #, python-format @@ -301,14 +294,12 @@ msgid "Metadata add request performed on %(count)d documents" msgstr "" #: views.py:56 views.py:192 views.py:358 -#, fuzzy -#| msgid "Only select documents of the same type." msgid "Selected documents must be of the same type." -msgstr "Выберите документы одного типа." +msgstr "" #: views.py:95 msgid "Add" -msgstr "" +msgstr "Добавить" #: views.py:97 msgid "Add metadata types to document" @@ -319,18 +310,16 @@ msgstr[2] "Добавить типы метаданных к документа msgstr[3] "Добавить типы метаданных к документам" #: views.py:108 -#, fuzzy, python-format -#| msgid "Add metadata types to document" -#| msgid_plural "Add metadata types to documents" +#, python-format msgid "Add metadata types to document: %s" -msgstr "Добавить тип метаданных к документам" +msgstr "" #: views.py:152 #, python-format msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." -msgstr "" -"Тип метаданных: %(metadata_type)s успешно добавлены к документу %(document)s." +"Metadata type: %(metadata_type)s successfully added to document " +"%(document)s." +msgstr "Тип метаданных: %(metadata_type)s успешно добавлены к документу %(document)s." #: views.py:162 #, python-format @@ -344,11 +333,9 @@ msgid "Metadata edit request performed on %(count)d document" msgstr "" #: views.py:179 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Metadata edit request performed on %(count)d documents" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:231 msgid "Edit document metadata" @@ -359,16 +346,14 @@ msgstr[2] "Редактировать метаданные документов. msgstr[3] "Редактировать метаданные документов." #: views.py:242 -#, fuzzy, python-format -#| msgid "Metadata for document: %s" +#, python-format msgid "Edit metadata for document: %s" -msgstr "Метаданные документа: %s" +msgstr "Редактировать метаданные документа:%s." #: views.py:295 #, python-format msgid "Error editing metadata for document: %(document)s; %(exception)s." -msgstr "" -"Ошибка при редактировании метаданных документа: %(document)s; %(exception)s." +msgstr "Ошибка при редактировании метаданных документа: %(document)s; %(exception)s." #: views.py:306 #, python-format @@ -399,29 +384,23 @@ msgstr[2] "Удалить типы метаданных из документо msgstr[3] "Удалить типы метаданных из документов" #: views.py:408 -#, fuzzy, python-format -#| msgid "Remove metadata types from the document" -#| msgid_plural "Remove metadata types from the documents" +#, python-format msgid "Remove metadata types from the document: %s" -msgstr "Удалить тип метаданных из документов" +msgstr "" #: views.py:455 #, python-format msgid "" "Successfully remove metadata type \"%(metadata_type)s\" from document: " "%(document)s." -msgstr "" -"Успешно удалён тип метаданных \"%(metadata_type)s\" из документа " -"%(document)s." +msgstr "Успешно удалён тип метаданных \"%(metadata_type)s\" из документа %(document)s." #: views.py:465 #, python-format msgid "" "Error removing metadata type \"%(metadata_type)s\" from document: " "%(document)s; %(exception)s" -msgstr "" -"Ошибка удаления метаданных типа \"%(metadata_type)s\" от документа: " -"%(document)s; %(exception)s" +msgstr "Ошибка удаления метаданных типа \"%(metadata_type)s\" от документа: %(document)s; %(exception)s" #: views.py:476 msgid "Create metadata type" @@ -429,6 +408,7 @@ msgstr "Создать тип метаданных" #: views.py:492 #, python-format +#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "Удалить тип метаданных: %s?" @@ -442,6 +422,7 @@ msgid "Internal name" msgstr "Внутреннее имя" #: views.py:531 +#| msgid "View metadata types" msgid "Available metadata types" msgstr "Доступные типы метаданных" @@ -460,21 +441,20 @@ msgid "Required metadata types for document type: %s" msgstr "Обязательные типы метаданных для типов документов: %s" #~ msgid "Must provide at least one document." -#~ msgstr "Необходимо предоставить хотя бы один документ." +#~ msgstr "Must provide at least one document." #~ msgid "The selected document doesn't have any metadata." #~ msgid_plural "The selected documents don't have any metadata." -#~ msgstr[0] "Выбранный документ не имеет никаких метаданных." -#~ msgstr[1] "Выбранные документы не имеют никаких метаданных." -#~ msgstr[2] "Выбранные документы не имеют никаких метаданных." -#~ msgstr[3] "Выбранные документы не имеют никаких метаданных." +#~ msgstr[0] "bae23547be942683f3c566589b362141_pl_0" +#~ msgstr[1] "bae23547be942683f3c566589b362141_pl_1" +#~ msgstr[2] "bae23547be942683f3c566589b362141_pl_2" +#~ msgstr[3] "bae23547be942683f3c566589b362141_pl_3" #~ msgid "" -#~ "Error adding metadata type \"%(metadata_type)s\" to document: " -#~ "%(document)s; %(exception)s" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " +#~ "%(exception)s" #~ msgstr "" -#~ "Ошибка добавления метаданных типа %(metadata_type)s к документу: " -#~ "%(document)s; %(exception)s" +#~ "Error removing metadata type: %(metadata_type)s from document: %(document)s." #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -516,6 +496,20 @@ msgstr "Обязательные типы метаданных для типов #~ msgstr[2] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_2" #~ msgstr[3] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_3" +#~ msgid "Add metadata types to document: %(document)s" +#~ msgid_plural "Add metadata types to the %(count)d selected documents" +#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +#~ msgstr[1] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_1" +#~ msgstr[2] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_2" +#~ msgstr[3] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_3" + +#~ msgid "Remove metadata types from document: %(document)s" +#~ msgid_plural "Remove metadata types from the %(count)d selected documents" +#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +#~ msgstr[1] "6ecb682bfaa127b9e56a8036a602ccf4_pl_1" +#~ msgstr[2] "6ecb682bfaa127b9e56a8036a602ccf4_pl_2" +#~ msgstr[3] "6ecb682bfaa127b9e56a8036a602ccf4_pl_3" + #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -628,47 +622,47 @@ msgstr "Обязательные типы метаданных для типов #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/metadata/locale/sl_SI/LC_MESSAGES/django.mo index 5f7cd966a97397e64c58f446bb6f868cc3dab29a..0d856fc2f15c1f25f3a5bb4cfb7f0f4034f0c289 100644 GIT binary patch delta 227 zcmX@ZHjQn9N<9Yy1H(=r<^|$IK+Fon7ohxWK$;JTp8zon5Pt^ZD~t>bKY%ny-&rPz zzH3054ak22qy>QVYalHOr2hbEW*{vDB!Jq$04M}j3*rEUP}bS%8?2k%8d~5DNn_NZku2 z1_m}D{S8P90O`L#S`?&?8KO@GNCOdr2ao`2fdi0TAOKd*4rG7~0a*Y7APo}_8Y%mh z7MCa#6y=v?rlcw)mMG+;CISWW^HLR3@{>z*Q}asnCVmRyHPbaT)HO0zFfg(*HJu#D zC=C%YG*>XNurjsWT*(;1IQbfrjYdFzNl|K2UcN$BszO12N@7W-LRoQQmO^SC(7(g*6RcNP)~Y5dN2YF8ZP%OrU#Znit=;nuo%VJra_p^t`2$iO BEnNTr delta 606 zcmXZYzfTik7{KxOdbUNe1;Hw4l$U_9B=ju(0i+Wms|*ejH%U3Q$#HGqj=`m)tL6qH zOLb5OBMIrCY2#oz5H|*+iQDbKKfvPmx%SPy@8{kp@AJOz^PZ)?rC-lCZz!cEV{|NG z64x<S~Uci?q>zg=^`^cvb7>4i=)7U}D`-L<37bX836R1q3rXXpmW)!$fAWp!- zTUbIl;1TW{Nokh zR0vGq6SQy#<;EWde!?vCFL)V$<0T9S@e`b8p5ghpZ?w7OOS{-78YOpxK1!Dt%d9a_ zT-2mu_KBYGDh@}{enoPav}<&!OsbH|r6q$?<6fX+-I<5}uBRJ2^}X7btv5aG*qa3E zuC2G~Re#%dJuCPZ`<`0NEiB{;MV&8H%H^PC-jql_S6J5hrAo2fJ~E#gh7Nwl$J_Vg x*A44I*!k@0s_#D6)v)uip?hCF?Y`jG)7xS9ou|Ft`, 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-28 07:35+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" -"mayan-edms/language/vi_VN/)\n" -"Language: vi_VN\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 @@ -104,13 +103,11 @@ msgid "\"%s\" is required for this document type." msgstr "" #: forms.py:112 -#, fuzzy -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" msgid "Metadata types to be added to the selected documents." -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: forms.py:141 +#| msgid " Available models: %s" msgid " Available template context variables: " msgstr "" @@ -155,6 +152,7 @@ msgid "Metadata types" msgstr "" #: models.py:42 +#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -177,8 +175,8 @@ msgstr "Mặc định" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language (https://docs.djangoproject.com/en/1.7/" -"ref/templates/builtins/)." +"Django's default templating language " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -197,7 +195,8 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected format." +"The parser will reformat the value entered to conform to the expected " +"format." msgstr "" #: models.py:78 @@ -300,7 +299,7 @@ msgstr "" #: views.py:95 msgid "Add" -msgstr "" +msgstr "Thêm" #: views.py:97 msgid "Add metadata types to document" @@ -308,16 +307,15 @@ msgid_plural "Add metadata types to documents" msgstr[0] "" #: views.py:108 -#, fuzzy, python-format -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" +#, python-format msgid "Add metadata types to document: %s" -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: views.py:152 #, python-format msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." +"Metadata type: %(metadata_type)s successfully added to document " +"%(document)s." msgstr "" #: views.py:162 @@ -332,11 +330,9 @@ msgid "Metadata edit request performed on %(count)d document" msgstr "" #: views.py:179 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Metadata edit request performed on %(count)d documents" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:231 msgid "Edit document metadata" @@ -344,11 +340,9 @@ msgid_plural "Edit documents metadata" msgstr[0] "" #: views.py:242 -#, fuzzy, python-format -#| msgid "Edit metadata for document: %(document)s" -#| msgid_plural "Edit metadata for the %(count)d selected documents" +#, python-format msgid "Edit metadata for document: %s" -msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" +msgstr "" #: views.py:295 #, python-format @@ -381,11 +375,9 @@ msgid_plural "Remove metadata types from the documents" msgstr[0] "" #: views.py:408 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Remove metadata types from the document: %s" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:455 #, python-format @@ -407,6 +399,7 @@ msgstr "" #: views.py:492 #, python-format +#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" @@ -420,6 +413,7 @@ msgid "Internal name" msgstr "" #: views.py:531 +#| msgid "View metadata types" msgid "Available metadata types" msgstr "" @@ -438,7 +432,17 @@ msgid "Required metadata types for document type: %s" msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Cần cung cấp ít nhất một tài liệu." +#~ msgstr "Must provide at least one document." + +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "bae23547be942683f3c566589b362141_pl_0" + +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " +#~ "%(exception)s" +#~ msgstr "" +#~ "Error removing metadata type: %(metadata_type)s from document: %(document)s." #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -473,6 +477,18 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" +#~ msgid "Edit metadata for document: %(document)s" +#~ msgid_plural "Edit metadata for the %(count)d selected documents" +#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" + +#~ msgid "Add metadata types to document: %(document)s" +#~ msgid_plural "Add metadata types to the %(count)d selected documents" +#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#~ msgid "Remove metadata types from document: %(document)s" +#~ msgid_plural "Remove metadata types from the %(count)d selected documents" +#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -585,47 +601,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/metadata/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/metadata/locale/zh_CN/LC_MESSAGES/django.mo index ba9e5196dd819087e7ac54f226936deff633a710..5f56367359bff3da77e078f3450ba0ecc2e6b73b 100644 GIT binary patch delta 721 zcmYk(J4ho@6oBEIn1{x79pn48&XR~&3{J*JFyJ<7;ez;Jy9GhqEGwb`69o~mun=u5 zM#V<)0d|6zVjHV1#9puxU0Add#73|X_CN6=9&+;CGk50By=VRy7slds*temG8nTYO zCmYFA4}ZjPIX^gNGTaDCT1mT1qV{o54pe zjG!zqiC=LZ`|(WAm-$}riy%Mc@E5>1HsBXskD#AAiS;;vvVj#`=TO`DncCsu0Pk1d z7*uiLJIYBi+Ex5Oy{qSsP)>ZN=l`Od=m`t(8KrZ1L8XeZS=))d)P2~EYx?>H7V>`e zj{(oB2kjHqQorcBntss)Wuj~}in7rzl&>VGlbVC&S_`@LWD^pyISH0iC1iyZL?JmO zEtf^*n@ZaZ@_on&<>eBUq;y0gL`pX#!ms2$W0~9KZE=5jmyDmOY4b;FY-Tb!l}VV5 z>Fkv^;&CIs-|cbBZnK=28FLa&D`VRZ4Gvht$=UJrcxuY(8OKy`YBK7LfB@Qh@ zhd#Ki4uyiaiGy$*0)+|=1!rf4LJSHb3SAte{eRcvN6!77?>ur|d(oX}@t`U6O%WZG zyOc8JK4l}ohZqVf^#F(Q4(3qCzQb1hfj4nW_wQgc`9AVf=X`4MFPeCX4fv?apI20A zD$i+nh8c8G2K>>UVVwLQhA_@2j1Tc1_UL>JtI1zr7fzyV9qyvs&>lA8g|@DSKPB(L5u8TpU&DIzFoxU66m=l7 zzB;7Ri6^?Fmiywcsu5+U%_vv>80A%NQCcW6hADo?$>kX&tIf^n9a95k$fbZ^RwRSyK*$?&XK2}c55+wYH8e;zG)hnrt2pFWp=eJ__5%cb?o N@=|4W%{{HL{{suTVjBPe diff --git a/mayan/apps/metadata/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/metadata/locale/zh_CN/LC_MESSAGES/django.po index 120aca6f41..fc0087d383 100644 --- a/mayan/apps/metadata/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/metadata/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-28 07:35+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" -"language/zh_CN/)\n" -"Language: zh_CN\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:52 apps.py:145 apps.py:150 links.py:39 permissions.py:7 @@ -104,13 +103,11 @@ msgid "\"%s\" is required for this document type." msgstr "" #: forms.py:112 -#, fuzzy -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" msgid "Metadata types to be added to the selected documents." -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: forms.py:141 +#| msgid " Available models: %s" msgid " Available template context variables: " msgstr "" @@ -155,6 +152,7 @@ msgid "Metadata types" msgstr "元数据类型" #: models.py:42 +#| msgid "Do not use python reserved words, or spaces." msgid "" "Name used by other apps to reference this value. Do not use python reserved " "words, or spaces." @@ -177,8 +175,8 @@ msgstr "" #: models.py:60 msgid "" "Enter a template to render. Must result in a comma delimited string. Use " -"Django's default templating language (https://docs.djangoproject.com/en/1.7/" -"ref/templates/builtins/)." +"Django's default templating language " +"(https://docs.djangoproject.com/en/1.7/ref/templates/builtins/)." msgstr "" #: models.py:65 @@ -197,7 +195,8 @@ msgstr "" #: models.py:76 msgid "" -"The parser will reformat the value entered to conform to the expected format." +"The parser will reformat the value entered to conform to the expected " +"format." msgstr "" #: models.py:78 @@ -300,7 +299,7 @@ msgstr "" #: views.py:95 msgid "Add" -msgstr "" +msgstr "新增" #: views.py:97 msgid "Add metadata types to document" @@ -308,16 +307,15 @@ msgid_plural "Add metadata types to documents" msgstr[0] "" #: views.py:108 -#, fuzzy, python-format -#| msgid "Add metadata types to document: %(document)s" -#| msgid_plural "Add metadata types to the %(count)d selected documents" +#, python-format msgid "Add metadata types to document: %s" -msgstr "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" +msgstr "" #: views.py:152 #, python-format msgid "" -"Metadata type: %(metadata_type)s successfully added to document %(document)s." +"Metadata type: %(metadata_type)s successfully added to document " +"%(document)s." msgstr "元数据类型: %(metadata_type)s成功加入到文档%(document)s" #: views.py:162 @@ -332,11 +330,9 @@ msgid "Metadata edit request performed on %(count)d document" msgstr "" #: views.py:179 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Metadata edit request performed on %(count)d documents" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:231 msgid "Edit document metadata" @@ -344,11 +340,9 @@ msgid_plural "Edit documents metadata" msgstr[0] "" #: views.py:242 -#, fuzzy, python-format -#| msgid "Edit metadata for document: %(document)s" -#| msgid_plural "Edit metadata for the %(count)d selected documents" +#, python-format msgid "Edit metadata for document: %s" -msgstr "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" +msgstr "编辑文档 %s 元数据" #: views.py:295 #, python-format @@ -381,11 +375,9 @@ msgid_plural "Remove metadata types from the documents" msgstr[0] "" #: views.py:408 -#, fuzzy, python-format -#| msgid "Remove metadata types from document: %(document)s" -#| msgid_plural "Remove metadata types from the %(count)d selected documents" +#, python-format msgid "Remove metadata types from the document: %s" -msgstr "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" +msgstr "" #: views.py:455 #, python-format @@ -407,6 +399,7 @@ msgstr "" #: views.py:492 #, python-format +#| msgid "Delete metadata types" msgid "Delete the metadata type: %s?" msgstr "" @@ -420,6 +413,7 @@ msgid "Internal name" msgstr "" #: views.py:531 +#| msgid "View metadata types" msgid "Available metadata types" msgstr "" @@ -438,7 +432,17 @@ msgid "Required metadata types for document type: %s" msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "必须至少提供一个文档" +#~ msgstr "Must provide at least one document." + +#~ msgid "The selected document doesn't have any metadata." +#~ msgid_plural "The selected documents don't have any metadata." +#~ msgstr[0] "bae23547be942683f3c566589b362141_pl_0" + +#~ msgid "" +#~ "Error adding metadata type \"%(metadata_type)s\" to document: %(document)s; " +#~ "%(exception)s" +#~ msgstr "" +#~ "Error removing metadata type: %(metadata_type)s from document: %(document)s." #~ msgid "Missing metadata" #~ msgstr "edit metadata" @@ -473,6 +477,18 @@ msgstr "" #~ msgid "Are you sure you wish to delete the metadata type: %s?" #~ msgstr "Are you sure you wish to delete the metadata type: %s?" +#~ msgid "Edit metadata for document: %(document)s" +#~ msgid_plural "Edit metadata for the %(count)d selected documents" +#~ msgstr[0] "4e0a5b1bfd2fec1712bbea096f0291ce_pl_0" + +#~ msgid "Add metadata types to document: %(document)s" +#~ msgid_plural "Add metadata types to the %(count)d selected documents" +#~ msgstr[0] "9ef9d143943c2d5ff2b9abfe3b7ccb10_pl_0" + +#~ msgid "Remove metadata types from document: %(document)s" +#~ msgid_plural "Remove metadata types from the %(count)d selected documents" +#~ msgstr[0] "6ecb682bfaa127b9e56a8036a602ccf4_pl_0" + #~ msgid "Metadata for: %s" #~ msgstr "metadata for: %s" @@ -585,47 +601,47 @@ msgstr "" #~ msgstr "What are metadata sets?" #~ msgid "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgstr "" -#~ "A metadata set is a group of one or more metadata types. Metadata sets " -#~ "are useful when creating new documents; selecing a metadata set " -#~ "automatically attaches it's member metadata types to said document." +#~ "A metadata set is a group of one or more metadata types. Metadata sets are " +#~ "useful when creating new documents; selecing a metadata set automatically " +#~ "attaches it's member metadata types to said document." #~ msgid "What are metadata types?" #~ msgstr "What are metadata types?" #~ msgid "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgstr "" -#~ "A metadata type defines the characteristics of a value of some kind that " -#~ "can be attached to a document. Examples of metadata types are: a client " -#~ "name, a date, or a project to which several documents belong. A metadata " -#~ "type's name is the internal identifier with which it can be referenced to " -#~ "by other modules such as the indexing module, the title is the value that " -#~ "is shown to the users, the default value is the value an instance of this " -#~ "metadata type will have initially, and the lookup value turns an instance " -#~ "of a metadata of this type into a choice list which options are the " -#~ "result of the lookup's code execution." +#~ "A metadata type defines the characteristics of a value of some kind that can" +#~ " be attached to a document. Examples of metadata types are: a client name, " +#~ "a date, or a project to which several documents belong. A metadata type's " +#~ "name is the internal identifier with which it can be referenced to by other " +#~ "modules such as the indexing module, the title is the value that is shown to" +#~ " the users, the default value is the value an instance of this metadata type" +#~ " will have initially, and the lookup value turns an instance of a metadata " +#~ "of this type into a choice list which options are the result of the lookup's" +#~ " code execution." #~ msgid " Available functions: %s" #~ msgstr " Available functions: %s" #~ msgid "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgstr "" -#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user " -#~ "in User.objects.all()].%s" +#~ "Enter a string to be evaluated. Example: [user.get_full_name() for user in " +#~ "User.objects.all()].%s" #~ msgid "Error deleting document indexes; %s" #~ msgstr "Error deleting document indexes; %s" diff --git a/mayan/apps/mirroring/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/mirroring/locale/ar/LC_MESSAGES/django.mo index de93f15b398fc5f992be10cef4c9615f2b2fd789..1904e5596582cf5025f8469a616ef04658ebabb3 100644 GIT binary patch delta 44 zcmZ3?vY2H;E3dh(fr+k>p@N~2m67qpNvnB$67$ka6Vp?z6cURj+b~8?Ucy)p04OaD A_y7O^ delta 44 zcmZ3?vY2H;E3cWZp`oskv4Vk-m8t2(NvkJ&F-GzDB<7`;CZ?xaDI^w6Ud-4404F65 A2mk;8 diff --git a/mayan/apps/mirroring/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/mirroring/locale/bg/LC_MESSAGES/django.mo index 0bab54a440bc75ecc75dbcd91b0b5aa46fe86851..344da78fc2ab5805dca3fe217d7e07c718ccc302 100644 GIT binary patch delta 44 zcmcc2e3^MdE3dh(fr+k>p@N~2m67qpN$Yrg67$ka6Vp?z6q3>>+cQQ_Ue2fk05`1; A0ssI2 delta 44 zcmcc2e3^MdE3cWZp`oskv4Vk-m8t2(N$V#2GDh+EB<7`;CZ?xaDI}#&UdE^k05p@N~2m67qpNhkPy67$ka6Vp?z6q1VLog61eGDc56!dM0X DUi}YV delta 47 zcmdnRvWsOxE3cWZp`oskv4Vk-m8t2(Nhc;}F-GzGB<7`;CZ?xaDI^ugJ2_51%vcTp DU>^^0 diff --git a/mayan/apps/mirroring/locale/da/LC_MESSAGES/django.mo b/mayan/apps/mirroring/locale/da/LC_MESSAGES/django.mo index 51a000c16af970f501b6608f412a8e845b699eb2..b0e1003f5733ab1e915bbdd7c8ec177154979c67 100644 GIT binary patch delta 44 zcmcb>e1UmFE3dh(fr+k>p@N~2m67qpNvnB$67$ka6Vp?z6jBl=+b~8?Uc#sY05&NN A?*IS* delta 44 zcmcb>e1UmFE3cWZp`oskv4Vk-m8t2(NvkJ&F-GzDB<7`;CZ?xaDWoJ$Ud*Tq05w?+ A{{R30 diff --git a/mayan/apps/mirroring/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/mirroring/locale/de_DE/LC_MESSAGES/django.mo index 6cff24c79301713e8472b53f8873bf75e66e5d49..2b78f173d4d14298835ce50785f13ea7dde7623b 100644 GIT binary patch delta 49 zcmcc1c9(5~6(g^?u7QcJk)eX2k(H70WOv2`{62|!>7|M3sa6UpsqrqZli8S}Cl@lk F0RUqe4*CE9 delta 49 zcmcc1c9(5~6(g^iuA!l>k+Fh-k(H_GWOv2`lf{{$__$IQsZ4*Cl@fi F1pr?*4-EhS diff --git a/mayan/apps/mirroring/locale/en/LC_MESSAGES/django.mo b/mayan/apps/mirroring/locale/en/LC_MESSAGES/django.mo index 6bcd9f629a7e30c990fdd2d33100f323088b2afd..2a49b9eccb8068fe73b6d325cac90bbe08440f20 100644 GIT binary patch delta 23 ecmeyx^owai7q7Xlfr+k>p@N~2m67qp>5l5l7|M3sa6W9#gkt!MsE&al3)Y? DO_&ZN delta 47 zcmaFC_JVDL6(g^iuA!l>k+Fh-k(H_GWOv3zlfN-W@%SX>rI#kAr&=kb7H{@vl4Jw` DRZ9*t diff --git a/mayan/apps/mirroring/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/mirroring/locale/fa/LC_MESSAGES/django.mo index 3b64a3b97721e35f77422cc2c4b54dff808a36b0..b4165376badadbb4dda813949bc4b5c06241c418 100644 GIT binary patch delta 44 zcmX@be2RHOE3dh(fr+k>p@N~2m67qpNo#m~67$ka6Vp?z6w(qW+cHK^UdpHn05nn! A;Q#;t delta 44 zcmX@be2RHOE3cWZp`oskv4Vk-m8t2(Noyv1Ge+_FB<7`;CZ?xaDWoM%Uc#sb05gXT A@c;k- diff --git a/mayan/apps/mirroring/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/mirroring/locale/fr/LC_MESSAGES/django.mo index 973c969c2de93a2bb11f7ae36e7eaa69115c917b..595d11bb4de4e40d97043789021853cf4f58acd6 100644 GIT binary patch delta 46 zcmX@gc9d;{6(g^?u7QcJk)eX2k(H70WOv3RJU)qe>7|M3sa6VUMU%Ohq9+$IT?PO! CsSVx$ delta 46 zcmX@gc9d;{6(g^iuA!l>k+Fh-k(H_GWOv3RlO>p_%ziY6B_T>$_s C6AkVF diff --git a/mayan/apps/mirroring/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/mirroring/locale/hu/LC_MESSAGES/django.mo index 4e73198520791032f59d8fbcb7cf7b39c256e7eb..4827cb40d5aaa7480e5400e251f8f21c5d7f5ebd 100644 GIT binary patch delta 44 zcmcc2e3^MdE3dh(fr+k>p@N~2m67qpN$Yrg67$ka6Vp?z6f#OD+cQQ_Ue2fk061q3 A761SM delta 44 zcmcc2e3^MdE3cWZp`oskv4Vk-m8t2(N$V#2GDh+EB<7`;CZ?xaDP)vRUdE^k05@I^ ACIA2c diff --git a/mayan/apps/mirroring/locale/id/LC_MESSAGES/django.mo b/mayan/apps/mirroring/locale/id/LC_MESSAGES/django.mo index 479a91534cc429381ef72213ce983cff638f2314..5722783775e8007a0fbe9fb7e533549b8fb0a3b6 100644 GIT binary patch delta 44 zcmX@he3p4aE3dh(fr+k>p@N~2m67qpN$Yuh67$ka6Vp?z6f#pLJ1|C1Ucsme05$Cm A_5c6? delta 44 zcmX@he3p4aE3cWZp`oskv4Vk-m8t2(N$V&3F-GzDB<7`;CZ?xaDP*QhUe2fn05vfV A1^@s6 diff --git a/mayan/apps/mirroring/locale/it/LC_MESSAGES/django.mo b/mayan/apps/mirroring/locale/it/LC_MESSAGES/django.mo index 5b9e2fce3389931270fa99b7475eb4722578322d..ac5fafbdc63a238a02b299763c441b2789302097 100644 GIT binary patch delta 46 zcmdnbwx4Z-6(g^?u7QcJk)eX2k(H70WOv5>JU)qe>7|M3sa6V^C6ig1q9^AvT>=0u C91X_+ delta 44 zcmdnbwx4Z-6(g^iuA!l>k+Fh-k(H_GWOv5>lZBb0xO@`x(n}N5Q>_#xXE9v`01pWa A_y7O^ diff --git a/mayan/apps/mirroring/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/mirroring/locale/nl_NL/LC_MESSAGES/django.mo index 9cb6cef19b31910c3ebe3fb9a85fb1ced4e11615..f1c6fb86e1d09be54fb173f209e4116090391a4a 100644 GIT binary patch delta 47 zcmZ3)vWR8Ea$a*?0~1{%Lj^-4Di5HKREI DWuOnY diff --git a/mayan/apps/mirroring/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/mirroring/locale/pl/LC_MESSAGES/django.mo index 1d962cf8cfd08b3069996b922124b4bc89c809c4..8580d84a2a726f46d749c513781fa642d9c76a56 100644 GIT binary patch delta 44 zcmeBT>0+7C%4@D`V4`bes90+7C%4?=;XsBystYBbdWokNc((1`xj8Qy3iFxUziRr0U3I#cn7c-^<03PBE A#sB~S diff --git a/mayan/apps/mirroring/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/mirroring/locale/pt/LC_MESSAGES/django.mo index d6cb0d7f17accdd9823102706864c6e75a5fcde1..7b667ffac7ee08db2e67188acb6e6c3944ce3e39 100644 GIT binary patch delta 44 zcmcb@e1&;JE3dh(fr+k>p@N~2m67qpN$Yuh67$ka6Vp?z6becvJ1|C1UcsmX068QM AA^-pY delta 43 zcmcb@e1&;JE3cWZp`oskv4Vk-m8t2(N$V&3F-CFwB<7`;CZ?xaDHKdz#;6AXDPRq~ diff --git a/mayan/apps/mirroring/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/mirroring/locale/pt_BR/LC_MESSAGES/django.mo index 4aac618884b4564e8facea4ab44d73f6648de748..a0f881142bbe51e9da7568dec120da6971b004d8 100644 GIT binary patch delta 50 zcmey*_MdHo6(g^?u7QcJk)eX2k(H70WOv5X{62|!>7|M3sa6UFCGk!{lLeWgH`g#R GGXemCUk<$h delta 50 zcmey*_MdHo6(g^iuA!l>k+Fh-k(H_GWOv5Xla-jF__#VO5&Y@HdiyT GFaiL5rw-5n diff --git a/mayan/apps/mirroring/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/mirroring/locale/ro_RO/LC_MESSAGES/django.mo index 88d7137d3d447d1125abbcfcf3d7b9934a35b28b..de1b86f65d552a71aa61da13acc5b7c47d5c4f36 100644 GIT binary patch delta 47 zcmeBX>1LVG%4@D`V4`bes91LVG%4?=;XsBystYBbdWokNc(yqxdj8XhPiFxUziRr0U3Pt(xLH?7sGKK*F DO=b@A diff --git a/mayan/apps/mirroring/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/mirroring/locale/ru/LC_MESSAGES/django.mo index 50188f62fa9e246678749cb49d39ff11347479f7..ec2c5b3b23f5fe026919a904781409421a3cb7a7 100644 GIT binary patch delta 47 zcmaFJ{*Zlx6(g^?u7QcJk)eX2k(H70WOv57JU)qe>7|M3sa6U_rIQ~sMsN0Jn#KqK DOkNI^ delta 47 zcmaFJ{*Zlx6(g^iuA!l>k+Fh-k(H_GWOv57lRq*>@%SX>rI#kAr&=i#m2UQ8n$8FS DQp@N~2m67qpNqhKx67$ka6Vp?z6pC}=gFPqvGDc6{!I%I5 DQicx$ delta 47 zcmbQiGJ|D8E3cWZp`oskv4Vk-m8t2(NqZ*8F-GzGB<7`;CZ?xaDHP|#2YXK5&X@=Q DQd|!f diff --git a/mayan/apps/mirroring/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/mirroring/locale/vi_VN/LC_MESSAGES/django.mo index 7acdd78d6999c9700394c248ba9a37b1440c9b0a..f4c3500671a88f465c31153cef8af48ef629040c 100644 GIT binary patch delta 47 zcmcb|e2;lTE3dh(fr+k>p@N~2m67qpNqhNy67$ka6Vp?z6v{H=!~7=uF-A|`$*2kd DYl;tD delta 47 zcmcb|e2;lTE3cWZp`oskv4Vk-m8t2(NqZ;9Ge+_IB<7`;CZ?xaDU@Z#hxtw3!KelR DYfukx diff --git a/mayan/apps/mirroring/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/mirroring/locale/zh_CN/LC_MESSAGES/django.mo index 0b054893379b4d2bb95772ea5f5ded11121fec98..5e100432d21adbc1854459cd359f7b195e95b1a1 100644 GIT binary patch delta 47 zcmcb?e1myHE3dh(fr+k>p@N~2m67qpN!$5-67$ka6Vp?z6sj`fo&6?zFh)<_%%} delta 47 zcmcb?e1myHE3cWZp`oskv4Vk-m8t2(N!uq!GDh+HB<7`;CZ?xaDO6>|JNr%E#Ha=U DXP^&4 diff --git a/mayan/apps/motd/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/motd/locale/ar/LC_MESSAGES/django.mo index 56d5a2babfafdeb973ede5a11f802ee50b57a3ea..6d78c1588297a636090416c073ce29fa70a5e8aa 100644 GIT binary patch delta 44 zcmaFE@`h!?c3yK`0~1{%Lj^-4Dn+a diff --git a/mayan/apps/motd/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/motd/locale/bg/LC_MESSAGES/django.mo index 94f1a9c70635892ea04ba1dddb9ceb1f3f50e89e..cd49cbac1cb6ed80ee25244e9368bcc7f16f2180 100644 GIT binary patch delta 44 zcmZ3=vXo`Qc3yK`0~1{%Lj^-4D diff --git a/mayan/apps/motd/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/motd/locale/bs_BA/LC_MESSAGES/django.mo index da5ac9527fe656da3dbc57f9676bf014c6140c94..ec49ca5f99b097d33242c1062c532c9b6ec449b8 100644 GIT binary patch delta 47 zcmeyv@`q)@c3yK`0~1{%Lj^-4DsRymB<7`;CZ?xaDWoJ$j%19Ue2~!y07@AS AuK)l5 delta 44 zcmey&{F!;eB3?6HLqlC7V+8{vD^t^n>sL=sXN=}$cBSQs4BP%20$!sjg`F#@e(n}N5Q>_$IQsZ4*C!b-7-fYe) G!UO=0Ru4-6 delta 50 zcmX@jcbad*Pi9^-T|+}%BVz>vBP&zW$!sjgC*Ng>;`d3+OD|1KPqk7=NsV`L-E77x G$^-zH1`l2U diff --git a/mayan/apps/motd/locale/en/LC_MESSAGES/django.mo b/mayan/apps/motd/locale/en/LC_MESSAGES/django.mo index 6bcd9f629a7e30c990fdd2d33100f323088b2afd..2a49b9eccb8068fe73b6d325cac90bbe08440f20 100644 GIT binary patch delta 23 ecmeyx^owai7q7Xlfr+k>p@N~2m67qp>5l5l*L$-lbP3C*T6*A$WX!1$jZogG8@Yx9-qX#^wPxiR4awl;>pWdqBrxi{$~UL DNQVw> delta 46 zcmeC<>*L$-lbP2{*U(Vc$XLO^$ja1oG8@aH$y-^XczhD`(n}N5Q>_$Iix=~;G64WR CSq*Lg diff --git a/mayan/apps/motd/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/motd/locale/fa/LC_MESSAGES/django.mo index 21beb0f96bf3078ef689f48c92c16e051343d152..8eeb06f70f7c6d17d85c5be58f937c93ffce7b71 100644 GIT binary patch delta 46 zcmbQiI)inC2qUk#u7QcJk)eX2k(H70WJSg`JU)qe>7|M3sa6VUiIdMTMo%_jN&x^E CPYode delta 46 zcmbQiI)inC2qUkVuA!l>k+Fh-k(H_GWJSg`lW#Fb@%SX>rI#kAr&=kbB~CVGN(BHO C$_+69 diff --git a/mayan/apps/motd/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/motd/locale/fr/LC_MESSAGES/django.mo index 19af43041f4582fca5471c1b3c7a0777e1a7d9ba..5925041e05f6359a12a801a3ee4d731da4c7afc0 100644 GIT binary patch delta 47 zcmey!`;m9UPi9_oT>}$cBSQs4BP%20$!sipd3+M{(n}N5Q>_%ziY6aoiQcTmdYlme DZvziX delta 47 zcmey!`;m9UPi9^-T|+}%BVz>vBP&zW$!sipCtqNR;_*q$OD|1KPqk7=E848ddV&!E Dbng#Z diff --git a/mayan/apps/motd/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/motd/locale/hu/LC_MESSAGES/django.mo index 1806831aae8cbc22e30ef48e6646d9151bc80736..11f9f2f6727e22a4371b86efeb8d2f40a96be8ac 100644 GIT binary patch delta 44 zcmeyy{Ed0SB3^S{0~1{%Lj^-4D(}x4B<7`;CZ?xaDP)vRj$w?Re1y>m08Cd7 A)&Kwi delta 44 zcmeyy{Ed0SB3?6HLqlC7V+8{vD^t^n>(@=rVvOSPNz6+xO-xUp@N~2m67qpN$Yuh67$ka6Vp?z6f#pLJ1|C1Ucsme05$Cm A_5c6? delta 44 zcmX@he3p4aE3cWZp`oskv4Vk-m8t2(N$V&3F-GzDB<7`;CZ?xaDP*QhUe2fn05vfV A1^@s6 diff --git a/mayan/apps/motd/locale/it/LC_MESSAGES/django.mo b/mayan/apps/motd/locale/it/LC_MESSAGES/django.mo index a8a530aaa430ac961f4478d06afc0d417a379788..04a1dac62c38dafc4d177e636db2d87fd6eb6858 100644 GIT binary patch delta 47 zcmZ3?x0r9kPi9_oT>}$cBSQs4BP%20$!sk9d3+M{(n}N5Q>_#-OC}#-iQcTk`kfH~ DR4@+f delta 45 zcmZ3?x0r9kPi9^-T|+}%BVz>vBP&zW$!sk9CtqTT;_^w%OD|1KPqk9mtjYR|5db^m B4jcdg diff --git a/mayan/apps/motd/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/motd/locale/nl_NL/LC_MESSAGES/django.mo index 12c7950e30378f3a9f3c852e7461a806a7d26a3b..a56edf786c9bf0fa4acc5203debe0821fb1b1889 100644 GIT binary patch delta 50 zcmeyz`HyqM0w!K_T>}$cBSQs4BP%20$!nR;@%tp^rI#kAr&=lG<;45>Os-;%-u#qV Gk`Vx;t`K+t delta 50 zcmeyz`HyqM0w!KFT|+}%BVz>vBP&zW$!nR;P3~rn;`d3+OD|1KPqk9W%Zc~%+5CiA GiV*;(rVxt& diff --git a/mayan/apps/motd/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/motd/locale/pl/LC_MESSAGES/django.mo index 37cd5b08d12aee1ce9099b576071a8ef9130dd3a..adc1885f976a1cb2836e86850ab61cc1a70756d0 100644 GIT binary patch delta 46 zcmdnbx}SA}2qUk#u7QcJk)eX2k(H70WJSi+JU)qe>7|M3sa6UFIg?K_Mo%_o>Hz>I C)D5Ws delta 46 zcmdnbx}SA}2qUkVuA!l>k+Fh-k(H_GWJSi+lW#Ic@%SX>rI#kAr&=i#IDES C?hUyB diff --git a/mayan/apps/motd/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/motd/locale/pt/LC_MESSAGES/django.mo index dc6cd83cf8b04c3ff07e3e9c188e54a74a7167f9..e2a691f20252b54f1419f7c1d8393425ea9c9bdd 100644 GIT binary patch delta 44 zcmcc4a-C(u8(wo=0~1{%Lj^-4D_#VO5&Y@He0ct GWds0#gb%*} diff --git a/mayan/apps/motd/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/motd/locale/ro_RO/LC_MESSAGES/django.mo index 8014d5f271b11199c698b3cc42934e295a05e35a..42ea6604a64c894dde4caf0f663d371683775006 100644 GIT binary patch delta 47 zcmbQiI)in>8(wo=0~1{%Lj^-4Du_B<7`;CZ?xaDHP?$2l-Fl#27tUmZ=&5 DZ(I+) delta 47 zcmbQiI)in>8(uSALqlC7V+8{vD^t^nKX*+&%oxS*lbDxYnwXwyrBIX~ALKt-hN%Vs Db!HFI diff --git a/mayan/apps/motd/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/motd/locale/ru/LC_MESSAGES/django.mo index 0a5c5af43cb9e6ba0783b4f339d3d37b201b5a4a..159e93b0430329d3901a529b2b01cb2e83be1c1a 100644 GIT binary patch delta 47 zcmbO#G*xKBPi9_oT>}$cBSQs4BP%20$!sihd3+M{(n}N5Q>_$=N+&O3iQde`%FO}* DN`eiN delta 47 zcmbO#G*xKBPi9^-T|+}%BVz>vBP&zW$!sihCvRYh;_*q$OD|1KPqk7gD&5S<%EJNx DPLd6x diff --git a/mayan/apps/motd/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/motd/locale/sl_SI/LC_MESSAGES/django.mo index b135516d4ea7d2aa63383f52e37f676402bf7bc9..cd6351f4f8fe791ed927c317dd1eef9d61857bf0 100644 GIT binary patch delta 47 zcmcc4a-C(u4qkIz0~1{%Lj^-4Dc3yK`0~1{%Lj^-4Dc3v}GLqlC7V+8{vD^t^nNA^yh$QZ@%lbDxYnwXwyrBId`ALcjt6{8^l DW&IDo diff --git a/mayan/apps/motd/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/motd/locale/zh_CN/LC_MESSAGES/django.mo index 04f6b653de9e7f6ad041ebe4d592dce9a44f9a21..547218db9f467c8e776d48746e5dc88dcc5bc223 100644 GIT binary patch delta 47 zcmey#{F8aYB3^S{0~1{%Lj^-4D$mg!B<7`;CZ?xaDO6>|JNr#eWsIJDfl(6x De6SDc delta 47 zcmey#{F8aYB3?6HLqlC7V+8{vD^t^n>$guXV~pbWNz6+xO-xU2<` DekKq6 diff --git a/mayan/apps/navigation/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/navigation/locale/ar/LC_MESSAGES/django.mo index d83c33c4ca5489cf25a8ae5f3ec4d23bb982cd27..65bd7a148a47fece1cc55e55f49fe2a312611a3a 100644 GIT binary patch delta 24 fcmbQqGLvOOE3dh(fr+k>p@N~2m67qrN$rdPQvC*^ delta 24 fcmbQqGLvOOE3cWZp`oskv4Vk-m8sdrN$rdPQvU{~ diff --git a/mayan/apps/navigation/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/navigation/locale/bg/LC_MESSAGES/django.mo index e6716564af05f3a309e844b19dd01c055e9ace79..1930eb51c3d7f45cee3ca0550a914899b3691600 100644 GIT binary patch delta 24 fcmX@fe3E%WE3dh(fr+k>p@N~2m67qrN#=|ITG0lu delta 24 fcmX@fe3E%WE3cWZp`oskv4Vk-m8sdrN#=|ITGIx! diff --git a/mayan/apps/navigation/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/navigation/locale/bs_BA/LC_MESSAGES/django.mo index c9ab428f67892693dbb99d00b1fdfba16f487f39..384dbc53523329fdaef5338dfb262656fbba415a 100644 GIT binary patch delta 24 fcmdnMvVmnnE3dh(fr+k>p@N~2m67qrN%I&1S4{@z delta 24 fcmdnMvVmnnE3cWZp`oskv4Vk-m8sdrN%I&1S5F4( diff --git a/mayan/apps/navigation/locale/da/LC_MESSAGES/django.mo b/mayan/apps/navigation/locale/da/LC_MESSAGES/django.mo index 43d06ec1e4c898d9dbb2ec03d1f076e894546c50..7ad79a07d5270c1ad8309d000d9644dfd7bdef8d 100644 GIT binary patch delta 24 fcmX@ce2jTQE3dh(fr+k>p@N~2m67qrNhXW{T0sV< delta 24 fcmX@ce2jTQE3cWZp`oskv4Vk-m8sdrNhXW{T0;h_ diff --git a/mayan/apps/navigation/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/navigation/locale/de_DE/LC_MESSAGES/django.mo index 18cd4f8d8572d427e22f0e69499f776b5f16000a..6b9006fa21a5bbc3e7904dcba9067dabd03e452e 100644 GIT binary patch delta 24 fcmZ3=vXo`Q0bX-m0~1{%Lj^-4Dp@N~2m67qrN#=|ITG0lu delta 24 fcmX@fe3E%WE3cWZp`oskv4Vk-m8sdrN#=|ITGIx! diff --git a/mayan/apps/navigation/locale/es/LC_MESSAGES/django.mo b/mayan/apps/navigation/locale/es/LC_MESSAGES/django.mo index cd474a3cf51937364d6e8cef29a134c386a89f69..18e5bac42973fbcf18d09496486f0d4b275eb78a 100644 GIT binary patch delta 24 fcmbQvGM#0@0bX-m0~1{%Lj^-4Dp@N~2m67qrN#=|ITG0lu delta 24 fcmX@fe3E%WE3cWZp`oskv4Vk-m8sdrN#=|ITGIx! diff --git a/mayan/apps/navigation/locale/id/LC_MESSAGES/django.mo b/mayan/apps/navigation/locale/id/LC_MESSAGES/django.mo index 1cda33dd8823328161c70346b937cad8b3ef59ad..9a545a9ef618a5409012fd514d22503b5d4a97e6 100644 GIT binary patch delta 24 fcmX@ie3*GcE3dh(fr+k>p@N~2m67qrNrsF7S+NG5 delta 24 fcmX@ie3*GcE3cWZp`oskv4Vk-m8sdrNrsF7S+fSB diff --git a/mayan/apps/navigation/locale/it/LC_MESSAGES/django.mo b/mayan/apps/navigation/locale/it/LC_MESSAGES/django.mo index af4ed27cf27846c5c8e0621e62db8c5f1abca47f..7c4391c0f40203e75400da36af2eb270a3e2c1db 100644 GIT binary patch delta 24 fcmX@ke4KegE3dh(fr+k>p@N~2m67qrNv4bdT5$%d delta 24 fcmX@ke4KegE3cWZp`oskv4Vk-m8sdrNv4bdT5|@j diff --git a/mayan/apps/navigation/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/navigation/locale/nl_NL/LC_MESSAGES/django.mo index cfe3cc3136cb739bada347541896f3d8cd000cd9..74b256a9561228ceb81aa7a13cbc4d888003885a 100644 GIT binary patch delta 24 fcmcb~e3N-XE3dh(fr+k>p@N~2m67qrN$!jQUC{>M delta 24 fcmcb~e3N-XE3cWZp`oskv4Vk-m8sdrN$!jQUDF2S diff --git a/mayan/apps/navigation/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/navigation/locale/pl/LC_MESSAGES/django.mo index eb6c2bd3fe8d15bf01294fc91cfffdba9c413d00..f2e6cd8fc73c7e4033349f588a5bc29a611198d2 100644 GIT binary patch delta 24 fcmZ3+vW#WIQeJai0~1{%Lj^-4Dp@N~2m67qrNfwL%TLA{M delta 24 fcmX@be2RHOE3cWZp`oskv4Vk-m8sdrNfwL%TLT8S diff --git a/mayan/apps/navigation/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/navigation/locale/pt_BR/LC_MESSAGES/django.mo index a53203c2e2f25f6c1abf1c7be63d21cccd3f638d..6881e69835fdbb16d95737d7c5b4c04c631cc780 100644 GIT binary patch delta 24 fcmZo*X<(VKl-FF>z(m)`P{Gj1%E)-*CO<|1P|XH+ delta 24 fcmZo*X<(VKl-Eqx&`{UNSi!)^%G7M*CO<|1P|pT? diff --git a/mayan/apps/navigation/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/navigation/locale/ro_RO/LC_MESSAGES/django.mo index c9c921f230f8d6453c81c646ccdaddf4dba87b89..07fbc6f415860f2678cbacaf2d07d6d146a6873f 100644 GIT binary patch delta 24 fcmZop@N~2m67qrN&6WAU3~{i delta 24 fcmcb}a*<_1E3cWZp`oskv4Vk-m8sdrN&6WAU4I8o diff --git a/mayan/apps/navigation/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/navigation/locale/sl_SI/LC_MESSAGES/django.mo index cc2463d6d29b184a4a365685995ab2d33430cca0..731c154eb206938ded2986fe3ee1ae862dcb10f2 100644 GIT binary patch delta 24 fcmeBU>0_DD%4@D`V4`bes90_DD%4?=;XsBystYBbdWoou@QVk;jQ11qX diff --git a/mayan/apps/navigation/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/navigation/locale/vi_VN/LC_MESSAGES/django.mo index 0dc6a7dcbc4e0ffa651fcc790dfc7e7b388908e1..891e6c32ae1f26fea6b03a51a7a705d88002ed67 100644 GIT binary patch delta 24 fcmcb@e1&;JE3dh(fr+k>p@N~2m67qrNluIaT;T@M delta 24 fcmcb@e1&;JE3cWZp`oskv4Vk-m8sdrNluIaT;m4S diff --git a/mayan/apps/navigation/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/navigation/locale/zh_CN/LC_MESSAGES/django.mo index 36820d5e92d042243ccbc671263acb748bbbf5c9..2bd2acd312de96d038c8b92c162ea628a72895f2 100644 GIT binary patch delta 24 fcmX@de2#fSE3dh(fr+k>p@N~2m67qrNj8iCTfqju delta 24 fcmX@de2#fSE3cWZp`oskv4Vk-m8sdrNj8iCTf+v! diff --git a/mayan/apps/ocr/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/ocr/locale/ar/LC_MESSAGES/django.mo index d33d02381d1faf40009443a5f0102c554ec1e810..5e455950145fd271e22aa8e0c157e7a5bf4dad67 100644 GIT binary patch delta 248 zcmZ3$b%3M(o)F7a1|Z-7Vi_Qg0b*_-o&&@nZ~}-;fcPX3vjg!zAO@*rV`O091=9RL z+80R60%>L-oeiWVfOI~Pz7ND5Kn&8K0hHte(sO~d5RhI2q(vDR+!*!)86X3$0%;&( zP-cM`pbn&gdcl@~ECvBKAZ7)#AOuhe0}~K4PnKmoJXwXwhu2)!z(m)`P{Gj1%E)+f SEt51t#LUXbZ1Ykkb0z?aXBm0@C4g~>_sD{)xsvNjUb4*9BJFq6xD!2mcVsBrEHt205~<@pdU%9-!3k=>C2GJEYCtjF zAEO3*p$7a+t|aG$-cJ)rQtS89LDH3rZqKGRy0)`D8|8VFot@7nqg$s_YX!yxVbgDf?cLVs(^+TI UXa=G2L(?|qvEuHzhyM^Jzs5>aq5uE@ diff --git a/mayan/apps/ocr/locale/ar/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/ar/LC_MESSAGES/django.po index 4ef17d35c5..226f1ce25e 100644 --- a/mayan/apps/ocr/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" -"ar/)\n" -"Language: ar\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 @@ -48,6 +46,7 @@ msgid "Contents" msgstr "المحتويات" #: links.py:18 links.py:25 +#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -112,6 +111,7 @@ msgid "Document page content" msgstr "" #: models.py:63 +#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" @@ -139,9 +139,9 @@ msgstr "" #: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF files." -msgstr "" -"File path to poppler's pdftotext program used to extract text from PDF files." +"File path to poppler's pdftotext program used to extract text from PDF " +"files." +msgstr "File path to poppler's pdftotext program used to extract text from PDF files." #: settings.py:19 msgid "Full path to the backend to be used to do OCR." @@ -152,6 +152,7 @@ msgid "Set new document types to perform OCR automatically by default." msgstr "" #: views.py:26 +#| msgid "Submit documents for OCR" msgid "Submit all documents for OCR?" msgstr "" @@ -171,17 +172,18 @@ msgid "Document: %(document)s was added to the OCR queue." msgstr "" #: views.py:81 +#| msgid "Submit documents for OCR" msgid "Submit the selected documents to the OCR queue?" msgstr "" #: views.py:88 +#| msgid "Submit documents for OCR" msgid "Submit all documents of a type for OCR" msgstr "" #: views.py:102 #, python-format -msgid "" -"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" #: views.py:125 @@ -191,20 +193,18 @@ msgstr "" #: views.py:147 #, python-format +#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" #~ msgid "pdftotext version" -#~ msgstr "pdftotext version" - -#~ msgid "not found" -#~ msgstr "not found" - -#~ msgid "error getting version" -#~ msgstr "error getting version" +#~ msgstr "document queues" #~ msgid "tesseract version" -#~ msgstr "tesseract version" +#~ msgstr "document queues" + +#~ msgid "File path to tesseract program." +#~ msgstr "File path to unpaper program." #~ msgid "Delete" #~ msgstr "delete" @@ -382,11 +382,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -443,11 +443,9 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/ocr/locale/bg/LC_MESSAGES/django.mo index 4264c346343417305dd4ece6c9a469c32387bcfd..28153bf6b644fdbc865f7deefa1cf41169521e27 100644 GIT binary patch delta 253 zcmaFB{*JBwo)F7a1|VPuVi_O~0b*_-?g3&D*a5^QK)e%(L2BLsF$WNT17cnv{tv{= zAT}cdg9MNk1k(LLtOdj%eY=<#7({^ddnnBUR4fPNO9E*iGGnj+l7>J58z2qT0|snR z8e}0WlntU-fEZ{F1M|eYrIYg*eN4@D4NP>63>6HGtc;9-Yy$(X0Ds+})UwRt%=|oE Zm&B4(D+MD1L%2FKDs>0stpaAWQ%N delta 375 zcmYk0u}T9$5QgVsOjNK?BnV2_PApb-_mV&kOA8xOQfqOT71G>6?o1^ZpCCx^DYTG; z0|l?LvfFzBi7${x5dR4&9QNC9*qxo(d1Y3;|K2V?5n>(egD%(vFMwkP8sG<1LCqst zgX=KY9l$Ga6W)c}F!$=fTks`30ukUoza^p_*vBI{q*Eky99+TN=nk8Phj0y^Ed2$e z$6`3Ni1N}En1^zpj8*}E7PDylUTQtgkN2WD6*uv1)TPuWiS38isTkOP(ufv4oA6=r;NFT6{Q;<2Ntplu diff --git a/mayan/apps/ocr/locale/bg/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/bg/LC_MESSAGES/django.po index c7bb2f9d6e..69b913d9a9 100644 --- a/mayan/apps/ocr/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/bg/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Pavlin Koldamov , 2012 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/bg/)\n" -"Language: bg\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 @@ -47,6 +46,7 @@ msgid "Contents" msgstr "Съдържание" #: links.py:18 links.py:25 +#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -111,6 +111,7 @@ msgid "Document page content" msgstr "" #: models.py:63 +#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" @@ -138,7 +139,8 @@ msgstr "" #: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF files." +"File path to poppler's pdftotext program used to extract text from PDF " +"files." msgstr "" #: settings.py:19 @@ -150,6 +152,7 @@ msgid "Set new document types to perform OCR automatically by default." msgstr "" #: views.py:26 +#| msgid "Submit documents for OCR" msgid "Submit all documents for OCR?" msgstr "" @@ -169,17 +172,18 @@ msgid "Document: %(document)s was added to the OCR queue." msgstr "" #: views.py:81 +#| msgid "Submit documents for OCR" msgid "Submit the selected documents to the OCR queue?" msgstr "" #: views.py:88 +#| msgid "Submit documents for OCR" msgid "Submit all documents of a type for OCR" msgstr "" #: views.py:102 #, python-format -msgid "" -"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" #: views.py:125 @@ -189,14 +193,18 @@ msgstr "" #: views.py:147 #, python-format +#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" -#~ msgid "not found" -#~ msgstr "не е намерен" +#~ msgid "pdftotext version" +#~ msgstr "document queues" #~ msgid "tesseract version" -#~ msgstr "tesseract версия" +#~ msgstr "document queues" + +#~ msgid "File path to tesseract program." +#~ msgstr "File path to unpaper program." #~ msgid "Delete" #~ msgstr "delete" @@ -366,11 +374,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -427,11 +435,9 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/ocr/locale/bs_BA/LC_MESSAGES/django.mo index 21a88cf9c23942c2f1af7d74e6f5aac44c870c5e..065b32c79e18af311e7165946abcd6af88743124 100644 GIT binary patch delta 248 zcmZ3(wU?v*o)F7a1|Z-7Vi_Qg0b*_-o&&@nZ~}-;fcPX3vjg!zAO@*rV`O091=9RL z+80R60%>L-oeiWVfOI~P{szPyKn&7f50nJy+XAKc0%@RrH-=+ChBr{+3XldO1_c&~ z0V+Tms28jWWHAV^0Wm9>1tEY+7?^;Vd9p0y;mImYKD_3-1}3^jh6;v8Rz}8?Ynh}G PB4$=bW}BBXnJ@tWwCNet delta 495 zcmX}n&r1S96bJC?37<3cq59r>l zYe7)a-w;I9KjAU@KDYM4o6qoOnD^!}dzT-77SlI`SVnFjFOaLq4+i>0cT(Xut@Qr%CJ(Z$of|eYfb*1h~es>gf6=^Iu3AKEgC>>H% O$L0SC;z~S$Bk30}Ra*`K diff --git a/mayan/apps/ocr/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/bs_BA/LC_MESSAGES/django.po index 6f87249542..5331ac11bb 100644 --- a/mayan/apps/ocr/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" -"rosarior/mayan-edms/language/bs_BA/)\n" -"Language: bs_BA\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 @@ -48,6 +46,7 @@ msgid "Contents" msgstr "Sadržaj" #: links.py:18 links.py:25 +#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -112,6 +111,7 @@ msgid "Document page content" msgstr "" #: models.py:63 +#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" @@ -139,9 +139,9 @@ msgstr "" #: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF files." -msgstr "" -"Staza do popplerovog programa pdftotext za vađenje teksta iz PDF datoteka." +"File path to poppler's pdftotext program used to extract text from PDF " +"files." +msgstr "Staza do popplerovog programa pdftotext za vađenje teksta iz PDF datoteka." #: settings.py:19 msgid "Full path to the backend to be used to do OCR." @@ -152,6 +152,7 @@ msgid "Set new document types to perform OCR automatically by default." msgstr "" #: views.py:26 +#| msgid "Submit documents for OCR" msgid "Submit all documents for OCR?" msgstr "" @@ -171,17 +172,18 @@ msgid "Document: %(document)s was added to the OCR queue." msgstr "" #: views.py:81 +#| msgid "Submit documents for OCR" msgid "Submit the selected documents to the OCR queue?" msgstr "" #: views.py:88 +#| msgid "Submit documents for OCR" msgid "Submit all documents of a type for OCR" msgstr "" #: views.py:102 #, python-format -msgid "" -"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" #: views.py:125 @@ -191,20 +193,18 @@ msgstr "" #: views.py:147 #, python-format +#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" #~ msgid "pdftotext version" -#~ msgstr "verzija pdftotext" - -#~ msgid "not found" -#~ msgstr "nije pronađeno" - -#~ msgid "error getting version" -#~ msgstr "greška pribavljanja verzije" +#~ msgstr "document queues" #~ msgid "tesseract version" -#~ msgstr "verzija tesseract-a" +#~ msgstr "document queues" + +#~ msgid "File path to tesseract program." +#~ msgstr "File path to unpaper program." #~ msgid "Delete" #~ msgstr "delete" @@ -376,11 +376,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -437,11 +437,9 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/da/LC_MESSAGES/django.mo b/mayan/apps/ocr/locale/da/LC_MESSAGES/django.mo index a92146039693354ab886405fdd65b9403b8b2f59..a387e3e0e71aefa046f7d8d67e3d5c01ff500a9c 100644 GIT binary patch delta 248 zcmX@ad5^vRo)F7a1|Z-7Vi_Qg0b*_-o&&@nZ~}-;fcPX3vjg!zAO@*rV`O091=9RL z+80R60%>L-oeiWVfOI~P?g8QsAO`6d1xkYSdqL?SAkD+T;KmRIWP}4H(t$J(G3*Bt zQb77JkOt}nTL#hy0&GCc3T8nF79hn0#LSar84piZVe;WM*EKNFH8NB%G_o=>o?Oc$ QjSw-jGBVq|l<6uX03yH{ZU6uP delta 477 zcmZwCKTE?v7{~D^ZM9bIU_tO7c!F!8Nwq^)QCzx-4uT@~8d@Zg877Dt!^%LBh)0lK%di7^c!tUIU*~#glXKy zG2Fu}`dGmxCb5Gv_=3~;jv4HsohymHIlOeFCCe;qz&&5vfX{(nXfM^n9ZaVB0lPTI z^FGev8QOqrv;nsR?~qIxr&<1#J!i}QfSoO}*bkjxIYN)xJ&H_wQIV_X&YF&*FjBrY zrXKj}L`QKw3?vARs)fyHr;;t@T{rI)RlzH-mf9cA vJUfMA-gA}bmR, 2013 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" -"da/)\n" -"Language: da\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 @@ -48,6 +47,7 @@ msgid "Contents" msgstr "Indhold" #: links.py:18 links.py:25 +#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -112,6 +112,7 @@ msgid "Document page content" msgstr "" #: models.py:63 +#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" @@ -139,10 +140,9 @@ msgstr "" #: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF files." -msgstr "" -"Fil sti til poppler's pdftotext program, brugt til at identificere tekst fra " -"PDF filer." +"File path to poppler's pdftotext program used to extract text from PDF " +"files." +msgstr "Fil sti til poppler's pdftotext program, brugt til at identificere tekst fra PDF filer." #: settings.py:19 msgid "Full path to the backend to be used to do OCR." @@ -153,6 +153,7 @@ msgid "Set new document types to perform OCR automatically by default." msgstr "" #: views.py:26 +#| msgid "Submit documents for OCR" msgid "Submit all documents for OCR?" msgstr "" @@ -172,17 +173,18 @@ msgid "Document: %(document)s was added to the OCR queue." msgstr "" #: views.py:81 +#| msgid "Submit documents for OCR" msgid "Submit the selected documents to the OCR queue?" msgstr "" #: views.py:88 +#| msgid "Submit documents for OCR" msgid "Submit all documents of a type for OCR" msgstr "" #: views.py:102 #, python-format -msgid "" -"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" #: views.py:125 @@ -192,20 +194,18 @@ msgstr "" #: views.py:147 #, python-format +#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" #~ msgid "pdftotext version" -#~ msgstr "pdftotext version" - -#~ msgid "not found" -#~ msgstr "Ej fundet" - -#~ msgid "error getting version" -#~ msgstr "Fejl ved versionssøgning" +#~ msgstr "document queues" #~ msgid "tesseract version" -#~ msgstr "Tesseract version" +#~ msgstr "document queues" + +#~ msgid "File path to tesseract program." +#~ msgstr "File path to unpaper program." #~ msgid "Delete" #~ msgstr "delete" @@ -375,11 +375,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -436,11 +436,9 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/ocr/locale/de_DE/LC_MESSAGES/django.mo index e02f73938bffcbdc879995b4fa4b635a084a6424..17ca9be9fe56655e6298163de7322d9049b7e600 100644 GIT binary patch delta 1008 zcmX}rKWI}?6vy$?B*r97(%RPATHB@?jFLo~G)728aq!PjkxCsLL}FA3XhV~@xMUC< z>=*Q~v4EPN#%?TQ7O$WZc!XN`6CT4A+=cu7X5?&_a0AYv z*1L)!_P1Mf$i(hpAHGI@_L;u}_!WaV%xeu}!u1etXI#PoypB=4i@WhDCh!L?Qq>UU zIL`P!i>2@%hS}fZq4q`@)B|&<%ok9JEF){!2h^K?L6!Cw>d5}MMmx>A7$-4|ldeZm zl{|@h(Gu!K8rV=tZqwO=OQ@3m#54}D%4Ix^r|>1JLjA19o|eQE=G}1#_2#pvqr8Jk z^ch~jSEvNzlxYX%qSQZ4=QI=ha2_>Y#;y1l3pmJAx}Y;iC7tZKCQfK0j@ky>L+3fS zYuo53QH9Q2cUniLBx1CHooQbh`p)fEH54k7LYs0-PWg5D6v|x3)I(D>MrjnxMraC( zv=-6k6K}5;aSlN0Ky_PmaQZHEH5K}Hx?8`!4?L~s{`VctcY&$M-t>4boz28D*+O=r zIT{?ASewZgviamV5t=I2>gkzkakh4`Sg%wIu@jZE=d1M!){50~rFAXX>1!=T-gy24 DY#3mF delta 1392 zcmYk*OK1~87{Kwdt+lOH+xoVqo%)Kl-I_)#8tMy0dr%uB7W5#j%_I$`yKyrS5wRd1 zy{IU95T77|piuST;~=6Z@!(bPA|8qe3SLAJ|6j7L4$S^`W_M@5@0;B}ZLd4VKDN|c zQnViWQu?`RN^Qp9RUByFs+HP}-*E+Qs!?h>9>(>U#wcFJ4t$9-@DtYI7o3Yf!f_oB zFJat_txAolZcb(~F@W=N2p3{LoIi^T7+(nI?_m?;ml((QC;?2btt{-|Ud991j+arA zdxGSkK4UXZ-~!&SesR*kL0 zuEkD_;vtj-&!DVx1)F)lx+N$02p?1aH#o@n6j62KTWrLiD1p?@tSq<-B{L5t&}&Ex z>JCbU?juX77bsi%CiD}|VJwS|$-+$>#0Ur3icXYDY(&X4g%V(ZeRvk7^iR>juUNuX z9+vyh<3W6YQptMCAr)@JZd?^HyBjmnvVDhlMK=xSzltpB( zSJ350k?eZt(j;RER<=T_A&mm5PP+UdQdvntTD$DO{2tO4(`BFJ_mIXmm7{Mfk17ZG zaQNWM`@QnNc{wHd@}D9fn|$fgTIkE^QuZ!7J5p&YR}cFo&yL@yzFrl{<&7@5c0^lW zTT?8Wz#X=_5ct`^9UbqleK&1~2?9URSz~R^%j)AMDCT@mdA`*d)=8^EI%9onPS~ky z{}u}GzF1$kcWi^x+v~*F=~z6`x50_6kHs32gU)_)JSPh}J6&rMIv(rgTAve->3DBq zUA!wsYuMu!t&<8|ub6kOA0%|jKaz8cI_a9iQKS29dDv4Z54Tn5@r>QVlU}yuW{s1& z{k*OwlFYbieX=yFqf;?Pon$53(eY=Euc}hJ%t+n@`iRMm>g}as-V}|e)65J_W}X`! VvD70&^2Ylw{mC0rQ+1r2`3t@5$?gCE diff --git a/mayan/apps/ocr/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/de_DE/LC_MESSAGES/django.po index 56f1b676f1..054545c51e 100644 --- a/mayan/apps/ocr/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Berny , 2015-2016 @@ -14,14 +14,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-05-20 21:32+0000\n" -"Last-Translator: Tobias Paepke \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" -"edms/language/de_DE/)\n" -"Language: de_DE\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 @@ -51,6 +50,7 @@ msgid "Contents" msgstr "Inhalte" #: links.py:18 links.py:25 +#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "In die OCR-Verarbeitung einstellen" @@ -115,6 +115,7 @@ msgid "Document page content" msgstr "Seiteninhalt" #: models.py:63 +#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "Seiteninhalt" @@ -142,24 +143,20 @@ msgstr "OCR-Einstellungen für Dokumententyp beabeiten" #: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF files." -msgstr "" -"Pfad zum \"pdftotext\"-Programm (bereitgestellt von poppler), das benutzt " -"wird, um Text aus PDF-Dateien zu extrahieren." +"File path to poppler's pdftotext program used to extract text from PDF " +"files." +msgstr "Pfad zum \"pdftotext\"-Programm (bereitgestellt von poppler), das benutzt wird, um Text aus PDF-Dateien zu extrahieren." #: settings.py:19 msgid "Full path to the backend to be used to do OCR." -msgstr "" -"Vollständiger Pfad zum Backend, das für die OCR-Schrifterkennung verwendet " -"werden soll." +msgstr "Vollständiger Pfad zum Backend, das für die OCR-Schrifterkennung verwendet werden soll." #: settings.py:24 msgid "Set new document types to perform OCR automatically by default." -msgstr "" -"Neue Dokumententypen definieren, für die die OCR-Texterkennung automatisch " -"durchgeführt werden soll." +msgstr "Neue Dokumententypen definieren, für die die OCR-Texterkennung automatisch durchgeführt werden soll." #: views.py:26 +#| msgid "Submit documents for OCR" msgid "Submit all documents for OCR?" msgstr "Dokumente in die OCR-Verarbeitung einstellen?" @@ -179,20 +176,19 @@ msgid "Document: %(document)s was added to the OCR queue." msgstr "Dokument %(document)s in OCR-Warteschlange eingereiht" #: views.py:81 +#| msgid "Submit documents for OCR" msgid "Submit the selected documents to the OCR queue?" msgstr "Ausgewählte Dokumente in die OCR-Warteschlange einreihen?" #: views.py:88 +#| msgid "Submit documents for OCR" msgid "Submit all documents of a type for OCR" msgstr "Alle Dokumente eines Typs in die OCR-Verarbeitung einstellen" #: views.py:102 #, python-format -msgid "" -"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." -msgstr "" -"%(count)d Dokumente vom Typ \"%(document_type)s\" in OCR-Warteschlange " -"eingereiht" +msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgstr "%(count)d Dokumente vom Typ \"%(document_type)s\" in OCR-Warteschlange eingereiht" #: views.py:125 #, python-format @@ -201,24 +197,18 @@ msgstr "OCR-Einstellungen für Dokumententyp %s bearbeiten" #: views.py:147 #, python-format +#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "Ergebnis der OCR-Texterkennung für Dokument %s" #~ msgid "pdftotext version" -#~ msgstr "pdftotext Version" - -#~ msgid "not found" -#~ msgstr "nicht gefunden" - -#~ msgid "error getting version" -#~ msgstr "Fehler beim Auslesen der Version" +#~ msgstr "document queues" #~ msgid "tesseract version" -#~ msgstr "Tesseract Version" +#~ msgstr "document queues" -#~| msgid "File path to unpaper program." #~ msgid "File path to tesseract program." -#~ msgstr "Pfad zum 'tesseract'-Programm" +#~ msgstr "File path to unpaper program." #~ msgid "Delete" #~ msgstr "delete" @@ -388,11 +378,11 @@ msgstr "Ergebnis der OCR-Texterkennung für Dokument %s" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -449,11 +439,9 @@ msgstr "Ergebnis der OCR-Texterkennung für Dokument %s" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/en/LC_MESSAGES/django.mo b/mayan/apps/ocr/locale/en/LC_MESSAGES/django.mo index 98fbe96d5d7a9b18aa609aa0403cc06dacda569b..4556dbbc7a838b44c0223ae0fc8a2b733840bc83 100644 GIT binary patch delta 26 hcmcb~c9U&GDI>4Bu7QcJk)eX2k(H70<|fALi~wpl2YLVi delta 26 hcmcb~c9U&GDI>3$uA!l>k+Fh-k(H_0<|fALi~wpr2Yvtm diff --git a/mayan/apps/ocr/locale/es/LC_MESSAGES/django.mo b/mayan/apps/ocr/locale/es/LC_MESSAGES/django.mo index f5894d90b9a29f7c7c0793dc99093593f7339dcc..e77dfa6a33019efe553e542d52011ef57d4316a6 100644 GIT binary patch delta 970 zcmYMzKWI}?6vy$?B#kezNo!O8v^DlcQ)9)ddDe(2_y>_%sDraZhw4yi2RBh9gHDP# zJPK6=k>a2zs1c-e62U@Hm!m8rR`X^f1H%-iz~R*hjvI{bmhY zrjui!g&Xk?ZpI!~(fA(Rgmu*T8SKJo4Dd2)15Z&Cf5Ow)!o7GTZN{E$7B}EU)O^=4 z%ldYg4m+`j*n_W;AN$P5QT&D(EOM+OR$@=$PVy<-f;TXa3%CzoUZ(28|JJwT&ywvDEsNdF=qK2H`j ziF?YD$K+m%zH9nksGf=vt*iMf`8d&hm44qAzV#+@hlcl$3u?Swxg{hA z^&TtmBUbZ%^^1#QCMpS=h*SXAV-NC^8p1tz9E)%k1GwP%1REK@#toQ5+ND^F?bwP< zcoHSS^C;`gV+HS5x8(vK;5Ews9Qzp`BPxya$dr1BQu3!L8U4goY+RFB@UZ78)XbaS z_#!qizK$)pgp%M2&d8qq;6kh^$pq4a^^EtUJeWd>d=C5YK8Eo#YOG`bOzcAm=ni({ zOO%rPDaUp!!EG2qKI&*G^_LfnGLk*Ngi@MC?81AC)30Jt*NAwUd&y{3B(hoP8rUGb}a3flar=x zL>-;7t#R8plipSE!q;!wwq@&a({bX-aXoF?lW{All9r>#SSO}Zu`$PT%(G7Rx7CHb zyKffx2fMn1;czh0p+k{gu0x%nQ1PLI!6W8$Tow%OH5{{7M?&H3ecinso#`w7k-U}z zhPJ01L&r>Q*wKmjw8drOUzo;f, 2014 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-23 06:34+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" -"language/es/)\n" -"Language: es\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 @@ -49,6 +48,7 @@ msgid "Contents" msgstr "Contenido" #: links.py:18 links.py:25 +#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "Enviar para OCR" @@ -113,6 +113,7 @@ msgid "Document page content" msgstr "Contenido de página de documento" #: models.py:63 +#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "Contenido de página de documento" @@ -140,10 +141,9 @@ msgstr "Cambiar opciones OCR por tipo de documento" #: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF files." -msgstr "" -"Ruta de acceso al programa de poppler llamado pdftotext utilizado para " -"extraer texto de archivos PDF." +"File path to poppler's pdftotext program used to extract text from PDF " +"files." +msgstr "Ruta de acceso al programa de poppler llamado pdftotext utilizado para extraer texto de archivos PDF." #: settings.py:19 msgid "Full path to the backend to be used to do OCR." @@ -154,6 +154,7 @@ msgid "Set new document types to perform OCR automatically by default." msgstr "Realizar OCR a nuevo tipos de documentos por defecto." #: views.py:26 +#| msgid "Submit documents for OCR" msgid "Submit all documents for OCR?" msgstr "¿Enviar todos los documentos para OCR?" @@ -173,17 +174,18 @@ msgid "Document: %(document)s was added to the OCR queue." msgstr "Documento: %(document)s fue añadido a la lista de espera de OCR" #: views.py:81 +#| msgid "Submit documents for OCR" msgid "Submit the selected documents to the OCR queue?" msgstr "¿Enviar los documentos seleccionados para OCR?" #: views.py:88 +#| msgid "Submit documents for OCR" msgid "Submit all documents of a type for OCR" msgstr "Enviar todos los documentos de un tipo para OCR" #: views.py:102 #, python-format -msgid "" -"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "%(count)d documentos de tipo \"%(document_type)s\" enviados para OCR." #: views.py:125 @@ -193,24 +195,18 @@ msgstr "Editar opciones OCR para el tipo de documento: %s" #: views.py:147 #, python-format +#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "Resultados del OCR para documento: %s" #~ msgid "pdftotext version" -#~ msgstr "versión de pdftotext" - -#~ msgid "not found" -#~ msgstr "No encontrado" - -#~ msgid "error getting version" -#~ msgstr "error al obtener la versión" +#~ msgstr "document queues" #~ msgid "tesseract version" -#~ msgstr "Versión de tesseract" +#~ msgstr "document queues" -#~| msgid "File path to unpaper program." #~ msgid "File path to tesseract program." -#~ msgstr "La ruta de archivo del programa tesseract." +#~ msgstr "File path to unpaper program." #~ msgid "Delete" #~ msgstr "delete" @@ -380,11 +376,11 @@ msgstr "Resultados del OCR para documento: %s" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -441,11 +437,9 @@ msgstr "Resultados del OCR para documento: %s" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/ocr/locale/fa/LC_MESSAGES/django.mo index 30872c763cf3eb3525daf579d6dc2940f438b076..cb0b81e67b7d60a5c0c24006c0064527ac5c176f 100644 GIT binary patch delta 515 zcmYMwJxjw-6vpw>7+?EhZ3|j!eL+D%A|{py@hhl^;35j{PC5uq*}93)q6mV1hz>5| zAiB4cn;$@Mau)qRA?Ts!{&FriJ?G}O*eb;DCHKmR3OPkSl6CSR!$NeiAA8uqHyp&A zV>W~pEMq;beVn9@u!eh>$CK0;i_{kwn8kL-!xkGoT)~+>Gk&(sGJ?CP;SO;CPjLdz zvB@wk9HXu>r3PF^y?2y)jC0gysP}Jh0q=2%{`SJdC>x)sNxyL%vz!ib9yf3w7x5bD zX-}y0&sfDS>Wh5fG=3rTC82ZNFA3dVp`PU(7WyTTW7SPvQa4cOQxB5`6={@EH|GEU pLIbIJw&OXknRe)I=GVQ|h8Os=eh>v~?Mt`zzY|75*m-b&oL?VlD!>2$ delta 782 zcmYMx&ubGw6u|M9CfeBAU#UM^(Ggno63J{eLiE;i{|L34T9B-4M)4xKNP8)TSVT}S zo-7`+Xj(nhn|Las2bra!H!tGFKcM=3F^P}Nd}b!Y?3*_aN1u*2z7=whgg8MvMf*yd zr9I2g5v2i<18DIgUdBPZg?V&1iTAtnCQdPbg44K-BlxN7cN}N_3j>jc>@!$k!DdA+ zU<3I{i*5*C;}P7!gZLRW*%XiBZ#;zgoX7+gy3XJVmne7VJKRDq@DcUg9ET0@eHmkL zmW3(Q4_u|2!FfE7H*pM`s5g0z$1%Y&e!wfZkLR#LdB{nwqwcTbNpz?cTgTJ*7|-y1 zdBZ?I@C7xIA6URVyY&?g)AS&X(SLNFKyR&~hid2<8WgniWIEP!v?{&Ory@@|M$=2! zVY*&uSv7NgA1%2C)$5d5$67XN?`Ga-=EFFSVzU%Fw_IB?cf+{89Mz;2Ia7`9)E4FT zV%0@1yyyD=xv*Xj<7+qiD;v%1!brJjZ84ZLrJ!=Dyzw(T%}Qym7+4e7inZ;@+@FEa zxBOfG!uZ6$GXACC@~yo!zirYL-}bF^Rnm9N6Lzq&gOg?q z5fv3gTtuasp*RXYKt~^&LLEd0p$IM_#qaMX^iOU+IT!A^|MNR1e-rm(m9IU%x=|^v ztz2_$W(V=HhcD`;*X$_X!X3Db>(K8r8^sPx;v^<8kL_5+0M@V<@3h8?xP|cxjF?sI zBR@L1v4R_M6$h}7x9I*J>_-Q6e+IiSj~TpzYTyZK;!k)CS8y*L@|)4KUBYghN6mK? zL%iQ^^Mg+8A@<=**;{)7>&oPPLuu7^S;+SE4 zgUOWK4{YcC77dvl$DKHi3#gSnMV_@~RFpqajs9+p!|Qp5@c^ok3DgSba1a+z4cAeL zHBejh3b*5TtY~jS9cD*x5FMPwA-sp@@f}WJmi^F!^Qfrns3;eax$G_O#t*0@|DlrW zCYDKzptkrFrmz$ye?@ec8;a~T#_987Gsi#e$LS z+MO{cGd46#g{E_*a{6R3ce!*iS1uHt_=&=qv&C`&OSxjc(5MEl`5Fhp=RE%b%5Y&Y delta 1383 zcmYk*Pe@cj9KiAMU#Y42C$%(lEG7S|OL30c15D~oAmm0cnc{?lJgzC_t zE}2mfSmcHO}Sb zD#j&Pt<Vb>a;-Mi*>Mwjinj;n`lV@4yxdct;NqfSIc9HY;&&X9@@oi&cJ z&ztnUm4#AIPvzzIPquq}K97I5_WFZ?c8|Bs>&*`hc#hc`wj zM=%g*^3wAAteEi(x>h7MW*Nr~>O*ck;^?leXM8`eM~36GPjWA2PrWTD%S(qh>nn_Ao@9S^+|@(2cIOh|cyun|T84;ZW@Wb# WZCoclF_%!OIk}zQ`s&H_^6DRNna(T# diff --git a/mayan/apps/ocr/locale/fr/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/fr/LC_MESSAGES/django.po index b72eebc467..e16716513f 100644 --- a/mayan/apps/ocr/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Bruno CAPELETO , 2016 @@ -14,14 +14,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-05-23 19:55+0000\n" -"Last-Translator: Bruno CAPELETO \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" -"fr/)\n" -"Language: fr\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 @@ -51,6 +50,7 @@ msgid "Contents" msgstr "Contenus" #: links.py:18 links.py:25 +#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "Soumettre à l'OCR" @@ -76,8 +76,7 @@ msgstr "Type de document" #: models.py:20 msgid "Automatically queue newly created documents for OCR." -msgstr "" -"Ajouter automatiquement les nouveaux documents créés à la file d'attente OCR." +msgstr "Ajouter automatiquement les nouveaux documents créés à la file d'attente OCR." #: models.py:24 msgid "Document type settings" @@ -116,6 +115,7 @@ msgid "Document page content" msgstr "Contenu de la page du document" #: models.py:63 +#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "Contenu des pages du document" @@ -143,10 +143,9 @@ msgstr "Modifier les paramétrages OCR du type de document" #: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF files." -msgstr "" -"Chemin vers l'exécutable poppler pdftotext, utilisé pour extraire du texte à " -"partir des fichiers PDF." +"File path to poppler's pdftotext program used to extract text from PDF " +"files." +msgstr "Chemin vers l'exécutable poppler pdftotext, utilisé pour extraire du texte à partir des fichiers PDF." #: settings.py:19 msgid "Full path to the backend to be used to do OCR." @@ -157,6 +156,7 @@ msgid "Set new document types to perform OCR automatically by default." msgstr "Traiter automatiquement les nouveaux types de document par l'OCR." #: views.py:26 +#| msgid "Submit documents for OCR" msgid "Submit all documents for OCR?" msgstr "Soumettre tous les documents à l'OCR ?" @@ -176,20 +176,19 @@ msgid "Document: %(document)s was added to the OCR queue." msgstr "Le document : %(document)s a été ajouté à la file d'attente OCR." #: views.py:81 +#| msgid "Submit documents for OCR" msgid "Submit the selected documents to the OCR queue?" msgstr "Soumettre les documents sélectionnés à la file d'attente OCR ?" #: views.py:88 +#| msgid "Submit documents for OCR" msgid "Submit all documents of a type for OCR" msgstr "Soumettre tous les documents d'un type à l'OCR" #: views.py:102 #, python-format -msgid "" -"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." -msgstr "" -"%(count)d documents de type \"%(document_type)s\" ajoutés à la file " -"d'attente OCR" +msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgstr "%(count)d documents de type \"%(document_type)s\" ajoutés à la file d'attente OCR" #: views.py:125 #, python-format @@ -198,24 +197,18 @@ msgstr "Modifier les paramètres OCR pour le type de document : %s" #: views.py:147 #, python-format +#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "Résultats de l'OCR pour le document: %s" #~ msgid "pdftotext version" -#~ msgstr "version de pdftotext" - -#~ msgid "not found" -#~ msgstr "non trouvé" - -#~ msgid "error getting version" -#~ msgstr "erreur de récupération de version" +#~ msgstr "document queues" #~ msgid "tesseract version" -#~ msgstr "version de tesseract" +#~ msgstr "document queues" -#~| msgid "File path to unpaper program." #~ msgid "File path to tesseract program." -#~ msgstr "Chemin vers l'exécutable tesseract." +#~ msgstr "File path to unpaper program." #~ msgid "Delete" #~ msgstr "delete" @@ -385,11 +378,11 @@ msgstr "Résultats de l'OCR pour le document: %s" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -446,11 +439,9 @@ msgstr "Résultats de l'OCR pour le document: %s" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/ocr/locale/hu/LC_MESSAGES/django.mo index 44b43ad1b3fab2e559da4dd84d8a57f83066c4e6..cd44e7bd2a9e304a77a76efb6d2eaf1c0522df3e 100644 GIT binary patch delta 66 zcmX@cdW?00CZnmju7QcJk)eX2k(H4#kZoYV72vNMlvylWKYNcRgUk+Fh-krj|_U}9jv72vNMlvylWKYNcRgUylWKYNcRgUk+Fh-krj|_U}9jv72vNMlvylWKYNcRgU7yQ^ z-e@oz#TNk@%A#X7h7Yk9e`6ztf@Z_mf@!>fN3eiRcpt-9!*+b^kKbSy8pLi74QK@t|C*EycsQF{4`OB!lXK)e= z$YU!s3S>1#{*{UiCUjO!CleM>HrcU$yd(_t!~D*ErV*8e!q1N9G~FAcTT@OW$_GccTS2UCM?&K;^HBi%#0 xGufP*?H`~-$MfY%=2|H~SH6|66id0(RPp-FQl*IHe5p{Z&qubM`mF|9KiAC`X@Ehw6s5F`zrsX&bGUn;bwopK%=aXlJXD?yW_U7yR*%XQkR4X z^3W+UiXx*!P?ruXQHKs*qEm+mI*48(B)VjDh>Ga@+eUrx_A|dXvv1z-_ukAl{PIsM z))Y-ET7bTTeyc#KL-@zX5A9o_QvJA$jo4G9R54z}E{tId-osruhwJbYmf~03gg?Bv zls|7LuEu($CR7I(8yFbCS{%kLnDoYPU>)&oZ~Q54B%Z@CzDHR=amoLQ4ICsMKtJ9= zN$v%bgZhls_yy~DzxvHZIRiB;n-!@B+>AZQEp-Zy;5jVAX>7n5&)3*YJdaz^N7|KG zkNdCeEE7gwu$dJmS zOneQcP~yKxQ;{E0)@ z%s$E)xQYkyK1#_y;%=Nr*~-5t3$CrC{&GW8FS*f&lEDa`!Wi2@20Qy+1 zoRtvD!jJPK;}=l2WD;ddo+CM`wHMe1fu9(qzS&E?czH zq&gh<{K0Hm8T2Hnd==$vNZF-HwtMIu^me*bGvAt8qxM+Z%{?ld@iiopmd=>&CGFbU zwX#{uF{7@|ICk7IQ@P%fcLjZxo)WL9Mf433r3I@y1oHmB6@q|oh95Y=jqQk)u_j-(QmktFZ zot^DLTKP#c>l$YrGo4MEuI)thpy@, 2016 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-09-24 10:33+0000\n" -"Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 @@ -48,6 +47,7 @@ msgid "Contents" msgstr "Contenuti" #: links.py:18 links.py:25 +#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "Invia per l'OCR" @@ -112,6 +112,7 @@ msgid "Document page content" msgstr "Contenuto pagina del documento" #: models.py:63 +#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "Contenuti pagine documento" @@ -139,10 +140,9 @@ msgstr "Cambia impostazioni OCR per tipo documento " #: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF files." -msgstr "" -"Percorso del programma poppler pdftotext.usato per estrarre il testo dai " -"file PDF." +"File path to poppler's pdftotext program used to extract text from PDF " +"files." +msgstr "Percorso del programma poppler pdftotext.usato per estrarre il testo dai file PDF." #: settings.py:19 msgid "Full path to the backend to be used to do OCR." @@ -150,11 +150,10 @@ msgstr "Percorso completo al backend utilizzato per eseguire l'OCR." #: settings.py:24 msgid "Set new document types to perform OCR automatically by default." -msgstr "" -"Imposta i nuovi tipi documento per eseguire automaticamente l'OCR per " -"default." +msgstr "Imposta i nuovi tipi documento per eseguire automaticamente l'OCR per default." #: views.py:26 +#| msgid "Submit documents for OCR" msgid "Submit all documents for OCR?" msgstr "Inviare tutti i documenti per l'OCR?" @@ -174,19 +173,19 @@ msgid "Document: %(document)s was added to the OCR queue." msgstr "Documento: %(document)s è stato aggiunto alla coda OCR.." #: views.py:81 +#| msgid "Submit documents for OCR" msgid "Submit the selected documents to the OCR queue?" msgstr "Inviare i documenti selezionati alla coda OCR?" #: views.py:88 +#| msgid "Submit documents for OCR" msgid "Submit all documents of a type for OCR" msgstr "Invia tutti i documenti del tipo alla coda OCR" #: views.py:102 #, python-format -msgid "" -"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." -msgstr "" -"%(count)d documenti di tipo \"%(document_type)s\" aggiunti alla coda OCR." +msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgstr "%(count)d documenti di tipo \"%(document_type)s\" aggiunti alla coda OCR." #: views.py:125 #, python-format @@ -195,24 +194,18 @@ msgstr "Modifica le impostazioni OCR per il tipo documento: %s" #: views.py:147 #, python-format +#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "Risultati OCR per il documento: %s" #~ msgid "pdftotext version" -#~ msgstr "versione pdftotext" - -#~ msgid "not found" -#~ msgstr "non trovato" - -#~ msgid "error getting version" -#~ msgstr "errore recupero versione" +#~ msgstr "document queues" #~ msgid "tesseract version" -#~ msgstr "versione tesseract" +#~ msgstr "document queues" -#~| msgid "File path to unpaper program." #~ msgid "File path to tesseract program." -#~ msgstr "Percorso del programma tesseract." +#~ msgstr "File path to unpaper program." #~ msgid "Delete" #~ msgstr "delete" @@ -382,11 +375,11 @@ msgstr "Risultati OCR per il documento: %s" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -443,11 +436,9 @@ msgstr "Risultati OCR per il documento: %s" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/ocr/locale/nl_NL/LC_MESSAGES/django.mo index a439c27e41a8fa0f653315246f90e541374caeaf..eff40000259f53e3994be2265c1fbd40a43e4169 100644 GIT binary patch delta 517 zcmX}oze~eF6u|N84}YcFN)_wikj+5~X{;4G2n9h3ElM4n99ohgVjF3r=v2CO5r^O= zij#kU;-s4*P7Vs<;^1H4;4FS$41I9XEjj57l+5T~)oUVJe?m10c@9a04 zj_28y{}y@n@1vEa<*bp0 delta 599 zcmXxgze~eF6bJC@4}Z1(#$TY|;i{FS+JZ&IMRZV5s)K`Iv}c=|UL;K`2vP(Eog9Lr z#lioeo9IvwbP&Wr2Z!PxAWlw#;P<8R!OQ3FCAoWd-=XJlsn#95V2Cc{5b_$?j~w&i zfjET?@C;7EbJzs$VKaR4e1&b8*E~OAC+0tJ35NZQ1>iai!425MSczpYXhh)<4!~pB z3ol^{tiW3=atGC6w5xf(R{Yc{{RdX)fH$@b-YT8qA62CvOgsRWQhO( diff --git a/mayan/apps/ocr/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/nl_NL/LC_MESSAGES/django.po index fa1f07a7cc..d205d31a01 100644 --- a/mayan/apps/ocr/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/nl_NL/LC_MESSAGES/django.po @@ -1,24 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 +# Johan Braeken, 2017 # Lucas Weel , 2012 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-01 09:05+0000\n" -"Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" -"edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 @@ -48,6 +48,7 @@ msgid "Contents" msgstr "Inhoud" #: links.py:18 links.py:25 +#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -89,7 +90,7 @@ msgstr "Documentversie" #: models.py:34 msgid "Date time submitted" -msgstr "" +msgstr "Indientijdstip" #: models.py:43 msgid "Document Version OCR Error" @@ -112,6 +113,7 @@ msgid "Document page content" msgstr "" #: models.py:63 +#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" @@ -139,10 +141,9 @@ msgstr "" #: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF files." -msgstr "" -"Bestandspad naar 'poppler's' pdftotext programma voor het extraheren van PDF " +"File path to poppler's pdftotext program used to extract text from PDF " "files." +msgstr "Bestandspad naar 'poppler's' pdftotext programma voor het extraheren van PDF files." #: settings.py:19 msgid "Full path to the backend to be used to do OCR." @@ -153,6 +154,7 @@ msgid "Set new document types to perform OCR automatically by default." msgstr "" #: views.py:26 +#| msgid "Submit documents for OCR" msgid "Submit all documents for OCR?" msgstr "" @@ -172,17 +174,18 @@ msgid "Document: %(document)s was added to the OCR queue." msgstr "" #: views.py:81 +#| msgid "Submit documents for OCR" msgid "Submit the selected documents to the OCR queue?" msgstr "" #: views.py:88 +#| msgid "Submit documents for OCR" msgid "Submit all documents of a type for OCR" msgstr "" #: views.py:102 #, python-format -msgid "" -"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" #: views.py:125 @@ -192,14 +195,18 @@ msgstr "" #: views.py:147 #, python-format +#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" -#~ msgid "not found" -#~ msgstr "niet gevonden" +#~ msgid "pdftotext version" +#~ msgstr "document queues" -#~ msgid "error getting version" -#~ msgstr "fout bij het ophalen van de versie" +#~ msgid "tesseract version" +#~ msgstr "document queues" + +#~ msgid "File path to tesseract program." +#~ msgstr "File path to unpaper program." #~ msgid "Delete" #~ msgstr "delete" @@ -369,11 +376,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -430,11 +437,9 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/ocr/locale/pl/LC_MESSAGES/django.mo index e08822a63bff3220463f0ac10addfb3f639714a6..987c3dba1bdfbe64b147ad5201f9215036cb2f3e 100644 GIT binary patch delta 590 zcmYMwJx>BL7{KwKylB)@&_zXK86aRnay?E!~&ED%m_)^do>8tc>`Wn4%@S)ve1c&J0 zJx<~ePGNXrbk;;YPvQ!0U;=m0#OBxoj4?k&TZo?MGYAnFVjS;q8ecGqZ@7dXIENE# zUS}Lfy{@QE7goX<+#h>_v&_#>7j}WVpexi5y}_7h2=UBdp1`{w5aJ7S%%f!2g*m8S zR6>2hF0w^5a2fYd7uG|5ir@5$sZj{;+$icv&<0ON$MB9qb+eeWoSdzsvdebfdk7_h zNTF;OywA{g&)Jrp*70GpEz@bKhZWb!>aicUD$17KuD`%0 t#ZpZwPPLOH_}f)=t>CoE>I37fn?Zal6)fmf{}*!OD6dW4{GbqN8ow~FPH_ML delta 657 zcmX}o&r94u6u|LGSF5#6wYG{sVJ;O54J6sE;?}h6xp?qY5IsaT+Q>3lVpc^K1fkHA z&@QD152etnAb3{~ZBHKj2kM_7dMMtC-?yY4n0(%QnaRA#o_%ibT=aK*R*XUB81sxd z&TLvd7+2Vd*I2?E?84`Fl, 2015 @@ -11,16 +11,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-22 07:14+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" -"pl/)\n" -"Language: pl\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 @@ -49,6 +47,7 @@ msgid "Contents" msgstr "Zawartość" #: links.py:18 links.py:25 +#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "Zgłoś do OCR" @@ -113,6 +112,7 @@ msgid "Document page content" msgstr "" #: models.py:63 +#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" @@ -140,7 +140,8 @@ msgstr "" #: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF files." +"File path to poppler's pdftotext program used to extract text from PDF " +"files." msgstr "" #: settings.py:19 @@ -152,6 +153,7 @@ msgid "Set new document types to perform OCR automatically by default." msgstr "" #: views.py:26 +#| msgid "Submit documents for OCR" msgid "Submit all documents for OCR?" msgstr "" @@ -171,17 +173,18 @@ msgid "Document: %(document)s was added to the OCR queue." msgstr "Dokument : %(document)s dodany do kolejki OCR" #: views.py:81 +#| msgid "Submit documents for OCR" msgid "Submit the selected documents to the OCR queue?" msgstr "" #: views.py:88 +#| msgid "Submit documents for OCR" msgid "Submit all documents of a type for OCR" msgstr "" #: views.py:102 #, python-format -msgid "" -"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" #: views.py:125 @@ -191,17 +194,18 @@ msgstr "" #: views.py:147 #, python-format +#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" #~ msgid "pdftotext version" -#~ msgstr "wersja pdftotext" +#~ msgstr "document queues" -#~ msgid "not found" -#~ msgstr "nie znaleziono" +#~ msgid "tesseract version" +#~ msgstr "document queues" -#~ msgid "error getting version" -#~ msgstr "błąd pobierania wersji" +#~ msgid "File path to tesseract program." +#~ msgstr "File path to unpaper program." #~ msgid "Delete" #~ msgstr "delete" @@ -226,6 +230,7 @@ msgstr "" #~ msgstr[0] "c3d93a17e46abf97b0d29fdf9a0bf689_pl_0" #~ msgstr[1] "c3d93a17e46abf97b0d29fdf9a0bf689_pl_1" #~ msgstr[2] "c3d93a17e46abf97b0d29fdf9a0bf689_pl_2" +#~ msgstr[3] "c3d93a17e46abf97b0d29fdf9a0bf689_pl_3" #~ msgid "Entry: %(entry)s was re-queued for OCR." #~ msgstr "Document: %(document)s is already queued." @@ -238,6 +243,7 @@ msgstr "" #~ msgstr[0] "3d821f1679e8cdd3b5844ba5a01a969b_pl_0" #~ msgstr[1] "3d821f1679e8cdd3b5844ba5a01a969b_pl_1" #~ msgstr[2] "3d821f1679e8cdd3b5844ba5a01a969b_pl_2" +#~ msgstr[3] "3d821f1679e8cdd3b5844ba5a01a969b_pl_3" #~ msgid "Submit the selected document for OCR?" #~ msgstr "Submit documents for OCR" @@ -373,11 +379,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -434,11 +440,9 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/ocr/locale/pt/LC_MESSAGES/django.mo index a6ee6111142610fafdc1c5a0d60c3a2975553cb8..cc9563be869c986ec529e59964c290b6aba7f988 100644 GIT binary patch delta 270 zcmbQo`JTQ0o)F7a1|Z-7Vi_Qg0b*_-o&&@nZ~}-;fcPX3vjg!zAO@*rV`O091=9RL z+80R60%>L-oeiWVfOI~Po&dxhKn&6^36$gn(tbdi3rI%*X+Z`CH-=;&BLXN;3Z#LE z;T(_vIph+M2I>V{2C^6g*npT7%z_XsK#B>7nJ4oy9-jP<(Z|$W*T6*A$WX!1$jZnV p$Tl$G3h>trN-fJQ&dkr#bxABqwNfxLFodf!vobQ+r~HSvIEN4D4?N)^z9Wy=F8*9_7Z-Tf zxQsnq!84?1-izhG@)!0$=*$0vpEFHn@=h%LfC3ShcjL%dCp)%h646aM&N_YK, 2011 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" -"language/pt/)\n" -"Language: pt\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 @@ -49,6 +48,7 @@ msgid "Contents" msgstr "Conteúdos" #: links.py:18 links.py:25 +#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -113,6 +113,7 @@ msgid "Document page content" msgstr "" #: models.py:63 +#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" @@ -140,10 +141,9 @@ msgstr "" #: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF files." -msgstr "" -"Caminho para o programa pdftotext de poppler, usado para extrair texto de " -"ficheiros PDF." +"File path to poppler's pdftotext program used to extract text from PDF " +"files." +msgstr "Caminho para o programa pdftotext de poppler, usado para extrair texto de ficheiros PDF." #: settings.py:19 msgid "Full path to the backend to be used to do OCR." @@ -154,6 +154,7 @@ msgid "Set new document types to perform OCR automatically by default." msgstr "" #: views.py:26 +#| msgid "Submit documents for OCR" msgid "Submit all documents for OCR?" msgstr "" @@ -173,17 +174,18 @@ msgid "Document: %(document)s was added to the OCR queue." msgstr "" #: views.py:81 +#| msgid "Submit documents for OCR" msgid "Submit the selected documents to the OCR queue?" msgstr "" #: views.py:88 +#| msgid "Submit documents for OCR" msgid "Submit all documents of a type for OCR" msgstr "" #: views.py:102 #, python-format -msgid "" -"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" #: views.py:125 @@ -193,17 +195,18 @@ msgstr "" #: views.py:147 #, python-format +#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" #~ msgid "pdftotext version" -#~ msgstr "Versão de pdttotex" - -#~ msgid "not found" -#~ msgstr "não encontrado" +#~ msgstr "document queues" #~ msgid "tesseract version" -#~ msgstr "Versão de tesseract" +#~ msgstr "document queues" + +#~ msgid "File path to tesseract program." +#~ msgstr "File path to unpaper program." #~ msgid "Delete" #~ msgstr "delete" @@ -373,11 +376,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -434,11 +437,9 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/ocr/locale/pt_BR/LC_MESSAGES/django.mo index dc5993cdb8642038780f7448baca3da9015aa92c..ee4db4d9abb714f6746a02fdc5dc8ebe7b8d22c8 100644 GIT binary patch delta 1008 zcmX}rPi)I!9LMqR+N!o&yV=UjZ2PfMOLf}crYP|zA}%BG=io#-M4F({_9T)X1lb%L z@h9RUA_PGri#UkO4qO~?kW6fxBujR46YtNj<(odg*YA0nKF{<0K2PVI$^PoM&cF>L zhH0y5r&`Rm;}ahb;+EfRKi#p@Wt8g}8`X8$>^qW>Cu z&8qf^mnZ{^xE%jrH^x~-;~Q}W=1}8@umcO|;ziU3o}woHj0bQLM{sA*j6K^qT!t4= z^IgUW>)Rb(*oi&BIKD$Z_JzkToW(Hqkyaljn(o8(^iSeSoWdC1$4&SW6F86esA`0A z?4|#R$sAn32q;B#=ZM#co`S z6R6Cu;2_>aZTt;ZmGL|;S^SM#aiq|jqEVqxV;t{>^Agx4dyBD>#Ml^Y z)L^uNXk}-DF&JYaAu%>u&>4*hQ3_+BCU#o*|MpIBa0W;q>QxCZ-hEe>S+Z(s%OJK6rnSW0^uV>pYlfPy8Ni5)yny9;aZ9!hY} zkQmfFmf=^d;QQ(~H^p?6vuswRs&F;#K_00dJb=AegkxBR<5^$g7TO2_a1>?S z7|Mqxvi;9c(|(1LkvWtAbC&T9*|Q36He(ygLe60=4x&VM8|8&5Y{j?OhWYGUHSWXH zcpkUo6YRi`D0{u0bkt)D%DiWhDb%$U!}irtXK-$6z-d( z_+OFiaNxs(DG~l(BtrS8$YIONJ}5^?c@tGK#*So4{nofQ>;{t)dE>cNsR65pOmJBT zo(^m}ZG96D^pNi*eKR=OvE*G&r}cf$*GU@$DL1LFSU;WeT;+O!?q{Ba8cOsBUSO{V z3(poO%8tHURCs)()oE^aVmoy-*1oINiMB+e#V1cVr|gxKOz0dofo<2ZXmdEOdAE)+ zu4Q|aQrvCQfpf+;ZhF83p5Lwy4WwMFkNP$hn6&ON(mWVm`!ju!xHlNN7}ZBgq$}ZRy^xImdl&Md{sOfY&X@oI diff --git a/mayan/apps/ocr/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/pt_BR/LC_MESSAGES/django.po index c4a083671a..b87572a9ec 100644 --- a/mayan/apps/ocr/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-17 22:54+0000\n" -"Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" -"edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 @@ -49,6 +48,7 @@ msgid "Contents" msgstr "Conteúdos" #: links.py:18 links.py:25 +#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "Enviar para OCR" @@ -113,6 +113,7 @@ msgid "Document page content" msgstr "Conteúdo de página de documento" #: models.py:63 +#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "Conteúdo de páginas de documento" @@ -140,10 +141,9 @@ msgstr "Alterar configurações de OCR para tipo de documento" #: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF files." -msgstr "" -"Caminho para o programa poppler pdftotext usado para extrair texto de " -"arquivos PDF." +"File path to poppler's pdftotext program used to extract text from PDF " +"files." +msgstr "Caminho para o programa poppler pdftotext usado para extrair texto de arquivos PDF." #: settings.py:19 msgid "Full path to the backend to be used to do OCR." @@ -154,6 +154,7 @@ msgid "Set new document types to perform OCR automatically by default." msgstr "Definir novos tipos de documentos para realizar OCR automaticamente" #: views.py:26 +#| msgid "Submit documents for OCR" msgid "Submit all documents for OCR?" msgstr "Enviar todos os documentos para OCR?" @@ -173,17 +174,18 @@ msgid "Document: %(document)s was added to the OCR queue." msgstr "Documento: %(document)s foi adicionado à fila de OCR." #: views.py:81 +#| msgid "Submit documents for OCR" msgid "Submit the selected documents to the OCR queue?" msgstr "Enviar os documentos selecionados para OCR?" #: views.py:88 +#| msgid "Submit documents for OCR" msgid "Submit all documents of a type for OCR" msgstr "Enviar todos os documentos do tipo para OCR" #: views.py:102 #, python-format -msgid "" -"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "%(count)d documentos do tipo \"%(document_type)s\" enviados para OCR." #: views.py:125 @@ -193,24 +195,18 @@ msgstr "Editar configurações de OCR para documento de tipo: %s" #: views.py:147 #, python-format +#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "Resultados de OCR para documento: %s" #~ msgid "pdftotext version" -#~ msgstr "Versão do pdftotext" - -#~ msgid "not found" -#~ msgstr "Não encontrada" - -#~ msgid "error getting version" -#~ msgstr "Erro ao receber a versão." +#~ msgstr "document queues" #~ msgid "tesseract version" -#~ msgstr "Versão do tesseract" +#~ msgstr "document queues" -#~| msgid "File path to unpaper program." #~ msgid "File path to tesseract program." -#~ msgstr "Caminho de acesso para o programa tesseract" +#~ msgstr "File path to unpaper program." #~ msgid "Delete" #~ msgstr "delete" @@ -380,11 +376,11 @@ msgstr "Resultados de OCR para documento: %s" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -441,11 +437,9 @@ msgstr "Resultados de OCR para documento: %s" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/ocr/locale/ro_RO/LC_MESSAGES/django.mo index b9eb15eec2295753146a40c384b7f6a78258b0e3..ac6cdd3810576b28363ef90719e2b431361d9a34 100644 GIT binary patch delta 272 zcmYMuu@1pN7{Kwbrzj!8AQB?oOilDqNf(1K@d!*_!sH=JV)6tc5sTTtBo?!fco6?1 zjW7M@*Ie7XUbAm!@hI6VVKP*s8Rcn9W}eih7p19ei8xqC^IiiB*ugOlF@a00;2JNq zC$rC-hvux^@_$+2+4BHnOfa? delta 506 zcmZ9{ze)o^5C-tc88w~;G~gdlVXdr!xx1J^O2y7}YG-jKd*MKKWp7XIQm79gK^tE} z@D&7YtQ4%YN@3vxSo%#a1ax8e9don$?e+^VZuhg4zagw5Y6W$PnnQh~cvW&lRp`M< z7{LNmkoTOyS$GAT@D`52K3sxda31CyqA9ot`TVuaE(Q2_!q5)npkh87+#0$IXV5=@ zys-rjVG23u6$??)v{L?UeNIB55D6&`_kypNO2qree`@6D`{kyotr92DitA86DvB8 Q7fEdYXY, 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-04-17 13:17+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" -"edms/language/ro_RO/)\n" -"Language: ro_RO\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 @@ -48,6 +46,7 @@ msgid "Contents" msgstr "Conţinut" #: links.py:18 links.py:25 +#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -112,6 +111,7 @@ msgid "Document page content" msgstr "" #: models.py:63 +#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" @@ -139,10 +139,9 @@ msgstr "" #: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF files." -msgstr "" -"Calea de fișier pentru programul pdftotext folosit pentru a extrage textul " -"din fișiere PDF." +"File path to poppler's pdftotext program used to extract text from PDF " +"files." +msgstr "Calea de fișier pentru programul pdftotext folosit pentru a extrage textul din fișiere PDF." #: settings.py:19 msgid "Full path to the backend to be used to do OCR." @@ -153,6 +152,7 @@ msgid "Set new document types to perform OCR automatically by default." msgstr "" #: views.py:26 +#| msgid "Submit documents for OCR" msgid "Submit all documents for OCR?" msgstr "" @@ -172,17 +172,18 @@ msgid "Document: %(document)s was added to the OCR queue." msgstr "" #: views.py:81 +#| msgid "Submit documents for OCR" msgid "Submit the selected documents to the OCR queue?" msgstr "" #: views.py:88 +#| msgid "Submit documents for OCR" msgid "Submit all documents of a type for OCR" msgstr "" #: views.py:102 #, python-format -msgid "" -"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" #: views.py:125 @@ -192,20 +193,18 @@ msgstr "" #: views.py:147 #, python-format +#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" #~ msgid "pdftotext version" -#~ msgstr "pdftotext versiune" - -#~ msgid "not found" -#~ msgstr "nu a fost găsit" - -#~ msgid "error getting version" -#~ msgstr "eroare la obținerea versiune" +#~ msgstr "document queues" #~ msgid "tesseract version" -#~ msgstr "Tesseract versiune" +#~ msgstr "document queues" + +#~ msgid "File path to tesseract program." +#~ msgstr "File path to unpaper program." #~ msgid "Delete" #~ msgstr "delete" @@ -377,11 +376,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -438,11 +437,9 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/ocr/locale/ru/LC_MESSAGES/django.mo index 49e7ec9354fb865a542c2c0b3cbd9f24db5ec0a0..46a10c5ae47cc1338fdb8a9df5b49f272ddfb325 100644 GIT binary patch delta 1008 zcmX}rK}b_^9Ki9PZq4oGY)x~SO_xer*t7YxB?}S{meGtf=_ax?a8OORbrEETZUtRN zw4#&IMG98$ARfDT=@!+ks34+4;6);c===LS{IT~w|No!y-v9sm{oZE(_eA+~*!xh3 z6I@5R78*p(;)_OZMAaj50Uu)@e#L$0^NI{(GsbZYk6{j*@ILyng01+pKCj^s=9}0l zQkM4&f-G#~A^e9CY~wAueiGX;jk-RCA{)K%L0m?C z-d(hKzdT{UPUJbZ;Tz;9AGwX%t!fCYAd|GR((t3Ll_u=u6!lw3%DYyBQe4%git06|7<}{=^XslD-t4 z#|~UY&B!B6;ue;>8T@82ixIZJjCb%f{y=Sx=mC)lbWuj6?J_bFX20k zVHf!h<0!7-G}^d>@@NLB zjC65nko~=Asl4*E>O)K`t2C487X8-ryU^Cu&~GQ?{_?Chx*NW?4V5i_CV0k94%^OP zY|u$NLzV78=g{6tD($5DlZ2JY7EAU_A$z-cGh50R(y{6M^&5p!9*fyRF7GY|yiIO3 HRP+7^2Yh5z delta 1392 zcmZY8Pe>F|9KiACf78me|Cu?JmZf9+N3EpjP?3}Q3qN5te#P1NGuhAP ze~$|=m9S@G zA+EvIxDxlG1lWZ#&n?X7`|7SVZ~zO~_E#w5?^sm}?#X2w`%t$01=iy)+=*MKCl-7& z=>yamA4A!xZ`g>k%}uZamt!w>tfTRgMh*VKg;>S%Wy>1TgQu_%0r&Kj| zqa@KAEXTuqwGMBfME(&gF^ecApc<6%OZmjPoyH&o8m17YM7oU2U93hO-{MxxB$FDj z9wT@Mn=zO3^5FqIgx65!oj^asldx?uA4hbJm%+i0xrOEEcqm!+bOqasO#m~9|(O7%<+`XhGm(S)^6B#Fx;*kH>_yT46Cqd zYX_O9O-0%c+NN!suqW?LO_Y54+O+J3mKxpb)qQ@=i z0=7}B`8;0kt<}AL&F8K4`^!C)occi2)|;(BI2sDrrd6wjf+4dq5(o!dWBu9bS!M1S zx68e#IRnn9<~(;holz&owa*!LhTRKOk;VG+2GWl@-R^m3$mw^UI(>=9hk$pUG0!7(_Lyw$6x6?f>9mUw7#--1B!dK*xQ8o2|ds&;@2K8U~>Msl{_I>~W diff --git a/mayan/apps/ocr/locale/ru/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/ru/LC_MESSAGES/django.po index 4a1847f937..7208d9e24e 100644 --- a/mayan/apps/ocr/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -10,17 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-07-13 21:33+0000\n" -"Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" -"language/ru/)\n" -"Language: ru\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 @@ -49,6 +46,7 @@ msgid "Contents" msgstr "Содержание" #: links.py:18 links.py:25 +#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "Отправить на распознавание" @@ -113,6 +111,7 @@ msgid "Document page content" msgstr "Содержимое страницы документа" #: models.py:63 +#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "Содержимое страниц документа" @@ -140,10 +139,9 @@ msgstr "Изменить настройки распознавания доку #: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF files." -msgstr "" -"Путь к файлу программы pdftotext Poppler, используемой для извлечения текста " -"из PDF файлов." +"File path to poppler's pdftotext program used to extract text from PDF " +"files." +msgstr "Путь к файлу программы pdftotext Poppler, используемой для извлечения текста из PDF файлов." #: settings.py:19 msgid "Full path to the backend to be used to do OCR." @@ -151,11 +149,10 @@ msgstr "Полный путь до бекенда, выполняющего OCR. #: settings.py:24 msgid "Set new document types to perform OCR automatically by default." -msgstr "" -"Задать новые типы документов для которых распознавание будет запускаться по " -"умолчанию. " +msgstr "Задать новые типы документов для которых распознавание будет запускаться по умолчанию. " #: views.py:26 +#| msgid "Submit documents for OCR" msgid "Submit all documents for OCR?" msgstr "Отправить все документы на распознавание?" @@ -175,20 +172,19 @@ msgid "Document: %(document)s was added to the OCR queue." msgstr "Документ: %(document)s добавлен в очередь распознавания." #: views.py:81 +#| msgid "Submit documents for OCR" msgid "Submit the selected documents to the OCR queue?" msgstr "Отправить выделенные документы в очедерь распознавания?" #: views.py:88 +#| msgid "Submit documents for OCR" msgid "Submit all documents of a type for OCR" msgstr "Отправить все документы определённого типа на распознавание" #: views.py:102 #, python-format -msgid "" -"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." -msgstr "" -"%(count)d документов с типом \"%(document_type)s\" помещены в очередь " -"распознавания." +msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgstr "%(count)d документов с типом \"%(document_type)s\" помещены в очередь распознавания." #: views.py:125 #, python-format @@ -197,24 +193,18 @@ msgstr "Редактировать настройки распознавания #: views.py:147 #, python-format +#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "Результат распозанвания для документа: %s" #~ msgid "pdftotext version" -#~ msgstr "версия pdftotext" - -#~ msgid "not found" -#~ msgstr "не найдено" - -#~ msgid "error getting version" -#~ msgstr "Ошибка при получении версии" +#~ msgstr "document queues" #~ msgid "tesseract version" -#~ msgstr "tesseract version" +#~ msgstr "document queues" -#~| msgid "File path to unpaper program." #~ msgid "File path to tesseract program." -#~ msgstr "Путь до программы tesseract." +#~ msgstr "File path to unpaper program." #~ msgid "Delete" #~ msgstr "delete" @@ -388,11 +378,11 @@ msgstr "Результат распозанвания для документа: #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -449,11 +439,9 @@ msgstr "Результат распозанвания для документа: #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/ocr/locale/sl_SI/LC_MESSAGES/django.mo index e35991b20c225299d531d54793e0ba80eb1c2671..23fb686ea0847bf43f318ee201b11974b70f337f 100644 GIT binary patch delta 267 zcmZo=+s;;hPl#nI0}!wQu?!IV05LZZ*8njHtN>yYAYKW?>_B`Eh&h1x8I*nxqU|zFDpb#gJf`G}ln9L^LlbpmD#A~K& zXsBystYBbdWokA#o>3YoVqmOmWT;?dXk}=)xt(z)BVR~nfkH}tc4=;EUP&SY0PDvd Aq5uE@ diff --git a/mayan/apps/ocr/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/sl_SI/LC_MESSAGES/django.po index d52d834ca6..6ccb7fe16a 100644 --- a/mayan/apps/ocr/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/sl_SI/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,16 +9,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-23 16:43+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" -"edms/language/sl_SI/)\n" -"Language: sl_SI\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" +"Language: sl_SI\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 #: settings.py:7 @@ -27,7 +25,7 @@ msgstr "" #: apps.py:86 msgid "Document" -msgstr "" +msgstr "Dokument" #: apps.py:90 msgid "Added" @@ -47,6 +45,7 @@ msgid "Contents" msgstr "Vsebina" #: links.py:18 links.py:25 +#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -111,6 +110,7 @@ msgid "Document page content" msgstr "" #: models.py:63 +#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" @@ -138,7 +138,8 @@ msgstr "" #: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF files." +"File path to poppler's pdftotext program used to extract text from PDF " +"files." msgstr "" #: settings.py:19 @@ -150,6 +151,7 @@ msgid "Set new document types to perform OCR automatically by default." msgstr "" #: views.py:26 +#| msgid "Submit documents for OCR" msgid "Submit all documents for OCR?" msgstr "" @@ -169,17 +171,18 @@ msgid "Document: %(document)s was added to the OCR queue." msgstr "" #: views.py:81 +#| msgid "Submit documents for OCR" msgid "Submit the selected documents to the OCR queue?" msgstr "" #: views.py:88 +#| msgid "Submit documents for OCR" msgid "Submit all documents of a type for OCR" msgstr "" #: views.py:102 #, python-format -msgid "" -"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" #: views.py:125 @@ -189,9 +192,19 @@ msgstr "" #: views.py:147 #, python-format +#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" +#~ msgid "pdftotext version" +#~ msgstr "document queues" + +#~ msgid "tesseract version" +#~ msgstr "document queues" + +#~ msgid "File path to tesseract program." +#~ msgstr "File path to unpaper program." + #~ msgid "Delete" #~ msgstr "delete" @@ -364,11 +377,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -425,11 +438,9 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/ocr/locale/vi_VN/LC_MESSAGES/django.mo index 670680549f500b8e95f6ef3265b34915f620faf6..2211206a3a36dc6fc372cadd7647db8e7680bd12 100644 GIT binary patch delta 44 rcmeyz`j2&kFC(wHu7QcJk)eX2k(H70k+Fh-k(H_0, 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" -"mayan-edms/language/vi_VN/)\n" -"Language: vi_VN\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 @@ -47,6 +46,7 @@ msgid "Contents" msgstr "Nội dung" #: links.py:18 links.py:25 +#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -111,6 +111,7 @@ msgid "Document page content" msgstr "" #: models.py:63 +#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" @@ -138,7 +139,8 @@ msgstr "" #: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF files." +"File path to poppler's pdftotext program used to extract text from PDF " +"files." msgstr "" #: settings.py:19 @@ -150,6 +152,7 @@ msgid "Set new document types to perform OCR automatically by default." msgstr "" #: views.py:26 +#| msgid "Submit documents for OCR" msgid "Submit all documents for OCR?" msgstr "" @@ -169,17 +172,18 @@ msgid "Document: %(document)s was added to the OCR queue." msgstr "" #: views.py:81 +#| msgid "Submit documents for OCR" msgid "Submit the selected documents to the OCR queue?" msgstr "" #: views.py:88 +#| msgid "Submit documents for OCR" msgid "Submit all documents of a type for OCR" msgstr "" #: views.py:102 #, python-format -msgid "" -"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" #: views.py:125 @@ -189,9 +193,19 @@ msgstr "" #: views.py:147 #, python-format +#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" +#~ msgid "pdftotext version" +#~ msgstr "document queues" + +#~ msgid "tesseract version" +#~ msgstr "document queues" + +#~ msgid "File path to tesseract program." +#~ msgstr "File path to unpaper program." + #~ msgid "Delete" #~ msgstr "delete" @@ -358,11 +372,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -419,11 +433,9 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/ocr/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/ocr/locale/zh_CN/LC_MESSAGES/django.mo index 922e7f38d74bfd82ace5a9d09cc08f377ff52682..0ba109922933c2081989f160a7e12d8ac0a107a0 100644 GIT binary patch delta 272 zcmbQkb(*98o)F7a1|Z-BVi_P#0b*VtUIWA+@BoNSfcPO0vjedhBLf2mkd_0|Aa&|M z+80Qh0%<)U-3+9ef%GOIEdivr0qH3~d>)8F=A-~6*?{y+2pz|;0Lb703M>cGPC$AK zkk$gy-=X44EDQ|NK)ybZ2AY8afI?u$fD8lykOP6*7+8TAv d=o%R+7#dj_8BgBBB#jU;vobQ<{DkQ@BLLG!9U}k$ delta 504 zcmYMvF-yZh6bJB^TH9JHVnGlT%q&E6Y3mRXK^ zkijS{!5Flm?Ae1^cnIg=3mk%>5YZHjz)3g@M_>lZ`&WExw1uLDrUI0MzR?|lTG%%Y z6Id_7Rk#7?;OSuh4o+kJ2$S#~%0WFi4u1zGhKVqSMv>U+N1PV?LN>_P$dIp-1Mz+T zM}Yq#7;V1x*0}3Bu3F|oSaw;ha<^hRHrb9)OU|xcq@7|(ID+qs;7ssJg}eDeuygjT zWHXBzW15jtb;Crhr*%D^+tjvs)sh!#>v_RV)zBHvQkub3gPDxo=0ZQp@<;u?-MHwU f9Cy6y_R+&<>ykR&RlCvb)^Gmj`{xu)AFTfXcp+q! diff --git a/mayan/apps/ocr/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/ocr/locale/zh_CN/LC_MESSAGES/django.po index 35f76fda2b..79bf59052f 100644 --- a/mayan/apps/ocr/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/ocr/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" -"language/zh_CN/)\n" -"Language: zh_CN\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:53 apps.py:111 apps.py:115 links.py:14 permissions.py:7 @@ -47,6 +46,7 @@ msgid "Contents" msgstr "内容" #: links.py:18 links.py:25 +#| msgid "Submit documents for OCR" msgid "Submit for OCR" msgstr "" @@ -111,6 +111,7 @@ msgid "Document page content" msgstr "" #: models.py:63 +#| msgid "Document pages content clean up error: %s" msgid "Document pages contents" msgstr "" @@ -138,7 +139,8 @@ msgstr "" #: settings.py:12 msgid "" -"File path to poppler's pdftotext program used to extract text from PDF files." +"File path to poppler's pdftotext program used to extract text from PDF " +"files." msgstr "程序pdftotext文件路径,用以从PDF文件中提取文本。" #: settings.py:19 @@ -150,6 +152,7 @@ msgid "Set new document types to perform OCR automatically by default." msgstr "" #: views.py:26 +#| msgid "Submit documents for OCR" msgid "Submit all documents for OCR?" msgstr "" @@ -169,17 +172,18 @@ msgid "Document: %(document)s was added to the OCR queue." msgstr "" #: views.py:81 +#| msgid "Submit documents for OCR" msgid "Submit the selected documents to the OCR queue?" msgstr "" #: views.py:88 +#| msgid "Submit documents for OCR" msgid "Submit all documents of a type for OCR" msgstr "" #: views.py:102 #, python-format -msgid "" -"%(count)d documents of type \"%(document_type)s\" added to the OCR queue." +msgid "%(count)d documents of type \"%(document_type)s\" added to the OCR queue." msgstr "" #: views.py:125 @@ -189,20 +193,18 @@ msgstr "" #: views.py:147 #, python-format +#| msgid "Queued documents: %d" msgid "OCR result for document: %s" msgstr "" #~ msgid "pdftotext version" -#~ msgstr "pdftotext版本" - -#~ msgid "not found" -#~ msgstr "未发现" - -#~ msgid "error getting version" -#~ msgstr "获取版本出错" +#~ msgstr "document queues" #~ msgid "tesseract version" -#~ msgstr "tesseract版本" +#~ msgstr "document queues" + +#~ msgid "File path to tesseract program." +#~ msgstr "File path to unpaper program." #~ msgid "Delete" #~ msgstr "delete" @@ -370,11 +372,11 @@ msgstr "" #~ msgstr "Are you sure you wish to activate document queue: %s" #~ msgid "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgstr "" -#~ "Amount of seconds to delay OCR of documents to allow for the node's " -#~ "storage replication overhead." +#~ "Amount of seconds to delay OCR of documents to allow for the node's storage " +#~ "replication overhead." #~ msgid "Maximum amount of concurrent document OCRs a node can perform." #~ msgstr "Maximum amount of concurrent document OCRs a node can perform." @@ -431,11 +433,9 @@ msgstr "" #~ msgstr "Error deleting queue transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete queue transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete queue transformation \"%(transformation)s\"" #~ msgid "Queue transformation created successfully" #~ msgstr "Queue transformation created successfully" diff --git a/mayan/apps/permissions/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/ar/LC_MESSAGES/django.mo index 5643d71d86f2c6f35aa4399d5ea355ea440ff77b..3bab9c4616b4a01f29ecb72ed22f936c14a2ff2f 100644 GIT binary patch delta 44 rcmaFH`HXWz2otZlu7QcJk)eX2k(H70rdTEb0wD^h delta 44 ycmaFH`HXWz2otZFuA!l>k+Fh-k(H_0, 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:03+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" -"ar/)\n" -"Language: ar\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" @@ -120,10 +118,9 @@ msgid "Comma separated list of permission primary keys to grant to this role." msgstr "" #: serializers.py:92 -#, fuzzy, python-format -#| msgid "Has permission" +#, python-format msgid "No such permission: %s" -msgstr "has permission" +msgstr "" #: views.py:45 msgid "Available groups" @@ -143,6 +140,7 @@ msgid "Available permissions" msgstr "" #: views.py:80 +#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -167,6 +165,9 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" +#~ msgid "Has permission" +#~ msgstr "has permission" + #~ msgid " and " #~ msgstr " and " @@ -176,10 +177,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -195,17 +194,13 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/bg/LC_MESSAGES/django.mo index a26fbb3a049aa20342705eb12f03560c483ee52c..2598e7ddab9c480918a8d493ec997cb0ec88f73e 100644 GIT binary patch delta 44 rcmX@Yb%bj}J`=CGu7QcJk)eX2k(H70k+Fh-k(H_0, 2012 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-06-13 13:45+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/bg/)\n" -"Language: bg\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:22 models.py:46 models.py:77 permissions.py:7 @@ -119,10 +118,9 @@ msgid "Comma separated list of permission primary keys to grant to this role." msgstr "" #: serializers.py:92 -#, fuzzy, python-format -#| msgid "Has permission" +#, python-format msgid "No such permission: %s" -msgstr "has permission" +msgstr "" #: views.py:45 msgid "Available groups" @@ -142,6 +140,7 @@ msgid "Available permissions" msgstr "" #: views.py:80 +#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -166,6 +165,9 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" +#~ msgid "Has permission" +#~ msgstr "has permission" + #~ msgid " and " #~ msgstr " and " @@ -175,10 +177,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -194,17 +194,13 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/bs_BA/LC_MESSAGES/django.mo index 1bda6dbd5bae37cc24f08604473362c264bcf505..9e60248f27bc559a262929987e43f86d5197da31 100644 GIT binary patch delta 44 rcmbQtIhk`q2otZlu7QcJk)eX2k(H70CN3rb<%$Wf delta 44 ycmbQtIhk`q2otZFuA!l>k+Fh-k(H_0c diff --git a/mayan/apps/permissions/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/bs_BA/LC_MESSAGES/django.po index 8e46dd79ca..ed2ab4600a 100644 --- a/mayan/apps/permissions/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:03+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" -"rosarior/mayan-edms/language/bs_BA/)\n" -"Language: bs_BA\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" @@ -120,10 +118,9 @@ msgid "Comma separated list of permission primary keys to grant to this role." msgstr "" #: serializers.py:92 -#, fuzzy, python-format -#| msgid "Has permission" +#, python-format msgid "No such permission: %s" -msgstr "has permission" +msgstr "" #: views.py:45 msgid "Available groups" @@ -143,6 +140,7 @@ msgid "Available permissions" msgstr "" #: views.py:80 +#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -167,6 +165,9 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" +#~ msgid "Has permission" +#~ msgstr "has permission" + #~ msgid " and " #~ msgstr " and " @@ -176,10 +177,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -195,17 +194,13 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/da/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/da/LC_MESSAGES/django.mo index f36971500f69590f50ab042bb746b4a60ee0d6de..97b61a5453871af5db049ebc7ed08e133fdc6841 100644 GIT binary patch delta 41 pcmaFC{DOJHB3^S{0~1{%Lj^-4D!lF_W>!XK8?Os80s#4K3ljhU delta 41 wcmaFC{DOJHB3?6HLqlC7V+8{vD^s(H>!pDL2FAKZh6+Z8RtCl!uM08)0Qp)A3;+NC diff --git a/mayan/apps/permissions/locale/da/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/da/LC_MESSAGES/django.po index 11e82396f7..b618de667e 100644 --- a/mayan/apps/permissions/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/da/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:03+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" -"da/)\n" -"Language: da\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:22 models.py:46 models.py:77 permissions.py:7 @@ -118,10 +117,9 @@ msgid "Comma separated list of permission primary keys to grant to this role." msgstr "" #: serializers.py:92 -#, fuzzy, python-format -#| msgid "Has permission" +#, python-format msgid "No such permission: %s" -msgstr "has permission" +msgstr "" #: views.py:45 msgid "Available groups" @@ -141,6 +139,7 @@ msgid "Available permissions" msgstr "" #: views.py:80 +#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -165,6 +164,9 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" +#~ msgid "Has permission" +#~ msgstr "has permission" + #~ msgid " and " #~ msgstr " and " @@ -174,10 +176,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -193,17 +193,13 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/de_DE/LC_MESSAGES/django.mo index 973c850551a5c2f2cf16a9e5d9e08071d670a1ee..5c876834d4772b5623018af52bdab29fbcd75400 100644 GIT binary patch delta 1071 zcmYk)&ubGw6u|LqoBpu1HP%{xwAH!z3!BoW5hZ%4LaEwNMLbjxbxEe1t()C2v#B(f z;ve8C6g&vt^-zBt1Q7*2DT24!gQyqvs0Xit-?v6_$mTPrfz!?V0;agXgxz=r+tJ6Z7~wX@ zS#fSMk%g<+k9TkvuAwY=jh*-oWyANl2|wTqS(hd&>EsYf zfk&_xkE6t&!4;Bq=9x(5SCPV#s_162NID?Fa-bw7ng1Q~&B%eWhaB|(kV>U$8GE?o zU`bXwDMJckWRrIz*>d*3F~E!>lJ?0v=37fTBuNf8ZnciiMU{%HtggDojde){zKvD1 zpga@Rs#aBvUvbT{x~`Y4iX-KgN-(M-ql~TwZc!^gRB_q2%0z)4YdmRvF*p|~TPv1T zRhx=$tsjMXwa+$cZEt#yX2x@w?1Y-g=ChNHLTc#rpC>t$oyOo5S7)_#7hN^Iq)p(5o;tCpo6{+;;`+f@F{(VipW5HDGMkj+>DcHnjI}CIj#edY z)cIy5vr>sXm@&0#RfnqNYgMlamZuk@AkeDphxMAL7hXN{=!QgVV|84Q)eUV*EV2?7 qjycnY{blMT3mc!?KaI?4KhzRYENgX28(l2NzE=yqqzlhGZvO_%EwJ`+G z+83MS3<~^E#3MM4+Axh>coUVdjNMp8C7#C~T*AY+j4I>-D&HDv-%HfGSE!3@pz?ph zoQaM3%-|un-9=Tl!rMW7iaKxuwQ&>o;5MoQUr~i*IaN2yqt*|j3M%3uyokEU4O9n1 zRHqlQhx5&S21>Mws`ycR{sh(H7ubvIcoa9=@4ulsmLfZ~m?7MU!>IKRvc!y|3ciH; zS2gCYt+QgaN}H5eMX16*p>IM5D7kL*ZyaQzZYXpc6{AL@*{!r6aAT~=XqwO|Gq z@J+N@rK$&$wNx<~Nk311q~FA&w(Htn$#OjZ^r-Eea-7`cHT!xvUx_Mnb^Ail41LRU zT;7#z&$T?)cSM, 2015 +# Jesaja Everling , 2017 # Mathias Behrle , 2014 # tetjarediske , 2012 msgid "" @@ -12,14 +13,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:03+0000\n" -"Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" -"edms/language/de_DE/)\n" -"Language: de_DE\n" +"PO-Revision-Date: 2017-04-24 23:14+0000\n" +"Last-Translator: Jesaja Everling \n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:22 models.py:46 models.py:77 permissions.py:7 @@ -114,17 +114,16 @@ msgstr "Berechtigungen widerrufen" msgid "" "Comma separated list of groups primary keys to add to, or replace in this " "role." -msgstr "" +msgstr "Komma getrennte Liste der Primary Keys der Gruppen die zu dieser Rolle hinzugefügt oder ersetzt werden sollen." #: serializers.py:53 msgid "Comma separated list of permission primary keys to grant to this role." msgstr "" #: serializers.py:92 -#, fuzzy, python-format -#| msgid "Role permissions" +#, python-format msgid "No such permission: %s" -msgstr "Berechtigungen" +msgstr "Keine solche Berechtigung: %s" #: views.py:45 msgid "Available groups" @@ -144,6 +143,7 @@ msgid "Available permissions" msgstr "Verfügbare Berechtigungen" #: views.py:80 +#| msgid "Grant permissions" msgid "Granted permissions" msgstr "Erteilte Berechtigungen" @@ -180,10 +180,8 @@ msgstr "Berechtigungen der Rolle %s" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -199,17 +197,13 @@ msgstr "Berechtigungen der Rolle %s" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/en/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/en/LC_MESSAGES/django.mo index 09cc32a000aa6c6e411a40986bd510e1f5b66bc5..4aca996427a3a8ead5f97a6d79d73d299303999c 100644 GIT binary patch delta 26 hcmX@lex7~9A4XntT>}$cBSQs4BP%20&74ff7y)sF2W9{O delta 26 hcmX@lex7~9A4Xm?T|+}%BVz>vBP&z0&74ff7y)sL2WkKS diff --git a/mayan/apps/permissions/locale/es/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/es/LC_MESSAGES/django.mo index 165c15ebb312560bb874821fc655848c4be215cb..a5ae160b72890a12ff2ba1904b6a65861a6e1ed2 100644 GIT binary patch delta 695 zcmXxi&ntvM9LMq5$6D5pU6%cY)#Kox$l9f?&0iot@;9($3oFlxgOK9J#&3h zxQans#~ALS7C690Ji!E>qc(Jhiu-_?|B4z{MJ4o!wXAP~{Hs7=+#~A_)Wj2Z(T*3W zjPFqao>2=_F@zsp+oDsM1yLJMp)&48#mga&8S~oH7-xMmOQjyyJ$I1D?DM0YR#2H8 zqXJ)|#$S8=_g?=SYWzEroUs_J4F*sr7De`I`mq@^=vIA+r0!iOph5pd-$RF+vf{}& zH7%!-;?=F|9Fp#YHQ1_ef-C+zDJ|CN?pbfK$&&4?%*@$Kh2@2!;}lDadArwfS88sX ya|7w&fy|ISl*wnZ?zq3x>&e>bY(AYmEBhO*1oI1PMW^nNkI3k;^Rd&`MWO z0kf#@o2X0+mG=jzen-gK%{gjem)L@L$QsNG*5e!MRF#zaYj@l_%OC5YqAk_={uTWX zG1szINhk5&FO?p0j(5F5%RTeuegFh2Mt1-J diff --git a/mayan/apps/permissions/locale/es/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/es/LC_MESSAGES/django.po index 857bfe174d..1e64493029 100644 --- a/mayan/apps/permissions/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/es/LC_MESSAGES/django.po @@ -1,25 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 # Lory977 , 2015 -# Roberto Rosario, 2015-2016 +# Roberto Rosario, 2015-2017 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-23 06:40+0000\n" +"PO-Revision-Date: 2017-04-23 03:03+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" -"language/es/)\n" -"Language: es\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:22 models.py:46 models.py:77 permissions.py:7 @@ -121,10 +120,9 @@ msgid "Comma separated list of permission primary keys to grant to this role." msgstr "" #: serializers.py:92 -#, fuzzy, python-format -#| msgid "Role permissions" +#, python-format msgid "No such permission: %s" -msgstr "Autorizaciones por rol" +msgstr "No existe el permiso: %s" #: views.py:45 msgid "Available groups" @@ -144,6 +142,7 @@ msgid "Available permissions" msgstr "Permisos disponibles" #: views.py:80 +#| msgid "Grant permissions" msgid "Granted permissions" msgstr "Permisos otorgados" @@ -180,10 +179,8 @@ msgstr "Permisos para el rol: %s" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -199,17 +196,13 @@ msgstr "Permisos para el rol: %s" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/fa/LC_MESSAGES/django.mo index 0d1852019473be39b90db6c49b1842cd1b8d180b..f66a54106412365aac7ebcf5f692dbeed575e5ac 100644 GIT binary patch delta 44 rcmX@leV%)R3p1~|u7QcJk)eX2k(H70k+Fh-k(H_0, 2014 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:03+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" -"language/fa/)\n" -"Language: fa\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:22 models.py:46 models.py:77 permissions.py:7 @@ -120,10 +119,9 @@ msgid "Comma separated list of permission primary keys to grant to this role." msgstr "" #: serializers.py:92 -#, fuzzy, python-format -#| msgid "Role permissions" +#, python-format msgid "No such permission: %s" -msgstr "مجوزهای نقش" +msgstr "" #: views.py:45 msgid "Available groups" @@ -143,6 +141,7 @@ msgid "Available permissions" msgstr "" #: views.py:80 +#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -179,10 +178,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -198,17 +195,13 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/fr/LC_MESSAGES/django.mo index 55a3d2737b03f73d6959665ca38b18974d551d1e..38c0f76d3a1f3a72b136a066aeb4143a45e180ff 100644 GIT binary patch delta 318 zcmX}mze~eF6u|M97+WnGs1-W|N_Pq5hoq3XV z;SqkLy7yC`w;O-`7G6-dv57;pFhbQo!WK>&^004sqQD>I1=YX;PjG>Rlx#hGL-pV% zp5YpqEn6gH$EF6WCY5(l4eV7L?N&b>*v^&hxqa6QJ->(y%m1$gp%+{_tX33fxqXwy alWZL4NgDRAle_ygPcVzq$E12U=K3#FSS`r_ delta 353 zcmXZWze@u#6bJBk*RyKTf>qj~A^}IqaX<8iLyCf92f@<)EN8D+8_A_Zr~UzsUBpFj zbP#Ewe}j`-H)p}wMR4)^q#?6`~rPFMWqwh(F;v z{DC{rE)uQ58sv8Z^8F#?{06MTbGQn-unraE{5x2Jk43urPk6=w{y, 2014 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:03+0000\n" -"Last-Translator: Thierry Schott \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" -"fr/)\n" -"Language: fr\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:22 models.py:46 models.py:77 permissions.py:7 @@ -121,10 +120,9 @@ msgid "Comma separated list of permission primary keys to grant to this role." msgstr "" #: serializers.py:92 -#, fuzzy, python-format -#| msgid "Role permissions" +#, python-format msgid "No such permission: %s" -msgstr "Autorisations du rôle" +msgstr "" #: views.py:45 msgid "Available groups" @@ -144,6 +142,7 @@ msgid "Available permissions" msgstr "Permissions disponibles" #: views.py:80 +#| msgid "Grant permissions" msgid "Granted permissions" msgstr "Permissions accordées" @@ -180,10 +179,8 @@ msgstr "Permissions pour le rôle : %s" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -199,17 +196,13 @@ msgstr "Permissions pour le rôle : %s" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/hu/LC_MESSAGES/django.mo index c51f4d7e48d667cbdd3d623afa9242ba3a87b55f..4144046e029bd642b57617dc53a234a13ffb3ca5 100644 GIT binary patch delta 64 zcmX@fe3E%WtEsuJfr+k>p@N~2m60)!ZD7C^;IA8$T9#RynV+ZYl30>zrC?-W2v=uj LWn{K-7e6BaInfaZ delta 64 zcmX@fe3E%WtEri;p`oskv4Vk-6_9OUVqm}(;IA8$T9#RynV+ZYl30>zrC?-WXsT;q Sp=)HKU|?!xWVmq`KO+D-fDs7* diff --git a/mayan/apps/permissions/locale/hu/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/hu/LC_MESSAGES/django.po index 1da0d46a8f..10e6417072 100644 --- a/mayan/apps/permissions/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/hu/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-24 05:21+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/hu/)\n" -"Language: hu\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:22 models.py:46 models.py:77 permissions.py:7 @@ -118,10 +117,9 @@ msgid "Comma separated list of permission primary keys to grant to this role." msgstr "" #: serializers.py:92 -#, fuzzy, python-format -#| msgid "Has permission" +#, python-format msgid "No such permission: %s" -msgstr "has permission" +msgstr "" #: views.py:45 msgid "Available groups" @@ -141,6 +139,7 @@ msgid "Available permissions" msgstr "" #: views.py:80 +#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -165,6 +164,9 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" +#~ msgid "Has permission" +#~ msgstr "has permission" + #~ msgid " and " #~ msgstr " and " @@ -174,10 +176,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -193,17 +193,13 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/id/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/id/LC_MESSAGES/django.mo index db3d647001840d6dfc662494999931e01257410e..ffa0196af0fbfbb2c02dc23fc730c49f0a6efba3 100644 GIT binary patch delta 64 zcmX@ie3*GctEsuJfr+k>p@N~2m60)!ZD7C^;IA8$T9#RynV+ZYl30>zrC?-W2v=uj LWn{K-7bhbCHqj9E delta 64 zcmX@ie3*GctEri;p`oskv4Vk-6_9OUVqm}(;IA8$T9#RynV+ZYl30>zrC?-WXsT;q Sp=)HKU|?!xWVmq`CnEqifDrcp diff --git a/mayan/apps/permissions/locale/id/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/id/LC_MESSAGES/django.po index 86861eee14..e1988c6f21 100644 --- a/mayan/apps/permissions/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/id/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-24 05:21+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" -"language/id/)\n" -"Language: id\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:22 models.py:46 models.py:77 permissions.py:7 @@ -118,10 +117,9 @@ msgid "Comma separated list of permission primary keys to grant to this role." msgstr "" #: serializers.py:92 -#, fuzzy, python-format -#| msgid "Has permission" +#, python-format msgid "No such permission: %s" -msgstr "has permission" +msgstr "" #: views.py:45 msgid "Available groups" @@ -141,6 +139,7 @@ msgid "Available permissions" msgstr "" #: views.py:80 +#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -165,6 +164,9 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" +#~ msgid "Has permission" +#~ msgstr "has permission" + #~ msgid " and " #~ msgstr " and " @@ -174,10 +176,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -193,17 +193,13 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/it/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/it/LC_MESSAGES/django.mo index f2b5e96d66f2a1f4cecfd3809ab4a6af583d14bd..130cd574b0a1c887787f1f7ad456197f11244485 100644 GIT binary patch delta 318 zcmX}mF>At55Ww+^O=C@~Ra%Q;p_yE4K%-d52k4}W6!!#LD3k`0ES*Gfw2R_U=tpo+ zg7gD)FVe|=1lPKB^dFQyj`zDexO;Dzi83=)>Afl8sjqK8r=_Yb4~B>m1v7fiA{-Uo?4;B*}mVJ7kFQLnA!JcRa!=Ug81? z`Q|F%55{x97=P>!^O#~Osa)X+mZP=OO{8zkYQwZ@M$NLV`naW*>i?alZ8a-Zj^1*D e(7f}V=itc+J>NDuo_p_y9tMv8=tUpuTVe|gIxTqs delta 347 zcmXZWF-yZh6u|M98lzTiD_T+N5EmD@kVFkM6cIWJ6&%Dpgepp6CF$M|Q4n+x9CcC5 zU%Am!FKUs9F}GS<$22Auw6gg3WgoCu^%Y6sr*gbb3?be z?y}0ADDSI-EIP}RsNc&%doRl3p52bp^Q4=1?N+L5Cmz*K8t)vZ(MjUOy>z>{GA~Pi DYtA, 2016 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-09-24 10:09+0000\n" -"Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:22 models.py:46 models.py:77 permissions.py:7 @@ -120,10 +119,9 @@ msgid "Comma separated list of permission primary keys to grant to this role." msgstr "" #: serializers.py:92 -#, fuzzy, python-format -#| msgid "Role permissions" +#, python-format msgid "No such permission: %s" -msgstr "Autorizzazioni ruolo " +msgstr "" #: views.py:45 msgid "Available groups" @@ -143,6 +141,7 @@ msgid "Available permissions" msgstr "Autorizzazioni disponibili " #: views.py:80 +#| msgid "Grant permissions" msgid "Granted permissions" msgstr "Autorizzazioni concesse " @@ -179,10 +178,8 @@ msgstr "Autorizzazioni per ruolo: %s" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -198,17 +195,13 @@ msgstr "Autorizzazioni per ruolo: %s" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/nl_NL/LC_MESSAGES/django.mo index 352d591f419c99213aca56c39fc2bae2ae7c41d7..b9e015460ed4ec5988ae158cbff0988927b51d25 100644 GIT binary patch delta 318 zcmZ3>KY@P(3uFC!Mh1q@%nS^|3=9mDSs56_fb?=8EeoXg0clAfeFsQ$0_kr+S_Vin zurV-j04Z4@Ed`|2pnOLl4Kl|INQ(mLI3Udqq)ULb0+6l&(jfhFfi%!4hFxq7X<)_y zpa2U{;24kwS#%mma{=kAQ2GIoRs`~2L*;pariuXh;y{`gNb5lPRzO-D$oB`*0zf() z%CFe`k}-^l*Id`YMAyhr!O+Oc$au03i?lIZ#LUXbOxpkmxO@_eOLRku67!045=-)n ZtQ3OslTwRH@_}@5Vo_%P=It!sm;e~8ET8}Y delta 347 zcmbQhzm|Uk3uFBrMh1q@%nS^|3=9k#SQ!|^fb731_l`* zEeoVMfV35mmIBhwP<|Yc2APu%q(y;rHIQZp(i4HS0+5~wq(S<30coI-4Av87mkVS(%zm_F<6@0E!ss8d)e98d;f`Xd3_lmrr7GiEc, 2016 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-28 12:44+0000\n" -"Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" -"edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:22 models.py:46 models.py:77 permissions.py:7 @@ -120,10 +119,9 @@ msgid "Comma separated list of permission primary keys to grant to this role." msgstr "" #: serializers.py:92 -#, fuzzy, python-format -#| msgid "Role permissions" +#, python-format msgid "No such permission: %s" -msgstr "Permissies gebruikersro" +msgstr "" #: views.py:45 msgid "Available groups" @@ -143,6 +141,7 @@ msgid "Available permissions" msgstr "Beschikbare permissies" #: views.py:80 +#| msgid "Grant permissions" msgid "Granted permissions" msgstr "Toegekende permissies" @@ -179,10 +178,8 @@ msgstr "Permissies voor gebruikersrol: %s" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -198,17 +195,13 @@ msgstr "Permissies voor gebruikersrol: %s" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/pl/LC_MESSAGES/django.mo index c382d23f1841f353f240f620670847797e06205f..517e9bc87c118f25b57a138f2a0a012631964a67 100644 GIT binary patch delta 674 zcmYL_ze^)g5XUzmIW>`sKd=z|@ea|`V&T0tMvPfS5#-=7BGz(?qzJ@SjK7dTP=r|6 zEmr;kB3yZ3tA(YFg^g&dmDd~`TKSn6&9L)6vu|d;^WHm*9mUHJZINROYsb6rKX^C( zGsJ>jz!rE3JKzoc0-s<6{)JKa54OTrC|b?o_c{eT`Tq{3ZVEQQSxA4`$`UlOu?S;u z3C3X_%AidsgGx{Y_Fykw!4v$Sl9Yp;!$x=wrSBGs?md))JwmB_fufUO>0!RrK_HDu zD1%+dXZ>K2n`dkLziKQ%5#E7lS^G6sAeXP2^odDcwB?|3xeueX`U+OC5=unnz1o7k zP+wFI`ZYKUoixsQE4kvDw;W7|w?{^8owOaJjFWbTiM5W+XYGaDR=${D_3asNBbQc= zHlKB=w37;+!~e_4akW<1T=xp@pzpdyO)9O@YS8aDdct+oz<`o4<0gkBuI}rMaa5^P zO;BV=O)5i|{|$kUstH%uyUma^)Ko|6`(yp}gh+i3Wa7K7gYIykBfneb*LQQp4VJ3| M<$Jr^!Cl0D1Cgj<*#H0l delta 479 zcmXZYze~eF6u|LIn`muO+e#7f2M1zRuy9G!s-?9{cSk`%L=i#INw-2bad6SYNhe)9 z=;)|}gMWZHh&nikv*04)_thM^eBNE&yFBhFb(n0uWZhH6$TCNmZRRMm>hNM*VH&S7 zhj-Y8Pw3(+diahR{KNtLLCH(Ulp4Z8lsq51aTcj>sX9TDjRvN05v6eDKS8ad6mH=? zhwflM>yT<`sDTMwMycDt9^6K0Xb&at0Og!>9K#Dts3oOt3FOBQQNm-ievbS=Iq(a4 z)Nf>*)99x&q#+sdU7G2$o6e*scbc)s&bTKxsO*h%W>;hTz2$=M7lNWTL8Vl-Z?R!^ z%v`~Q+RRr, 2012,2015 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-08-04 09:54+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" -"pl/)\n" -"Language: pl\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" @@ -63,7 +61,7 @@ msgstr "" #: models.py:19 msgid "Namespace" -msgstr "" +msgstr "Przestrzeń nazw" #: models.py:20 msgid "Name" @@ -120,10 +118,9 @@ msgid "Comma separated list of permission primary keys to grant to this role." msgstr "" #: serializers.py:92 -#, fuzzy, python-format -#| msgid "Has permission" +#, python-format msgid "No such permission: %s" -msgstr "has permission" +msgstr "" #: views.py:45 msgid "Available groups" @@ -143,6 +140,7 @@ msgid "Available permissions" msgstr "Dostępne uprawnienia" #: views.py:80 +#| msgid "Grant permissions" msgid "Granted permissions" msgstr "Przyznane uprawnienia" @@ -167,6 +165,9 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" +#~ msgid "Has permission" +#~ msgstr "has permission" + #~ msgid " and " #~ msgstr " and " @@ -176,10 +177,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -195,17 +194,13 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/pt/LC_MESSAGES/django.mo index c301a8a7f642d6c2553ace734b960b1fca847cfb..e1bf14c633066173347be7947bff145446d2bbdc 100644 GIT binary patch delta 44 rcmZqRYT(*%iHX--*T6*A$WX!1$jZog@_i<0gov4yk=bT;=AVoJ{aOn2 delta 44 ycmZqRYT(*%iHX-t*U(Vc$XLO^$ja1g@_i<0pooF7u92aFk)f4=@n&}BpNs(gL<;Qy diff --git a/mayan/apps/permissions/locale/pt/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/pt/LC_MESSAGES/django.po index 4eb23bd59b..21600b0c18 100644 --- a/mayan/apps/permissions/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Emerson Soares , 2011 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:03+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" -"language/pt/)\n" -"Language: pt\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:22 models.py:46 models.py:77 permissions.py:7 @@ -121,10 +120,9 @@ msgid "Comma separated list of permission primary keys to grant to this role." msgstr "" #: serializers.py:92 -#, fuzzy, python-format -#| msgid "Has permission" +#, python-format msgid "No such permission: %s" -msgstr "has permission" +msgstr "" #: views.py:45 msgid "Available groups" @@ -144,6 +142,7 @@ msgid "Available permissions" msgstr "" #: views.py:80 +#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -168,6 +167,9 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" +#~ msgid "Has permission" +#~ msgstr "has permission" + #~ msgid " and " #~ msgstr " and " @@ -177,10 +179,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -196,17 +196,13 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/pt_BR/LC_MESSAGES/django.mo index 1964cf01c3c0692b10a9b8b1433c31d282a81ad2..fdf88008e3a23e5af435e0194aca065e63678142 100644 GIT binary patch delta 318 zcmX}mv1`IW6vy!wd$m>3T3bYP&|LyCiiP|GF4CbC_XrAtG>~K!2S*pFTZeA#CbZby z(Z#{RKftl#rdub!*TLg>AMVG!d$&x@QeVm#z8fOP3z0h!dA$_L;U}hXfj79uE8OBO z{$dpWP~S5+Tw@0Bv4B~$kSz_0e*Y2k*hX4q5S8x#!y^JkFvb{8Fph7Szz@`o->5&b zLOo!EY}r%v#}23mDK65(9;DsJH^Qle>Q{x$C402w8BS!t((M+6SR7?<$@b2!Bnd_i;Z z9nDAPXdd`RN-~7zW2@@xW diff --git a/mayan/apps/permissions/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/pt_BR/LC_MESSAGES/django.po index 87ff3218cb..a8361af7f2 100644 --- a/mayan/apps/permissions/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -13,14 +13,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-17 23:07+0000\n" -"Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" -"edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:22 models.py:46 models.py:77 permissions.py:7 @@ -122,10 +121,9 @@ msgid "Comma separated list of permission primary keys to grant to this role." msgstr "" #: serializers.py:92 -#, fuzzy, python-format -#| msgid "Role permissions" +#, python-format msgid "No such permission: %s" -msgstr "Regra de permissão" +msgstr "" #: views.py:45 msgid "Available groups" @@ -145,6 +143,7 @@ msgid "Available permissions" msgstr "Permissões disponíveis" #: views.py:80 +#| msgid "Grant permissions" msgid "Granted permissions" msgstr "Permissões outorgadas" @@ -181,10 +180,8 @@ msgstr "Permissões para papel: %s" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -200,17 +197,13 @@ msgstr "Permissões para papel: %s" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/ro_RO/LC_MESSAGES/django.mo index 4b503e0d49d4c43b97ef1fafad8e6630cd73cc1d..94fed5ba5cec322c845ce7c30e9cf94c36d985f0 100644 GIT binary patch delta 44 rcmdnMwSjBHB_>{TT>}$cBSQs4BP%20$@iJ05h7+*MrNDYnKhXJ3+f7m delta 44 ycmdnMwSjBHB_>`oT|+}%BVz>vBP&z0$@iJ0fg%Pbx`yTo29{PP#+%uhHJJbmZVHY7 diff --git a/mayan/apps/permissions/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/ro_RO/LC_MESSAGES/django.po index a9d3fe8f6b..0cd0bd96f0 100644 --- a/mayan/apps/permissions/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Badea Gabriel , 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-04-17 09:43+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" -"edms/language/ro_RO/)\n" -"Language: ro_RO\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" @@ -120,10 +118,9 @@ msgid "Comma separated list of permission primary keys to grant to this role." msgstr "" #: serializers.py:92 -#, fuzzy, python-format -#| msgid "Has permission" +#, python-format msgid "No such permission: %s" -msgstr "has permission" +msgstr "" #: views.py:45 msgid "Available groups" @@ -143,6 +140,7 @@ msgid "Available permissions" msgstr "" #: views.py:80 +#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -167,6 +165,9 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" +#~ msgid "Has permission" +#~ msgstr "has permission" + #~ msgid " and " #~ msgstr " and " @@ -176,10 +177,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -195,17 +194,13 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/ru/LC_MESSAGES/django.mo index b7ca371aea358506787aaf8a852fb71498283751..550f2261b7dfbfbf30209957e71a8a1010f3ae36 100644 GIT binary patch delta 318 zcmX}nPfG$p9LDjVwq*DxQW7nZ%!>!v*gv7L)I0E$B6JZpFbKk--KC?wh6+Kt`3?ln zoxOF`-h!79eFJ`%7KdRz^E}K9%wKk!oocbSLR@5fAaWrhsY8((*0G9hEa592<42Sy zcuxMtGyKIOZqUS3Ld3>fOydiN=Z1KNV+`M$C*)CbY!(#Ul@(s%8c#8I^luHr{svF5 z7iEP^d1uMv7nX4v^*RjqBiVBOK<{|& Zz<+iF40rUDhBfQ4Dw>xUq;u*kyN(2lg5yRR~xvfq-H0+@#74XeBn{9oPsq zsqHM)Td)a|G~R&kCOZuC%=a-fFz3{7YNdoe(_xWwM5HJpswz^(do1A-7O;;=oCJA+ zdGZ(L@PJwTK?~KWNCg`hM-TmTA86nd{r5Ied6P7o9R+vgh=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:22 models.py:46 models.py:77 permissions.py:7 msgid "Permissions" @@ -121,10 +118,9 @@ msgid "Comma separated list of permission primary keys to grant to this role." msgstr "" #: serializers.py:92 -#, fuzzy, python-format -#| msgid "Role permissions" +#, python-format msgid "No such permission: %s" -msgstr "Разрешения роли" +msgstr "" #: views.py:45 msgid "Available groups" @@ -144,6 +140,7 @@ msgid "Available permissions" msgstr "Доступные разрешения" #: views.py:80 +#| msgid "Grant permissions" msgid "Granted permissions" msgstr "Предоставленные разрешения" @@ -180,10 +177,8 @@ msgstr "Разрешения роли: %s" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -199,17 +194,13 @@ msgstr "Разрешения роли: %s" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/sl_SI/LC_MESSAGES/django.mo index c5f0349f00e9bc1be799b290bbdd5e4df24930ab..e9d600ceedaf92efd4baa499e70ec65f835d71f9 100644 GIT binary patch delta 44 scmcb{c8zUAGb69Lu7QcJk)eX2k(H70k+Fh-k(H_0k+Fh-k(H_0WFJOppooF7u92aFk)f4=@#Yf7AVvW2LJA82 diff --git a/mayan/apps/permissions/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/permissions/locale/vi_VN/LC_MESSAGES/django.po index a6d5e5b094..8f9bb5fe31 100644 --- a/mayan/apps/permissions/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/permissions/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Trung Phan Minh , 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:03+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" -"mayan-edms/language/vi_VN/)\n" -"Language: vi_VN\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:22 models.py:46 models.py:77 permissions.py:7 @@ -119,10 +118,9 @@ msgid "Comma separated list of permission primary keys to grant to this role." msgstr "" #: serializers.py:92 -#, fuzzy, python-format -#| msgid "Has permission" +#, python-format msgid "No such permission: %s" -msgstr "has permission" +msgstr "" #: views.py:45 msgid "Available groups" @@ -142,6 +140,7 @@ msgid "Available permissions" msgstr "" #: views.py:80 +#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -166,6 +165,9 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" +#~ msgid "Has permission" +#~ msgstr "has permission" + #~ msgid " and " #~ msgstr " and " @@ -175,10 +177,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -194,17 +194,13 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/permissions/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/permissions/locale/zh_CN/LC_MESSAGES/django.mo index bb23b13241d2198ba35cad7f41870a7420bd4f1e..d4ecb7ac5bcbbd2462c8a967338b7e66da4e06f4 100644 GIT binary patch delta 66 zcmdnQv58|t6qBjBu7QcJk)eX2k(H4#kZoYV72vNMlvylWKYNcRgUk+Fh-krj|_U}9jv72vNMlvylWKYNcRgU, 2014 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:03+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" -"language/zh_CN/)\n" -"Language: zh_CN\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:22 models.py:46 models.py:77 permissions.py:7 @@ -119,10 +118,9 @@ msgid "Comma separated list of permission primary keys to grant to this role." msgstr "" #: serializers.py:92 -#, fuzzy, python-format -#| msgid "Has permission" +#, python-format msgid "No such permission: %s" -msgstr "has permission" +msgstr "" #: views.py:45 msgid "Available groups" @@ -142,6 +140,7 @@ msgid "Available permissions" msgstr "" #: views.py:80 +#| msgid "Grant permissions" msgid "Granted permissions" msgstr "" @@ -166,6 +165,9 @@ msgstr "" #~ "A list of existing roles that are automatically assigned to newly created " #~ "users" +#~ msgid "Has permission" +#~ msgstr "has permission" + #~ msgid " and " #~ msgstr " and " @@ -175,10 +177,8 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" granted to: %(requester)s." #~ msgstr "Permission \"%(permission)s\" granted to: %(requester)s." -#~ msgid "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, already had the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, already had the permission \"%(permission)s\" granted." #~ msgid "" #~ "Are you sure you wish to grant the %(permissions_label)s %(title_suffix)s?" @@ -194,17 +194,13 @@ msgstr "" #~ msgid "Permission \"%(permission)s\" revoked from: %(requester)s." #~ msgstr "Permission \"%(permission)s\" revoked from: %(requester)s." -#~ msgid "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." -#~ msgstr "" -#~ "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgid "%(requester)s, doesn't have the permission \"%(permission)s\" granted." +#~ msgstr "%(requester)s, doesn't have the permission \"%(permission)s\" granted." #~ msgid "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgstr "" -#~ "Are you sure you wish to revoke the %(permissions_label)s " -#~ "%(title_suffix)s?" +#~ "Are you sure you wish to revoke the %(permissions_label)s %(title_suffix)s?" #~ msgid "Users" #~ msgstr "Users" diff --git a/mayan/apps/rest_api/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/rest_api/locale/ar/LC_MESSAGES/django.mo index 41c712e524ad0e4ab4cb9edbb9f371cd8cd34203..96aadb4e6d1a382a537a665741adbb341b9253d2 100644 GIT binary patch delta 107 zcmZ3?GLvP33gi8WstM8Nx&|h?MurN8Mpj0~K(>JaSAf56P-I+q{b delta 117 zcmbQqvY2Ip3ggR(stKuPx`u|jM#c&TMpmX~x&|f&23!IDxEqz&;u7Q<9BjAofh8jVV%H$i diff --git a/mayan/apps/rest_api/locale/ar/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/ar/LC_MESSAGES/django.po index ec1890395b..f59568536c 100644 --- a/mayan/apps/rest_api/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/ar/LC_MESSAGES/django.po @@ -1,23 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-20 19:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" -"ar/)\n" -"Language: ar\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:16 links.py:8 msgid "REST API" diff --git a/mayan/apps/rest_api/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/rest_api/locale/bg/LC_MESSAGES/django.mo index 08a83685518b6fa3e4155466fa2ce88d0c047e43..d713270dd215cc694b32799bbcc80e2facb7e241 100644 GIT binary patch delta 106 zcmcc2e3E&B3S<97)r4qsT>}$cBSQs4BP%0gAltxzE5KhjD77rJI5R&_*Cnwe)k?w0 yz!0v^%*x12+W-i-d=iUGbVG^~^NMp4OY)1X6oT@TQj1FRfpl?VQD*+cS1$n~sUUj* delta 116 zcmX@fe3^NI3ggU)stKuPx`u|jM#c&TMpmX~x&|f&23!IDxEqz&;u7Q<9Beo7!Ak&2f+21I diff --git a/mayan/apps/rest_api/locale/bg/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/bg/LC_MESSAGES/django.po index f97880c07d..68ce2a79d5 100644 --- a/mayan/apps/rest_api/locale/bg/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/bg/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-20 19:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/bg/)\n" -"Language: bg\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 links.py:8 diff --git a/mayan/apps/rest_api/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/rest_api/locale/bs_BA/LC_MESSAGES/django.mo index a2b29641afe6289d619e3cfdc521a9b335fbaefb..5dc33dcdab5202a688b001a0bcd4266e75b1807d 100644 GIT binary patch delta 108 zcmdnRvVmoS3ez{niE8oD=DG$Zx<-ZyhDKIK#z3}#0at*(Zcu7jW^rbIo~}z`Nvf5C zk%1vxotc%9nYIBCaQP$_m*|ERCFT|9B$nhCSt$hNC#4pZ\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" -"rosarior/mayan-edms/language/bs_BA/)\n" -"Language: bs_BA\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:16 links.py:8 msgid "REST API" diff --git a/mayan/apps/rest_api/locale/da/LC_MESSAGES/django.mo b/mayan/apps/rest_api/locale/da/LC_MESSAGES/django.mo index 5786ff12558c7afd803d16983aadb2bb2c0a38b1..c616db04ec92e3fe8fcfcbc5aa6ff7ea85cfa2d1 100644 GIT binary patch delta 106 zcmcb>e2jU53S-Yi)r4qsT>}$cBSQs4BP%0gAltxzE5KhjD77rJI5R&_*Cnwe)k?w0 yz!0v^%*x12+W-i-d=iUGbVG^~^NMp4OY)1X6oT@TQj1FRfpl?VQD*+cSI+<+2Ow_% delta 116 zcmX@ce1Um_3gfhistKuPx`u|jM#c&TMpmX~x&|f&23!IDxEqz&;u7Q<9Beo7!7~6xh9P1A diff --git a/mayan/apps/rest_api/locale/da/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/da/LC_MESSAGES/django.po index 76e295503d..1e360850f7 100644 --- a/mayan/apps/rest_api/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/da/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-20 19:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" -"da/)\n" -"Language: da\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 links.py:8 diff --git a/mayan/apps/rest_api/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/rest_api/locale/de_DE/LC_MESSAGES/django.mo index ce3e3382949c7f600112b854a99616fc84812afb..deee6b8ce20039639a854f3c735d788e3dbaaab6 100644 GIT binary patch delta 314 zcmXZWF-yZh6bJB&rXYfYog5tA(9$WA#DEYwDAYkkEQ*`UnZAT8$(`oXf_4yeb;;mo za92k+!H?l5aqyqU2S5Jrc*o;?yRV&xpRW5NP%do45IS%LP2IpI+`<|>!2q7&%@N`Q z+03(*c7BKK;r)ojSRlkIH2arzFg~J@NoED>N>;Vm7+h+3oikO2Ql%$kxl}S&_gqqv zOKT}LWlVirFHWO9&yTz?pdgIHUG%=cK0fo#d9JK7+8fD=V+#GC{TERf#6kVL)jMV@ zr;-lmT;@t=G@SB(yPp+OKw$, 2017 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" -"Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" -"edms/language/de_DE/)\n" -"Language: de_DE\n" +"PO-Revision-Date: 2017-04-24 21:12+0000\n" +"Last-Translator: Jesaja Everling \n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 links.py:8 @@ -25,7 +25,7 @@ msgstr "REST API" #: fields.py:30 #, python-format msgid "Unable to find serializer class for: %s" -msgstr "" +msgstr "Kein Serialisierer gefunden für: %s" #: links.py:12 msgid "API Documentation" diff --git a/mayan/apps/rest_api/locale/en/LC_MESSAGES/django.mo b/mayan/apps/rest_api/locale/en/LC_MESSAGES/django.mo index 4233b5c52c2935160b576d2a23ef2e3a47ea1f6a..2a49b9eccb8068fe73b6d325cac90bbe08440f20 100644 GIT binary patch delta 23 ecmeyx^owai7q7Xlfr+k>p@N~2m67qp>5l5lk{_-C1A<}3Rgy!`HD9|D!Z9-P1c?qFGS7{UW=!Yhp64c>b~{2+JX ztiPJyA{E{>5@Uf78?fBp)#>D%#=dIrjZ2&setUG|c-k0Bo@Un76iu+)*e4UHYB)xk z`B2h+Ts&VK9p~~eR|OTSR2sdMTa&B&+C185z01d(Oi4->tACoLE~WndJLu_4kHs`^ YYfr{i-lf2STF2cD3^?%mGI#gHKLLS1e*gdg delta 137 zcmbQvx`rk4o)F7a1|VPtVi_Pd0b*7l_5orLNC09%AWj5g4j?WD;$B7uh8iF(0mNKP z5OHN74HRYoQed+fCT1#6+~UJ)rfX=ZYh, 2015 msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" -"language/fa/)\n" -"Language: fa\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:16 links.py:8 diff --git a/mayan/apps/rest_api/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/rest_api/locale/fr/LC_MESSAGES/django.mo index e50d874bce06ebe7b5654310c77ef807ba261334..16d5a0e7c64ab71ab129673e9dd615b602ee10e9 100644 GIT binary patch delta 109 zcmX@bvVvuTiD)+?149i11A`b4b1(rhkd~k5S#N5tYha>lWT;?hWMyOwWE&W81^DX* zrIuwDXXfYWx+IpQS}7PA7{b+=Ss9s4{435Ml%JGZRFba{lwX`!l$pQTm64SZ0PMCJ AX#fBK delta 143 zcmZ3%a*AbwiRfBJ28J321_m)8)?#8{-~iH&6Fuuq&2$Y7b&ZS_42-ORYy%Sm1Fisn z-JsO6%;L=aJYAQ>l2j`NBLhRAoUyKvp@Na2m4VU3zv70@8AX}JCHVyzsS3^>j-g?$ iAqqCha525)jKtEi)DnmE+{DZrz2y8{yUogstc(DMAST=Z diff --git a/mayan/apps/rest_api/locale/fr/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/fr/LC_MESSAGES/django.po index db2c17158f..663bee3e05 100644 --- a/mayan/apps/rest_api/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Christophe CHAUVET , 2015 msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" -"Last-Translator: Christophe CHAUVET \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" -"fr/)\n" -"Language: fr\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:16 links.py:8 diff --git a/mayan/apps/rest_api/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/rest_api/locale/hu/LC_MESSAGES/django.mo index 136e76ce92161a72999479cc30be7513ede61780..4144046e029bd642b57617dc53a234a13ffb3ca5 100644 GIT binary patch delta 106 zcmcc2e3E&B3S<97)r4qsT>}$cBSQs4BP%0gAltxzE5KhjD77rJI5R&_*Cnwe)k?w0 yz!0v^%*x12+W-i-d=iUGbVG^~^NMp4OY)1X6oT@TQj1FRfpl?VQD*+cS1$n~sUUj* delta 116 zcmX@fe3^NI3ggU)stKuPx`u|jM#c&TMpmX~x&|f&23!IDxEqz&;u7Q<9Beo7!Ak&2f+21I diff --git a/mayan/apps/rest_api/locale/hu/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/hu/LC_MESSAGES/django.po index 422e093d40..5eb41846ce 100644 --- a/mayan/apps/rest_api/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/hu/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-20 19:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/hu/)\n" -"Language: hu\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 links.py:8 diff --git a/mayan/apps/rest_api/locale/id/LC_MESSAGES/django.mo b/mayan/apps/rest_api/locale/id/LC_MESSAGES/django.mo index 63a22c3d43d905e6dee234b8ef42d42f78666196..ffa0196af0fbfbb2c02dc23fc730c49f0a6efba3 100644 GIT binary patch delta 106 zcmX@he3*HH3S;L))r4qsT>}$cBSQs4BP%0gAltxzE5KhjD77rJI5R&_*Cnwe)k?w0 yz!0v^%*x12+W-i-d=iUGbVG^~^NMp4OY)1X6oT@TQj1FRfpl?VQD*+cSC0W3Wgue! delta 116 zcmX@ie3p5F3ghI7stKuPx`u|jM#c&TMpmX~x&|f&23!IDxEqz&;u7Q<9Beo7!D9eIiXm12 diff --git a/mayan/apps/rest_api/locale/id/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/id/LC_MESSAGES/django.po index d6ca96be0e..7505eb1e72 100644 --- a/mayan/apps/rest_api/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/id/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-20 19:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" -"language/id/)\n" -"Language: id\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:16 links.py:8 diff --git a/mayan/apps/rest_api/locale/it/LC_MESSAGES/django.mo b/mayan/apps/rest_api/locale/it/LC_MESSAGES/django.mo index 2dbaa04f26dcdbd1eb96af3248103e9927c1ea17..85f0abf4021180468202d8152ba9e7b17ed47cc6 100644 GIT binary patch delta 109 zcmX@avW#VdiD)k)149i11A`C{b1^Y6Z~$r9iJtYQ=DG$Zx<-ZyhDKIK#z3}#0at*( zZcu7jW^rbIo~}z`Nvf5Ck%1vxotc%9*~Gu%{6YCisYNCE3PJhBiA9l2j`NBLhRAoUyKvp@Na2m4VU3zv9~NnfYajd3l)%Aw`+Vi9npM cV3S?~V_O, 2016 msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" -"Last-Translator: Giovanni Tricarico \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 links.py:8 diff --git a/mayan/apps/rest_api/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/rest_api/locale/nl_NL/LC_MESSAGES/django.mo index e84bded8af818c329269e72c65a9720c3594f7d4..a140209a5f6b0e79bf59fbc40f7190470d3de78c 100644 GIT binary patch delta 109 zcmcc2vW;beiRgSr28J321_l8jmSJLG-~iIP6Fuuq&2l2j`NBLhRYIx{OHvx$Gj`GfM4Qj1FR6@v1M6N@tQH#;y2GXeky C#2UE( delta 138 zcmdnSa+zgl2j`NBLhRAIs;uJ3k3s9D-+|1f5mlN%TjYPv+@*z6BBbvGV`(( bY*Ha2#ZUo<^xVYE9KGcHT)WN6jKYin_Z}tn diff --git a/mayan/apps/rest_api/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/nl_NL/LC_MESSAGES/django.po index 7c0a29749b..c0a91f0004 100644 --- a/mayan/apps/rest_api/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Evelijn Saaltink , 2016 msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-28 09:43+0000\n" -"Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" -"edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 links.py:8 diff --git a/mayan/apps/rest_api/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/rest_api/locale/pl/LC_MESSAGES/django.mo index 2365243908d05106cbad6996294ab427be71576e..2bdd3501227bb8e8ddbade26c4b6697a8a7ceaa3 100644 GIT binary patch delta 259 zcmZ3*(#$$RhgY77fgy^4fq?^vt0r3JnwskxnCKcADi|7B85slF1_oRK{<=Y_Wtqj9 z`FXl7i6yC43PuKoaCK%@MrIRlf3G*ORw&3RElSL>)yT88HB_)yFi@~k(8yCYG_bQZ zQczP<05NTBO*BDlu(*MZp^-vO4OjxG$Pg%HuV4t&m8S?a0H(^$)&QZ~P!ps9YN{zh i+|mdk0Wu11A<#yMxkf;9jWw;g7=m1bLlhhXJQ)CQnL024 delta 169 zcmZo>UBxm%hxZsG149%80|N&TD^9e`H8s;UG}JXRRxmKK0j2M8Pq@lK}u$ CCntUY diff --git a/mayan/apps/rest_api/locale/pl/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/pl/LC_MESSAGES/django.po index bca3eb0d18..0179e45d17 100644 --- a/mayan/apps/rest_api/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Annunnaky , 2015 msgid "" @@ -9,16 +9,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" -"pl/)\n" -"Language: pl\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:16 links.py:8 msgid "REST API" diff --git a/mayan/apps/rest_api/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/rest_api/locale/pt/LC_MESSAGES/django.mo index 9e9d7641f6ffc2b5cae062a44b96e727eef59d9f..93e976bebf99209704b500ca233f4be3375904fc 100644 GIT binary patch delta 119 zcmeBR`Nup#hj#)a149%81A`C{zn*BB8*Q#@V4`bes9Iw8yIi}`0ECxmSq-a z=I80UB$lLFDHs_T!qu5s8JTGt00EazVsVLXNKs;5aZX}Mevy?zP<~QsQAs|KE>0}U K%%9B7_!j{8#vv>K delta 129 zcmeyz+`%$Ihj$hu149%81A`C{f1PNVn`)+OXsBystYBbdWoo8tU}9jv72vNMlvylWKYNcRgU}&mqV4-VdpkQceWoV&o00dk_J diff --git a/mayan/apps/rest_api/locale/pt/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/pt/LC_MESSAGES/django.po index 1aae53cce2..98458b36cf 100644 --- a/mayan/apps/rest_api/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/pt/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-20 19:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" -"language/pt/)\n" -"Language: pt\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:16 links.py:8 diff --git a/mayan/apps/rest_api/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/rest_api/locale/pt_BR/LC_MESSAGES/django.mo index 17620a6438eb6729e7aa3fc0f4701c02418adebd..f1c00d9f90529c6addeacd7aea4ac14157fddc7f 100644 GIT binary patch delta 109 zcmcb@vWsPciRe5=28J321_n_emS$pL-~iHw6Fuuq&2l2j`NBLhRYIx{OHvx$Gj`GfM4Qj1FR6@v1M6N@tQH`_9bGXek% CHyXwO delta 135 zcmdnRa)o7riRcbS28J321_n_eHf3U9-~iIz6Fuuq&2$Y7b&ZS_42-ORYy%Sm1Fisn z-JsO6%;L=aJYAQ>l2j`NBLhRQIs+30LrW`D(}{n@H63#@^HLSuic&L65{ngV5, 2016 # Rogerio Falcone , 2015 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-04 19:55+0000\n" -"Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" -"edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:16 links.py:8 diff --git a/mayan/apps/rest_api/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/rest_api/locale/ro_RO/LC_MESSAGES/django.mo index b7e889c94a04d6079b8758e20418c3cf352a449b..baaa5240f36197919847957ff309f7d4ee01512b 100644 GIT binary patch delta 107 zcmeBXX=It8!gze5YC^QRu7QcJk)eX2k(H4#kZoYV72vNMlvylWKYNcRg zU1LUr!gz6_YC@`+uA!l>k+Fh-k(H^Lu7Qbx0at*(Zcu7jW^rbIo~}z`Nvf5C zk%6J9u7QQFk%5AtrIn$DwgC`u`6L#X=!O&}<`w58mgE;%DY%9D_$c@}`noFExcWMJ T`ZzecxCFTd2it9YpvVXSLYE+M diff --git a/mayan/apps/rest_api/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/ro_RO/LC_MESSAGES/django.po index fc222023e3..314eabdc3b 100644 --- a/mayan/apps/rest_api/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/ro_RO/LC_MESSAGES/django.po @@ -1,23 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-20 19:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" -"edms/language/ro_RO/)\n" -"Language: ro_RO\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:16 links.py:8 msgid "REST API" diff --git a/mayan/apps/rest_api/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/rest_api/locale/ru/LC_MESSAGES/django.mo index 5ffeeb884c8844b3feb92ec2bb8b4f76a060a161..b65f47be19afcb512e36fef2c34ef61df59ea5a2 100644 GIT binary patch delta 109 zcmdnWx{Gy!iKsXe149i11A`0@PXV$yfb_JaSAf56 zP-vBP$@=z{J3SE5Khj zD77rJI5R&_*Cnwe)k?w0zz`^Bu4`xsWLg=RPW&s*m6Ms1uUC+mmzlg-nQ=NJ0F`DL AhX4Qo diff --git a/mayan/apps/rest_api/locale/ru/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/ru/LC_MESSAGES/django.po index 75bf33b4f6..b8396e683f 100644 --- a/mayan/apps/rest_api/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # lilo.panic, 2016 msgid "" @@ -9,17 +9,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-07-19 20:05+0000\n" -"Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" -"language/ru/)\n" -"Language: ru\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:16 links.py:8 msgid "REST API" diff --git a/mayan/apps/rest_api/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/rest_api/locale/sl_SI/LC_MESSAGES/django.mo index 46cbaabbf969b7a0d3ec3e01790f3a7f7381e86d..a6994d9f475d68c17ff190538304895d6e434e8b 100644 GIT binary patch delta 107 zcmbQi(#JAEh4IQn)r4qsT>}$cBSQs4BP%0gAltxzE5KhjD77rJI5R&_*Cnwe)k?w0 zz!0v^%*x12+W-i-d=iUGbVG^~^NMp4OY)1X6oT@TQj1FRfpl?VQD*+eS9**9Eg2uO delta 117 zcmeBUnZYtah4J1*)r3?tT|+}%BVz>vBP&xgT>}#X1Fisn-JsO6%;L=aJYAQ>l2j`N zBLhQIT>}eUBLf9PODjVQZ37_S@<}W%(G4j|%qz}GEXgmjQg93P@lo(|^mSFRarJfd T^l@->aS3t_4z}C)K#vgsR1YAf diff --git a/mayan/apps/rest_api/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/sl_SI/LC_MESSAGES/django.po index 494265408f..7d1a875d27 100644 --- a/mayan/apps/rest_api/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/sl_SI/LC_MESSAGES/django.po @@ -1,23 +1,21 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-20 19:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" -"edms/language/sl_SI/)\n" -"Language: sl_SI\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" +"Language: sl_SI\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: apps.py:16 links.py:8 msgid "REST API" diff --git a/mayan/apps/rest_api/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/rest_api/locale/vi_VN/LC_MESSAGES/django.mo index b4343e627b4300beec71d4774254fddd3bba58ae..8eabc3c25fb8fec153435299621c3324265ec46f 100644 GIT binary patch delta 106 zcmcb|e1&;}3gfJastM8Nx&|h?MurN8Mpj0~K(>JaSAf56P-uf6~PFZ&>; delta 116 zcmcb@e2;m83geQAstKuPx`u|jM#c&TMpmX~x&|f&23!IDxEqz&;u7Q<9Beo7!508o9wC|l diff --git a/mayan/apps/rest_api/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/vi_VN/LC_MESSAGES/django.po index bd4c433e90..812067054d 100644 --- a/mayan/apps/rest_api/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/vi_VN/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-20 19:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" -"mayan-edms/language/vi_VN/)\n" -"Language: vi_VN\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:16 links.py:8 diff --git a/mayan/apps/rest_api/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/rest_api/locale/zh_CN/LC_MESSAGES/django.mo index f590993e9f4d8f80cf617ca6359d029a2667a09d..2caa55a5427dba3e03f9fce6c1aef361b279c742 100644 GIT binary patch delta 106 zcmcb?e2#g73geWCstM8Nx&|h?MurN8Mpj0~K(>JaSAf56P-uigOwD7PSw delta 116 zcmX@de1my{3gf(qstKuPx`u|jM#c&TMpmX~x&|f&23!IDxEqz&;u7Q<9Beo7!8-s^CLw|V diff --git a/mayan/apps/rest_api/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/rest_api/locale/zh_CN/LC_MESSAGES/django.po index 6fd7d041e5..ab8052d90a 100644 --- a/mayan/apps/rest_api/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/rest_api/locale/zh_CN/LC_MESSAGES/django.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-20 19:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" -"language/zh_CN/)\n" -"Language: zh_CN\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:16 links.py:8 diff --git a/mayan/apps/smart_settings/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/smart_settings/locale/ar/LC_MESSAGES/django.mo index 548116b58b0dcc713df91d582decdd608a24cd21..2b03b9f1eb2869c368217d5d3e34593d148f8d47 100644 GIT binary patch delta 64 zcmcb^a))KY4pVbo0~1{%Lj^-4D=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:18 permissions.py:7 msgid "Smart settings" diff --git a/mayan/apps/smart_settings/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/smart_settings/locale/bg/LC_MESSAGES/django.mo index cc892e5fcab0f6f444ec6a2b7468d2589058c4e9..2969dc44b73218295bbe7c3509aeddb4e5326c7b 100644 GIT binary patch delta 64 zcmbQjGKFQr4pVbo0~1{%Lj^-4D=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:18 permissions.py:7 msgid "Smart settings" diff --git a/mayan/apps/smart_settings/locale/da/LC_MESSAGES/django.mo b/mayan/apps/smart_settings/locale/da/LC_MESSAGES/django.mo index ba6d0b7dc7d81613c1d6be5a4bfef4317116ec83..97b61a5453871af5db049ebc7ed08e133fdc6841 100644 GIT binary patch delta 41 pcmaFC{DOJHB3^S{0~1{%Lj^-4D!lF_W>!XK8?Os80s#4K3ljhU delta 41 wcmaFC{DOJHB3?6HLqlC7V+8{vD^s(H>!pDL2FAKZh6+Z8Rt82JuM08)0Qpr53jhEB diff --git a/mayan/apps/smart_settings/locale/da/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/da/LC_MESSAGES/django.po index 9c1a6c91f6..595a3ce96b 100644 --- a/mayan/apps/smart_settings/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/da/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" -"da/)\n" -"Language: da\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:18 permissions.py:7 diff --git a/mayan/apps/smart_settings/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/smart_settings/locale/de_DE/LC_MESSAGES/django.mo index 9fc6ce3de9330a79d9afbefd9718190cb1b65e45..248271736774b40d90d3f5d47c5a6444d1b997a2 100644 GIT binary patch delta 346 zcmX|+%}N4M6oBuHrY4wZA%+R=V_>|B(a_SRw8%CtuOb>)Q!|6ObJY`Egci~(xNXt1 z^bEFf-FF7*z<0lU&OP_jPs*0PqfPH+4 zZ}Ax(;uAc^(m%&rSc05)o=N-Hs?MZBLE{VD$FgCBn|OB2-?418xQ0J4XDJt?PMSUh zsXWN#IY|il+-W*vxHr$!bckQg#NIh8`{fKuH=f`1bi38of$rFf+vxmPdV%g;`$TbI h;>3H5%uBp5Nf-sKhj2WNk`TuxdJ65Ed$6m__77f8EtUWP delta 444 zcmXZXze~eF6bJB2Q*EqPYAB*;;hZHlNi|>*5kXxHIJh}oXljG)Rq_Kxly2@Nh?C+Z zxai{G_e)+`GG{+^yFA)U#I%F@c;%o+GD_A4m$WFjjyI zFbgYi1}+c#F4R#UKn+Sb3s2xA?7D(`zhJSDjme9oL{vNOlEeQH3#VAr^=HPWX6gbz9JXRV=F;2^N zCy{j?NPaBhX7Bq_l@*aDid%3D%QEaLH|^SrlfEl+TaIB?4cp?jRWt2H6OrE)QEcpo zLPjkScfuNXF(nWY-}IYd%jawDLG5j{SED5_I9pH4nV;g0-@vWDq, 2014 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" -"Last-Translator: Mathias Behrle \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" -"edms/language/de_DE/)\n" -"Language: de_DE\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:18 permissions.py:7 @@ -60,12 +59,6 @@ msgstr "Einstellungen für Bereich %s" msgid "Namespace: %s, not found" msgstr "Bereich %s nicht gefunden" -#~ msgid "Found in path" -#~ msgstr "Gefunden in Pfad" - -#~ msgid "n/a" -#~ msgstr "unbekannt" - #~ msgid "Default" #~ msgstr "default" diff --git a/mayan/apps/smart_settings/locale/en/LC_MESSAGES/django.mo b/mayan/apps/smart_settings/locale/en/LC_MESSAGES/django.mo index 8dde99e13645246273c37929e7afdcac402d118e..19d542c5e67d6224679afacc1a38c4da376c1441 100644 GIT binary patch delta 24 fcmX@fe3E%WE3dh(fr+k>p@N~2m67qrN#=|ITG0lu delta 24 fcmX@fe3E%WE3cWZp`oskv4Vk-m8sdrN#=|ITGIx! diff --git a/mayan/apps/smart_settings/locale/es/LC_MESSAGES/django.mo b/mayan/apps/smart_settings/locale/es/LC_MESSAGES/django.mo index 4f7ee202de84b847d4e6d8b8ac758519f5e06cd2..82ea5ceebfb8c552eeaa1933e0f44c5bcbbc247a 100644 GIT binary patch delta 309 zcmYMv%L)Ne9LMo9V;Gl)#-#{lYoQn-mq(D2EG&nV1*MeiJb)}Tc>oJfU}ND~JOdjG zE8qWY{Ofl<=RRk?=GELklg3$5QBojFVvz@tdJ%)XNtS$wtS2<3l32trRxyWdjN=G{ zI7QjNz$4j`5Mv|2S*7+WM#pBNj2Y~ri9?hJO)!mHlnW1-!V_|r(uq8fq5lx@&&yu< zkd*vf#P87z+|}G~Hfwk0^|YOL*ZNkgQf*Y6TB+uAoVsW0`TtC_<1}w=-O{{q;PM0b C-5((U delta 381 zcmXZXJxjwt9LMoH6HR?c!K$FBaK3=hOKJ;tw_8UiT>=*Da*8G>B6M@ILkaFuu!CzI zd?8~9v_3Bp!Z(!?-jK~w#W@xCKDoMv{E7NppR8t$KC(& zHdgpQ#1cB(z)LLS0B7+5WuFmx_>6t6dg_IaOl&bahX=TgM<^G$#x=ad0EZ|SeZp0I zMLA%CEBJwY>WhZ0)jW}!nez8g>B?CpWv7c}V_77%K;)%Ti_)}Cb9ZdI&YY#$$>8(W zbJeuSbvtZCaU3NzW0PjRQM~C*Mr=K@d&b7iS~C9Dp)T)VbuY4x={R$qXKCSiL!b5P E7oHp~WB>pF diff --git a/mayan/apps/smart_settings/locale/es/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/es/LC_MESSAGES/django.po index bf655f80b2..3a7a42c0e6 100644 --- a/mayan/apps/smart_settings/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/es/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Lory977 , 2015 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-05-09 01:32+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" -"language/es/)\n" -"Language: es\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:18 permissions.py:7 @@ -60,12 +59,6 @@ msgstr "Ajustes en la categoría: %s" msgid "Namespace: %s, not found" msgstr "Categoría: %s, no encontrada" -#~ msgid "Found in path" -#~ msgstr "Existe en ruta" - -#~ msgid "n/a" -#~ msgstr "n/a" - #~ msgid "Default" #~ msgstr "default" diff --git a/mayan/apps/smart_settings/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/smart_settings/locale/fa/LC_MESSAGES/django.mo index e871465a86e09fdc3950f4712b187c8c3240b66d..f52c35d9300d874f1be96fe4e771cdbb21b7bcb6 100644 GIT binary patch delta 42 pcmZ3>vX*7SMP74V0~1{%Lj^-4D!XKo7ouE83Flo3Pk__ delta 42 wcmZ3>vX*7SMP4&qLqlC7V+8{vD^s(H_oRUW2FAKZh6+Z8Rt83!*%;Ls0r^u3Jpcdz diff --git a/mayan/apps/smart_settings/locale/fa/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/fa/LC_MESSAGES/django.po index 094e5a9a97..5a7e327203 100644 --- a/mayan/apps/smart_settings/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mehdi Amani , 2014 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" -"language/fa/)\n" -"Language: fa\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:18 permissions.py:7 diff --git a/mayan/apps/smart_settings/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/smart_settings/locale/fr/LC_MESSAGES/django.mo index db1c4af7f5dbbd35bd2917b746695ef0d7e679c5..3494d8dbe6693c1e2302fb3c10d511931f32dfd2 100644 GIT binary patch delta 346 zcmX|+O-lk%6hPmMre;_q1WNg_sZ9)wqZp3<1Zh$2Ts=i9P$y=FXqC`bX!Gbdv~%5} zt@tn8xvx#@&K;r)=bn4tyS$HeZk?TPis?5+Cr zi{RoU=q}jN(M4Ru-9N$ST3>kbyAST}O+VLHx?hFt4M9yH^T-7jo_i?6C-^9lE_uPAh=nFr#l|H*i|`6g!#lVH zpW!(CfUEEuibhm)H40atn6E)>kzI(Z$rvIkGi30iVkpiiL?3pS!$cesr6M>xDDfcK z4-?j)KBH|X_Ikh9GAlc2BGvL$%`h~xLUq&HtfueM+)-82E1GFg)39`NT}P=0P84f4 zcUTlSamX!dd%nwghaT3wFplZgp2JTOcPEKl9+g, 2014 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" -"Last-Translator: Thierry Schott \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" -"fr/)\n" -"Language: fr\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:18 permissions.py:7 @@ -60,12 +59,6 @@ msgstr "Paramètres dans l'espace de noms : %s" msgid "Namespace: %s, not found" msgstr "Espace de nom : %s non trouvé" -#~ msgid "Found in path" -#~ msgstr "Trouvé dans le chemin" - -#~ msgid "n/a" -#~ msgstr "n/a" - #~ msgid "Default" #~ msgstr "default" diff --git a/mayan/apps/smart_settings/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/smart_settings/locale/hu/LC_MESSAGES/django.mo index 7124e333dc3c435b7c986f2c015ff4be16a995b7..4144046e029bd642b57617dc53a234a13ffb3ca5 100644 GIT binary patch delta 64 zcmX@fe3E%WtEsuJfr+k>p@N~2m60)!ZD7C^;IA8$T9#RynV+ZYl30>zrC?-W2v=uj LWn{K-7e6BaInfaZ delta 64 zcmX@fe3E%WtEri;p`oskv4Vk-6_9OUVqm}(;IA8$T9#RynV+ZYl30>zrC?-WXsT;q Sp=)HWU|?!xWU_G=KO+D-un`Xc diff --git a/mayan/apps/smart_settings/locale/hu/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/hu/LC_MESSAGES/django.po index 645258c109..e6de50ca28 100644 --- a/mayan/apps/smart_settings/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/hu/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-27 05:24+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/hu/)\n" -"Language: hu\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:18 permissions.py:7 diff --git a/mayan/apps/smart_settings/locale/id/LC_MESSAGES/django.mo b/mayan/apps/smart_settings/locale/id/LC_MESSAGES/django.mo index 2b4b4cee56dddc61eebd5a6fd6175742e7c29137..ffa0196af0fbfbb2c02dc23fc730c49f0a6efba3 100644 GIT binary patch delta 64 zcmX@ie3*GctEsuJfr+k>p@N~2m60)!ZD7C^;IA8$T9#RynV+ZYl30>zrC?-W2v=uj LWn{K-7bhbCHqj9E delta 64 zcmX@ie3*GctEri;p`oskv4Vk-6_9OUVqm}(;IA8$T9#RynV+ZYl30>zrC?-WXsT;q Sp=)HWU|?!xWU_G=CnEqiun_$K diff --git a/mayan/apps/smart_settings/locale/id/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/id/LC_MESSAGES/django.po index 6b4321a97a..4917538c3f 100644 --- a/mayan/apps/smart_settings/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/id/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2015-08-27 05:24+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" -"language/id/)\n" -"Language: id\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:18 permissions.py:7 diff --git a/mayan/apps/smart_settings/locale/it/LC_MESSAGES/django.mo b/mayan/apps/smart_settings/locale/it/LC_MESSAGES/django.mo index 70b395ba5c170dd4ea45af294a9d3e0dd7ace334..f35532241ca5742925132a97cbcdff7cebe00a95 100644 GIT binary patch delta 346 zcmX}nu}Z^G6vpwBG`2NZr5(hgLME3INK>g8oSch;y34H;6w*eLARUB0fz!puaC2}d z4h}wstE(=~{!fq|`0nrK=5TZJ*8FHJK0Dr%P(IlsDQS@<(fTGH`5`;xm+1Q~N2G)M z*u)6Cc#NBPfonKM?Z3fCa{qts)kFf3h4^f?Y3QL2aEcpvg$J0TUTm?B&)CKnj#HD#73!Fe{G4-rK`9+edgV@cz1ZSNb zoJE{m1Xl-F5jR)=1i!ECgO|^}%e}kzuD)u6@2Yak5Oc^?TW>aXtHn*r*|LidY30b)&5mxhx!G}A+nXk$d?>P9@1`Qk z0+Gk5!(EYjG2a(q68M?VcS5QSZ&Dkfw|5$fUSN1}xLd51erw${K1VB${D3Du4yRdM K$nu+lIoLnYCPn)I diff --git a/mayan/apps/smart_settings/locale/it/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/it/LC_MESSAGES/django.po index 0f85fe1b1d..c94c70e049 100644 --- a/mayan/apps/smart_settings/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Marco Camplese , 2016 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-09-24 09:38+0000\n" -"Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:18 permissions.py:7 @@ -58,12 +57,6 @@ msgstr "Impostazioni nello spazio dei nomi: %s" msgid "Namespace: %s, not found" msgstr "Spazio dei nomi: %s, non trovato" -#~ msgid "Found in path" -#~ msgstr "Trovato nel percorso" - -#~ msgid "n/a" -#~ msgstr "n/a" - #~ msgid "Default" #~ msgstr "default" diff --git a/mayan/apps/smart_settings/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/smart_settings/locale/nl_NL/LC_MESSAGES/django.mo index 709f33def45ad51059aed4be027ef9e4f0206320..b882957c51803512c2b92849c71a635ee96f93a8 100644 GIT binary patch delta 255 zcmZo;+s#^kPl#nI0}!wQu?!IV05LZZ*8njHtN>ybAYKW?96-Ddi1~ncI}o!1@i8Fg z1>!S6JfD$);TDhvsjp&UVBi7L^*~w}NcR9~kR1!4{N+Fzs9Y1Qm>DPm10X|za&Q3B z1OgL})$y9^8kp!B87deWSs58m4rG)zhKrb48JTGt00EazVsVLXNKs;5aZX}Mevy?z aP<~QsQAs|KE>0}U%%8l6@#o~DOpXBG$R?5i delta 359 zcmdnZ+QwFYPl#nI0}!wSu?!H005LZZ_W&^n>;Ph3Al?bYEI@o5h&h1x3=s1H@l_yZ z1>z?_3{v+Bi1#ouF#G`0{6M^w38L>PkmdpMPXTFRAblN3voSEZGrWchd;-!yePF{t z7J(cD0zgF!%wQIT04jq3xBSw)6ot$@g@VMAjEO7i>dkZw4Rwu-6%355OwDu+ObiUT z0{nG@Qp+-nGxPIwT@p)DtrUz541wwlbd4+&3=OP|jI|AbfXgSbxI{OkC^4@%C$S{I z$V$PrEHx)HD^DRfF)^nkGcQ}gCKV!53>9!l&rQtC(M!(HwFBzTOD|2F+`;&X-#xV~ QKQARU58|$r$(2k_0QFNyivR!s diff --git a/mayan/apps/smart_settings/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/nl_NL/LC_MESSAGES/django.po index e2c8448853..241f2e070d 100644 --- a/mayan/apps/smart_settings/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-28 10:23+0000\n" -"Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" -"edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:18 permissions.py:7 @@ -58,9 +57,6 @@ msgstr "" msgid "Namespace: %s, not found" msgstr "" -#~ msgid "Found in path" -#~ msgstr "Gevonden in pad" - #~ msgid "Default" #~ msgstr "default" diff --git a/mayan/apps/smart_settings/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/smart_settings/locale/pl/LC_MESSAGES/django.mo index 7f631eb02d6f559fbf62a2ea2faf6bf56c247ae2..e64163cf3fa799fca4f887d9a1680efe3187b1dd 100644 GIT binary patch delta 499 zcmYL@T}s1H5QQgg)mW%M6;Y|;EoiYw;oh5CX-w({iio;_R0;~Uk)((Z#VjJ|le_T6 zhrYOkx&W6TiXiyrnONI_lW#IV=gyZoG^4kC=AIB)XdUW6IcNZJd_WoK6IzA7A@0u` zM0s!nG(icjfpu^WJO!t~7Rd7#;AV>GW>kMj6KxSi^oV2u1213!dixa=q4thQqdcmb1-=&5|H9k%+M?2kZ zB^$05rIO&(ajRv{le%=27X5zGz>q@gP$*%GZqZfasfH^j+p5e9BiFr2y*{b4)Bk&U Si5LHTHGHk|K{kF$4}JklQBUds delta 519 zcmYk%O-lkn7zglKwKCHvLo6(qpd^Xa+0}$hty8BAia^NIpi-MU8@?cj;H|qX9wLZN zeF6^=9`hXDqfVU@`U3sOI`qIZzh|C#+Z{Q-ot<~Dqel>K4_t>1 z7=g<$_SerqFXlPugaWR>CY*;|I0YY|yyp?xVIO`fq(h!i_|UjVS8nXX4fqTf;0FxA zF?2yUzG5Bvp&#zTS$G1MU=Cs{F(Iy=tN~(^1490&jA^8ku-`{#Fp-C3$VYH?5_57q zG#jEo4MDGY{jxj0v5N?|8cN0!S2a!5qm=21ow)U?1Ww~Bi>kUtbuGd4ZH90i@mgIy zt8!5*^SW70(5!h?FP3PQSMx1iGMlxML6gmJ^WXg7qQZ@GIB!, 2015 @@ -13,16 +13,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" -"Last-Translator: Wojtek Warczakowski \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" -"pl/)\n" -"Language: pl\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:18 permissions.py:7 msgid "Smart settings" @@ -62,12 +60,6 @@ msgstr "Ustawienia w przestrzeni nazw: %s" msgid "Namespace: %s, not found" msgstr "Przestrzeń nazw: %s, nie znaleziono" -#~ msgid "Found in path" -#~ msgstr "Znaleziono ścieżkę" - -#~ msgid "n/a" -#~ msgstr "n/d" - #~ msgid "Default" #~ msgstr "default" diff --git a/mayan/apps/smart_settings/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/smart_settings/locale/pt/LC_MESSAGES/django.mo index 3910ca596e81e50cea02b9cc6ae963d586278cbe..617a7c47f3237a2301068f6bfc3c338cef3343a3 100644 GIT binary patch delta 64 zcmeBR>0p_#!_-{Yz(m)`P{Gj1%E%bVHZb4{@YfAWEz2y<%+J$xNi0dVQZO0p_#!_-XI&`{UNSi!)^3dlAvF)-i?@YfAWEz2y<%+J$xNi0dVQZO0#DQrxfyh*LNY*Lz@CF{>Wt?EW(EimQunv5}+W(4~B|hjt zw#7q`R6u(dbwlXqmWqsJXfDUal3kmTJN9nfyVtKD1z{(MTFq7zM{T#}@3#Ld-8kwV lhD5DzvOG9T%~durxlQBdiA~07ZgFPP3+wLuA9r7R`30(aE(rht delta 447 zcmXZWKTE?v7zXf56K!m*klI1<59i<{X_HzD4I(<&$!u;;XN@$_UTTt}gU~?`*Am4RtJ(gRm;72d#k_y{ZT4bqSw zkOugg^nW2eP{d*S-+*Ybb%?9k3__L5NbjJ}X+&pMb~uj>9il2AGze9ZmUb|dC)}5O zAmZ-$=USCDkqi~L)HH3|tZ#Cw?rb%acV)>caoLdpRs@8N3q9cz&oPv%WjZV)O!sRuz$2S BL?{3N diff --git a/mayan/apps/smart_settings/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/pt_BR/LC_MESSAGES/django.po index dc32c565fb..1cf411455c 100644 --- a/mayan/apps/smart_settings/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-04 19:09+0000\n" -"Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" -"edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:18 permissions.py:7 @@ -60,12 +59,6 @@ msgstr "Ajustes na categoria: %s" msgid "Namespace: %s, not found" msgstr "Categoria: %s, não encontrada" -#~ msgid "Found in path" -#~ msgstr "Existe no caminho" - -#~ msgid "n/a" -#~ msgstr "n/a" - #~ msgid "Default" #~ msgstr "default" diff --git a/mayan/apps/smart_settings/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/smart_settings/locale/ro_RO/LC_MESSAGES/django.mo index f3b1eacf33d640e3cedf6352471c484313ac1b18..1971eed160eecdeafd4b4f9bcb1cfbebec581b94 100644 GIT binary patch delta 64 zcmX@ea*$=h4pVbo0~1{%Lj^-4D19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:18 permissions.py:7 msgid "Smart settings" diff --git a/mayan/apps/smart_settings/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/smart_settings/locale/ru/LC_MESSAGES/django.mo index 8fd731350734b7a6d153294dbd1ab8102b1cbcfd..6504c38f765ec6de0a850fb194fc5b699cc8d561 100644 GIT binary patch delta 358 zcmX}nu}Z^09LMqh#Z+yeRl8JCu?kKlkfx<#6rZ3vsFT}O3JTT8C5X864cZ|T#8+_a zphI6ls4w6%=+fEmW$+Kb`&{ml`(NI@&*I>_;*N##$QJ375}6WPKg1=!WSz{3-Ct26 z72L*U3~&Pvv5Xg3z%JVNZ?Ni!JmMnH!v&E@WFTWE`z*|`g>$qA*XeqMC%A*pxQeg1 zi*LwT!kPI6`7FN($P%&5Z6jOu=Zg7^;Y{E4@*#Q9*V(ap%05)5bl?XqKWx+*VH7sA zHD|N=ztWDvc0HiHj!shl(&+o7uhZB>wez^!Gii*8Hn;KQ$}y_&GMj#lvQu|&Qg*BA E53JHNJpcdz delta 440 zcmXZXy-Pw-7{~E*y;f=&<&?e9aS(#IdNnh;Elo|?)Yf#VAwjO<3oU_=(AFSQThP=T zsc1v>2Sjvij>fhi`V0CV?SbF@ocnM%&pEHbUa0;V@m~sRiY$^-GD|*)E@=o6#u)lB ziF26w@8>YW{{aTj!ziBMG&XSzZ&06eizaq3;uCezXE9IXh3+_hp@ZKT#}%e#a1ZsM z25#XMF5^4S;4j9|WSV|J964G9i7wxW;Y0OO&k6{8bh`JalwpVQ`wCh%?)_&Rb zDh0P%EIYE0FBB6c*UKNamwaU-dadr%gX*ZRdQ?wR-Ana6XbjF&zkOkD8xgu)sd{Yc H5VnXvt&dNC diff --git a/mayan/apps/smart_settings/locale/ru/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/ru/LC_MESSAGES/django.po index 64959bfefa..27c8a9fd27 100644 --- a/mayan/apps/smart_settings/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -10,17 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-07-19 20:00+0000\n" -"Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" -"language/ru/)\n" -"Language: ru\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:18 permissions.py:7 msgid "Smart settings" @@ -60,12 +57,6 @@ msgstr "Параметры в пространстве имён: %s" msgid "Namespace: %s, not found" msgstr "Пространство имён: %s, не найдено" -#~ msgid "Found in path" -#~ msgstr "Найдено в пути" - -#~ msgid "n/a" -#~ msgstr "не задано" - #~ msgid "Default" #~ msgstr "default" diff --git a/mayan/apps/smart_settings/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/smart_settings/locale/sl_SI/LC_MESSAGES/django.mo index 50e863802e78efb046ba85bd6c2143e352d74d55..bf7b1efd0f4fbb9fabea9fb4a074713e4e095fb6 100644 GIT binary patch delta 41 pcmZ3_vYutaB3^S{0~1{%Lj^-4D!lF_W>!XK8?Q$&0s!cF3hDp= delta 41 wcmZ3_vYutaB3?6HLqlC7V+8{vD^s(H>!pDL2FAKZh6+Z8Rt82JuSYNf0O(-~;s5{u diff --git a/mayan/apps/smart_settings/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/smart_settings/locale/sl_SI/LC_MESSAGES/django.po index 855dacaef9..65829a1947 100644 --- a/mayan/apps/smart_settings/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/smart_settings/locale/sl_SI/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,16 +9,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:02+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" -"edms/language/sl_SI/)\n" -"Language: sl_SI\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" +"Language: sl_SI\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: apps.py:18 permissions.py:7 msgid "Smart settings" diff --git a/mayan/apps/smart_settings/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/smart_settings/locale/vi_VN/LC_MESSAGES/django.mo index f5c06ef6e385bb97f3b84af95c2de8301ed06068..06c587ac15d536e81d9d4a7505174db7e63a82ec 100644 GIT binary patch delta 64 zcmbQvGM#0@4pVbo0~1{%Lj^-4D0z0$!_-{Yz(m)`P{Gj1%E%bVHZb4{@YfAWEz2y<%+J$xNi0dVQZO0z0$!_-XI&`{UNSi!)^3dlAvF)-i?@YfAWEz2y<%+J$xNi0dVQZOk+Fh-k(H_0WC2!bpooF7u92aFk)f5L;bsfg=PUr)_zB7Y diff --git a/mayan/apps/sources/locale/ar/LC_MESSAGES/django.po b/mayan/apps/sources/locale/ar/LC_MESSAGES/django.po index eeb0d0a8c7..041cf5ba96 100644 --- a/mayan/apps/sources/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -10,22 +10,21 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" -"ar/)\n" -"Language: ar\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "" @@ -310,6 +309,7 @@ msgid "" msgstr "" #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -412,6 +412,7 @@ msgstr "" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -426,11 +427,12 @@ msgstr "" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." msgstr "" #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "" @@ -453,7 +455,8 @@ msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." +msgid "" +"New document version queued for uploaded and will be available shortly." msgstr "" #: views.py:418 @@ -477,6 +480,7 @@ msgstr "انشاء مصدر جديد من النوع: %s" #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" @@ -513,6 +517,9 @@ msgstr "" msgid "Tags to be attached." msgstr "" +#~ msgid "Staging file page image" +#~ msgstr "Staging file" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -595,11 +602,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/sources/locale/bg/LC_MESSAGES/django.mo index 6ebd27275660b4ed34a1f455dd412eda74dd927f..10056462db2eb02626c0bd70d31903579327b505 100644 GIT binary patch delta 66 zcmZ3?vzTYYR3=k%T>}$cBSQs4BP%0gAltxzE5KhjD77rJI5R&_*Cnwe)k?w0z!0v^ N%*x1Y^C_lCW&lf=5nliR delta 66 zcmZ3?vzTYYR3=k1T|+}%BVz>vBP$@=z{J3SE5KhjD77rJI5R&_*Cnwe)k?w0zz`^B TtZQVbU}R`zXt?, 2012 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/bg/)\n" -"Language: bg\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 @@ -25,6 +24,7 @@ msgid "Sources" msgstr "" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "" @@ -309,6 +309,7 @@ msgid "" msgstr "" #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -411,6 +412,7 @@ msgstr "" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -425,11 +427,12 @@ msgstr "" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." msgstr "" #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "" @@ -452,7 +455,8 @@ msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." +msgid "" +"New document version queued for uploaded and will be available shortly." msgstr "" #: views.py:418 @@ -476,6 +480,7 @@ msgstr "" #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" @@ -512,6 +517,9 @@ msgstr "" msgid "Tags to be attached." msgstr "" +#~ msgid "Staging file page image" +#~ msgstr "Staging file" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -594,11 +602,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/sources/locale/bs_BA/LC_MESSAGES/django.mo index 3d7419f22057a1e21cf5c671ccda4f0a2d97a449..c323e3fc436337ffd1198c7db922aa92e6efc900 100644 GIT binary patch delta 44 rcmX>ubX;fyGb^vTu7QcJk)eX2k(H70WC2!bgov4yk=bSoR(=)$<|_$C delta 44 ycmX>ubX;fyGb^u|uA!l>k+Fh-k(H_0WC2!bpooF7u92aFk)f5L;bsd~eii`c5D7j2 diff --git a/mayan/apps/sources/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/sources/locale/bs_BA/LC_MESSAGES/django.po index 197431cbed..46c3e2ad3d 100644 --- a/mayan/apps/sources/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -10,22 +10,21 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" -"rosarior/mayan-edms/language/bs_BA/)\n" -"Language: bs_BA\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "" @@ -310,6 +309,7 @@ msgid "" msgstr "" #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -412,6 +412,7 @@ msgstr "" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -426,11 +427,12 @@ msgstr "" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." msgstr "" #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "" @@ -453,7 +455,8 @@ msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." +msgid "" +"New document version queued for uploaded and will be available shortly." msgstr "" #: views.py:418 @@ -477,6 +480,7 @@ msgstr "Kreiraj novi tip izvora: %s" #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" @@ -513,6 +517,9 @@ msgstr "" msgid "Tags to be attached." msgstr "" +#~ msgid "Staging file page image" +#~ msgstr "Staging file" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -595,11 +602,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/da/LC_MESSAGES/django.mo b/mayan/apps/sources/locale/da/LC_MESSAGES/django.mo index f73fd7ff4b2bc29b4508700dce8351f14ae05909..232ec14e5643fd0659074307bbc9b38bf7337709 100644 GIT binary patch delta 44 rcmaDN@I+w4I~HDZT>}$cBSQs4BP%20$-h~o5h7+*MrNCpSsj@HCnF1N delta 44 ycmaDN@I+w4I~HCuT|+}%BVz>vBP&z0$-h~ofg%RRx<-ZyMut{~hMSdH9hm_q2n%EY diff --git a/mayan/apps/sources/locale/da/LC_MESSAGES/django.po b/mayan/apps/sources/locale/da/LC_MESSAGES/django.po index 3bc967bd04..b2fb2e2d31 100644 --- a/mayan/apps/sources/locale/da/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/da/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mads L. Nielsen , 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" -"da/)\n" -"Language: da\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 @@ -25,6 +24,7 @@ msgid "Sources" msgstr "" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "" @@ -309,6 +309,7 @@ msgid "" msgstr "" #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -411,6 +412,7 @@ msgstr "" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -425,11 +427,12 @@ msgstr "" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." msgstr "" #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "" @@ -452,7 +455,8 @@ msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." +msgid "" +"New document version queued for uploaded and will be available shortly." msgstr "" #: views.py:418 @@ -476,6 +480,7 @@ msgstr "Dan en ny kilde af typen: %s" #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" @@ -512,6 +517,9 @@ msgstr "" msgid "Tags to be attached." msgstr "" +#~ msgid "Staging file page image" +#~ msgstr "Staging file" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -594,11 +602,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/sources/locale/de_DE/LC_MESSAGES/django.mo index b148fe64b4dd22b86926684be7018cac4e36b6c1..6e702bd35973f0e5fff16b9ff026de09b0b0a578 100644 GIT binary patch delta 2530 zcmYk;ZA_JA9LMoLapb9xL<2;SgNZ44fOC*XQxrAD2S7|Kln{&zOb>z8mbIg^vNgxr z0OuBSx?UvHtue+{Ip=zz^IzCr`#``Kp!7`jnCj&Ou`?L|7?suiFgOKf(gvR7#?Z?^H3A2 zLiN*t>Zb`A%ic!q-~lYcUi2}(U8Ita-y@5(e^4*RPIYIVj@rt6)QU<`6Wfhi(Fdrl z?M4mMi|KeAwS#9+6FQHY_+`(l7~u@;Co13JJyb`-^sW`3!AiV{t1*tz)L|XAV*~OP zJMTTehFZW))P!%N2EL1W?;)}_iGmb@lF$p!X zOjL)tsGTUsY^=t)xC^zg&yX=~01NP2)RFv-O=#2Ef30Xc8KQyOQ8VtuMtm35;dRu? z{>CbtLdHFZYfzteAbnaNYUL+!HV&dDJc3%l4e#?mP~-j;p%S1nf%&+Q>4k7B>I>c2 zA4Oo8b~zcQ9UAbwfPUIzn1eo+Js)#XN4W{LL$9DF-iDgsY19NF!&KO9JBLb|QPcqA zs2AgBx;v7LYNvYokuhxn>U+yk*KQjw#4c1n$8iOoMZF)z%Q}*oIH3EVOGPWahMMUu z)K=d`b?`5;IhM{H(|ZM|vtNQ*!FtTaEw}&=ptk-LY6mW(1|C86`y0}w-NQWH|EY|k zGq1qKSn0L*q0V$aa_rWF8t_Y8g@dS-JVfna9KT)~ARTq)Imj3mLcLexecpslu32(|Y(24*C?<*s6?OiGQ*)Ef zxq7ro5!*@xh&PF5f*Y;;ch6p#I$2gz*-V59?Zz%brGQW(u?bEBg0uPtY$qy-CSnb- zf>6WWmqU!; z8L^vqjo3t}=qNgfCy1Q{ITCUH=YqPG6BUH=K_!}KBQ~l*$s=ASmJ#cSQX-2`g6f(s zAykwnb;L?FDCC+`l&G_a4TO^S1;Y9FA0L-oYD%0MLK&(g(T|0)R%JP%t2bGcGuypJ zBPv%^s)-k!n)|2afA#s)O9V<^~b+v)| z)_2;v+QNGRE1UPWR`^4O!N>2FRD?=;Hl(B`)rVVJJNJhD_2I7O&bIK-;gl;0L*eXO G(fpX=6ftA+knyp5^ zwpL?gv1L|N%k_u1TCL`6%UWey&9&7Q&T0)%+nkHGWVN2JyDwXR^cnAad_Ld%-si{r z^Z9oOGQ8U2ovyIyam6<47`H;nK?evFqsccC6}6%! z_5^B0qo~wQpawdH4*U?6!3(GfO`<0Li|u6$vj^rnl}~XYy{e;cP%FNG8}JftMvKwZ z;Q>5|gUCxXH6t_B?99 zmr*G@iM#PFRELS2G_9}{>(PrV@d)bs6G-3Y94Z4pU;+M&nz%;QLefy*=Y^?g;9_*5 z3tiZS<@gNh2WRm8IAhLZKkZ{IUzxgYo53oEW=Mw{mftkF5o8J-;8WY z*mP5QhYLffmFDv-X{M`Dsa}ujpb^QU=|SCh1hw~1q82cUrT8kY!mm)N{{xkQY&y}v zOHuuL(4ptQhRSL#>_DyXaa@lhcKb8bo_>iO1M?GVz-zb(Z=eoW9d9pXa4Twn9@L(P zkU5x#QTL76-@lDXjBg@T)Zxd-E|_!p8eY^5_!!I3N=L92$FKvZPy^N$(mA%F1~`xE zZxXejDbyBTwcE3(4Bo)7I!?A?&topCqda^F$51QI;+fLpxB@jHC+fNvwZbM;YCBN< zg=`g6l&l_G;|m%Q5k4KJ+2+71w2|Dj#XaZf?k~ywx?02_YAu5irsebY$>&yF%ET5 z_5EGCMrbg0#oR;87yo<(l`R!*^BSU%@uM#wh?ebqy6w7B-beJ?ZE-i@B(@P+(R|T< zs_5WuAPy6He{>K!+$skMou3{x>=M?2sU_|twh&s~y@W;Zu8F=*!T9t+*-ZqAokTUE zZR;hp|NkwWG_(cj#6E(DBw7ae)YEj3U<<;At&ILVOhE0e_FJWnSfL8#4x*8`pU{cd z9<~tyqKl{^^loS;HWE5)>xezXeA!QhU5lP0ogE%7ww(OmL?w~XGs-rbN87VPy~ z1HORY3ikN|k&>*l@!m?O$Kx!ou-xU<)ZJ^{?$owcXS@G_;83tX VJJ`G5+BWP91Ve#H(z2QOe*uli^mhON diff --git a/mayan/apps/sources/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/sources/locale/de_DE/LC_MESSAGES/django.po index 40a6be7602..9e125cb8e6 100644 --- a/mayan/apps/sources/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/de_DE/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Berny , 2015-2016 @@ -15,14 +15,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-10-31 18:57+0000\n" -"Last-Translator: Tobias Paepke \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" -"edms/language/de_DE/)\n" -"Language: de_DE\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 @@ -30,6 +29,7 @@ msgid "Sources" msgstr "Quellen" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "Quelle definieren" @@ -38,10 +38,7 @@ msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." -msgstr "" -"Dokumentenquellen definieren verschiedene Möglichkeiten für die Einspeisung " -"in Mayan EDMS. Minimal ein Webformular für das Hochladen mittels Browser ist " -"erforderlich." +msgstr "Dokumentenquellen definieren verschiedene Möglichkeiten für die Einspeisung in Mayan EDMS. Minimal ein Webformular für das Hochladen mittels Browser ist erforderlich." #: apps.py:66 msgid "Created" @@ -285,9 +282,7 @@ msgstr "SSL" msgid "" "Typical choices are 110 for POP3, 995 for POP3 over SSL, 143 for IMAP, 993 " "for IMAP over SSL." -msgstr "" -"Typische Werte sind 110 für POP3, 995 für POP3 über SSL, 143 für IMAP, 993 " -"für IMAP über SSL" +msgstr "Typische Werte sind 110 für POP3, 995 für POP3 über SSL, 143 für IMAP, 993 für IMAP über SSL" #: models.py:338 msgid "Port" @@ -306,10 +301,7 @@ msgid "" "Name of the attachment that will contains the metadata type names and value " "pairs to be assigned to the rest of the downloaded attachments. Note: This " "attachment has to be the first attachment." -msgstr "" -"Name des Anhangs, der die Metadatentypen (Paare von Namen und Werten) für " -"die folgenden Anhänge enthält (Bemerkung: dieser Anhang muss der erste " -"Anhang sein)." +msgstr "Name des Anhangs, der die Metadatentypen (Paare von Namen und Werten) für die folgenden Anhänge enthält (Bemerkung: dieser Anhang muss der erste Anhang sein)." #: models.py:349 msgid "Metadata attachment name" @@ -319,11 +311,10 @@ msgstr "Name Metadatenattachment" msgid "" "Select a metadata type valid for the document type selected in which to " "store the email's subject." -msgstr "" -"Wählen Sie einen Metadatentyp zur Speicherung des E-Mail-Betreffs, der für " -"den ausgewählten Dokumententyp zulässig ist" +msgstr "Wählen Sie einen Metadatentyp zur Speicherung des E-Mail-Betreffs, der für den ausgewählten Dokumententyp zulässig ist" #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "Metadatentyp des Betreffs" @@ -331,9 +322,7 @@ msgstr "Metadatentyp des Betreffs" msgid "" "Select a metadata type valid for the document type selected in which to " "store the email's \"from\" value." -msgstr "" -"Wählen Sie einen Metadatentyp zur Speicherung des E-Mail-Absenders, der für " -"den ausgewählten Dokumententyp zulässig ist" +msgstr "Wählen Sie einen Metadatentyp zur Speicherung des E-Mail-Absenders, der für den ausgewählten Dokumententyp zulässig ist" #: models.py:363 msgid "From metadata type" @@ -352,18 +341,14 @@ msgstr "Textkörper der E-Mail speichern" msgid "" "Subject metadata type \"%(metadata_type)s\" is not valid for the document " "type: %(document_type)s" -msgstr "" -"Metadatentyp \"%(metadata_type)s\" des Betreffs ist für den Dokumententyp " -"\"%(document_type)s\" nicht zulässig." +msgstr "Metadatentyp \"%(metadata_type)s\" des Betreffs ist für den Dokumententyp \"%(document_type)s\" nicht zulässig." #: models.py:391 #, python-format msgid "" "\"From\" metadata type \"%(metadata_type)s\" is not valid for the document " "type: %(document_type)s" -msgstr "" -"Metadatentyp \"%(metadata_type)s\" des Absenders ist für den Dokumententyp " -"\"%(document_type)s\" nicht zulässig." +msgstr "Metadatentyp \"%(metadata_type)s\" des Absenders ist für den Dokumententyp \"%(document_type)s\" nicht zulässig." #: models.py:441 #, python-format @@ -432,6 +417,7 @@ msgstr "Staging-Datei löschen" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "Fehler bei der Verarbeitung der Quelle %s" @@ -446,13 +432,12 @@ msgstr "Logeinträge für Quelle %s" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." -msgstr "" -"Es wurden keine interaktiven Dokumentenquellen konfiguriert. Bitte erstellen " -"oder aktivieren Sie eine bevor Sie fortsetzen." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." +msgstr "Es wurden keine interaktiven Dokumentenquellen konfiguriert. Bitte erstellen oder aktivieren Sie eine bevor Sie fortsetzen." #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "Dokumenteneigenschaften" @@ -462,8 +447,7 @@ msgstr "Dateien im Staging Pfad" #: views.py:256 msgid "New document queued for uploaded and will be available shortly." -msgstr "" -"Neues Dokument in die Upload-Warteschlange eingereiht und demnächst verfügbar" +msgstr "Neues Dokument in die Upload-Warteschlange eingereiht und demnächst verfügbar" #: views.py:302 #, python-format @@ -476,10 +460,9 @@ msgid "Document \"%s\" is blocked from uploading new versions." msgstr "Vom Dokument \"%s\" können keine neuen Versionen hochgeladen werden." #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." -msgstr "" -"Neue Dokumentenvrsion in die Upload-Warteschlange eingereiht und demnächst " -"verfügbar" +msgid "" +"New document version queued for uploaded and will be available shortly." +msgstr "Neue Dokumentenvrsion in die Upload-Warteschlange eingereiht und demnächst verfügbar" #: views.py:418 #, python-format @@ -487,10 +470,9 @@ msgid "Upload a new version from source: %s" msgstr "Eine neue Version von Quelle %s hochladen" #: views.py:458 -#, fuzzy, python-format -#| msgid "Log entries for source: %s" +#, python-format msgid "Trigger check for source \"%s\"?" -msgstr "Logeinträge für Quelle %s" +msgstr "" #: views.py:471 msgid "Source check queued." @@ -503,6 +485,7 @@ msgstr "Quelle des Typs %s erstellen" #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "Quelle %s wirklich löschen?" @@ -540,7 +523,7 @@ msgid "Tags to be attached." msgstr "" #~ msgid "Staging file page image" -#~ msgstr "Seitenbild Stagingdatei" +#~ msgstr "Staging file" #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -624,11 +607,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/en/LC_MESSAGES/django.mo b/mayan/apps/sources/locale/en/LC_MESSAGES/django.mo index 240f0068ce7463009aeb48a2c00a3244ab488279..316bd543051df32ccd6222159c8d624a94fe1aa7 100644 GIT binary patch delta 26 hcmaFN|CoP68Vj$vu7QcJk)eX2k(H70=3k+Fh-k(H_0=3peah#54PzhYXYWxb7SkC>% zEJcfI--;8l3s2#G9FKY9)IMoUF@-EDR^n8w!wI+@`It_=^gseNgBP&?4u?a~fsKkErf6rw$dVT?FWh+q$)}Ruq z!(rTmqZ!}SQmfOw7T4icY{65g)Bih0P|KlH-iNHZIe=Q~lc+6w4>jONsQxaa+FwV# zc0Zxc%&(|+4{(r@%4{ly`8W$Xhh{BuPRtJ9K3vHCL0pXQqGmjdTFNY&K6E9>q)YZCK`z~y5X|kclxg#ue9kV^fs&|be8VDbe42(_7Hk=y!3QZE4`caA=F77xgMgh z%fERN$M|I(&P{%KgdKiiJ}xCn26J+T#&o*DZX1paq(0A?p0RjtQEaXa#cZG_66|){ zYB@2J7niC62Lj+oj6T_{nwyd(IEOj%tD095m#)(>|GZJ-Dqoy@xRM$s>iC#BMX5K2evACmkcqZXGZ4uk% z+F;b>iEzU0cVZ*Upouk2e=T!SU1Hy*RM>84T-|KluyuQEFyZvrsB+;cI*vJAv^Hx7 z?@q}}{g+>mm0CZ0MMnPGc!(k5bm`a_^L4^*m(%9NN(Yk#bBaIxc%u{EM+Ynu%_6qX Wi8{8&vF!;`b<&GrQ>P2MGXDppkXaJ| delta 2505 zcmYk+e@xVM9LMp`!Q~H#_#rFIHBCt;x}KcYbKN1`dv0T&+e!xmuK>TGRn zQQ92KSyIwg)~H$Qn*F15)ZB2xtskpd6Sn-LHJa6OHCKPo^L6*3@fmL(pU?L`_x=2O zf9_h%%T?i-H0SGv(nYKwy5o(}gY%2{M@d;~Od6(I^D&e5dQ8Wyw%v~U%3)lBFJdJQ z<6^vw%kgW>!CAb^n6O!t5bKbSJTq%-+mCu-B`(8i%)-5>fuF*1970X#BC6l_n1Zu7 zivMB~o=lAOJA+Qz7chhI%@|dQmH8U6FpHJg5#y5XZ(Uv(G)rU!_32i~GWGCK+9jF1iFdGL^J9Zp3 zz$w&($E+Wqw)_*Ez{{xjymCiup~o@2kq2*6sl^%83kw;&3q8mqa|-o*9JPYaP!qn0 z8h8@b?+P-8xrU^XnMLK)Z>Xb8WHp*#8meD*3j5FEO)(F&r9RY)8j$ap{g{W{n2*O$ zD~ce0W{Q97a2j<4NvW}ku0jpuMorL%%~*kY&q>rmE~K*mo2g9lpa>H=ICUsRo#7t- zX{AqMF7~4)Jc3%mnEm`LYKJ~YH%{PM{2jfROJ=J7c0B4JXRwg=jWDUKN;=b5l5Mc= z!&S7OL#^aAD(m0JT0Des0lxh%AH~R`~+$z!*5a17tSH~ z(R_#6k(+oY`Z*VMY(&O1A-sfPWYbJFAG)v!HQ+O-GY_LaA4R?QENYx7)WmF|(e*0@Sr~vTP-70@h$Q?!o{nsn1~_ zUP2|WkC$XIzNw+26||tv=n!hamrySpMt$K;)V2B$l^Y+U`hAO<*pFC**OB}(3G8<< z<|3zQYOO7J5A6XAuc309idH^_`of=Bi#cQ@lQr$A6&yiLNeLSvH_%-hdh~fZBnBsD4MR@8Wvelc?*d)OUcc zpo)vo1S*IUVjZEPG1{Uv`+K4D*BOyBW;by!@dUAt&_q-^2(5O$Y@yOfXyw}eAfd9F z(4^T6^B|$Z{LG`#8jHidL=~~oKHJIorp`8YAV(KH<4XICTr>5=<3uwtUzF)AI(l=o zGb-BJ8lsTcN-QkfZ9~Vcoh!5La0`_N+sMZ*Ldg;!^h>sfQ1KDEMhDcO#1ZYpBWh5J zW0?C9gcXTt9GxrfH<;26pCV~=<{wS!XUn$*!PD0miGojnCuoTfy;_N5Z+7I|0 zG9Fuh0F^KEMalP=Z8TvtSFoDc7Jbg$U07Oa=q7meaHMYOL?k^S!x3psyyb`tC3VIp zg}Q^TgMrSVE7TL{9J!wIL&|}Hp0?gVsN3uc^#uC{`Xh6xhvLfo?vfI>x76kFR`~pG zPnpM)(74ULBRCj(I@H(et_t)AD_mYr$^ZTQ6=jj}^n$p^bY{IH(zg6WTqG~2+?iR& hIKf_52g82(PG_h$plTpev$EbX@{!9Gx#ofoW diff --git a/mayan/apps/sources/locale/es/LC_MESSAGES/django.po b/mayan/apps/sources/locale/es/LC_MESSAGES/django.po index 66434047ee..c95ac08536 100644 --- a/mayan/apps/sources/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/es/LC_MESSAGES/django.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 # jmcainzos , 2015 # Lory977 , 2015 -# Roberto Rosario, 2015-2016 +# Roberto Rosario, 2015-2017 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-23 06:42+0000\n" +"PO-Revision-Date: 2017-04-23 03:02+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" -"language/es/)\n" -"Language: es\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 @@ -28,6 +27,7 @@ msgid "Sources" msgstr "Fuentes" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "Crear una nueva fuente de documentos" @@ -36,10 +36,7 @@ msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." -msgstr "" -"Las fuentes de documentos son la manera en la que se almacenan nuevos " -"documentos en Mayan EDMS. Crea por lo menos una fuente del tipo formulario " -"web para poder cargar documentos desde un navegador." +msgstr "Las fuentes de documentos son la manera en la que se almacenan nuevos documentos en Mayan EDMS. Crea por lo menos una fuente del tipo formulario web para poder cargar documentos desde un navegador." #: apps.py:66 msgid "Created" @@ -67,8 +64,7 @@ msgstr "Expandir archivos comprimidos" #: forms.py:46 msgid "Upload a compressed file's contained files as individual documents" -msgstr "" -"Subir los archivos de un archivo comprimido como documentos individuales" +msgstr "Subir los archivos de un archivo comprimido como documentos individuales" #: forms.py:67 views.py:431 msgid "Staging file" @@ -128,7 +124,7 @@ msgstr "Bitácoras" #: links.py:91 msgid "Check now" -msgstr "" +msgstr "Revisar ahora" #: literals.py:10 literals.py:15 msgid "Always" @@ -254,8 +250,7 @@ msgstr "Intérvalo" #: models.py:273 msgid "Assign a document type to documents uploaded from this source." -msgstr "" -"Asignar un tipo de documento a los documentos subidos desde esta fuente" +msgstr "Asignar un tipo de documento a los documentos subidos desde esta fuente" #: models.py:275 msgid "Document type" @@ -285,9 +280,7 @@ msgstr "SSL" msgid "" "Typical choices are 110 for POP3, 995 for POP3 over SSL, 143 for IMAP, 993 " "for IMAP over SSL." -msgstr "" -"Las opciones típicas son 110 para POP3, 995 para POP3 sobre SSL, 143 para " -"IMAP, 993 para IMAP sobre SSL." +msgstr "Las opciones típicas son 110 para POP3, 995 para POP3 sobre SSL, 143 para IMAP, 993 para IMAP sobre SSL." #: models.py:338 msgid "Port" @@ -306,11 +299,7 @@ msgid "" "Name of the attachment that will contains the metadata type names and value " "pairs to be assigned to the rest of the downloaded attachments. Note: This " "attachment has to be the first attachment." -msgstr "" -"Nombre del archivo adjunto que contiene los nombres de los tipos de " -"metadatos y los pares de valores que se asignará al resto de los archivos " -"adjuntos descargados. Nota: Este anejo tiene que ser el primer archivo " -"adjunto." +msgstr "Nombre del archivo adjunto que contiene los nombres de los tipos de metadatos y los pares de valores que se asignará al resto de los archivos adjuntos descargados. Nota: Este anejo tiene que ser el primer archivo adjunto." #: models.py:349 msgid "Metadata attachment name" @@ -323,6 +312,7 @@ msgid "" msgstr "" #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "Tipo de metadatos de asunto " @@ -381,7 +371,7 @@ msgstr "Correo electrónico POP" #: models.py:534 msgid "IMAP Mailbox from which to check for messages." -msgstr "" +msgstr "Buzón IMAP en el cual revisar mensajes." #: models.py:535 msgid "Mailbox" @@ -425,6 +415,7 @@ msgstr "Borrar archivos provisionales" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "Error procesando fuente: %s" @@ -439,13 +430,12 @@ msgstr "Entradas de bitácora para fuente: %s" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." -msgstr "" -"No se han definido fuentes de documentos interactivos o no hay ninguna " -"habilitada, cree una antes de continuar." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." +msgstr "No se han definido fuentes de documentos interactivos o no hay ninguna habilitada, cree una antes de continuar." #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "Propiedades de documento" @@ -465,13 +455,12 @@ msgstr "Subir documento local desde la fuente: %s" #: views.py:331 #, python-format msgid "Document \"%s\" is blocked from uploading new versions." -msgstr "" +msgstr "Documento \"%s\" esta bloqueado de crear nuevas versiones." #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." -msgstr "" -"Nueva versión del documento en cola para ser cargado, estará disponible en " -"breve." +msgid "" +"New document version queued for uploaded and will be available shortly." +msgstr "Nueva versión del documento en cola para ser cargado, estará disponible en breve." #: views.py:418 #, python-format @@ -479,10 +468,9 @@ msgid "Upload a new version from source: %s" msgstr "Subir una nueva versión de la fuente: %s" #: views.py:458 -#, fuzzy, python-format -#| msgid "Log entries for source: %s" +#, python-format msgid "Trigger check for source \"%s\"?" -msgstr "Entradas de bitácora para fuente: %s" +msgstr "¿Lanzar chequeo para la fuenta \"%s\"? " #: views.py:471 msgid "Source check queued." @@ -495,6 +483,7 @@ msgstr "Crear nuevo tipo de fuente: %s" #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "¿Eliminar la fuente: %s?" @@ -529,10 +518,10 @@ msgstr "Asistente de carga de documentos" #: wizards.py:98 msgid "Tags to be attached." -msgstr "" +msgstr "Etiquetas a ser anejadas." #~ msgid "Staging file page image" -#~ msgstr "Imagen de página de archivo provisional" +#~ msgstr "Staging file" #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -616,11 +605,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/sources/locale/fa/LC_MESSAGES/django.mo index 1c1075e131d7bad6b131d2fc7a1251cb1a74560c..fb5190431f8dd33d572ce5be87d510894095eda3 100644 GIT binary patch delta 1638 zcmYM!TSyd99LMpq=5AWKsa-bPvXxpxX*XSWydTGdRkVM2( zSb<@bSoC5`_)-#?4_%=UN|&y06%k~&m!j{lMjH0a=ggTi=lsuq&g`SIAEnl-%;YnM zqnax2N0-MG%pi6b!7m`u!ZjN(|Xt8g@KaIW{DhwI~*f~RmMo=1MBkCPwY;za!Q zuiY|!dZ*Gb8Pzd_8YqUNumXKpho!g;)3FuP@CGL19UOx_I1&>$0zabq{X~uLVX{f+ zMW3;Z2~*Jkm8bz~a5!$lBHZEJZ^dC;x1lo9feP>*GPZevF?@>(z(;2VIu(`7Qq;IJ zQGryeo%zjjDzk76R$((ThIxbA@dJ8sB~Pn;3({nEq9)#tT0kSJ-!asR&*BigjC!^0 zsLb}D0(gX$I`&dgs@|an_>5Y?Z`6cdZt8(?sEGo&9)maq51|5T$GI5CsrcQwpUou7 z*gRCgt1ufkrjdX8m;*HMGfhs1bEt_gVF<5d82d4TsYFTDRNzq;sl*(vpAxkkKm{;{ z{0DIc7UO1ApyyE;xsp!)H&D4t17nz+3^pPb;54j9z2k$9XHXMgMWwP6HBcAot4N^s z%oo&N%4OMq14S*g8r6R_j>El{({KU!1 zUexn1aXfxPWh8}fRV&ZOGK?X&jJ1o3KCeSghYQYio715SHSjasf(hJpaQXwWSEnvz0-=yKpXP2OgCrk(tfPOSEvbtL?y$hOq8G=-0IkfdQ}%u zsqRKi)Q5UCA5ok13ogMr@~wbda1P$UsJ{QNR3bFwW&K;hI#kDfs7=)5w8tHvV6)4Z z_oxXQ`CE(OX{^NuxCpa|R^x0&y8qpPi?N8J``Tam_7V5UJbg3EC|XVpWg(@SqGc$j zIw~kj?Az{=i7Tinlev`nl)-~#n0h{a_Cv4# Ue@k(Bq&Pm{?M#V3_kBzL0|(5XcK`qY delta 1712 zcmXxkS!_&E9LMo9ZD(4gwqjIir=i3$HFri!8%t4LFfFx4Z50#7Qc5Ep=tPJmcrg); zc=13feP~9tFCHu})*wWi+8(5_M50K5D~ zL@m?FzXF(s*%-n+Jcx;J6PzygorSuhQ zo^I6F5zjXD?hHe{Q|0(KP}D|upvFfcREAPHV|TQohxTJs>c5~D<5_(iTBr$DVh)Cp zpK0J!ftOLK{e`;U$u~L-2ct6LL+!j0^D(lDiY7RPdiIy>0XOaT1N(Y6YT_Tb9^=_o z9d1P3{{oL<4{E`^q(PZ%Kn2o>B*(O&-ksY>1|sGG6@KOeC%vt4L{W?`)Ph0VrKn7- zL8b0E>d`dW?PsV*_7#c23?;2vFbDOB3Q;d>2?p^Trt16uLS-f$iD|}6!ZP$@J!&T{ zs2$!zy-cs|{vy4C3( zJDXZ1Mf;df(QWf6ieF3Vm`W*+HajPeSWHc+98H-+`G2q|^hXak+V3%kugI9-qH}x^I%tm%O0DTN&CF-WlFj<1MPL3l(_$K8tGs vuix_ctpdx6-R;|!G`yp!qqXyJ*RhTk50!l#&7Frl(AagX^FXZD?Q;GB!ZN-H diff --git a/mayan/apps/sources/locale/fa/LC_MESSAGES/django.po b/mayan/apps/sources/locale/fa/LC_MESSAGES/django.po index 5514e2864d..36864cc90f 100644 --- a/mayan/apps/sources/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammad Dashtizadeh , 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" -"language/fa/)\n" -"Language: fa\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 @@ -25,6 +24,7 @@ msgid "Sources" msgstr "سورس" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "" @@ -137,9 +137,7 @@ msgstr "پرسیدن از کاربر" #: literals.py:27 models.py:252 msgid "Web form" -msgstr "" -"وب فرم " -"ا " +msgstr "وب فرم ا " #: literals.py:28 models.py:232 msgid "Staging folder" @@ -279,9 +277,7 @@ msgstr "SSL" msgid "" "Typical choices are 110 for POP3, 995 for POP3 over SSL, 143 for IMAP, 993 " "for IMAP over SSL." -msgstr "" -"Typical choices are 110 for POP3, 995 for POP3 over SSL, 143 for IMAP, 993 " -"for IMAP over SSL." +msgstr "Typical choices are 110 for POP3, 995 for POP3 over SSL, 143 for IMAP, 993 for IMAP over SSL." #: models.py:338 msgid "Port" @@ -313,6 +309,7 @@ msgid "" msgstr "" #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -415,6 +412,7 @@ msgstr "" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -429,13 +427,12 @@ msgstr "" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." -msgstr "" -"هیچ منبع محاوره ای سند تعریف و یا فعال نشده، قبل از ادامه دادن یک منبع " -"بسازید." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." +msgstr "هیچ منبع محاوره ای سند تعریف و یا فعال نشده، قبل از ادامه دادن یک منبع بسازید." #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "" @@ -458,7 +455,8 @@ msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." +msgid "" +"New document version queued for uploaded and will be available shortly." msgstr "نسخه سند جدید که جهت آپلود وارد صف شد بزودی قابل دسترس خواهد بود." #: views.py:418 @@ -482,6 +480,7 @@ msgstr "ایجاد سورس جدید از نوع %s." #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" @@ -519,7 +518,7 @@ msgid "Tags to be attached." msgstr "" #~ msgid "Staging file page image" -#~ msgstr "تصویر صفحه فایل مرحله ای" +#~ msgstr "Staging file" #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -603,11 +602,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/sources/locale/fr/LC_MESSAGES/django.mo index 217c04ccdb2769375c3eee23ca6a0600888bc154..65e56d469868725971ccd9327dd82b5d5d4f0a20 100644 GIT binary patch delta 2545 zcmYM$eN2^Q7{~F;IB*ao0+h%%j-Wya1P276LPSCc6U1H&Qv@YCARI(0+^Q3nt<6O- z)GgzWm~)GknPYA()?6!^y)ZFrYi-#d=qCA3P{~%!`u@&&uzOzTbKlQ-&i!)T_w(Q@ zTMyL+uEe{J8Ksk0N(_dX>B3SsAC%7dX1j1d#^Z$JBqq|ni3>3%D%4KF2--y$iKSSA zRTz%1qq^?HB(s1Wr?P|#XK)#QTX^lj5l`)^doVbNv@7=?G^a?}J0a2-~oCiW_> z#dlEmU&6ca8V=%3jA48mSP=Tb5W4u{V_bxvVk}-p{@ElSG58y51-CF6Be(YsbWitF(LZo)`LQ-`(KiuK4( zY|Od-J!%10P!pa)4LpOoZx&gbMZ~dI)sy`y;d4DV>jxDv8ahH zLv@&e%0v;az$#pcZK#F4g^X##cprX(+LB+f0WE?2Yel;`AsVO^HRCSaiO-`t`~kJH zzpxC$IdN%NiTb`1>C=v(R{kC?$FryjPoNg?v-AB8)VO~HsAN&Oh1rZv#1W@xO)|r zptfKyY9ei@A09-_ycd=7BaWvXFXCFRPa|Dg8YgiBmLhYsLr4Iq#R#8%p;F&2~PL=#VU%tIZ%64U~# zkwsfA(v`JiK+oYDR9?e=?8T&%&|y4*n#fnER8F8){3CjB29??b@|lAh9lLQg?Ng`> ze2W@z2Jgps9vPBmTUL_)E-L%Dpw#_>+PmxM!Z3dA$4IQe9@JqxkB{Ow>ae9S+B)2h z>bM_uy3gRfIEtG1HPlx9i+X=7NeehHlC;oYsUj@qiynLsM^J}z8t0+X`xL=KY%@_p zXaaeJiuV1PU@dgowJlE)O8X8%kLEt2kIt2L^+W?vNo*ukyhKf~X7&Vn2xYd6Pzfkqb;Q%e9%8QOq>|m>Ta0W4iyp&= z38l0-c;)|($DOLqf%aJ2(N63owh<~MG5G(CJFtbw)%tf)Q7Iyn`VKWHVT6y^ss=@G zx$Q(LQB4#Q$wUO9$4lF#@&Hjwl&e8m5hAqT)E^=AR8$bbzyEld*aW9Nx|#{fiO^RM*Is0aOMnS(&*ouprRj~!ekuAoA47%$M2DUW}J^SOyNTV%ECO% zMNOazHK0~hJ5f|S4H6ALv?f#v++$-1}~xpG=duVmyTl?V-3ttRNlquw5ojYdx2I zX~cP`9~Pqq=0l~r4%KigGDZ`|1-J(b@CDQa&mvF48B$4sVqE7wb~6oaVt4x&0bjW^?Y^y3xOL}MQA zYSS!3J4uS{ z#>^;{bKLk7wMOr8mh>LDh#L7dwD1qqG0kCvD8*i+0n>;Y&<50I4PXhrgfwX`INyJZ zTKlWW_A+^NlCSgcp`tg`I@FpULe2aLYOT+pI{XO9z8P`u|BMY>|BX!A)U(ix(QHBu zd=F}X`%vvYgKFm;WILE4UDLn$nu=!d8!DCm;1DjzOQil9Dl@-hJEmHRJ+K3He+;+d zIHqHWMl|qUj(bs??*M9oN020#7coYg=4~oEkDuY=_yz98(89!K97XMcIqWzMG#54F zBDAmuwOIqG6dyu2e&F~E7I9s~5m6>qqx$VFApf^h>E{MnG(#B0A5kgX%F|lIFec-p z7{UFx0=oZg=io=#1djNF;TWrVY|dP`f}91n6C4G1C_~y z&TauwL8#~msXRz@$7}qr21|$sh-E}QQBM3{Y2@bJ1e-rz>KxfR<}Rn6t&N~^Ke3wF zK$H@`!LHN~Q_{knw$&48x2yB9UwatyI8rS-*, 2016 @@ -13,14 +13,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-05-23 20:06+0000\n" -"Last-Translator: Bruno CAPELETO \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" -"fr/)\n" -"Language: fr\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 @@ -28,6 +27,7 @@ msgid "Sources" msgstr "Sources" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "Créer un document source" @@ -36,10 +36,7 @@ msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." -msgstr "" -"Les sources de document seront la façon pour lesquels les nouveaux documents " -"seront suivis dans Mayan EDMS, créer par au moins un formulaire web pour " -"téléverser le document depuis le navigateur" +msgstr "Les sources de document seront la façon pour lesquels les nouveaux documents seront suivis dans Mayan EDMS, créer par au moins un formulaire web pour téléverser le document depuis le navigateur" #: apps.py:66 msgid "Created" @@ -67,9 +64,7 @@ msgstr "Décompresser les fichiers" #: forms.py:46 msgid "Upload a compressed file's contained files as individual documents" -msgstr "" -"Importer le contenu d'un ensemble de fichiers compressés comme fichiers " -"individuels" +msgstr "Importer le contenu d'un ensemble de fichiers compressés comme fichiers individuels" #: forms.py:67 views.py:431 msgid "Staging file" @@ -255,8 +250,7 @@ msgstr "Intervalle" #: models.py:273 msgid "Assign a document type to documents uploaded from this source." -msgstr "" -"Assigner un type de document aux documents importés à partir de cette source." +msgstr "Assigner un type de document aux documents importés à partir de cette source." #: models.py:275 msgid "Document type" @@ -286,9 +280,7 @@ msgstr "SSL" msgid "" "Typical choices are 110 for POP3, 995 for POP3 over SSL, 143 for IMAP, 993 " "for IMAP over SSL." -msgstr "" -"Les choix typiques sont 110 pour le POP3, 995 pour le POP3 over SSL, 143 " -"pour l'IMAP, 993 pour l'IMAP over SSL." +msgstr "Les choix typiques sont 110 pour le POP3, 995 pour le POP3 over SSL, 143 pour l'IMAP, 993 pour l'IMAP over SSL." #: models.py:338 msgid "Port" @@ -307,10 +299,7 @@ msgid "" "Name of the attachment that will contains the metadata type names and value " "pairs to be assigned to the rest of the downloaded attachments. Note: This " "attachment has to be the first attachment." -msgstr "" -"Le nom de la pièce jointe qui contiendra les noms des type de métadonnée et " -"aux couple de valeur qui seront assignés au reste des documents téléversés. " -"Noter que cette pièce jointe sera la première." +msgstr "Le nom de la pièce jointe qui contiendra les noms des type de métadonnée et aux couple de valeur qui seront assignés au reste des documents téléversés. Noter que cette pièce jointe sera la première." #: models.py:349 msgid "Metadata attachment name" @@ -320,11 +309,10 @@ msgstr "Métadonnées de la pièce jointe" msgid "" "Select a metadata type valid for the document type selected in which to " "store the email's subject." -msgstr "" -"Sélectionner un type de métadonnée correct pour le type de document " -"sélectionné, dans lequel enregistrer le sujet de l'email" +msgstr "Sélectionner un type de métadonnée correct pour le type de document sélectionné, dans lequel enregistrer le sujet de l'email" #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "Type de métadonnée du sujet" @@ -332,9 +320,7 @@ msgstr "Type de métadonnée du sujet" msgid "" "Select a metadata type valid for the document type selected in which to " "store the email's \"from\" value." -msgstr "" -"Sélectionner un type de métadonnée correct pour le type de document " -"sélectionné, dans lequel enregistrer la valeur du champs \"de\"" +msgstr "Sélectionner un type de métadonnée correct pour le type de document sélectionné, dans lequel enregistrer la valeur du champs \"de\"" #: models.py:363 msgid "From metadata type" @@ -353,18 +339,14 @@ msgstr "Sauvegarder le corps de l'email" msgid "" "Subject metadata type \"%(metadata_type)s\" is not valid for the document " "type: %(document_type)s" -msgstr "" -"Le type de métadonnée du sujet \"%(metadata_type)s\" n'est pas correct pour " -"le document de type: %(document_type)s" +msgstr "Le type de métadonnée du sujet \"%(metadata_type)s\" n'est pas correct pour le document de type: %(document_type)s" #: models.py:391 #, python-format msgid "" "\"From\" metadata type \"%(metadata_type)s\" is not valid for the document " "type: %(document_type)s" -msgstr "" -"Le type de métadonnée du champs \"de\" \"%(metadata_type)s\" n'est pas " -"correct pour le document de type: %(document_type)s" +msgstr "Le type de métadonnée du champs \"de\" \"%(metadata_type)s\" n'est pas correct pour le document de type: %(document_type)s" #: models.py:441 #, python-format @@ -433,6 +415,7 @@ msgstr "Supprimer les fichiers en attente" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "Erreur lors du traitement de la source: %s" @@ -447,13 +430,12 @@ msgstr "Entrée du journal pour la source: %s" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." -msgstr "" -"Aucune source de document interactifs n'a été définie ou/ni activée, créer " -"en une avant de continuer." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." +msgstr "Aucune source de document interactifs n'a été définie ou/ni activée, créer en une avant de continuer." #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "Propriété du document" @@ -463,9 +445,7 @@ msgstr "Fichiers dans l'index, en cours de modification" #: views.py:256 msgid "New document queued for uploaded and will be available shortly." -msgstr "" -"Nouveau document ajouter dans la file d'attente pour transfert et disponible " -"dans les plus bref délai." +msgstr "Nouveau document ajouter dans la file d'attente pour transfert et disponible dans les plus bref délai." #: views.py:302 #, python-format @@ -478,10 +458,9 @@ msgid "Document \"%s\" is blocked from uploading new versions." msgstr "L'ajout d'une nouvelle version pour le document \"%s\" est bloqué." #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." -msgstr "" -"Une nouvelle version du document mis en fille d'attente pour importation qui " -"sera disponible dans les plus brefs délai." +msgid "" +"New document version queued for uploaded and will be available shortly." +msgstr "Une nouvelle version du document mis en fille d'attente pour importation qui sera disponible dans les plus brefs délai." #: views.py:418 #, python-format @@ -489,10 +468,9 @@ msgid "Upload a new version from source: %s" msgstr "Importer une nouvelle version à partir de la source: %s" #: views.py:458 -#, fuzzy, python-format -#| msgid "Log entries for source: %s" +#, python-format msgid "Trigger check for source \"%s\"?" -msgstr "Entrée du journal pour la source: %s" +msgstr "" #: views.py:471 msgid "Source check queued." @@ -505,6 +483,7 @@ msgstr "Créer une nouvelle source de type:%s" #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "Supprimer la source: %s?" @@ -542,7 +521,7 @@ msgid "Tags to be attached." msgstr "" #~ msgid "Staging file page image" -#~ msgstr "Affichage sous forme d'image de la page de fichier" +#~ msgstr "Staging file" #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -626,11 +605,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/sources/locale/hu/LC_MESSAGES/django.mo index 902f61a8c6a063e9fad91028874c1f46f6567f7b..08cb5655fd05c63a3c01903164fe304ad54fb8f9 100644 GIT binary patch delta 66 zcmX@WeSmwzYbH~3T>}$cBSQs4BP%0gAltxzE5KhjD77rJI5R&_*Cnwe)k?w0z!0v^ N%*x1YvjX!1CIDvBP$@=z{J3SE5KhjD77rJI5R&_*Cnwe)k?w0zz`^B TtZQVbU}R`zXt-H{c>xmuY;_TW diff --git a/mayan/apps/sources/locale/hu/LC_MESSAGES/django.po b/mayan/apps/sources/locale/hu/LC_MESSAGES/django.po index 8711913b2d..361c40ee92 100644 --- a/mayan/apps/sources/locale/hu/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/hu/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Dezső József , 2014 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/hu/)\n" -"Language: hu\n" +"Language-Team: Hungarian (http://www.transifex.com/rosarior/mayan-edms/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 @@ -25,6 +24,7 @@ msgid "Sources" msgstr "" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "" @@ -309,6 +309,7 @@ msgid "" msgstr "" #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -411,6 +412,7 @@ msgstr "" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -425,11 +427,12 @@ msgstr "" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." msgstr "" #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "" @@ -452,7 +455,8 @@ msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." +msgid "" +"New document version queued for uploaded and will be available shortly." msgstr "" #: views.py:418 @@ -476,6 +480,7 @@ msgstr "" #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" @@ -512,6 +517,9 @@ msgstr "" msgid "Tags to be attached." msgstr "" +#~ msgid "Staging file page image" +#~ msgstr "Staging file" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -594,11 +602,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/id/LC_MESSAGES/django.mo b/mayan/apps/sources/locale/id/LC_MESSAGES/django.mo index eb8f82deb93545e9c8a2b918f10fc8c1b66c3b29..0d6927f486bb9f82eb8e6ee3feda170c2cb4f3c9 100644 GIT binary patch delta 66 zcmbQhH-T@%QD#$fT>}$cBSQs4BP%0gAltxzE5KhjD77rJI5R&_*Cnwe)k?w0z!0v^ N%*x1Y^DkyGW&lpx5nKQO delta 66 zcmbQhH-T@%QD##!T|+}%BVz>vBP$@=z{J3SE5KhjD77rJI5R&_*Cnwe)k?w0zz`^B TtZQVbU}R`zXt?, 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" -"language/id/)\n" -"Language: id\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 @@ -25,6 +24,7 @@ msgid "Sources" msgstr "" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "" @@ -61,9 +61,7 @@ msgstr "Kembangkan berkas-berkas terkompresi" #: forms.py:46 msgid "Upload a compressed file's contained files as individual documents" -msgstr "" -"Unggah berkas terkompresi yang mengandung berkas-berkas sebagai dokumen-" -"dokumen individual" +msgstr "Unggah berkas terkompresi yang mengandung berkas-berkas sebagai dokumen-dokumen individual" #: forms.py:67 views.py:431 msgid "Staging file" @@ -311,6 +309,7 @@ msgid "" msgstr "" #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -413,6 +412,7 @@ msgstr "" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -427,11 +427,12 @@ msgstr "" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." msgstr "" #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "" @@ -454,7 +455,8 @@ msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." +msgid "" +"New document version queued for uploaded and will be available shortly." msgstr "" #: views.py:418 @@ -478,6 +480,7 @@ msgstr "Membuat sumber baru dengan jenis: %s" #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" @@ -514,6 +517,9 @@ msgstr "" msgid "Tags to be attached." msgstr "" +#~ msgid "Staging file page image" +#~ msgstr "Staging file" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -596,11 +602,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/it/LC_MESSAGES/django.mo b/mayan/apps/sources/locale/it/LC_MESSAGES/django.mo index f6706e49dfaf5b7a573f77da23b858d092afd90b..b787968757f8e2d9cea8abcdbefd669077d1cd83 100644 GIT binary patch delta 2530 zcmYk-YiyHM9LMo9I(CyXw&8{_SPRHy(9(A7!f;#$4z`KZ$-HciU0}`*S?4zKl~$t$ zA-F&Wd*h;_F;Orf*bt2iB$$*Ci3vlN7!ydy^aU8>HK0NkzrUvk!U_L<&U5-a=lsv* zdHA93*V@?C+|(n6(n}N)BQ9gqP?*jiN^hny+wmpL#f#Pn%;)+h&O~=s@_Ig|alHyN za2>9}TAYgSpt>H!S;oZ7FqJtpoWQww!QOBk>D&BauWzF|c0FKB9%f+y&O;?oh80+k zO6)Bx#rIJ6kKqjb8AtFYx*6XLO-nv-6jS-(D|`@7V>W(|{4*2$apUi(8BAgkrqQSg zEJ7tzjq0Zf)lVxjmU$Vqf^T369>!G0H|MGN@jGOa<__w{^y$gWXQP(VkD5_ADzV+D z8NG^H+CkJnhjBK3h+4r>R6+?<;@?^?VT?U6KTf&WC^cMF-DNy}jyab^zd-$i8>4ITJ8>JUz#_FBuJjMGsM zW}_0Di|Vi#wGyk)i?z5AccCVB5E;{ahAZ%E)Rx@9Ry296zh>0N3DH2^sEqrt1z$mR zIF6dxe^`xEIdO||GwSzVq)&4MHSv2>930#CXun2RQzE&`ZET*Zz4OoYo=pZW5*f15H-Vabq zIEu>r3aW!UsF}MMRS!-_J(!Prt_U^YYSf`?#$~w2{{9ha;4{b^%@l6Z>sf%qdjI`Y zw1)|tkK?ET{y}w|!YEAMcu{*^ZmmHrVIyiQT2asMMJ0L+wUu8WU70UYD{%>xz)x7G z_y0B(-B`oP)6&B4dB#41nn41A30;2Y}&)D~PueP||79sXub;Q%e=Iu8R_h0MkD zSPx(s*T+y>ddqv zRDuayjAQ6*mDSBFqltMJ#*&p{8kW;gf;t0jxCMt$9bLl|)Zj{pew-~)Ql&%*p`t-v zaB9iD*Y-V2a70Wqp=4hq+6g79^XGi2v_E&tCMu0Yl+bGIB2-oo`kJu_=21e0yqq)9 zjcbWkVl%OUP|;+zI<@3k@la1Cs%=|L`_n+^ z%3f&SR}&S)Zel0#B%z|M=q08QT|`jx-%dqE`>EHeM;8ogF=J`ib4ovPl`%iE|=@IdoKtsX>Q(s zvS|-n8zZf>nKg69+!|Y}e;Te?ZPwP(N^6qk+VZKIf214BdVdawtv~wBFR$M@_nhD3 z_jl&Cmb0zN$z0c{p==`-5bw@1W*=6}<_~30x-s3j7jyA9$0^L`Iy=Ldxwr^*U5B^h zBbbKku>pgaiic25AHf1+lIA#-B5r(+3-O}!KuV@D^kLFbFXW*bF2X!4#rar+8bCWP z!w_m92e2B)QO{q(JMnKkfZ2B#lSTjLeJXn4V|3xyI1j(Y9K3@3GgJJ@!ZiM9K>6s# zV$=j0Py^~hwKIrnX9v=!c?GqCuVW>Sp^N^_1u95el{&*dOCHIXdT??p)}>bML& z=tVDX!T`R6df^j1mSW78*vIt_rhgYsI^IMLAeZUhgGb)4M!#$|vJBs(=r_S$xpgPXvM;60$ zAg3;Ada1m|jh(1H%%!zbEJby&3e|8sGI^6g?fLVLBd8TTjM|DZ)ca>p1HFOT%72h9 zjEe-*O1Lp!=ig7Il^bhN500Rgem`o)r%)sQ&hd(KUtg;_?q?$DVVWJgPyB=xSG_#i-N3nwIw@|ro3fJN-R6}ix z_`0FCMaOjwv6|5KX~ncnGer}cDar>G4w?NSa?`*40n$yC#|SNzijG~J=+}i)9!AaZ zQ9=WrDOpbC0bEXOBQ)?Q2(5(57NUa)>B1>VeHOKp4-xHzmi=+UBD8dDm0g04n=wkP zCzSmhYZD`s;r}g4Q0=|)+Ewi4u^T^b#iV2e{PR3fP8{3^jV5K6r2@p$@YX<5-& z*cu2%!d5gMjEpbIotRZ!n?8xO6B#Dme8H`E_*7;nlS f%UIA7r`u@49z!${wE8rj-l#RSJs5fCn&tWz1L69a diff --git a/mayan/apps/sources/locale/it/LC_MESSAGES/django.po b/mayan/apps/sources/locale/it/LC_MESSAGES/django.po index da214de981..440d687c6c 100644 --- a/mayan/apps/sources/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Giovanni Tricarico , 2014 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-09-24 13:19+0000\n" -"Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 @@ -27,6 +26,7 @@ msgid "Sources" msgstr "Sorgenti" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "Crea una sorgente documento" @@ -35,9 +35,7 @@ msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." -msgstr "" -"Sorgenti documento è il mezzo con cui i nuovi documenti alimentano Mayan " -"EDMS, crea almeno una modulo web per poter caricare documenti da un browser." +msgstr "Sorgenti documento è il mezzo con cui i nuovi documenti alimentano Mayan EDMS, crea almeno una modulo web per poter caricare documenti da un browser." #: apps.py:66 msgid "Created" @@ -189,8 +187,7 @@ msgstr "Percorso cartella" #: models.py:165 msgid "Width value to be passed to the converter backend." -msgstr "" -"valore della larghezza da passare per le operazioni di conversione in backend" +msgstr "valore della larghezza da passare per le operazioni di conversione in backend" #: models.py:166 msgid "Preview width" @@ -198,8 +195,7 @@ msgstr "Larghezza anteprima" #: models.py:170 msgid "Height value to be passed to the converter backend." -msgstr "" -"valore dell'altezza da passare per le operazioni di conversione in backend" +msgstr "valore dell'altezza da passare per le operazioni di conversione in backend" #: models.py:171 msgid "Preview height" @@ -283,9 +279,7 @@ msgstr "SSL" msgid "" "Typical choices are 110 for POP3, 995 for POP3 over SSL, 143 for IMAP, 993 " "for IMAP over SSL." -msgstr "" -"Le scelte tipiche sono 110 per POP3, 995 per POP3 su SSL, 143 per IMAP, 993 " -"per IMAP su SSL." +msgstr "Le scelte tipiche sono 110 per POP3, 995 per POP3 su SSL, 143 per IMAP, 993 per IMAP su SSL." #: models.py:338 msgid "Port" @@ -304,10 +298,7 @@ msgid "" "Name of the attachment that will contains the metadata type names and value " "pairs to be assigned to the rest of the downloaded attachments. Note: This " "attachment has to be the first attachment." -msgstr "" -"Nome degli allegati che possono contenere i nomi dei tipi metadati e le " -"coppie di valori che saranno assegnate al resto degli allegati caricati. " -"Nota: Questo allegato sarà il primo degli allegati." +msgstr "Nome degli allegati che possono contenere i nomi dei tipi metadati e le coppie di valori che saranno assegnate al resto degli allegati caricati. Nota: Questo allegato sarà il primo degli allegati." #: models.py:349 msgid "Metadata attachment name" @@ -317,11 +308,10 @@ msgstr "Nome allegato metadati" msgid "" "Select a metadata type valid for the document type selected in which to " "store the email's subject." -msgstr "" -"Selezionare il tipo metadato valido per il documento selezionato dove " -"impostare l'oggetto della mail." +msgstr "Selezionare il tipo metadato valido per il documento selezionato dove impostare l'oggetto della mail." #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "Tipo metadato oggetto" @@ -329,9 +319,7 @@ msgstr "Tipo metadato oggetto" msgid "" "Select a metadata type valid for the document type selected in which to " "store the email's \"from\" value." -msgstr "" -"Selezionare il tipo metadato valido per il documento selezionato dove " -"impostare il mittente della mail." +msgstr "Selezionare il tipo metadato valido per il documento selezionato dove impostare il mittente della mail." #: models.py:363 msgid "From metadata type" @@ -350,18 +338,14 @@ msgstr "Salva il contenuto della mail" msgid "" "Subject metadata type \"%(metadata_type)s\" is not valid for the document " "type: %(document_type)s" -msgstr "" -"Il tipo metadato \"oggetto\" \"%(metadata_type)s\" non è valido per il tipo " -"documento: %(document_type)s" +msgstr "Il tipo metadato \"oggetto\" \"%(metadata_type)s\" non è valido per il tipo documento: %(document_type)s" #: models.py:391 #, python-format msgid "" "\"From\" metadata type \"%(metadata_type)s\" is not valid for the document " "type: %(document_type)s" -msgstr "" -"Il tipo metadato \"mittente\" \"%(metadata_type)s\" non è valido per il tipo " -"documento: %(document_type)s" +msgstr "Il tipo metadato \"mittente\" \"%(metadata_type)s\" non è valido per il tipo documento: %(document_type)s" #: models.py:441 #, python-format @@ -430,6 +414,7 @@ msgstr "Cancella i file temporanei" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "Errore processando la sorgente: %s" @@ -444,13 +429,12 @@ msgstr "Log per la sorgente: %s" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." -msgstr "" -"Nessuna fonte interattiva dei documenti è stata definita o non ne sono state " -"attivate." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." +msgstr "Nessuna fonte interattiva dei documenti è stata definita o non ne sono state attivate." #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "Proprietà documento" @@ -460,8 +444,7 @@ msgstr "File nel percorso di stage" #: views.py:256 msgid "New document queued for uploaded and will be available shortly." -msgstr "" -"Il nuovo documento pronto in coda per il carico e sarà disponibile a breve." +msgstr "Il nuovo documento pronto in coda per il carico e sarà disponibile a breve." #: views.py:302 #, python-format @@ -474,10 +457,9 @@ msgid "Document \"%s\" is blocked from uploading new versions." msgstr "Il documento \"%s\" è bloccato per il caricamento di nuove versioni." #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." -msgstr "" -"La nuova versione del documento è in coda per il caricamento e sarà " -"disponibile a breve." +msgid "" +"New document version queued for uploaded and will be available shortly." +msgstr "La nuova versione del documento è in coda per il caricamento e sarà disponibile a breve." #: views.py:418 #, python-format @@ -485,10 +467,9 @@ msgid "Upload a new version from source: %s" msgstr "Carica la nuova versione dalla sorgente: %s" #: views.py:458 -#, fuzzy, python-format -#| msgid "Log entries for source: %s" +#, python-format msgid "Trigger check for source \"%s\"?" -msgstr "Log per la sorgente: %s" +msgstr "" #: views.py:471 msgid "Source check queued." @@ -501,6 +482,7 @@ msgstr "Crea nuovo tipo di sorgente:%s" #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "Cancellare la sorgente: %s?" @@ -538,7 +520,7 @@ msgid "Tags to be attached." msgstr "" #~ msgid "Staging file page image" -#~ msgstr "Immagine pagina file di stage" +#~ msgstr "Staging file" #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -622,11 +604,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/sources/locale/nl_NL/LC_MESSAGES/django.mo index 7eec5fe13c130cce2d20027598b0a4ee6e48ac83..b95e9f66fc9acb64898deea0b3aab0196a9a61f1 100644 GIT binary patch delta 536 zcmX}oK}!Nb6u|K(w$_@KQAlCn65^p+(6tOCBG5|^M$sXd{g$fRym zM0G&fk9RRhTtW3>Ra6HZp(=Qcs!j*T@B&o>_oxnj!X13}^V6%WUL%o4b@Lh;*hZR` z8!X`iTKMJ1ChtcLaeHUMQ!Tn=W)@5wn@wh|kt>Y2V$bKwk$ZW2jk$U2j{ z(Kf0BGERJmEyTyDUhD+bK{u!h-lD2=hkf{fs)1Kj2Y=ueemVK*EUTADBvIY`3^lAG zmyu_j$2Sb)0Pm*aWu%6j*UBwdZeK(Xh4k>0W`tvAyxr`Q1H8TY#F}s_!()Q#|KAWhWdj8!1yc, 2016 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-09 15:57+0000\n" -"Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" -"edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 @@ -26,6 +25,7 @@ msgid "Sources" msgstr "Bronnen" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "Maak een documentbron aan" @@ -62,8 +62,7 @@ msgstr "Uitpakken gecomprimeerde bestanden" #: forms.py:46 msgid "Upload a compressed file's contained files as individual documents" -msgstr "" -"Upload een gecomprimeerd archief van bestanden als individuele documenten" +msgstr "Upload een gecomprimeerd archief van bestanden als individuele documenten" #: forms.py:67 views.py:431 msgid "Staging file" @@ -220,9 +219,7 @@ msgstr "" #: models.py:207 #, python-format msgid "Unable get list of staging files: %s" -msgstr "" -"Het is niet mogelijk om een lijst met tijdelijke bestanden aan te maken. " -"Foutmelding: %s" +msgstr "Het is niet mogelijk om een lijst met tijdelijke bestanden aan te maken. Foutmelding: %s" #: models.py:228 #, python-format @@ -251,8 +248,7 @@ msgstr "" #: models.py:273 msgid "Assign a document type to documents uploaded from this source." -msgstr "" -"Wijs een documentsoort toe voor documenten die worden geüpload van deze bron." +msgstr "Wijs een documentsoort toe voor documenten die worden geüpload van deze bron." #: models.py:275 msgid "Document type" @@ -314,6 +310,7 @@ msgid "" msgstr "" #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -416,6 +413,7 @@ msgstr "" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -430,11 +428,12 @@ msgstr "" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." msgstr "" #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "" @@ -457,7 +456,8 @@ msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." +msgid "" +"New document version queued for uploaded and will be available shortly." msgstr "" #: views.py:418 @@ -481,6 +481,7 @@ msgstr "Aanmaken van nieuw documentbron van type: %s" #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" @@ -517,6 +518,9 @@ msgstr "" msgid "Tags to be attached." msgstr "" +#~ msgid "Staging file page image" +#~ msgstr "Staging file" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -599,11 +603,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/sources/locale/pl/LC_MESSAGES/django.mo index 873139386b92ff7c38d949be17a80bfbeae6c5e4..79ec62e1fb25a0931c4c761215971eb7cf329e62 100644 GIT binary patch delta 475 zcmYMvKS;ws6bA6unpQ2EiXe5-UWb-u2;5!&NMqA>5LYFGn@EHXfs#mCoeCY?MJUd8 zadqh|E-t#cxwr{#PJ+1kU0WLn_j`Bm-FM_s|JAR*2iZ8$!vax~h~5)K>+l0E!ymW> zV`!><7Op^Jwy#2rPz!FteVB$Pa2o~?A6;Qd!5gT-5nO_INjjnp6!$n#K~HcMzCazm zL45RyB?rG?5w0yxAFM$Y>_Gej9m5QC$Ir1=ys~5RvMB`<(vl_AoTm;COs9R}b-lnh z_uO9FVv>vbT-B1*VMEKLo#3<`_5$VvT{rZC;idLEDDSef&Uxr|?4obmf;Aau7AyLB z!5g+@g#uG$-7Xudo}BZ#kgVUIG%zI4YBGUaehvZuQw^I(w}qiD%u*}Sc`Y9`RMh-I Pyg1F3$SsX;6QkH4a<);t delta 416 zcmYk%F-yZh6bJAZZL5}Ap&;#|oJeaNQtpz}AvUptn}Z@^2d7Z0#H5L|)q)h#Aum{ud z79!{o%L;sgDtw3X!CxpZ&dm_v53~xiaBc9aRHjNBnh=_9Fs@t3xygBQZ&%x|UwSPs z3bk#wUALId1@;ViP8gPH_MKR^SdGrwb)Qw;X6?%LqfX2BSh-W|{HrUc4c7~bwW#6r zk7I8;#wI%tE}Cv&tD$WRw#7KJSeO^wv2|7`jMK7h%2btYUKX5nyW_q*!`Cq*FryDX H;&;j)x#>%( diff --git a/mayan/apps/sources/locale/pl/LC_MESSAGES/django.po b/mayan/apps/sources/locale/pl/LC_MESSAGES/django.po index a6bb70e727..dbc0768a8f 100644 --- a/mayan/apps/sources/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # mic , 2012-2013 @@ -12,22 +12,21 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-23 13:44+0000\n" -"Last-Translator: Wojtek Warczakowski \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" -"pl/)\n" -"Language: pl\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "" @@ -312,6 +311,7 @@ msgid "" msgstr "" #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -414,6 +414,7 @@ msgstr "" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -428,11 +429,12 @@ msgstr "" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." msgstr "" #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "Właściwości dokumentu" @@ -455,7 +457,8 @@ msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." +msgid "" +"New document version queued for uploaded and will be available shortly." msgstr "" #: views.py:418 @@ -479,6 +482,7 @@ msgstr "Utwórz nowe typ źródło:%s" #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" @@ -515,6 +519,9 @@ msgstr "Kreator przesyłania dokumentu" msgid "Tags to be attached." msgstr "" +#~ msgid "Staging file page image" +#~ msgstr "Staging file" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -597,11 +604,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/sources/locale/pt/LC_MESSAGES/django.mo index 3c42f755c6e87a0fae304047054af958c92728e1..a99fde1705703bf7f08f7c2e688d98c0209ede5e 100644 GIT binary patch delta 66 zcmdldyia&TB&(^pu7QcJk)eX2k(H4#kZoYV72vNMlvylWKYNcRgUk+Fh-krj|_U}9jv72vNMlvylWKYNcRgUjPCF3+ diff --git a/mayan/apps/sources/locale/pt/LC_MESSAGES/django.po b/mayan/apps/sources/locale/pt/LC_MESSAGES/django.po index dd585f56b5..6ad30c67cb 100644 --- a/mayan/apps/sources/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Emerson Soares , 2011 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" -"language/pt/)\n" -"Language: pt\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 @@ -27,6 +26,7 @@ msgid "Sources" msgstr "" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "" @@ -63,9 +63,7 @@ msgstr "Expandir ficheiros comprimidos" #: forms.py:46 msgid "Upload a compressed file's contained files as individual documents" -msgstr "" -"Enviar os ficheiros contidos num ficheiro comprimido como documentos " -"individuais" +msgstr "Enviar os ficheiros contidos num ficheiro comprimido como documentos individuais" #: forms.py:67 views.py:431 msgid "Staging file" @@ -313,6 +311,7 @@ msgid "" msgstr "" #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -415,6 +414,7 @@ msgstr "" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -429,11 +429,12 @@ msgstr "" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." msgstr "" #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "" @@ -456,7 +457,8 @@ msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." +msgid "" +"New document version queued for uploaded and will be available shortly." msgstr "" #: views.py:418 @@ -480,6 +482,7 @@ msgstr "Criar nova fonte do tipo: %s" #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" @@ -516,6 +519,9 @@ msgstr "" msgid "Tags to be attached." msgstr "" +#~ msgid "Staging file page image" +#~ msgstr "Staging file" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -598,11 +604,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/sources/locale/pt_BR/LC_MESSAGES/django.mo index 56c4810ca733ef12b4aa9b645f5b55d541e8d855..89fb6a254fa5cecb7a1c0ce3cf437df4ad6ee047 100644 GIT binary patch delta 2530 zcmYk-e@xVM9LMpG-T@~_hp0%Va$f$5xZ~~+kV8Q)Q3wPgvVsH;B?FVA18s}7t7Th% z6m$7=i&_3Bt5uFzE$5mm9o1}>^ha*dALJI*ANFJF%u&zReZROqyZ1dl-_Q4ZpP%n9 z+^juVo0!OU9yOF+VhJ(iFh&ha()gnE&M~G9pTlgtY&(fLT;IS2n3--}doh*kGIZfa ztiT#f!Pih-4`Qw{33H6feKdT4OYv*_fhnYK^M`%?52|BFhB5Oo9T(v;)C5X!9oC{I zb`Xp4E!6YhVisP*A-sW^jBgIlwSI64o!s~Y7vec|;}zs%Ci%+5>!=k>V;-i`s0FM- zO(=rurv=qdJ2IBpkJ`bPu?UZ#lkv?M6+d1=7HRIF9!$H(n)zbXR{BvZDn(6fA8JJ} zqPBJrHP8`UjPIa!@GNRV7f=)b%Jw@ zsEI8_b(oLZi85S{HMj!zq84@t8Pg17A%2QFl3%eM&3yJ>E80nhXrOM?jN`ZipGS50 zJ!)mQF@h;%+-j^w-S0*EG)GY@KaI=q3~IucQ49FdzW*C)+`ki4d{m~dT07!JtvuhpF1Fo(JZh>?&$rnQU^&+(kj*mVxE_B&K4vAEsR>o$=X(E}sp!F6 z-XTq-05$Ul?CUC!>FwP2DKwon9Ln!r`&L(`U#?rCW2wT z|4}MV8ip{4r%+pS1@(iUkbE@PQD-)r-Z$Y~)S1_#77#_fJ^StU0o1^Q_Wci0<9vbY z_e*p!zPU<8TRDjz;T=>*XPBn4{A1jL7x59y%(L3tv7752)I@$jP5gJ;Td01V9?Nv3 zYmjPf)e=n6cY0%bAqt48AzqM6axSQ*Rs55>6l>=|%Hhd2Y@HXmoT+Ktu zfdQfy-pQG zF;PUQsPku%HEV}7$dd%AV_FFx@hlM~c%zm7)|P6UXUbM8j}bZw?S^(prI1kKut}zh zP+`8Ng-{+;6757a@erY+zaAdR+y&@Te5^61> zvWZY4%@ifyPWxg9Dv4EUh~{L?`s(;!eGT;z!mqZGSLa-GjqJ)EbrhHS0&9JtpeGm# zhl;2N0_lwnzNXFtU431#9^d9@e`nYe3Iy*yR}v1D9Nw0*$lVm{=#2NrJWa8_XuK;n P@l_RZ#n)04rJmX delta 2635 zcmZwIe@xVM9LMnw0R>$A5DW=~`-%`^+;JQNhJ=6y5ej1F4^r!Z6VEsf4kDd@+#luA ze#}QS5YNM^0#i)OBYjZVgqnRz|kLr(FKPGGSeBFK7`lHWye;=Rk_wM`o z`TiWwwEfu@`7SeI%ut4irNkTY#=MGUcW|K`PBvyY9>Gk!W;>7B+^3}&vlxp}_qBLC zc4884$9nW(B2J*1K7%>NM9jNX@_6t$=Hn0c7vdbo(1%Gzy^w`!I1jV15SL&zY5?uH z8hcO!If+#`h5G(=%)r0#B&OYIOe+1GNh*5bLrlOg@hxzv zfSN!(YCv76cEYH3ornTi{KL?&+*r^UYLM2*~wTFPeBj5<&Q zJA|6i7;0(HpgKB>xj2nl!HcK?&7lT<#r6h9*aPz`l~2$?t7_;1YQ`6FEndbJwCGI@ z?!|o=MqV{@_Vb@m6Ziu);J8Jxj#E(IOGoBt3Xn82Ws6wRwMiangcmRv=HPi&pBV#h(U^(7EZB1?#>;D)P59_R%y@cxU z1Zv4%$6fdqs=-7uO*34HO<08`xF7ZT1k$#dMXkUkEWqzk16Qw_NGj^{ya*L_T!b!k zqZ@ak7oSJHa1N*AjQIjX+#h24TB+Y{GnuANPdREJ8&RK!Q7d^A8G|{78*tKo9{G!k zlI9;QM91CiGrCa?bf8wGA2st4`#xg(Eb^*3iu(TBwzIf~`zy%enF2Dh4!y`D6G8?Q zF-NG(@Zc2ci`|?h4P+EG^5e*#nc$*5{0Oy_7f>tnEoxxbP&5AxY0Bg<8m&krY66|8 z+}MF?=O7m7{J%h@mIsrVfLE~sZ=zNvpH}ojDUz3_7PVy?uo1VS_Iw;Qfl1UU`q+Lx zi|Y82{rN3aKWQXJ2K}2XDoTbT)Ka?eeQZWGG>^*iI493A13PgW>iIjk52sNBS#HG! zUTxciYNy?H3o-`Nh1y25pNh`o%NWLEs3c2f*z|1*_%%jz z3DdcEu#fj*o^1>Akr_sI$&3}U{xwwIvmac?C%8{s9$Vre)ZQILE!or9i-)lYe@5j( zCN~?=iDei>9m^A_T=*2V!gI(g<|=9{Q;H+8JzH8F8?gtq*9};Top>J}#MSr#s-a&n z4mC?1*9VCfLjOm!Vme|A#lKKN4OT^~S57$TKl%d%(XxfB$F6IsgM_wXp|nwP5f2j@ z$U@OcP+3E)C58z7erzSQ1uA=q4x&dlc8O@V^+Y4lPAIbs#Q&8Cc=!;Zgi~pX5j`obc0E^#pt6ln2Jax0!Btbi?mHg}_rH%c80l(E8_6J6M!&aS7w++$jp4c;YPblc_4%bhu%Wid) tw9=(NX!ZK6!I{&2fdQY@8?t=ip(g{QA#21R91MkLPKN_i&n>$Z|1ZB0{ICE3 diff --git a/mayan/apps/sources/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/sources/locale/pt_BR/LC_MESSAGES/django.po index 8f4812a6c3..3683b48aec 100644 --- a/mayan/apps/sources/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-17 23:07+0000\n" -"Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" -"edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 @@ -27,6 +26,7 @@ msgid "Sources" msgstr "Fontes" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "Criar uma nova fonte de documentos" @@ -35,10 +35,7 @@ msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." -msgstr "" -"Fontes de documentos são a forma como os novos documentos são alimentados ao " -"Mayan EDMS, crie pelo menos uma fonte de formulário da web para poder " -"carregar documentos a partir de um navegador." +msgstr "Fontes de documentos são a forma como os novos documentos são alimentados ao Mayan EDMS, crie pelo menos uma fonte de formulário da web para poder carregar documentos a partir de um navegador." #: apps.py:66 msgid "Created" @@ -66,8 +63,7 @@ msgstr "Expandir arquivos compactados" #: forms.py:46 msgid "Upload a compressed file's contained files as individual documents" -msgstr "" -"Upload de um arquivo compactado contendo arquivos como documentos individuais" +msgstr "Upload de um arquivo compactado contendo arquivos como documentos individuais" #: forms.py:67 views.py:431 msgid "Staging file" @@ -253,8 +249,7 @@ msgstr "intervalo" #: models.py:273 msgid "Assign a document type to documents uploaded from this source." -msgstr "" -"Atribuir um tipo de documento para documentos enviados a partir desta fonte." +msgstr "Atribuir um tipo de documento para documentos enviados a partir desta fonte." #: models.py:275 msgid "Document type" @@ -284,9 +279,7 @@ msgstr "SSL" msgid "" "Typical choices are 110 for POP3, 995 for POP3 over SSL, 143 for IMAP, 993 " "for IMAP over SSL." -msgstr "" -"Escolhas típicas : 110 para POP3, 995 para POP3 sobre SSL, 143 para IMAP, " -"993 para IMAP sobre SSL." +msgstr "Escolhas típicas : 110 para POP3, 995 para POP3 sobre SSL, 143 para IMAP, 993 para IMAP sobre SSL." #: models.py:338 msgid "Port" @@ -305,10 +298,7 @@ msgid "" "Name of the attachment that will contains the metadata type names and value " "pairs to be assigned to the rest of the downloaded attachments. Note: This " "attachment has to be the first attachment." -msgstr "" -"Nome do anexo que contém os nomes de tipo de metadados e os pares de valores " -"a serem atribuídos ao restante dos anexos transferidos. Nota: Este anexo tem " -"de ser o primeiro anexo." +msgstr "Nome do anexo que contém os nomes de tipo de metadados e os pares de valores a serem atribuídos ao restante dos anexos transferidos. Nota: Este anexo tem de ser o primeiro anexo." #: models.py:349 msgid "Metadata attachment name" @@ -318,11 +308,10 @@ msgstr "Nome do metadado anexado" msgid "" "Select a metadata type valid for the document type selected in which to " "store the email's subject." -msgstr "" -"Selecione um tipo de metadados válido para o tipo de documento selecionado " -"para armazenar o assunto do e-mail." +msgstr "Selecione um tipo de metadados válido para o tipo de documento selecionado para armazenar o assunto do e-mail." #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "Tipo de metadado do assunto" @@ -330,9 +319,7 @@ msgstr "Tipo de metadado do assunto" msgid "" "Select a metadata type valid for the document type selected in which to " "store the email's \"from\" value." -msgstr "" -"Selecione um tipo de metadados válido para o tipo de documento selecionado " -"para armazenar o valor \"de\" do e-mail." +msgstr "Selecione um tipo de metadados válido para o tipo de documento selecionado para armazenar o valor \"de\" do e-mail." #: models.py:363 msgid "From metadata type" @@ -351,18 +338,14 @@ msgstr "Armazenar o corpo do e-mail" msgid "" "Subject metadata type \"%(metadata_type)s\" is not valid for the document " "type: %(document_type)s" -msgstr "" -"Tipo de metadado do assunto \"%(metadata_type)s\" não é válido para o " -"documento do tipo: %(document_type)s" +msgstr "Tipo de metadado do assunto \"%(metadata_type)s\" não é válido para o documento do tipo: %(document_type)s" #: models.py:391 #, python-format msgid "" "\"From\" metadata type \"%(metadata_type)s\" is not valid for the document " "type: %(document_type)s" -msgstr "" -"Tipo de metadados do campo \"de\" \"%(metadata_type)s\" não é válido para o " -"tipo de documento: %(document_type)s" +msgstr "Tipo de metadados do campo \"de\" \"%(metadata_type)s\" não é válido para o tipo de documento: %(document_type)s" #: models.py:441 #, python-format @@ -431,6 +414,7 @@ msgstr "Apagar arquivos temporários" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "Erro processando fonte: %s" @@ -445,13 +429,12 @@ msgstr "Registrar entradas para fonte: %s" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." -msgstr "" -"Nenhuma fonte interativa de documentos fora definida ou nenhum foi ativada. " -"Criar uma antes de prosseguir." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." +msgstr "Nenhuma fonte interativa de documentos fora definida ou nenhum foi ativada. Criar uma antes de prosseguir." #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "Propriedades do documento" @@ -474,10 +457,9 @@ msgid "Document \"%s\" is blocked from uploading new versions." msgstr "Documento \"%s\" está bloqueado para carregar novas versões." #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." -msgstr "" -"Nova versão do documento na fila para carregados e estará disponível em " -"breve." +msgid "" +"New document version queued for uploaded and will be available shortly." +msgstr "Nova versão do documento na fila para carregados e estará disponível em breve." #: views.py:418 #, python-format @@ -485,10 +467,9 @@ msgid "Upload a new version from source: %s" msgstr "Carregar uma nova versão da Origem: %s" #: views.py:458 -#, fuzzy, python-format -#| msgid "Log entries for source: %s" +#, python-format msgid "Trigger check for source \"%s\"?" -msgstr "Registrar entradas para fonte: %s" +msgstr "" #: views.py:471 msgid "Source check queued." @@ -501,6 +482,7 @@ msgstr "Criar nova fonte do tipo: %s" #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "Apagar a fonte: %s?" @@ -538,7 +520,7 @@ msgid "Tags to be attached." msgstr "" #~ msgid "Staging file page image" -#~ msgstr "Imagem da página do arquivo temporário" +#~ msgstr "Staging file" #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -622,11 +604,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/sources/locale/ro_RO/LC_MESSAGES/django.mo index 81a74e86cc76fd3d671c42e11f654ebbd8574e93..c4936b8196caddb6ce95fb4557c59580d6272550 100644 GIT binary patch delta 65 zcmew>{8xBGC##9Mu7QcJk)eX2k(H4#kZoYV72vNMlvylWKYNcRgU{8xBGC##8>uA!l>k+Fh-k(H^Lu7Qbx0at*(Zcu7jW^rbIo~}z`Nvf5Ck%1vd SPS?;}!O+;saPwYP2NnQnY!Sl% diff --git a/mayan/apps/sources/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/sources/locale/ro_RO/LC_MESSAGES/django.po index ce9fe01494..822431bf29 100644 --- a/mayan/apps/sources/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Abalaru Paul , 2013 @@ -11,22 +11,21 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-04-17 13:16+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" -"edms/language/ro_RO/)\n" -"Language: ro_RO\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "" @@ -63,9 +62,7 @@ msgstr "Dezarhivare fișiere comprimate" #: forms.py:46 msgid "Upload a compressed file's contained files as individual documents" -msgstr "" -"Încărcați fișiere de fișier comprimat care sunt incluse ca documente " -"individuale" +msgstr "Încărcați fișiere de fișier comprimat care sunt incluse ca documente individuale" #: forms.py:67 views.py:431 msgid "Staging file" @@ -313,6 +310,7 @@ msgid "" msgstr "" #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -415,6 +413,7 @@ msgstr "" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -429,11 +428,12 @@ msgstr "" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." msgstr "" #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "" @@ -456,7 +456,8 @@ msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." +msgid "" +"New document version queued for uploaded and will be available shortly." msgstr "" #: views.py:418 @@ -480,6 +481,7 @@ msgstr "Creați o nouă sursă de tipul:% s" #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" @@ -516,6 +518,9 @@ msgstr "" msgid "Tags to be attached." msgstr "" +#~ msgid "Staging file page image" +#~ msgstr "Staging file" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -598,11 +603,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/sources/locale/ru/LC_MESSAGES/django.mo index 187874981df3eb97cf957e90cb9c18dae53461a2..ddf197291158209e06f8934ff644e05225c32cd8 100644 GIT binary patch delta 741 zcmX}p%S#(^5Ww*x(N`w2fo;eoIc`<>17moJFR`p#B!L4Mz)jS=Lk!_3@A-FZA-=#4yg}V38WL9; zSWJ@LgdZ`SCvu84#6K%UY`nr+3|ETupoLo49KOMIjN>`#KKWshLTp7XD2A<=@}95Y zYvOldSL7LsGcVy9P2vz==?{7^i-V{ge#1Kag`Ifq#YW`eeK%6Oq`Y_xHGc;E_yND* z0T$s~xB8)g5!4YZp;o?*+R2t@4)cjGu^#`R7I=&L!%~h*^9|G!?ZZZ#_T0k+@mEaY zU(`n3Zq8LVm_qGv6`$ZXj^aMjr2ND8SV%j)`X29RiqDB}a0u(D?gcu?m}S@V2#1M3 zqaJ_)%ap2Y1mfu gF)yC9E*Z=?k delta 736 zcmXZZKS*0q6vy$SqL`>rqw!CpHASrW=hc^IVrVibSRzHGt>Vz3g&;wn1eGeHh`hl+ zU8)7$UFzbX2!bwxpp*{o4h08i9h`Kk^m~#AA)otu?{MEa_iiUP6Gwabjz3@Irc9(% zL>|gT+VCH4U~7d4KRM*D2G22q*Vv0Cl_D`5L?5oA)@`F7_uc1b*iOE}C_bX@)9DvS znpvc%ZpC#Bu3NdN!< diff --git a/mayan/apps/sources/locale/ru/LC_MESSAGES/django.po b/mayan/apps/sources/locale/ru/LC_MESSAGES/django.po index 76ce5bb119..47f44fd483 100644 --- a/mayan/apps/sources/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -10,23 +10,21 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-02 04:15+0000\n" -"Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" -"language/ru/)\n" -"Language: ru\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "Источники" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "Создать источник документов" @@ -35,10 +33,7 @@ msgid "" "Document sources are the way in which new documents are feed to Mayan EDMS, " "create at least a web form source to be able to upload documents from a " "browser." -msgstr "" -"Источники документов - это способы получения Mayan EDMS новых документов. " -"Как минимум, чтобы можно было загружать документы из браузера, создайте веб-" -"форму." +msgstr "Источники документов - это способы получения Mayan EDMS новых документов. Как минимум, чтобы можно было загружать документы из браузера, создайте веб-форму." #: apps.py:66 msgid "Created" @@ -252,8 +247,7 @@ msgstr "Интервал" #: models.py:273 msgid "Assign a document type to documents uploaded from this source." -msgstr "" -"Назначить тип документов для документов, загружаемых из этого источника." +msgstr "Назначить тип документов для документов, загружаемых из этого источника." #: models.py:275 msgid "Document type" @@ -315,6 +309,7 @@ msgid "" msgstr "" #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -417,6 +412,7 @@ msgstr "" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "Ошибка обработки источника: %s" @@ -431,13 +427,12 @@ msgstr "Записи журнала для источника: %s" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." -msgstr "" -"Интерактивные источники документов не были определены или включены, создайте " -"один для продолжения." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." +msgstr "Интерактивные источники документов не были определены или включены, создайте один для продолжения." #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "Свойства документа" @@ -460,7 +455,8 @@ msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." +msgid "" +"New document version queued for uploaded and will be available shortly." msgstr "" #: views.py:418 @@ -469,10 +465,9 @@ msgid "Upload a new version from source: %s" msgstr "Загрузка новой версии из источника %s" #: views.py:458 -#, fuzzy, python-format -#| msgid "Log entries for source: %s" +#, python-format msgid "Trigger check for source \"%s\"?" -msgstr "Записи журнала для источника: %s" +msgstr "" #: views.py:471 msgid "Source check queued." @@ -485,6 +480,7 @@ msgstr "Создать новый источник типа: %s" #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" @@ -521,6 +517,9 @@ msgstr "Мастер загрузки документов" msgid "Tags to be attached." msgstr "" +#~ msgid "Staging file page image" +#~ msgstr "Staging file" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -603,11 +602,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/sources/locale/sl_SI/LC_MESSAGES/django.mo index 150b9feeda2f38c3f6a7279f4e89d3ad2a28b477..c686ee9ec4cedf9d3a2af67f53fdb188a0536846 100644 GIT binary patch delta 65 zcmdnQx`}ndZ&Pz!0~1{%Lj^-4D&*09v;ZKL7v# delta 65 zcmdnQx`}ndZ&Nc}LqlC7V+8{vD&*09%+5OaK4? diff --git a/mayan/apps/sources/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/sources/locale/sl_SI/LC_MESSAGES/django.po index 3241827aa6..fa14bf8ba2 100644 --- a/mayan/apps/sources/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/sl_SI/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,22 +9,21 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-11-17 08:59+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" -"edms/language/sl_SI/)\n" -"Language: sl_SI\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" +"Language: sl_SI\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 msgid "Sources" msgstr "" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "" @@ -309,6 +308,7 @@ msgid "" msgstr "" #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -411,6 +411,7 @@ msgstr "" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -425,11 +426,12 @@ msgstr "" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." msgstr "" #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "" @@ -452,7 +454,8 @@ msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." +msgid "" +"New document version queued for uploaded and will be available shortly." msgstr "" #: views.py:418 @@ -476,6 +479,7 @@ msgstr "" #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" @@ -512,6 +516,9 @@ msgstr "" msgid "Tags to be attached." msgstr "" +#~ msgid "Staging file page image" +#~ msgstr "Staging file" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -594,11 +601,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/sources/locale/vi_VN/LC_MESSAGES/django.mo index 7b8f2cbe106158b59b892409524c2cd106e9870b..1f00d9c6c8875af5616bab78c166449e3abda86f 100644 GIT binary patch delta 66 zcmaFB^MGeVD6^@#u7QcJk)eX2k(H4#kZoYV72vNMlvylWKYNcRgUk+Fh-krj|_U}9jv72vNMlvylWKYNcRgU, 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" -"mayan-edms/language/vi_VN/)\n" -"Language: vi_VN\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 @@ -25,6 +24,7 @@ msgid "Sources" msgstr "" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "" @@ -309,6 +309,7 @@ msgid "" msgstr "" #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -411,6 +412,7 @@ msgstr "" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -425,11 +427,12 @@ msgstr "" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." msgstr "" #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "" @@ -452,7 +455,8 @@ msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." +msgid "" +"New document version queued for uploaded and will be available shortly." msgstr "" #: views.py:418 @@ -476,6 +480,7 @@ msgstr "" #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" @@ -512,6 +517,9 @@ msgstr "" msgid "Tags to be attached." msgstr "" +#~ msgid "Staging file page image" +#~ msgstr "Staging file" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -594,11 +602,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/sources/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/sources/locale/zh_CN/LC_MESSAGES/django.mo index 0f42b2b457a9cbb4ea87d8e3aa0c12ea3a9052bf..62599ac0ff0465fc87da1dd49cf5a9376e453000 100644 GIT binary patch delta 44 rcmdljuv=imdlp`ET>}$cBSQs4BP%20$$wa+5h7+*MrNB;SjCwE8A=NC delta 44 ycmdljuv=imdlp_ZT|+}%BVz>vBP&z0$$wa+fg%RRx<-ZyMut{~hMQGb#hC#aFAD1b diff --git a/mayan/apps/sources/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/sources/locale/zh_CN/LC_MESSAGES/django.po index 256ebd3b52..6720a40477 100644 --- a/mayan/apps/sources/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/sources/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:23-0400\n" -"PO-Revision-Date: 2016-03-21 21:11+0000\n" +"PO-Revision-Date: 2017-04-21 16:26+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" -"language/zh_CN/)\n" -"Language: zh_CN\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:38 links.py:35 models.py:145 views.py:543 @@ -26,6 +25,7 @@ msgid "Sources" msgstr "" #: apps.py:54 +#| msgid "Create new document sources" msgid "Create a document source" msgstr "" @@ -310,6 +310,7 @@ msgid "" msgstr "" #: models.py:356 +#| msgid "Current metadata" msgid "Subject metadata type" msgstr "" @@ -412,6 +413,7 @@ msgstr "" #: tasks.py:31 #, python-format +#| msgid "Error creating source; %s" msgid "Error processing source: %s" msgstr "" @@ -426,11 +428,12 @@ msgstr "" #: views.py:128 wizards.py:52 msgid "" -"No interactive document sources have been defined or none have been enabled, " -"create one before proceeding." +"No interactive document sources have been defined or none have been enabled," +" create one before proceeding." msgstr "" #: views.py:154 views.py:172 +#| msgid "Document sources" msgid "Document properties" msgstr "" @@ -453,7 +456,8 @@ msgid "Document \"%s\" is blocked from uploading new versions." msgstr "" #: views.py:380 -msgid "New document version queued for uploaded and will be available shortly." +msgid "" +"New document version queued for uploaded and will be available shortly." msgstr "" #: views.py:418 @@ -477,6 +481,7 @@ msgstr "新建数据源类型:%s" #: views.py:505 #, python-format +#| msgid "Delete document sources" msgid "Delete the source: %s?" msgstr "" @@ -513,6 +518,9 @@ msgstr "" msgid "Tags to be attached." msgstr "" +#~ msgid "Staging file page image" +#~ msgstr "Staging file" + #~ msgid "Staging file delete successfully." #~ msgstr "Staging file delete successfully." @@ -595,11 +603,9 @@ msgstr "" #~ msgstr "Error deleting source transformation; %(error)s" #~ msgid "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgstr "" -#~ "Are you sure you wish to delete source transformation \"%(transformation)s" -#~ "\"" +#~ "Are you sure you wish to delete source transformation \"%(transformation)s\"" #~ msgid "Source transformation created successfully" #~ msgstr "Source transformation created successfully" diff --git a/mayan/apps/statistics/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/statistics/locale/ar/LC_MESSAGES/django.mo index 672822fbeed066ed3f76c90e014a049f160b22bf..3086bdff32b41ddb1905b60f610688b811208ecb 100644 GIT binary patch delta 44 zcmX@ha+YPn3SM(v0~1{%Lj^-4D9B<7`;CZ?xaDI^w64rPp>?`L!Z043lJ A^#A|> diff --git a/mayan/apps/statistics/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/statistics/locale/bs_BA/LC_MESSAGES/django.mo index d88811ab0a51555d9c7c0176aa78f43846f7bc7b..cc4c951186950908767d8bb6ea9fca718433473a 100644 GIT binary patch delta 47 zcmcb|a*t)g3SM(v0~1{%Lj^-4D9B<7`;CZ?xaDWoJ$4rPpo082Cu AzW@LL diff --git a/mayan/apps/statistics/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/statistics/locale/de_DE/LC_MESSAGES/django.mo index 2656da7e0b49bf3916b524549dcda893c55cb9da..d2546352934bbd2582b65351946e80553ba923c9 100644 GIT binary patch delta 50 zcmcc5eV==S7BjE8u7QcJk)eX2k(H70WOL>N{62|!>7|M3sa6UpsqrqZlfN-XZ%$;X GV*~(q#}9%4 delta 50 zcmcc5eV==S7BjDzuA!l>k+Fh-k(H_WWOL>Nli69K__$IQsZ4*Hz%;v GGXel>S`L^1 diff --git a/mayan/apps/statistics/locale/en/LC_MESSAGES/django.mo b/mayan/apps/statistics/locale/en/LC_MESSAGES/django.mo index f1fa87dd04bc6a5a99a76fe46258c1c1988302f2..2a49b9eccb8068fe73b6d325cac90bbe08440f20 100644 GIT binary patch delta 23 ecmeyx^owai7q7Xlfr+k>p@N~2m67qp>5l5lEPL*#msB2Yha>lWT;?hWMyPL*_?S1k56J=dTC;Ms+B@&@#GuK(VHDuPA~!h DDmo44 delta 47 zcmeC+>EPL*#msA_YiOuzWUOFdWMyhT*_?UN7|M3sa6W9#hdL}PBH=j DF>MX` diff --git a/mayan/apps/statistics/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/statistics/locale/fa/LC_MESSAGES/django.mo index d65858ad2734d71bb7b2ed2f450880229ff79317..a66ac4a11fbb6122a8647ead80d76645c92ca6ca 100644 GIT binary patch delta 46 zcmX@bc8YC79V4%~u7QcJk)eX2k(H707|M3sa6VUiIa7hq9;#b+6DkY CVGd*f delta 46 zcmX@bc8YC79V4%quA!l>k+Fh-k(H_W_%z5+_e)+719e C{SI~j diff --git a/mayan/apps/statistics/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/statistics/locale/fr/LC_MESSAGES/django.mo index 2245b130366a85cc8c87225094546da90e366fec..00d0506d69dcb52660dadba526efe77f41d86c1b 100644 GIT binary patch delta 47 zcmX@XbAo4s7BjE8u7QcJk)eX2k(H70WOL>tJU)qe>7|M3sa6VUMU#IqM{iDIdBz9; DMja08 delta 47 zcmX@XbAo4s7BjDzuA!l>k+Fh-k(H_WWOL>tlQ~$TczhD`(n}N5Q>_%ziZ&;*JZA&| DIvx%F diff --git a/mayan/apps/statistics/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/statistics/locale/hu/LC_MESSAGES/django.mo index 291819e27cdeafd639617089869951d5a35e0e03..e8f72c34a4c375122b0983828378f050cc87c7e9 100644 GIT binary patch delta 44 zcmeyt{DXPI3SM(v0~1{%Lj^-4D;M1& diff --git a/mayan/apps/statistics/locale/id/LC_MESSAGES/django.mo b/mayan/apps/statistics/locale/id/LC_MESSAGES/django.mo index a4c41cc528b2b016b2cd108f39e1ebece05be092..7327c395fd3ece5f133d73fe84ad41f308a24033 100644 GIT binary patch delta 44 zcmZ3)vWR8EAzpJ`0~1{%Lj^-4DlWT;?hWMyPL*_?Slk56J=dTC;Ms+B@!$>guh(VJsgRx$zr DEpZMY delta 45 zcmZqUY2(?T#msA_YiOuzWUOFdWMyhT*_?U*WM-BqE}z7_^wPxiR4aweQ7mg10R}P* AQ~&?~ diff --git a/mayan/apps/statistics/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/statistics/locale/nl_NL/LC_MESSAGES/django.mo index a93b512aaa36ddd53c95ce55f64179a1e02d9b55..80738649995a4c247b01a0c56a8731a843753e9e 100644 GIT binary patch delta 49 zcmbQvF`Z+>FGgN-T>}$cBSQs4BP%20$?Qz$__&8a^n4bCSPHSo@~#2 F0|0Bl53B$H delta 49 zcmbQvF`Z+>FGgN7T|+}%BVz>vBP&z$$?Qz$CO>70;`d3+OD|1KPqk9W%Zc~%nQX^= F699B?55WKc diff --git a/mayan/apps/statistics/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/statistics/locale/pl/LC_MESSAGES/django.mo index 067786d37ae43ec661a21d2ec433c995df8b3574..b551c8b55f08387dd177821d7a44fd7ce63c05b1 100644 GIT binary patch delta 47 zcmZ3_vz}*z7BjE8u7QcJk)eX2k(H70WOL>NJU)qe>7|M3sa6UFIg`IJM{kZ}xyT3r DJe>}l delta 47 zcmZ3_vz}*z7BjDzuA!l>k+Fh-k(H_WWOL>NlUZ1zczhD`(n}N5Q>_#VayG}ZTw(+O DFj@_- diff --git a/mayan/apps/statistics/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/statistics/locale/pt/LC_MESSAGES/django.mo index 45e6e7b5e4f5833a863964d4eb98da069c0f723e..95c81d4e53e6a63b8d88e077bfdcecf86b0aeae2 100644 GIT binary patch delta 46 zcmX@dagJkyG!w76u7QcJk)eX2k(H70WDTbCJU)qe>7|M3sa6UFC6m7~MNf`n{r~_p Cq7KCX delta 45 zcmX@dagJkyG!w6xuA!l>k+Fh-k(H_WWDTbClUbOfxP21y(n}N5Q>_#VCdV*;0stFH B4PyWR diff --git a/mayan/apps/statistics/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/statistics/locale/pt_BR/LC_MESSAGES/django.mo index f84fc839f9f7d285c434f04144090818aa623646..0d0151f33f092146d3afe8a6a560ae94c32c2c08 100644 GIT binary patch delta 50 zcmZ3%vw~-X7BjE8u7QcJk)eX2k(H70WOL@z{62|!>7|M3sa6UFCGk!{lNni}H|MbI GVFUnQ6%L#L delta 50 zcmZ3%vw~-X7BjDzuA!l>k+Fh-k(H_WWOL@zlZ9BK__#VO5&Y@HfOW! GWds0Pxel=a diff --git a/mayan/apps/statistics/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/statistics/locale/ro_RO/LC_MESSAGES/django.mo index d6a402985a5b9dd9de12d75dc2d1e64816ef94f0..5e247ba76aeaad57babd631a884822491ce24b07 100644 GIT binary patch delta 49 zcmX@cc8qO9I3usQu7QcJk)eX2k(H707|M3sa6U_`SC&ilU10aC-*aL F2LNTL4?X|@ delta 49 zcmX@cc8qO9I3ur_uA!l>k+Fh-k(H_W_$=^5cX2C-*V! F003hj4^sdD diff --git a/mayan/apps/statistics/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/statistics/locale/ru/LC_MESSAGES/django.mo index 279a3ac462d4b9d327684e9f8e6c9b67d3be8d9b..ec303c0d28e66b8d5007e0f1b431679d5d9a04f6 100644 GIT binary patch delta 47 zcmey$^_6RbHWRP8u7QcJk)eX2k(H70WDBObJU)qe>7|M3sa6U_rIW8PMQ^rYwqybT DPmK;Q delta 47 zcmey$^_6RbHWROzuA!l>k+Fh-k(H_WWDBOblOHif@%SX>rI#kAr&=i#m2S3XwqgPR DRznU! diff --git a/mayan/apps/statistics/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/statistics/locale/sl_SI/LC_MESSAGES/django.mo index 96d10306fe358633af4602a16290470b7c594f4b..52cb732837d38d92d78d6d934138796a0b7b2879 100644 GIT binary patch delta 47 zcmeBU>0_DD%4@D`V4`bes92 DO^^=J delta 47 zcmeBU>0_DD%4?=;XsBystYBbdWokZg(x%BFj8XhPiFxUziRr0U3dK3`!Jd=XGA055 DO#Tk$ diff --git a/mayan/apps/statistics/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/statistics/locale/vi_VN/LC_MESSAGES/django.mo index e9dbf37f1f083ec34e4f98ac87d0f779413db637..189c8fba8611d84a406f4fc9d001e6fff3680967 100644 GIT binary patch delta 47 zcmZo>X=a(Qg4bNvz(m)`P{Gj1%E)-)*3JAriFxUziRr0U3T2t`VSba-8KWm(Vl)H* DREQ5F delta 47 zcmZo>X=a(Qg4ayf&`{UNSi!)^%G7+~*3FYE7^C=o67$ka6Vp?z6v{H=!~7;+WHbT* DRu&I9 diff --git a/mayan/apps/statistics/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/statistics/locale/zh_CN/LC_MESSAGES/django.mo index f85e963756148f997ecefbb8d776499124f12d29..80f0d999eb67c331e0ce40a0e970f8647a733418 100644 GIT binary patch delta 47 zcmeyt{DXPI3SM(v0~1{%Lj^-4D|JNr#eWQ?AChEWFq De9aH! delta 47 zcmeyt{DXPI3SKi^LqlC7V+8{vD^v4{Th~r5VvOSVNz6+xO-xUp@N~2m67qpNvnB$67$ka6Vp?z6cURj+b~8?Ucy)p04OaD A_y7O^ delta 44 zcmZ3?vY2H;E3cWZp`oskv4Vk-m8to}NvkJ&F-GzDB<7`;CZ?xaDI^w6Ud-4404G-t A3IG5A diff --git a/mayan/apps/storage/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/storage/locale/bg/LC_MESSAGES/django.mo index 6c8fcea159e6885feb5d80d9bc86a68fa34c561a..6b436ef92dca133a417e5a57bcfed97c6192668a 100644 GIT binary patch delta 44 zcmcc2e3^MdE3dh(fr+k>p@N~2m67qpN$Yrg67$ka6Vp?z6q3>>+cQQ_Ue2fk05`1; A0ssI2 delta 44 zcmcc2e3^MdE3cWZp`oskv4Vk-m8to}N$V#2GDh+EB<7`;CZ?xaDI}#&UdE^k05>KM A6aWAK diff --git a/mayan/apps/storage/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/storage/locale/bs_BA/LC_MESSAGES/django.mo index b16699b58a3b9a7a42e3011262e575cca362884d..3e5715ed71727d6dee62eb9fce445adacf0e93a9 100644 GIT binary patch delta 47 zcmdnRvWsOxE3dh(fr+k>p@N~2m67qpNhkPy67$ka6Vp?z6q1VLog61eGDc56!dM0X DUi}YV delta 47 zcmdnRvWsOxE3cWZp`oskv4Vk-m8to}Nhc;}F-GzGB<7`;CZ?xaDI^ugJ2_51%vcTp DU{?=w diff --git a/mayan/apps/storage/locale/da/LC_MESSAGES/django.mo b/mayan/apps/storage/locale/da/LC_MESSAGES/django.mo index 1588f0b80b183f6d1ca7e7ef7dc7c421e13cf402..c56fded10d9779cbd5973ef684d3f2689b8a9fee 100644 GIT binary patch delta 44 zcmcb>e1UmFE3dh(fr+k>p@N~2m67qpNvnB$67$ka6Vp?z6jBl=+b~8?Uc#sY05&NN A?*IS* delta 44 zcmcb>e1UmFE3cWZp`oskv4Vk-m8to}NvkJ&F-GzDB<7`;CZ?xaDWoJ$Ud*Tq05yva A0RR91 diff --git a/mayan/apps/storage/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/storage/locale/de_DE/LC_MESSAGES/django.mo index 4d77c4d6c2b7e62aa85a6484f573f64516816175..d0d240b3d40c3947fcec1fa19ee6bcfdabce8a63 100644 GIT binary patch delta 47 zcmbQnGL2=zQeJai0~1{%Lj^-4De diff --git a/mayan/apps/storage/locale/en/LC_MESSAGES/django.mo b/mayan/apps/storage/locale/en/LC_MESSAGES/django.mo index f1fa87dd04bc6a5a99a76fe46258c1c1988302f2..2a49b9eccb8068fe73b6d325cac90bbe08440f20 100644 GIT binary patch delta 23 ecmeyx^owai7q7Xlfr+k>p@N~2m67qp>5l5lp@N~2m67qpNo#m~67$ka6Vp?z6w(qW+cHK^UdpHn05nn! A;Q#;t delta 44 zcmX@be2RHOE3cWZp`oskv4Vk-m8to}Noyv1Ge+_FB<7`;CZ?xaDWoM%Uc#sb05iD_ A^8f$< diff --git a/mayan/apps/storage/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/storage/locale/fr/LC_MESSAGES/django.mo index 2142f7d5b0aec000eedb4639ce473280e0251d30..5c6b039d503811fb59cce8511edb181e9396406d 100644 GIT binary patch delta 44 zcmbQhGJ$2nQeJai0~1{%Lj^-4Dp@N~2m67qpN$Yrg67$ka6Vp?z6f#OD+cQQ_Ue2fk061q3 A761SM delta 44 zcmcc2e3^MdE3cWZp`oskv4Vk-m8to}N$V#2GDh+EB<7`;CZ?xaDP)vRUdE^k05^~h AC;$Ke diff --git a/mayan/apps/storage/locale/id/LC_MESSAGES/django.mo b/mayan/apps/storage/locale/id/LC_MESSAGES/django.mo index 237412df64cf91fdf2a42e15c7f1d5a5ac2851af..dcd42a6382306445743275c69c098c32da279b68 100644 GIT binary patch delta 44 zcmX@he3p4aE3dh(fr+k>p@N~2m67qpN$Yuh67$ka6Vp?z6f#pLJ1|C1Ucsme05$Cm A_5c6? delta 44 zcmX@he3p4aE3cWZp`oskv4Vk-m8to}N$V&3F-GzDB<7`;CZ?xaDP*QhUe2fn05xL{ A2mk;8 diff --git a/mayan/apps/storage/locale/it/LC_MESSAGES/django.mo b/mayan/apps/storage/locale/it/LC_MESSAGES/django.mo index a9f5fa4ac3fe247308905d9212415881aa0cc7be..52a3180fd7252b44c187e480b03be0a603453efd 100644 GIT binary patch delta 44 zcmeBU>0_C&l-FF>z(m)`P{Gj1%E)-)rhPm0_C&l-Eqx&`{UNSi!)^%G7+~rhSuZ8Kby-67$ka6Vp?z6eeF`v;qJTo(+5e diff --git a/mayan/apps/storage/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/storage/locale/nl_NL/LC_MESSAGES/django.mo index 70aceefa93e49f45a707ef40695f6ab90c50d714..4c2bde59235cf6e4f2abde867ed71914ce0dece6 100644 GIT binary patch delta 47 zcmbQsGM8n-QeJai0~1{%Lj^-4Di5C8G%d DV@(gF diff --git a/mayan/apps/storage/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/storage/locale/pl/LC_MESSAGES/django.mo index 73e24eb3c6ff7a832a8e87fb7c5e1533c2be801d..8aff3449975197e3547b90faadea22ae5d555649 100644 GIT binary patch delta 44 zcmX@fa*}1jQeJai0~1{%Lj^-4Dp@N~2m66HBNqhKx67$ka6Vp?z6pC}=gFPqvGDc6{!I%I5 DQlbw8 delta 47 zcmbQiGJ|D8E3cWZp`oskv4Vk-m8to}NqZ*8F-GzGB<7`;CZ?xaDHP|#2YXK5&X@=Q DQj`xE diff --git a/mayan/apps/storage/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/storage/locale/vi_VN/LC_MESSAGES/django.mo index c08af74dc8901b95e227e36dac07c18490ebb9b0..6daf2ce8098c72bb2089f7bbafc72fbd0d4a269f 100644 GIT binary patch delta 47 zcmcb|e2;lTE3dh(fr+k>p@N~2m66HBNqhNy67$ka6Vp?z6v{H=!~7=uF-A|`$*2kd DYo-rg delta 47 zcmcb|e2;lTE3cWZp`oskv4Vk-m8to}NqZ;9Ge+_IB<7`;CZ?xaDU@Z#hxtw3!KelR DYlshW diff --git a/mayan/apps/storage/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/storage/locale/zh_CN/LC_MESSAGES/django.mo index a9433c9333251860b157745bd25fd1fac5ed1621..a831b187f69470261cd9d45678906d7126783b54 100644 GIT binary patch delta 47 zcmcb?e1myHE3dh(fr+k>p@N~2m66HBN!$5-67$ka6Vp?z6sj`fo&6?zFh)<_%%}|JNr%E#Ha=U DXV?!! diff --git a/mayan/apps/tags/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/ar/LC_MESSAGES/django.mo index b68eb4af8d1108487455350d5de6ab1800bca87d..66e9b4ea52a2e9a8b8f36609d12bb1933b34a978 100644 GIT binary patch delta 514 zcmY+>J4*vW5Ww-t<>f^aO&Y})LQo4mNRCTFVnhr50E&%T*ce1af(TaPHKJA`94Y(& zB7%r|pjg;iSZQ}6_^P$F_P-Y&I578{U6!3;Z>RM-X+NbxH6c=DCwWYEk>vm%;uPEP z48wSf&3K26_=0(SM;+6eNC*v7YZLpij1ip2c3i>{5nHw>M%lQ*Zj1)&7xbaJU;xvY z!)KaIV}W&%X=1p7SzO0KJi$eL!~~AhRh^r{49?*M?)m$+$Q#8N8y`4}W>jPWcX1d$ zu@|j|dV?9vvED}J5$5(AFxPK1eOJuj2S@*fdLi0LLQSM1PO4}9i53d=OOm8|W);jK zx)atmoC~cOnXD{V*DCIQa3~Nj7#Yhjvprd}WLnN^sN-)ZUos1>9$wX)t7t9e9eC&7 N;lrkPAr#{Epe#7<}4bKm*yZT8E1u}rGRcAC5wbEn5Mw!AZz&L-oQ zjM?(G6=NWsvSd7ceSFkP+5KYkHFhkq#dN}o|Fcun8ck;{$!GG$Sb9{(4^@*yWFXTo z)=gJuGnMJ`E$>m!U^o~G1!My+fzlT4?ABQe{GNYe;~gT_G6 z3`sK-37O@OH5spy^>?(pd3Q>xS+%H2YDv0NY9%6_h_94$r`0o6V#+PJ59lmPx1i?S zX?If1=+~l}R|~wV6;*We#H5?=7aM%_P^Zufi>gebh05YQ3pd?H?~>R$`G2W(>70SW vmUOO?`zLKt&2ErbP|J%-*)z_tKj3uv8=W=3uUTK~`nk4RJzoCed++%T?FTop diff --git a/mayan/apps/tags/locale/ar/LC_MESSAGES/django.po b/mayan/apps/tags/locale/ar/LC_MESSAGES/django.po index 5da1f47fdb..24c8abccbe 100644 --- a/mayan/apps/tags/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-03-21 21:12+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" -"ar/)\n" -"Language: ar\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 #: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 @@ -39,10 +37,8 @@ msgid "Remove tag" msgstr "" #: links.py:17 links.py:24 -#, fuzzy -#| msgid "Attach tags to documents" msgid "Attach tags" -msgstr "إضافة كلمات استدلالية للوثائق" +msgstr "" #: links.py:20 msgid "Remove tags" @@ -139,22 +135,21 @@ msgid "Attach" msgstr "" #: views.py:44 -#, fuzzy #| msgid "Attach tags to documents" msgid "Attach tags to document" msgid_plural "Attach tags to documents" -msgstr[0] "إضافة كلمات استدلالية للوثائق" -msgstr[1] "إضافة كلمات استدلالية للوثائق" -msgstr[2] "إضافة كلمات استدلالية للوثائق" -msgstr[3] "إضافة كلمات استدلالية للوثائق" -msgstr[4] "إضافة كلمات استدلالية للوثائق" -msgstr[5] "إضافة كلمات استدلالية للوثائق" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" #: views.py:54 -#, fuzzy, python-format +#, python-format #| msgid "Attach tag to document: %s." msgid "Attach tags to document: %s" -msgstr "Attach tag to document: %s." +msgstr "" #: views.py:63 msgid "Tags to be attached." @@ -203,10 +198,10 @@ msgstr[4] "" msgstr[5] "" #: views.py:142 -#, fuzzy, python-format +#, python-format #| msgid "Delete tags" msgid "Delete tag: %s" -msgstr "حذف الكلمات الاستدلالية" +msgstr "" #: views.py:152 #, python-format @@ -245,53 +240,80 @@ msgstr "" #: views.py:244 msgid "Remove" -msgstr "" +msgstr "إزالة" #: views.py:246 -#, fuzzy #| msgid "Remove tags from documents" msgid "Remove tags from document" msgid_plural "Remove tags from documents" -msgstr[0] "إزالة الكلمات الاستدلالية من الوثائق" -msgstr[1] "إزالة الكلمات الاستدلالية من الوثائق" -msgstr[2] "إزالة الكلمات الاستدلالية من الوثائق" -msgstr[3] "إزالة الكلمات الاستدلالية من الوثائق" -msgstr[4] "إزالة الكلمات الاستدلالية من الوثائق" -msgstr[5] "إزالة الكلمات الاستدلالية من الوثائق" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" #: views.py:256 -#, fuzzy, python-format +#, python-format #| msgid "Remove tag from document: %s." msgid "Remove tags from document: %s" -msgstr "ازالة الكلمة الاستدلالية من الوثيقة: %s" +msgstr "" #: views.py:265 msgid "Tags to be removed." msgstr "" #: views.py:290 -#, fuzzy, python-format +#, python-format #| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" -msgstr "الوثيقة \"%(document)s\" لم تربط مع: \"%(tag)s\"" +msgstr "" #: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." -msgstr "" -"الكلمة الاستدلالية \"%(tag)s\" أزيلت بنجاح من الوثيقة \"%(document)s\"." +msgstr "الكلمة الاستدلالية \"%(tag)s\" أزيلت بنجاح من الوثيقة \"%(document)s\"." #~ msgid "Must provide at least one document." -#~ msgstr "يجب توفير وثيقة واحدة عالاقل." +#~ msgstr "Must provide at least one document." + +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "2b1f894eebfe4fd9c93a2a121387867c_pl_0" +#~ msgstr[1] "2b1f894eebfe4fd9c93a2a121387867c_pl_1" +#~ msgstr[2] "2b1f894eebfe4fd9c93a2a121387867c_pl_2" +#~ msgstr[3] "2b1f894eebfe4fd9c93a2a121387867c_pl_3" +#~ msgstr[4] "2b1f894eebfe4fd9c93a2a121387867c_pl_4" +#~ msgstr[5] "2b1f894eebfe4fd9c93a2a121387867c_pl_5" #~ msgid "Must provide at least one tag." -#~ msgstr "يجب توفير كلمة استدلالية واحدة عالاقل" +#~ msgstr "Must provide at least one tag." #~ msgid "Must provide at least one tagged document." -#~ msgstr "يجب توفير وثيقة واحد عالاقل مربوطة بكلمات استدلالية" +#~ msgstr "Must provide at least one tagged document." #~ msgid "Remove tag from documents: %s." -#~ msgstr "ازالة الكلمة الاستدلالية من الوثائق: %s" +#~ msgstr "Remove tag from documents: %s." + +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" + +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" diff --git a/mayan/apps/tags/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/bg/LC_MESSAGES/django.mo index ef999b129e5460c8877c68bc2dec483136af8921..3b00a4af3f7d00b24a8a91c8dacd62cd53d002dc 100644 GIT binary patch delta 403 zcmYMwy-LGS6u|MDw5eZ-LKT(xfkmvKl$uZtbkfDm#ZC8s4x*EjP$?ALDqIyep%h0^ zN*1wiAb9fvE+Q!S27>rMMexAM@7&AbaBkkbE4TKV&t58Ggq$WX$O+Q5_z-(IiTmha z9i{gShwvH)u#H)~`#X1Vk#iSw_>Mk);Vkyqz5bdiQpkX1oX1sc(zJsS=g*8%{a9dn z8JDntyO_rl9LFXu;4N<9GmfFp*6Uct0FQ7OTR5X!r5-3Yxp;B3Z~4;Fd+4APge)%) zm7rUBr2GKcN#-aWTj#m$_~7t3){*__MWvNWDGcUe?YKj37DKTm#B+r(!sG} zP#ii5ii;3U1J`Kc;Nl`Yw^nd*5!?!H4*k9*WD#F@@AE#-J>=Wjk;KF){X?%p^_zaKWOFV>c@gQ#D7!HQ<7d%J&4d?I=p2m|&rDpIV64%u& z4yJJx&7cQp8XCAk(`(ETXDK>>B|MKcJcDm=8o%Ok{ElaF7Z)+jTQA^UypHeiGX6!^ zeDb9Ur4Ew_a26k?E%w>#yRqcthUH2We~BGMCRXh#TxD62(pF z?kA*g4qXZ&>6^NN^x}2-M5-S*Z6*JVVFVp!QY4*tJzkSYGo>xt7Hw_$C_NcyIX0Tv N, 2012 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-03-21 21:12+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/bg/)\n" -"Language: bg\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 @@ -38,10 +37,8 @@ msgid "Remove tag" msgstr "" #: links.py:17 links.py:24 -#, fuzzy -#| msgid "Attach tags to documents" msgid "Attach tags" -msgstr "Закачане етикет към документи" +msgstr "" #: links.py:20 msgid "Remove tags" @@ -138,18 +135,17 @@ msgid "Attach" msgstr "" #: views.py:44 -#, fuzzy #| msgid "Attach tags to documents" msgid "Attach tags to document" msgid_plural "Attach tags to documents" -msgstr[0] "Закачане етикет към документи" -msgstr[1] "Закачане етикет към документи" +msgstr[0] "" +msgstr[1] "" #: views.py:54 -#, fuzzy, python-format +#, python-format #| msgid "Attach tag to document: %s." msgid "Attach tags to document: %s" -msgstr "Attach tag to document: %s." +msgstr "" #: views.py:63 msgid "Tags to be attached." @@ -194,10 +190,10 @@ msgstr[0] "" msgstr[1] "" #: views.py:142 -#, fuzzy, python-format +#, python-format #| msgid "Delete tags" msgid "Delete tag: %s" -msgstr "Изтриване етикети" +msgstr "" #: views.py:152 #, python-format @@ -236,21 +232,20 @@ msgstr "" #: views.py:244 msgid "Remove" -msgstr "" +msgstr "Премахнете" #: views.py:246 -#, fuzzy #| msgid "Remove tags from documents" msgid "Remove tags from document" msgid_plural "Remove tags from documents" -msgstr[0] "Премахване на етикети от документи" -msgstr[1] "Премахване на етикети от документи" +msgstr[0] "" +msgstr[1] "" #: views.py:256 -#, fuzzy, python-format -#| msgid "Remove tags from documents" +#, python-format +#| msgid "Remove tag from document: %s." msgid "Remove tags from document: %s" -msgstr "Премахване на етикети от документи" +msgstr "" #: views.py:265 msgid "Tags to be removed." @@ -258,6 +253,7 @@ msgstr "" #: views.py:290 #, python-format +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "" @@ -267,10 +263,41 @@ msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Трябва да посочите поне един документ." +#~ msgstr "Must provide at least one document." + +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "2b1f894eebfe4fd9c93a2a121387867c_pl_0" +#~ msgstr[1] "2b1f894eebfe4fd9c93a2a121387867c_pl_1" #~ msgid "Must provide at least one tag." -#~ msgstr "Трябва да се осигури най-малко един етикет." +#~ msgstr "Must provide at least one tag." + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "Must provide at least one tagged document." + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "Remove tag from documents: %s." + +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" + +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" diff --git a/mayan/apps/tags/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/bs_BA/LC_MESSAGES/django.mo index e52a90b654ad91199d5318437d7c7341e8363216..0580ec92b7d05e24e7c4c643f10455e155ff68ac 100644 GIT binary patch delta 511 zcmYMxy-LGS6u|MDG-(pGRpX%eMWLdg1lrKF*j9A#0Yq?cw?nD5AVqMoTXzW^d;%8- zrJ!%%po@b}qUfHn5hHXkt1D%ohqCr@39FdIJ)Fh{t}E41T_ziB+~Pc1iQfYjQ4UzaEC%>V zkzJHVx9CO+HE{wDF^ydeu!r*eJzDq_-+#en))Cs&SCh0Q9c6G0E3wBYg>H~bJu-~p zGcI6+^rPro4UzQq7bEeE8b4vj4v@y>%ycf^Nuhk!K}aF_CF7)gW(j!3^Z%YLcvm|t2LSey1vW50D!Z`Z@X{`dw* CM-+lVcg zs|P_!@FHHsgD1Vzf){TEy?FEF!9T!@C|FQ0eqXW?K_$b!{p{?Uoi{VPG59Rg_?YQ^ zsAva?!^C@Hl(-+`M(d9&HG(Nj;4w_&N!*3!uz<5@<2t7B1@_{rsQ((r>A%4-{ESDH zYN+8JrB3t0#v^zgNvL%^gpY6rx9|dfi}D3#mjVmiq~J9iLl<{g{5_NnHInUdk8zm( z6CA`X%u`=&^B^n#fijWRrxcf(;wA%UP!@O*PvIRrj!#j(dy7)&C&~s!`r8XH;57X! zkq=PDy+cZ=PdG$<^@RtSFi!R8)afa;pOB;8O=O4xLYn*r*$EqLEp!h`<6wR_DIiTY zw2$Dl6=hn#c`wSZla`Vl9w3IA&trF+JMna%zU|cf@vu18(N3sW zjKhn-H`)yrS1ZO3C)EGPgw9fz^pbJ^m}%Zrg1XUsrf*b(igwRLMT+`FZ9@H(jyMRY{Z8d{({O*?*Uj?NjJJ lD5yKW*O_;kgI!o&33wyN;jMKNq0>H$e, 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-03-21 21:12+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" -"rosarior/mayan-edms/language/bs_BA/)\n" -"Language: bs_BA\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 #: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 @@ -39,10 +37,8 @@ msgid "Remove tag" msgstr "" #: links.py:17 links.py:24 -#, fuzzy -#| msgid "Attach tags to documents" msgid "Attach tags" -msgstr "Prikači tagove na dokumente" +msgstr "" #: links.py:20 msgid "Remove tags" @@ -139,19 +135,18 @@ msgid "Attach" msgstr "" #: views.py:44 -#, fuzzy #| msgid "Attach tags to documents" msgid "Attach tags to document" msgid_plural "Attach tags to documents" -msgstr[0] "Prikači tagove na dokumente" -msgstr[1] "Prikači tagove na dokumente" -msgstr[2] "Prikači tagove na dokumente" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" #: views.py:54 -#, fuzzy, python-format +#, python-format #| msgid "Attach tag to document: %s." msgid "Attach tags to document: %s" -msgstr "Attach tag to document: %s." +msgstr "" #: views.py:63 msgid "Tags to be attached." @@ -197,10 +192,10 @@ msgstr[1] "" msgstr[2] "" #: views.py:142 -#, fuzzy, python-format +#, python-format #| msgid "Delete tags" msgid "Delete tag: %s" -msgstr "Obriši tagove" +msgstr "" #: views.py:152 #, python-format @@ -239,32 +234,31 @@ msgstr "" #: views.py:244 msgid "Remove" -msgstr "" +msgstr "Ukloniti" #: views.py:246 -#, fuzzy #| msgid "Remove tags from documents" msgid "Remove tags from document" msgid_plural "Remove tags from documents" -msgstr[0] "Ukloni tagove iz dokumenta" -msgstr[1] "Ukloni tagove iz dokumenta" -msgstr[2] "Ukloni tagove iz dokumenta" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" #: views.py:256 -#, fuzzy, python-format +#, python-format #| msgid "Remove tag from document: %s." msgid "Remove tags from document: %s" -msgstr "Ukloni tag iz dokumenta: %s." +msgstr "" #: views.py:265 msgid "Tags to be removed." msgstr "" #: views.py:290 -#, fuzzy, python-format +#, python-format #| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" -msgstr "Dokument \"%(document)s\" nije tagovan kao \"%(tag)s\"" +msgstr "" #: views.py:300 #, python-format @@ -272,16 +266,42 @@ msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "Tag \"%(tag)s\" uspješno uklonjen iz dokumenta \"%(document)s\"." #~ msgid "Must provide at least one document." -#~ msgstr "Mora biti obezbjeđen bar jedan dokument." +#~ msgstr "Must provide at least one document." + +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "2b1f894eebfe4fd9c93a2a121387867c_pl_0" +#~ msgstr[1] "2b1f894eebfe4fd9c93a2a121387867c_pl_1" +#~ msgstr[2] "2b1f894eebfe4fd9c93a2a121387867c_pl_2" #~ msgid "Must provide at least one tag." -#~ msgstr "Mora biti obezbjeđen bar jedan tag." +#~ msgstr "Must provide at least one tag." #~ msgid "Must provide at least one tagged document." -#~ msgstr "Mora biti obezbjeđen bar jedan tagovani dokument." +#~ msgstr "Must provide at least one tagged document." #~ msgid "Remove tag from documents: %s." -#~ msgstr "Ukloni tag iz dokumenata: %s." +#~ msgstr "Remove tag from documents: %s." + +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" + +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" diff --git a/mayan/apps/tags/locale/da/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/da/LC_MESSAGES/django.mo index 8a4bc9828edee27fa9dbb4cdb79277d12dbded6b..05a8895850a2e09629350c17557580ba2ecaf9e4 100644 GIT binary patch delta 468 zcmZY5ze~eF6u|LI8XK)uqabP#DTsDDNMdX;g1>NA{0}m8=%Rz6C{hZ}x)=lnad2{# zijEHAe;|$>TpSeCp|gHp6c-=7d@jekdyji}Zu8CdkaesGha4x*$Prl^e25(!#a-;e zBOJgJ?8Qqg<2Cl+>#rRw@&APdESX9z;tDR|K29jrRQD__Hl9%~c)>~h!~+fwXMP5| zphyO|!+v}~seiMm;$;2W0L%-5`vkr~qD!Y)J+E3r^#x)24 delta 958 zcmajcJ#5oJ6u|LwlK?FZq=iJ306Mkm2Z2P53k{?~EfNBj4#2_$nD_|6ja|iV7yyNV z4VWw{*cgE|12bY}VgM!v7B&hCV&s30qaskn$A_d?FY*;sEiE zI7r+zI5EECKKy|x92yW}H)e1rN}R`|XkrZqaXt1qPILbXC-6NU!k<_Wq9d}2-hxZ0 z6IXCQ-or(Fic9z@&W|O9;1DM`>4i?=1fIi36zQODdI}jP2Fdn#v6h`{VMq<-5~C_`$f)Szhx4x!UsD4O>YokSogK zf#)jOf1xC{p2G_NN!OMA$Coaurq@=wFnOcpHKlzduBs|0{gU`69cTS0-JKd(Fw*nI za=B>E$yu{{yb`*JJWpolie_1w3DWHn7Z7#, 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-03-21 21:12+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" -"da/)\n" -"Language: da\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 @@ -38,10 +37,8 @@ msgid "Remove tag" msgstr "" #: links.py:17 links.py:24 -#, fuzzy -#| msgid "Attach tags to documents" msgid "Attach tags" -msgstr "Vedhæft tags til dokumenter" +msgstr "" #: links.py:20 msgid "Remove tags" @@ -138,18 +135,17 @@ msgid "Attach" msgstr "" #: views.py:44 -#, fuzzy #| msgid "Attach tags to documents" msgid "Attach tags to document" msgid_plural "Attach tags to documents" -msgstr[0] "Vedhæft tags til dokumenter" -msgstr[1] "Vedhæft tags til dokumenter" +msgstr[0] "" +msgstr[1] "" #: views.py:54 -#, fuzzy, python-format +#, python-format #| msgid "Attach tag to document: %s." msgid "Attach tags to document: %s" -msgstr "Attach tag to document: %s." +msgstr "" #: views.py:63 msgid "Tags to be attached." @@ -194,10 +190,10 @@ msgstr[0] "" msgstr[1] "" #: views.py:142 -#, fuzzy, python-format +#, python-format #| msgid "Delete tags" msgid "Delete tag: %s" -msgstr "Slet tags" +msgstr "" #: views.py:152 #, python-format @@ -239,28 +235,27 @@ msgid "Remove" msgstr "" #: views.py:246 -#, fuzzy #| msgid "Remove tags from documents" msgid "Remove tags from document" msgid_plural "Remove tags from documents" -msgstr[0] "Fjern tags fra dokumenter" -msgstr[1] "Fjern tags fra dokumenter" +msgstr[0] "" +msgstr[1] "" #: views.py:256 -#, fuzzy, python-format +#, python-format #| msgid "Remove tag from document: %s." msgid "Remove tags from document: %s" -msgstr "Fjern tag fra dokument: %s." +msgstr "" #: views.py:265 msgid "Tags to be removed." msgstr "" #: views.py:290 -#, fuzzy, python-format +#, python-format #| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" -msgstr "Dokumentet \"%(document)s\" ikke blev kodet som \"%(tag)s\"" +msgstr "" #: views.py:300 #, python-format @@ -268,16 +263,41 @@ msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "Tag \"%(tag)s\" blev fjernet fra dokumentet \"%(document)s\"." #~ msgid "Must provide at least one document." -#~ msgstr "Skal angive mindst ét ​​dokument." +#~ msgstr "Must provide at least one document." + +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "2b1f894eebfe4fd9c93a2a121387867c_pl_0" +#~ msgstr[1] "2b1f894eebfe4fd9c93a2a121387867c_pl_1" #~ msgid "Must provide at least one tag." -#~ msgstr "Der skal angives mindst én tag." +#~ msgstr "Must provide at least one tag." #~ msgid "Must provide at least one tagged document." -#~ msgstr "Skal angive mindst ét tagget dokument." +#~ msgstr "Must provide at least one tagged document." #~ msgid "Remove tag from documents: %s." -#~ msgstr "Fjern tag fra dokumenter: %s." +#~ msgstr "Remove tag from documents: %s." + +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" + +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" diff --git a/mayan/apps/tags/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/de_DE/LC_MESSAGES/django.mo index 2b63b3b3d0f7d2a3ecc70856b496a7ff6bea6f54..fcf871cfb08012c8f8d47d9f97bb78c4bef72ff3 100644 GIT binary patch delta 1187 zcmYk)J4_To7{KvS9>?Pl0p%$=Ac-0R;ZE=sqmXEPV1bWDL&3rgcME&BxVuUq(TfF@ zT9}a-8yoGcFwufSV`5=qC~U0M#LyTYAyy{Z`2UX6IN90X+|12r{f~l;3QUJgspfTdDMMg^1lZtPsfomC*jWnWc zpaW&y9xNfgI!WUw9cOS5Z{c=aLDo>;a4Y^m2^?cp2~dYmBwHx|`%H8>z;~4SzmX}b zwSsJ-#s<8Gb$ADBh_4>f;89D`fy;OVU*iFc5tVGIL6ktpP&RUk*A_gFa>5MC!Xe5P zETE)%5oO+MlsGHcjqfl|RU4Ttf#WE5*oy7A2PN$~tA_ zxf2_Z1gRFPY^;MS-vZT?na8-O?{!I)Q+OEiNB?ZMi*7CK!Qsk$pW$e z6*;ABNQ!*Na;X1{Y*I>td@*e_8tvthhHm+;rEI2ZDuabQNHW!s=c%D6awal5a?-Y? zv~$GIW*r@x87FWelhU3WM%tg$DSzTh*5o2R6S!F?nA6i{F4U2)XEUzM&ba(?(t6hQ zJUwo-Q&`ocdhNl|CEH$h!^X>#)#{wd`d3XMSiXF>y&HRB!;1Nu{XKpCJ;{VlBo8I~ z?XQZq_XYnqK>8({sB} GoA?7N@wuY_ literal 4022 zcma);O^h5z6@WV-A!G>T2Pcp}C@(SIP0};7YbV)^+5D_`?O5`{${uX_gnFlIXPWKl z9#z$NvX&x62yPsZ04d^tgk%KbP9%^85_{&9OLB>_NRgr_oVX&v_iDOldIyc2($;)k zRj*#X_v%&Ee)z~ezX~WJ^(pF4?h1l6_}Sh3P(J!X5Y*ryti#XXH{g@^1i`)VH2f-T z!3W_5DDv0f7hw#)4ENv)9KjdiAB*-Oe1P^blzjyrhxfwuMe2LA>hhVMa<{}?hg_;=C%4}67o4QE#21^5#DF%*0M0wtb*g<{76JO=*( znHu~PivE8=+0Xw%*|!G?zRX*P%kVsW4(>yV&+nkvaaink20~K6{k}sX2 z-@rF${~WHv58wuT3L$AnQ0%@5CC+~+_z9HwEMlbCbskEbFTw@515p+Hv}peV5@ugy ze?{j>s_a2XWqT*(@yS;Z+|9R~3(0wj%d^x+s9&ebI?q$3EK$WzDPqS%R9XK?>N8Z? zdnts)7qPu8q>SH#6HxYA_F48u_MhzS0x|L7mauw&DVP9u%PPeV}+p4?`&gN-ug0n_PPOD6hyz-+>gvP_N?uJga(*;D> zPQH6uSw=ff$1?EhyaCHdVXs;^u~^!^WEWIoRg|(=ye}HMD2lAe&|rA(v{7WUlkWCY zP%)iP1G@_&Dqm`pIO2;ZNVL=m8*Ijj^FK#=q`{amxlyr1B+0tcH?@_?i(1B)Y;ZB! z(P^+Xv`!67em#k`ikwPyL`RZN6>%k@6&#!xzE1zoDt4pTc z{9Yn$N<;5FQ!JWHwf{fYGAw(zR9IJC^^S8z_q@r~b!FK$X-BPi8TmuZX4zqodETOkzEU6gvu*MpaX*9?;_!+#Hp#P=+KTq0Ol@v#U9MfygWR}q z%XX7ETpxCA*v?z3w*CEf=x-q8!wv4KmRe~pzZfnrhbyO4bEWmdOJVbLvx#7MiL4jB zRk`L1;Yw4jEVoXbdag;SUF6_}Z4+fSja+V8s-5p7Tr}H}9_(rLUFVzifp5MxMm^K+ z6=r7LVbs-OTSxttIBAooh*>->No41yx%anjZBi8Mqm65 zb={s6a~e$zDuX_RDVRHqjitKHfU z+ULU6shljjt4+9>b@G^7sijtT5;rltMGCN1Z95&BC=Ji$rcb(O1K+f3D`(XBb8RtG z$Jf;I(wUl1zbNY++|0Tq-C=-_5AC4gRQIm+{s zVBE~`bhbQCg>y$wBF~dkESG1hpSa4A=7!x%v~hDLs!?QAmUMb<-aI^%z{*QBUYQrR z{PJ@oDjdgkEs;v_NW|&k#8rEaw9n~YstpoJUzKrU`|UWMlUG%4tn#I5lVHK7RsEsm zC&`dzEvs~rsnQ^JqRUR~5Y>@3vCis~8CyqY6k!+fsqjR0Mtd1T%$vJVa3wc{KN|X1 z?ck;~(t}%;|2n*1KBdZ}!Z7cs4-`j;Ly;9>yUqqq79oc7N6}FoA77P6<*ll!W5QJ1 z)m(B|T_)QKYsL=;kIpDDdnp;gNr&fh`qHuI}nF{_{m zhVz@qAVH`u-PPm!!K*Ky!-HF9Y7pmdLsxcdCf$5EiVTUe8#S|(QpCG)1Y)|Rj IG)-LaKROg&5&!@I diff --git a/mayan/apps/tags/locale/de_DE/LC_MESSAGES/django.po b/mayan/apps/tags/locale/de_DE/LC_MESSAGES/django.po index b89fb8e32b..200abd3a19 100644 --- a/mayan/apps/tags/locale/de_DE/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/de_DE/LC_MESSAGES/django.po @@ -1,23 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Berny , 2015-2016 +# Jesaja Everling , 2017 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-05-20 21:33+0000\n" -"Last-Translator: Tobias Paepke \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" -"edms/language/de_DE/)\n" -"Language: de_DE\n" +"PO-Revision-Date: 2017-04-24 23:13+0000\n" +"Last-Translator: Jesaja Everling \n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 @@ -38,10 +38,8 @@ msgid "Remove tag" msgstr "Tag entfernen" #: links.py:17 links.py:24 -#, fuzzy -#| msgid "Attach tag" msgid "Attach tags" -msgstr "Tag anhängen" +msgstr "Tags zuweisen" #: links.py:20 msgid "Remove tags" @@ -61,7 +59,7 @@ msgstr "Bearbeiten" #: links.py:43 msgid "All" -msgstr "" +msgstr "Alle" #: models.py:18 msgid "Label" @@ -111,7 +109,7 @@ msgstr "Tags von Dokumenten entfernen" msgid "" "Comma separated list of document primary keys to which this tag will be " "attached." -msgstr "" +msgstr "Komma getrennte Liste der Primary Keys der Dokumente denen dieser Tag zugeordnet werden soll" #: serializers.py:85 msgid "" @@ -134,30 +132,25 @@ msgid "Tag attach request performed on %(count)d documents" msgstr "" #: views.py:42 -#, fuzzy -#| msgid "Attach tag" msgid "Attach" -msgstr "Tag anhängen" +msgstr "" #: views.py:44 -#, fuzzy #| msgid "Attach tags to documents" msgid "Attach tags to document" msgid_plural "Attach tags to documents" -msgstr[0] "Tags zu Dokumenten hinzufügen" -msgstr[1] "Tags zu Dokumenten hinzufügen" +msgstr[0] "" +msgstr[1] "" #: views.py:54 -#, fuzzy, python-format +#, python-format #| msgid "Attach tag to document: %s." msgid "Attach tags to document: %s" -msgstr "Attach tag to document: %s." +msgstr "" #: views.py:63 -#, fuzzy -#| msgid "Tags to attach to the document." msgid "Tags to be attached." -msgstr "Dem Dokument hinzuzufügende Tags." +msgstr "" #: views.py:88 #, python-format @@ -198,10 +191,10 @@ msgstr[0] "Den ausgwählten Tag löschen?" msgstr[1] "Die ausgwählten Tags löschen?" #: views.py:142 -#, fuzzy, python-format +#, python-format #| msgid "Delete tags" msgid "Delete tag: %s" -msgstr "Tags löschen" +msgstr "" #: views.py:152 #, python-format @@ -239,34 +232,31 @@ msgid "Tag remove request performed on %(count)d documents" msgstr "" #: views.py:244 -#, fuzzy -#| msgid "Remove tag" msgid "Remove" -msgstr "Tag entfernen" +msgstr "Entfernen" #: views.py:246 -#, fuzzy #| msgid "Remove tags from documents" msgid "Remove tags from document" msgid_plural "Remove tags from documents" -msgstr[0] "Tags von Dokumenten entfernen" -msgstr[1] "Tags von Dokumenten entfernen" +msgstr[0] "" +msgstr[1] "" #: views.py:256 -#, fuzzy, python-format +#, python-format #| msgid "Remove tag from document: %s." msgid "Remove tags from document: %s" -msgstr "Tag von Dokument %s entfernen" +msgstr "" #: views.py:265 msgid "Tags to be removed." msgstr "" #: views.py:290 -#, fuzzy, python-format +#, python-format #| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" -msgstr "Dokument \"%(document)s war nicht mit \"%(tag)s\" markiert" +msgstr "" #: views.py:300 #, python-format @@ -274,43 +264,41 @@ msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "Tag \"%(tag)s\" erfolgreich von Dokument \"%(document)s\" entfernt." #~ msgid "Must provide at least one document." -#~ msgstr "Es muss mindestens ein Dokument angegeben werden." +#~ msgstr "Must provide at least one document." #~ msgid "Attach tag to document" #~ msgid_plural "Attach tag to documents" -#~ msgstr[0] "Tag an Dokument anhängen" -#~ msgstr[1] "Tag an Dokumente anhängen" +#~ msgstr[0] "2b1f894eebfe4fd9c93a2a121387867c_pl_0" +#~ msgstr[1] "2b1f894eebfe4fd9c93a2a121387867c_pl_1" #~ msgid "Must provide at least one tag." -#~ msgstr "Es muss Mindestens einen Tag angeben werden" +#~ msgstr "Must provide at least one tag." #~ msgid "Must provide at least one tagged document." -#~ msgstr "Es muss mindestens ein markiertes Dokument angegeben werden" +#~ msgstr "Must provide at least one tagged document." #~ msgid "Remove tag from documents: %s." -#~ msgstr "Tag von Dokumenten %s entfernen." +#~ msgstr "Remove tag from documents: %s." -#~| msgid "" -#~| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" #~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" #~ msgstr "" -#~ "Wollen Sie den Tag %(tag)s wirklich vom Dokument %(document)s entfernen?" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" -#~| msgid "" -#~| "u sure you wish to remove the tag \"%(tag)s\" from the documents: " -#~| "ments)s?" #~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" #~ msgstr "" -#~ "Tag \"%(tag)s\" wirklich von den Dokumenten %(documents)s entfernen?" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" -#~| msgid "" -#~| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" #~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" -#~ msgstr "Wollen Sie die Tags %(tags)s vom Dokument %(document)s entfernen?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" #~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" #~ msgstr "" -#~ "Tags \"%(tags)s\" wirklich von den Dokumenten %(documents)s entfernen?" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" diff --git a/mayan/apps/tags/locale/en/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/en/LC_MESSAGES/django.mo index 30e20e69f152eda4adcc8a23126e03cc73651b7b..afad613740c0c0ba414a0d0679d250cff109f5a7 100644 GIT binary patch delta 404 zcmY+;u}cDR7{>AUyi3#WG+LAp2^?%W(nAbfa`xYF(Efo|p&_CMhf{EAbJ5k!KOll= zaB2|SS{iB=3Hm#eCACZ{fj&9_a7GCD3kyI literal 2129 zcmeH{O-~a+7{^D&xB7;ti7`k<2m+evZmWV>LPTjvNNmJX@jUDfWzBY`nVC|!c=W0l zzl$eMehg#uYv=+0Gqe;M(2GYVo&9z8d71w+FZ+FH;4?wHg+7e_75y%Hb_x%)AK-29 zCwLb81zvN8(}Y|C2El1?7%YM-;6?BQI01eF$G|V(2>13nzJOjQ z=yif#=lPCK(CY-fPH-M^J01Hj2q|RbLPsa)b%K!Tmd($La(o-a)9VDCZr5(0U-AD4 zxemH~kU?^tcb7p-LvEtGJ-CYQ_HPLNV8fJzJhzs|8`Sc;p;pmE#jS>r){q62DNPo% z;8sv6+TMkfL?$qH?xfW5rK97M-MA?;N>f95hPY(g`PD^2xp6)iz)>>(rI2Ea^JLg{Jh>lMRXP+{p(lVAdwc1P*LAj-w;CP{=*sn1E7ayekhuKxt ztvOGsqMx93-61^1)jbQI1!4AF8gaU57pb7?Yem5yjttqF~_tSZBGs^B2& zEnXL_CU_&FWm(Tsvq2{}tZha?&~CT$)`h3*Vk;l3Mu5ZS3Nt}7Xt;WqNE#-{I%xtS zgQ@+b5fw65S*nzKYf#9CxdkOH?jEacH&LJ!TQ+EBJe9LF-r(8@JNKrx$e#B6oPc$q zSy{#^!F`D6)3wy*ma~@T8Cz7kfiotXerV>3vvlw8+@z%U=4fGRHg|IWkNQTO+<$5D MsqTJ2{^$Mw1ArAv%K!iX diff --git a/mayan/apps/tags/locale/es/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/es/LC_MESSAGES/django.mo index 0f458e74877bdcd45112a4ea57bc82866acfdaba..cd29b7d7e925d87262ac1390c944d21d98140f94 100644 GIT binary patch literal 3794 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 LMZkN5US|IT1WtNR diff --git a/mayan/apps/tags/locale/es/LC_MESSAGES/django.po b/mayan/apps/tags/locale/es/LC_MESSAGES/django.po index a5e116dcd7..16b0147fd0 100644 --- a/mayan/apps/tags/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/es/LC_MESSAGES/django.po @@ -1,25 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 # Lory977 , 2015 -# Roberto Rosario, 2015-2016 +# Roberto Rosario, 2015-2017 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-05-09 01:32+0000\n" +"PO-Revision-Date: 2017-04-22 22:06+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" -"language/es/)\n" -"Language: es\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 @@ -40,10 +39,8 @@ msgid "Remove tag" msgstr "Remover etiqueta" #: links.py:17 links.py:24 -#, fuzzy -#| msgid "Attach tag" msgid "Attach tags" -msgstr "Adjuntar etiqueta" +msgstr "Anejar etiqueta" #: links.py:20 msgid "Remove tags" @@ -63,7 +60,7 @@ msgstr "Editar" #: links.py:43 msgid "All" -msgstr "" +msgstr "Todos" #: models.py:18 msgid "Label" @@ -136,30 +133,25 @@ msgid "Tag attach request performed on %(count)d documents" msgstr "" #: views.py:42 -#, fuzzy -#| msgid "Attach tag" msgid "Attach" -msgstr "Adjuntar etiqueta" +msgstr "Anejar" #: views.py:44 -#, fuzzy #| msgid "Attach tags to documents" msgid "Attach tags to document" msgid_plural "Attach tags to documents" -msgstr[0] "Etiquetar documentos" -msgstr[1] "Etiquetar documentos" +msgstr[0] "Anejar etiquetas al documento" +msgstr[1] "Anejar etiquetas a documentos" #: views.py:54 -#, fuzzy, python-format +#, python-format #| msgid "Attach tag to document: %s." msgid "Attach tags to document: %s" -msgstr "Attach tag to document: %s." +msgstr "Anejar etiquetas al documento: %s" #: views.py:63 -#, fuzzy -#| msgid "Tags to attach to the document." msgid "Tags to be attached." -msgstr "Etiquetas para anejar al documento." +msgstr "Etiquetas a ser anejadas." #: views.py:88 #, python-format @@ -178,12 +170,12 @@ msgstr "Crear etiqueta" #: views.py:119 #, python-format msgid "Tag delete request performed on %(count)d tag" -msgstr "" +msgstr "Petición para borrar etiqueta sometida para %(count)d etiqueta" #: views.py:121 #, python-format msgid "Tag delete request performed on %(count)d tags" -msgstr "" +msgstr "Petición para borrar etiqueta sometida para %(count)d etiquetas" #: views.py:128 msgid "Will be removed from all documents." @@ -200,10 +192,10 @@ msgstr[0] "¿Eliminar la etiqueta seleccionada?" msgstr[1] "¿Eliminar las etiquetas seleccionadas?" #: views.py:142 -#, fuzzy, python-format +#, python-format #| msgid "Delete tags" msgid "Delete tag: %s" -msgstr "Borrar etiquetas" +msgstr "Borrar etiqueta: %s" #: views.py:152 #, python-format @@ -241,76 +233,73 @@ msgid "Tag remove request performed on %(count)d documents" msgstr "" #: views.py:244 -#, fuzzy -#| msgid "Remove tag" msgid "Remove" -msgstr "Remover etiqueta" +msgstr "Eliminar" #: views.py:246 -#, fuzzy #| msgid "Remove tags from documents" msgid "Remove tags from document" msgid_plural "Remove tags from documents" -msgstr[0] "Quitar etiquetas de los documentos" -msgstr[1] "Quitar etiquetas de los documentos" +msgstr[0] "Remover etiquetas de documento" +msgstr[1] "Remover etiquetas de documentos" #: views.py:256 -#, fuzzy, python-format +#, python-format #| msgid "Remove tag from document: %s." msgid "Remove tags from document: %s" -msgstr "Quitar etiqueta del documento: %s." +msgstr "Remover etiquetas de documento: %s" #: views.py:265 msgid "Tags to be removed." -msgstr "" +msgstr "Etiquetas a ser removidas." #: views.py:290 -#, fuzzy, python-format +#, python-format #| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" -msgstr "Documento \"%(document)s\" no estaba etiquetado como \"%(tag)s \"" +msgstr "Documento \"%(document)s\" no esta etiquetado con \"%(tag)s" #: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." -msgstr "" -"Etiqueta \"%(tag)s\" eliminada con éxito del documento \"%(document)s\"." +msgstr "Etiqueta \"%(tag)s\" eliminada con éxito del documento \"%(document)s\"." #~ msgid "Must provide at least one document." -#~ msgstr "Debe proporcionar al menos un documento." +#~ msgstr "Must provide at least one document." #~ msgid "Attach tag to document" #~ msgid_plural "Attach tag to documents" -#~ msgstr[0] "Adjuntar etiqueta al documento" -#~ msgstr[1] "Adjuntar etiqueta a los documentos" +#~ msgstr[0] "2b1f894eebfe4fd9c93a2a121387867c_pl_0" +#~ msgstr[1] "2b1f894eebfe4fd9c93a2a121387867c_pl_1" #~ msgid "Must provide at least one tag." -#~ msgstr "Debe indicar al menos una etiqueta." +#~ msgstr "Must provide at least one tag." #~ msgid "Must provide at least one tagged document." -#~ msgstr "Debe proporcionar al menos un documento etiquetado." +#~ msgstr "Must provide at least one tagged document." #~ msgid "Remove tag from documents: %s." -#~ msgstr "Quitar etiqueta de los documentos: %s." +#~ msgstr "Remove tag from documents: %s." -#~| msgid "" -#~| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" #~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" -#~ msgstr "¿Remover la etiqueta \"%(tag)s\" del documento: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" -#~| msgid "" -#~| "u sure you wish to remove the tag \"%(tag)s\" from the documents: " -#~| "ments)s?" #~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -#~ msgstr "¿Remover la etiqueta \"%(tag)s\" de los documentos: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" -#~| msgid "" -#~| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" #~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" -#~ msgstr "¿Remover las etiquetas: %(tags)s del documento: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" #~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -#~ msgstr "¿Remover las etiquetas %(tags)s de los documentos: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" diff --git a/mayan/apps/tags/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/fa/LC_MESSAGES/django.mo index 2a0d66deb5a926d94d229d609e751509a4650bc3..d995b292c7491a7a3655fd68a47c4f973d5fbd31 100644 GIT binary patch delta 791 zcmYk)%}Z2K7{~EvnsL(6>BUjUaVkeLqs53bh=W2TK{ak7+=xcRfEOteLByAZSPN$- z7?)PsrcHw+8RMo+;wHitZCo5@A+&I3tNww$zl)F$_ngnYm&8p^DB&o+!ZF;#E=qtp+(q~AoOp<87i!qp`B27`Ue!$9vlZbg5$Z0+P(9k=2Vc16v-&jLckVs`{+16p9zJef`;dE|bd-<@^1g z(e(c}14H>j^=~vC@*mb8_!AA^{O_^O&TY4I^u}DpeQ}@NN4M*?j>;K5*2=ExD%A&# GtD%3KvR@Mb literal 3274 zcma)--%lJ>6vwYxf33D?)mnewVo5VFrrKDPZ7)()uD~-XJ47-( zJOU$%e++yDJOPs31(5Ri9He+tAW~q9;05q2@LljXkn9sk9xhoI_#Bu7DW5)&;(rL% zpp_G@|AXKsFyHnV_JA1>OKc2$1{?>;?+o}Xcr9Gt0LlLr_&#_C90c1CjLz{X*Z~$n z(&Z}n68KHXZLkOLzk_6d7`F^~93;Iz0Qko5Q!d;$C$q2xM_1Yast1nJLpV5i64&AI9qFs_R7k1~4LbAwp!3n7 z{-9b@9Z8#ZTY7jFUy#zZ1f~q9!14f*8wM`E<7VL7$2{t;ZGMz>f#j;G9 zp_9~vp6W^r4G#6!51mP-6TPRJ$>#Wko)|VOj&5oLwo^tQTGQ%P_GG$w@Ys{?PB3rPU+{jw zeV%)3-qvo-+xFHl>uspnh1e_}{Uz>g`!#R#-uwI|Z#A@9Rd%anx#ib(fyg`eZg`t} zE6NFQ1Hm>M!W>+#Z)V<2?|XkPL~I+yWg}-jODy04!`ND&!!7SeD#fO^#l749 zBI;Y?fpRg^TucGDjDB(()rNHbyuZNrR(99J>XQ#>No5OVrN-Ftm#L;VN$l8;SlwIh zg5uFy^M2KDv8+S!4u(!L|7Rq%0|S+t5|2cnH@`+9wp1hRcpD@~l-R*$BImcm!z!^4 zXct;UB@L`vMF@(bIyV-VW~n2?FDjN#^cbrUZCpj4`pf>DKaVqQV1{%L1ZwVi6dj*1 z>K1l%-DUKD|6U&J=RWWiHRwn6R$oeRsQt8Jr=$J&vRGZ`K!tiDVdjB!VU=PI0&_}e acimsuTcNW?dPm)S%U?#jEm1G3g#HC7yus}N diff --git a/mayan/apps/tags/locale/fa/LC_MESSAGES/django.po b/mayan/apps/tags/locale/fa/LC_MESSAGES/django.po index d591c2164f..7bc05e29f3 100644 --- a/mayan/apps/tags/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammad Dashtizadeh , 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-03-21 21:12+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" -"language/fa/)\n" -"Language: fa\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 @@ -38,10 +37,8 @@ msgid "Remove tag" msgstr "برداشتن برچسب" #: links.py:17 links.py:24 -#, fuzzy -#| msgid "Attach tag" msgid "Attach tags" -msgstr "الصاق برچسب" +msgstr "" #: links.py:20 msgid "Remove tags" @@ -134,23 +131,20 @@ msgid "Tag attach request performed on %(count)d documents" msgstr "" #: views.py:42 -#, fuzzy -#| msgid "Attach tag" msgid "Attach" -msgstr "الصاق برچسب" +msgstr "" #: views.py:44 -#, fuzzy #| msgid "Attach tags to documents" msgid "Attach tags to document" msgid_plural "Attach tags to documents" -msgstr[0] "الصاق برچسبها به اسناد" +msgstr[0] "" #: views.py:54 -#, fuzzy, python-format +#, python-format #| msgid "Attach tag to document: %s." msgid "Attach tags to document: %s" -msgstr "Attach tag to document: %s." +msgstr "" #: views.py:63 msgid "Tags to be attached." @@ -194,10 +188,10 @@ msgid_plural "Delete the selected tags?" msgstr[0] "" #: views.py:142 -#, fuzzy, python-format +#, python-format #| msgid "Delete tags" msgid "Delete tag: %s" -msgstr "حذف برچسبها" +msgstr "" #: views.py:152 #, python-format @@ -235,33 +229,30 @@ msgid "Tag remove request performed on %(count)d documents" msgstr "" #: views.py:244 -#, fuzzy -#| msgid "Remove tag" msgid "Remove" -msgstr "برداشتن برچسب" +msgstr "حذف" #: views.py:246 -#, fuzzy #| msgid "Remove tags from documents" msgid "Remove tags from document" msgid_plural "Remove tags from documents" -msgstr[0] "حذف برچسبهای سند" +msgstr[0] "" #: views.py:256 -#, fuzzy, python-format +#, python-format #| msgid "Remove tag from document: %s." msgid "Remove tags from document: %s" -msgstr "حذف برچسب از سند: %s" +msgstr "" #: views.py:265 msgid "Tags to be removed." msgstr "" #: views.py:290 -#, fuzzy, python-format +#, python-format #| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" -msgstr "سند \"%(document)s\" دارای برچسب \"%(tag)s\" نمیباشد." +msgstr "" #: views.py:300 #, python-format @@ -269,20 +260,40 @@ msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "برچسب \"%(tag)s\" با موفقیت از سند \"%(document)s\" برداشته شد." #~ msgid "Must provide at least one document." -#~ msgstr "حداقل یک سند باید ارایه شود" +#~ msgstr "Must provide at least one document." #~ msgid "Attach tag to document" #~ msgid_plural "Attach tag to documents" -#~ msgstr[0] "اتصال برچسب به سند" +#~ msgstr[0] "2b1f894eebfe4fd9c93a2a121387867c_pl_0" #~ msgid "Must provide at least one tag." -#~ msgstr "حداقل یک برچسب باید ارایه شود." +#~ msgstr "Must provide at least one tag." #~ msgid "Must provide at least one tagged document." -#~ msgstr "باید حداقل یک سند برچسب دار ارایه شود." +#~ msgstr "Must provide at least one tagged document." #~ msgid "Remove tag from documents: %s." -#~ msgstr "حذف برچسب از اسناد: %s" +#~ msgstr "Remove tag from documents: %s." + +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" + +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" diff --git a/mayan/apps/tags/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/fr/LC_MESSAGES/django.mo index 1f188df70edef861f619026512ba2277549a9918..1daedcbb6909cdbeed3573c0c941c014b493db09 100644 GIT binary patch delta 896 zcmZY7J!n%=7{>88HBFNyX=2o-T3c^uv?2|fYpk?O+M)#9OlOB^V^x%kO{n4$KR|>E z4#y6HI5;?n(xC_*7n!`JLQ*&pGe;*vPF8w!UP-t48D~ zyD9mQ*+HD>p(4KF5N=>E_G~d5z$m6Li~Tr`5%e*RQ|RMyoW!e`z%@+bYmAw->^+TL zJot!V?4UmU@#g~z@o=2~aa00_u@9$k3};aj*HMXFL?v(qHSR5BD0_rue2g>L#!=?C zF-E0rbGQR5NM?2lHNhgTuq!L5M6%4T1jHD>j#|U|5wyX570?RaRiHa3^mR&mHJ&rCGY^XkabkQ z&!~jj*qWzN;^{uTgZf~NY8YRk2Kt11v4dg zDB3k04OdF*|35UTLKj7`osy;K97)Ti1wQOCBv8Di!>qSM;a- zlKUAQPW*c^Iqkb#Y$#O?PS=+hu^KdLOXmZ(5bLbJ?Ds>ikZ8N-$rJ8-GVdz!w7Wcz MclT1i+|zXVH`QTZX8-^I literal 4329 zcmbW3TW=&s6@ZJd5HKNuuv|h|s2CR82|Y9RZj#L`-ka@37Pc_(nF+HiXu14#cbz(Q zZgqM-eD>Viipyhsjq&r3DYXtCKEXe(e|%i21^56q;6wNo`20DgJ^?Sor(qjD1Gk~b z--VxqKKu-P1Fpdn_zL`B^85fk#q)WTeHOj|KMkAktME05i0VL*yE~ch!6lxDkU#Yf z|Go)-2fq&g0$+p=;FItvjFI{CQ0%(`FTf2b@&<~XKZCOGui$I&J$My9nD7G1+C1Nd zghKrWUWf0%8}RQ?^gZ{fvE5hT7kOTX-+%{D{Buz3`6+yln7<1puG<**eRv3$;2$9> z)!(4#{Sb9HNxB4|fiJ=hcnwBS>fjG>75)i|o`1n_!zYOf`mE0B)^h7 ziLcn;F-UKDiG9WO1UGUnMAzpT;`6f%iQyvSI}Ev27*bDiNnY44uV=C8TMUV@T!b;d zB$ve{`904NJ1JN71%~8C{4Opz1GubSn!J!)Y6juT;{enP4APum5^Kq)x|yb?d!$p- zuiff2)_&a01~y9Pymqzst}gG?MjXb8+DNQPt&Z$Tu6+6tq4BiryJN?rS#EDP*JVt z0lOzg)b8|2kP=@!L87fMI<@5oY5s5OjXW@yBypmBiAWIjrCO^a^%VpiJb*`6%A?02j zVv()9UTn;)Px5TdET2l&90i=OyjEwn&h3y(GRzfAF?_?{%BFAdcF4*PNP2Z*A@#EbQB1oTT2a>j%Df zE9*P26Swuk-VZun-hq(!HtADsz1CWN#amtV)-LJRTKnZ!z1HPc3qfz6su#U=xz=TG z?Pa~X)^5G}Qj2S0hlA&J5)--5q;b;Lx6CjN91ZY$H@A0owmSN|hm$vrzQHe>-srmY zu+dAdu{i2yrfG3X|62nZtreY@mOuN7B=E2rJH-5(;?2L_I}zNh9-!v>h6(AoK4q%)Vb|l zspMqGo=v>1s2ltAqPD(r7^J1GZI0H$UYI2&^lrz=fC`U>`J-E3yQ;^x>&ub8rdL<4 zE~x!UjV3yyJ&n%N;LXgYwEcM#+GJ&(A0>3Zl%hkFoA}n%HsKSH)#WzgEVP+?qef?T zY*7?v$Ck9zRu$9q)?#)_X)!#s>RKmRc-ku_@lFXqu-a#jm|WMG_X|AC95@j)`uBq}xdT#Npt?XCZVIEDgBW>0M32rV0kuSxZNW~7~Aaay=={@}{&SdLj z`xAO$mPEmn;8el=@9JyWkX|@CqgQ1n3>?AQF}fR)C8@^T)FInX`-_;-=3bnUSlg)8 z+q{~dUhY>%G|$tVvX-2bEqg|AHedVv@JWc}%=@WsFlU?cN1d+ORr_YkxAXB!>$cVw z=O6sqYQ&0zka9oX8zK21*1Y}yG*n@&trzoarMOdX9F^;4a!SXYkgSdmsr)b)y)S*R z%!JrnWCgn$YL3Qn+n|ozxUqdiXFb}pI=9M>uy~Q!%u%6AF;{buFjm&)Wt0D)pkT*8 kck**oc%W|fdO`Py%9&}E>Og9|wlQZul_M!~#cHSi164)%x&QzG diff --git a/mayan/apps/tags/locale/fr/LC_MESSAGES/django.po b/mayan/apps/tags/locale/fr/LC_MESSAGES/django.po index 822520439d..4f37030052 100644 --- a/mayan/apps/tags/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Christophe CHAUVET , 2015 @@ -13,14 +13,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-04-25 12:07+0000\n" -"Last-Translator: Baptiste GAILLET \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" -"fr/)\n" -"Language: fr\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 @@ -41,10 +40,8 @@ msgid "Remove tag" msgstr "Supprimer une étiquette" #: links.py:17 links.py:24 -#, fuzzy -#| msgid "Attach tag" msgid "Attach tags" -msgstr "Rattacher une étiquette" +msgstr "" #: links.py:20 msgid "Remove tags" @@ -137,30 +134,25 @@ msgid "Tag attach request performed on %(count)d documents" msgstr "" #: views.py:42 -#, fuzzy -#| msgid "Attach tag" msgid "Attach" -msgstr "Rattacher une étiquette" +msgstr "" #: views.py:44 -#, fuzzy #| msgid "Attach tags to documents" msgid "Attach tags to document" msgid_plural "Attach tags to documents" -msgstr[0] "Rattacher des étiquettes aux documents" -msgstr[1] "Rattacher des étiquettes aux documents" +msgstr[0] "" +msgstr[1] "" #: views.py:54 -#, fuzzy, python-format +#, python-format #| msgid "Attach tag to document: %s." msgid "Attach tags to document: %s" -msgstr "Attach tag to document: %s." +msgstr "" #: views.py:63 -#, fuzzy -#| msgid "Tags to attach to the document." msgid "Tags to be attached." -msgstr "Tags a attacher au document" +msgstr "" #: views.py:88 #, python-format @@ -170,9 +162,7 @@ msgstr "Le document \"%(document)s\" est déjà étiqueté comme \"%(tag)s\"" #: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." -msgstr "" -"L'étiquette \"%(tag)s\" a été attachée avec succès au document \"%(document)s" -"\"." +msgstr "L'étiquette \"%(tag)s\" a été attachée avec succès au document \"%(document)s\"." #: views.py:108 msgid "Create tag" @@ -203,10 +193,10 @@ msgstr[0] "Supprimer l'étiquette sélectionnée?" msgstr[1] "Supprimer les étiquettes sélectionnées?" #: views.py:142 -#, fuzzy, python-format +#, python-format #| msgid "Delete tags" msgid "Delete tag: %s" -msgstr "Supprimer des étiquettes" +msgstr "" #: views.py:152 #, python-format @@ -244,77 +234,73 @@ msgid "Tag remove request performed on %(count)d documents" msgstr "" #: views.py:244 -#, fuzzy -#| msgid "Remove tag" msgid "Remove" -msgstr "Supprimer une étiquette" +msgstr "Supprimer" #: views.py:246 -#, fuzzy #| msgid "Remove tags from documents" msgid "Remove tags from document" msgid_plural "Remove tags from documents" -msgstr[0] "Retirer des étiquettes au document" -msgstr[1] "Retirer des étiquettes au document" +msgstr[0] "" +msgstr[1] "" #: views.py:256 -#, fuzzy, python-format +#, python-format #| msgid "Remove tag from document: %s." msgid "Remove tags from document: %s" -msgstr "Supprimer l'étiquette du document: %s" +msgstr "" #: views.py:265 msgid "Tags to be removed." msgstr "" #: views.py:290 -#, fuzzy, python-format +#, python-format #| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" -msgstr "Le document \"%(document)s\" n'a pas été étiqueté avec \"%(tag)s\"" +msgstr "" #: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." -msgstr "" -"L'étiquette \"%(tag)s\" à été supprimée avec succès du document " -"\"%(document)s\"." +msgstr "L'étiquette \"%(tag)s\" à été supprimée avec succès du document \"%(document)s\"." #~ msgid "Must provide at least one document." -#~ msgstr "Il est nécessaire d'indiquer au moins un document." +#~ msgstr "Must provide at least one document." #~ msgid "Attach tag to document" #~ msgid_plural "Attach tag to documents" -#~ msgstr[0] "Rattacher une étiquette au document" -#~ msgstr[1] "Rattacher une étiquette aux documents" +#~ msgstr[0] "2b1f894eebfe4fd9c93a2a121387867c_pl_0" +#~ msgstr[1] "2b1f894eebfe4fd9c93a2a121387867c_pl_1" #~ msgid "Must provide at least one tag." -#~ msgstr "Vous devez fournir au moins une étiquette" +#~ msgstr "Must provide at least one tag." #~ msgid "Must provide at least one tagged document." -#~ msgstr "Il est nécessaire d'indiquer au moins un document étiqueté." +#~ msgstr "Must provide at least one tagged document." #~ msgid "Remove tag from documents: %s." -#~ msgstr "Supprimer l'étiquette des documents: %s" +#~ msgstr "Remove tag from documents: %s." -#~| msgid "" -#~| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" #~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" -#~ msgstr "Supprimer l'étiquette \"%(tag)s\" du document %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" -#~| msgid "" -#~| "u sure you wish to remove the tag \"%(tag)s\" from the documents: " -#~| "ments)s?" #~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -#~ msgstr "Supprimer l'étiquette \"%(tag)s\" des documents %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" -#~| msgid "" -#~| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" #~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" -#~ msgstr "Supprimer les étiquettes \"%(tags)s\" du document %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" #~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -#~ msgstr "Supprimer les étiquettes \"%(tags)s\" des documents %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" diff --git a/mayan/apps/tags/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/hu/LC_MESSAGES/django.mo index 78263a536f74831efb6b3de899e0d40fa36c769b..c9f43b1c6cde524cdb74cce24343724e1b3d635c 100644 GIT binary patch delta 160 zcmeysGL0qco)F7a1|VPtVi_Pd0b*7l_5orLNC09^AWj5g79h?B;(kU3h5{hX1H=qW z3=AAViWf)&g~0&G1Ot$n3@-V}rManjCB+lx1@W5e8kp!B87deWSs9s3{40$RFtai; U->k|g!^r7;cx`U>;g#780DzPi-T(jq delta 250 zcmbQn@`0uPo)F7a1|VPoVi_Q|0b*7ljsap2C;(zkAT9)AWgxBwVvySTK-|yBz_0{J z^8m3469a=Pkah&p96&l9NCTxAn1L9`1Ot#h2ABNg(%jU%l41tm(&7?%g@U5|vdolJ zg~SqtoYchP5{3M{RD~3%BE5-OLA++VhK9OE#tH^TR;K0?Pf7y?42*S+3>AzFtqhGe zew1Oz*Q}arS z8GK8NOB4!<^2;()QWX+Q6mn7%fdct?sR}7jHF^^ZeR<7v4GndTj1>%wtW3=(o|Xm* z7#Qms87deVS{WK`{4B_*<&juaTC9+pnwykbl$o8Fr%;?)l9`g2omZKtP@Gs&3N$bq IWT_ql0Htj%rT_o{ diff --git a/mayan/apps/tags/locale/id/LC_MESSAGES/django.po b/mayan/apps/tags/locale/id/LC_MESSAGES/django.po index ae400e34f5..90916db8ce 100644 --- a/mayan/apps/tags/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/id/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-03-21 21:12+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" -"language/id/)\n" -"Language: id\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 @@ -135,17 +134,16 @@ msgid "Attach" msgstr "" #: views.py:44 -#, fuzzy -#| msgid "Attach tag to document: %s." +#| msgid "Attach tags to documents" msgid "Attach tags to document" msgid_plural "Attach tags to documents" -msgstr[0] "Attach tag to document: %s." +msgstr[0] "" #: views.py:54 -#, fuzzy, python-format +#, python-format #| msgid "Attach tag to document: %s." msgid "Attach tags to document: %s" -msgstr "Attach tag to document: %s." +msgstr "" #: views.py:63 msgid "Tags to be attached." @@ -190,6 +188,7 @@ msgstr[0] "" #: views.py:142 #, python-format +#| msgid "Delete tags" msgid "Delete tag: %s" msgstr "" @@ -230,20 +229,19 @@ msgstr "" #: views.py:244 msgid "Remove" -msgstr "" +msgstr "hapus" #: views.py:246 -#, fuzzy -#| msgid "Add tag to document" +#| msgid "Remove tags from documents" msgid "Remove tags from document" msgid_plural "Remove tags from documents" -msgstr[0] "Add tag to document" +msgstr[0] "" #: views.py:256 -#, fuzzy, python-format -#| msgid "Attach tag to document: %s." +#, python-format +#| msgid "Remove tag from document: %s." msgid "Remove tags from document: %s" -msgstr "Attach tag to document: %s." +msgstr "" #: views.py:265 msgid "Tags to be removed." @@ -251,6 +249,7 @@ msgstr "" #: views.py:290 #, python-format +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "" @@ -260,7 +259,40 @@ msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Harus memberikan setidaknya satu dokumen." +#~ msgstr "Must provide at least one document." + +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "2b1f894eebfe4fd9c93a2a121387867c_pl_0" + +#~ msgid "Must provide at least one tag." +#~ msgstr "Must provide at least one tag." + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "Must provide at least one tagged document." + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "Remove tag from documents: %s." + +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" + +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" @@ -307,6 +339,9 @@ msgstr "" #~ msgid "Tag updated succesfully." #~ msgstr "Tag updated succesfully." +#~ msgid "Add tag to document" +#~ msgstr "Add tag to document" + #~ msgid "Document created" #~ msgstr "document" diff --git a/mayan/apps/tags/locale/it/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/it/LC_MESSAGES/django.mo index b78100f1a72bdcdeccd944740ad96a711abf4791..dae37ff102685653c89fe4fd075feae746513fef 100644 GIT binary patch delta 925 zcmZY7%}*0S7{~FUmQwlxTB!&KE@D!HZG@#Mp-};&5)%)mdNpRnwUmHs+7%6##t>tS z@xo~0$%FrZe}F_Up1h!m7cU-+2RwPj5gx=A9>nk1j*&gabYUF3u@@7V!x*}l#3^*~9G37NrtlS}aRWPzX`1&` z`g!pQqxb{WarUmQV}0iyC(g8OprCX?%$@_!Wnk z-;6LSb#n%@IESpvTt!V##V2ItF)BlS%&rMb*n_9A7b~cYEMgp2TkSPGN!#LC{DAsj zmQFp)Z$_zT!f71D3&_t@c^tsoxECLyQu!R!e-pLi&se~3$k-;s$9>q}GLH`J)2RN} z@DeU!^E{Q;RB{;MD^)X!Ls-NNUdAJM6G_C*@lZAUDZ6pFRZ#{UiWZ_6plB1yu(Xs4?GS){SDLeN@nKiRv=*=%U zp;v7cEUrkRI#)<`Z+!=SvZqfdX z4@~@fQ!2ZY$H$1oMXwPSuGGC-jU_J(>Sd=AT=(ltQVAMfy%t!%bIYzLe%X)7clLK` fCSxkKVq4(tZp$CbLM?S$v`HJAvSK(GGrTw5j=c9~^Jcb7 zNi-fzJg5hvB%F*MjD~|TCf+7yh6CkFrCP?$nC*w=t5ZY}Jf9x85 z_Jf~-&wxLG2f;OPE4UrT(D+V}>>CI7f(?-73y|!57o>GR1W$lpf+xYXgnOZ^j`n#F zp*Rkm9ff!6iNW z!6(4OAlcIZDPK*H=6?W^T~|R4ehUtRzkyhq{R2`hZACI41&@ITz?TySN&m+nNB$>TVN?iFi8UJ0R)(9$Wx_0?&ZE;QSEyCP;R@4^rH(B>V>4f%Y%pAb1l*nB#}? zOSvO?%7KHIVw^s^(+`lg0r^WcPyQUlOL{2>r1vmhdPeY49OCo z?lQNcRrusqb5FaSK!$dmZd2$t#rcLcw67!9h@`NRhq4imFVGoG^XPpO9*7>gnuagQRR!WQ-AwnBJV()fsBbK-*Z z*?h-X-j4K&@+23Q`%<7ohce4vWrI0TewSg2RvOC+TZrU}l3h>*B3k7aCm+Sx>Ju*|YaIpHUvaJWEgkDOvsWie6}b`CYx z+YGNO-=~^N&5JD(=u7pXeikDA7S0D})^pCu$S57w`Mg*aA)lF^KRd7}+d8t&ylE-V zd8yMfPE*(Uz{0CdCq98N-1(c{kOs55qi*T(9{UT|thYc))C7E$%2w>YnM z!WlctM{D&XqlapE2IjEwoMt3K;|r@JvLSLcZ-}7nOC$Ly>=;*9+@xIz+|#Wt&V6(rzu5H=d)J$3LXqETidQztKDw5VoA4Jl9x!L8fhaUrK4&?o#tvA?pk@tR@=T%;Ysc;i^xbj@mlkYGoH_*6_;e> z%!ID?a2nP5_yuJ%W9uA^1-}ys-#MeB05u-A0jH^E0oP7bgs-l_``^puO^K zyr1V$97{+EOFwcKO5)JVZlZJ~mQ@bM3drlh6^ z0-25NN{3E)MsD+l(wS!n9Gk*^Y13VYqF7b}*IC?(l%PYeXs;(Y{?X{nUd;4V$KL!Tx2Jef(L7-d8UQEC;gwch25p!Dw6 k_>?R, 2016 @@ -13,14 +13,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-09-24 10:31+0000\n" -"Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 @@ -41,10 +40,8 @@ msgid "Remove tag" msgstr "Rimuovi etichetta" #: links.py:17 links.py:24 -#, fuzzy -#| msgid "Attach tag" msgid "Attach tags" -msgstr "Allega etichetta" +msgstr "" #: links.py:20 msgid "Remove tags" @@ -137,30 +134,25 @@ msgid "Tag attach request performed on %(count)d documents" msgstr "" #: views.py:42 -#, fuzzy -#| msgid "Attach tag" msgid "Attach" -msgstr "Allega etichetta" +msgstr "" #: views.py:44 -#, fuzzy #| msgid "Attach tags to documents" msgid "Attach tags to document" msgid_plural "Attach tags to documents" -msgstr[0] "Applicare i tag ai documenti" -msgstr[1] "Applicare i tag ai documenti" +msgstr[0] "" +msgstr[1] "" #: views.py:54 -#, fuzzy, python-format +#, python-format #| msgid "Attach tag to document: %s." msgid "Attach tags to document: %s" -msgstr "Attach tag to document: %s." +msgstr "" #: views.py:63 -#, fuzzy -#| msgid "Tags to attach to the document." msgid "Tags to be attached." -msgstr "Tag da attaccare al documento." +msgstr "" #: views.py:88 #, python-format @@ -170,9 +162,7 @@ msgstr "Il documento \"%(document)s\" è stato già etichettato come \"%(tag)s\" #: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." -msgstr "" -"L'etichetta \"%(tag)s\" è stata allegata con successo al documento " -"\"%(document)s\"" +msgstr "L'etichetta \"%(tag)s\" è stata allegata con successo al documento \"%(document)s\"" #: views.py:108 msgid "Create tag" @@ -203,10 +193,10 @@ msgstr[0] "Cancellare il tag selezionato?" msgstr[1] "Cancellare i tag selezionati?" #: views.py:142 -#, fuzzy, python-format +#, python-format #| msgid "Delete tags" msgid "Delete tag: %s" -msgstr "Eliminare i tag" +msgstr "" #: views.py:152 #, python-format @@ -244,76 +234,73 @@ msgid "Tag remove request performed on %(count)d documents" msgstr "" #: views.py:244 -#, fuzzy -#| msgid "Remove tag" msgid "Remove" -msgstr "Rimuovi etichetta" +msgstr "Rimuovi" #: views.py:246 -#, fuzzy #| msgid "Remove tags from documents" msgid "Remove tags from document" msgid_plural "Remove tags from documents" -msgstr[0] "Rimuovi etichetta dal documento" -msgstr[1] "Rimuovi etichetta dal documento" +msgstr[0] "" +msgstr[1] "" #: views.py:256 -#, fuzzy, python-format +#, python-format #| msgid "Remove tag from document: %s." msgid "Remove tags from document: %s" -msgstr "Rimuovi l'etichetta dal documento: %s" +msgstr "" #: views.py:265 msgid "Tags to be removed." msgstr "" #: views.py:290 -#, fuzzy, python-format +#, python-format #| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" -msgstr "Il documento \"%(document)s\" non è stato etichettato come \"%(tag)s\"" +msgstr "" #: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." -msgstr "" -"Etichetta \"%(tag)s\" rimossa con successo dal documento \"%(document)s\"." +msgstr "Etichetta \"%(tag)s\" rimossa con successo dal documento \"%(document)s\"." #~ msgid "Must provide at least one document." -#~ msgstr "Fornire almeno un documento " +#~ msgstr "Must provide at least one document." #~ msgid "Attach tag to document" #~ msgid_plural "Attach tag to documents" -#~ msgstr[0] "Aggiungi tag al documento" -#~ msgstr[1] "Aggiungi tag ai documenti" +#~ msgstr[0] "2b1f894eebfe4fd9c93a2a121387867c_pl_0" +#~ msgstr[1] "2b1f894eebfe4fd9c93a2a121387867c_pl_1" #~ msgid "Must provide at least one tag." -#~ msgstr "Devi fornire almeno un'etichetta" +#~ msgstr "Must provide at least one tag." #~ msgid "Must provide at least one tagged document." -#~ msgstr "Fornire almeno un documento etichettato " +#~ msgstr "Must provide at least one tagged document." #~ msgid "Remove tag from documents: %s." -#~ msgstr "Rimuovi l'etichetta dai documenti: %s" +#~ msgstr "Remove tag from documents: %s." -#~| msgid "" -#~| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" #~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" -#~ msgstr "Rimuovere l'etichetta \"%(tag)s\" dal documento %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" -#~| msgid "" -#~| "u sure you wish to remove the tag \"%(tag)s\" from the documents: " -#~| "ments)s?" #~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -#~ msgstr "Rimuovere l'etichetta \"%(tag)s\" dai documenti: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" -#~| msgid "" -#~| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" #~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" -#~ msgstr "Rimuovere le etichette: %(tags)s dal documento: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" #~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -#~ msgstr "Rimuovere le etichette %(tags)s dai documenti: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" diff --git a/mayan/apps/tags/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/nl_NL/LC_MESSAGES/django.mo index 223a67dff7dc0985e5d5428e2fb21479b04d5438..782883a83df641d66a50ed2984a14adca7f3c183 100644 GIT binary patch delta 807 zcmYk)Pe>GD7{~Evb9ZysY;Dt4+msavE0lED{BPzVJmf(+zNI`fq==S5mb%)ax^Jn!@D?8gqH*@LM6l@WD} z8;nanv)g!vij@my)wqfQT*u3}jS>8UVf>0gJjOEoi4Ok8Hf$;3-8g~eID;Xxtj%%Z zXJY<*!Q$T=_68f7e}_t($BVd&N_2oqe1uB)1Fz#5a#)O)_F)_!;1g7luaUzxIEBb> z+gvm-@d-Dn`UETZy+#%#-b8g^2bEwS)qzu_0t>J!t&d))a_{2ohj z3oFQPAGuH~_wXTpMTg!NbR))4s7(rzwLyh8uJ1_|#~D`{RgC|G zP2IE_X4F2ulR{OhL~YZ@QVg%VB=6n#Kdl)`yO~LM)`s2Z(;4@i#7t@;mkK=cmA5yy zB%7VqM61)~B)t#8_`jL9E~h>BE!gApno56pBcY{+;=3NZ>DkF=<8ImpQ)BK_B2)bB KzR2anWxhWeidyCX literal 3035 zcmai#TW=dh6vu~B3Yb!$+)AM^4UL)<)|b%q;v~K0f-2$?rB0AaMHzcfoK1FTt(mpm z!V^d!AyEk-A<-8Eh-btH-~%8b9{2*hfCNu`2L5N(yLQ~BjJ*5X**WLTod291|8a2d zR|4%Au9tAlJ|M(2czq9UXypfmD1a645I74y1g?Pxz<0qXz%7vNJ^=TDpMZ~npMz82 z*WfAe*M5J`ULp3QKMg((UIHHlS3vy4HQadoM*n>X9!I|m^8DX`uYx~-FN42;C&0hK zhrxp|;`JN`kAUMK+s%W#t_FA*)F755J_FB#x4{eGZy?(rKr#p^JdoEn1@gSJ;Lp(N zeUNoH@`w;mg0F*c6>}i#H4pMU*Fm=HfgI;kknO(!FM{8JC&53#)8HW(u`Vkh`@IKp zJ`o5LaT8?!k3iP{OK=hV9_0D|0VlzK!Ex{qoH_nEkoB?PQ{ac71aE_5;E&)z@OSVi z_!r3W_Cd6>;C^rhTmqj1KL#OzxC8P!z6DQ!KY@@ZZ>+(KxVXl+v8D*^)`BIv_5$vl z6F2GZLiEef^;pkmaXpWV_l)P~wXz;uE8KW3Pvhb}=f)Zyb5H3F%W{o#=k`nr@k*Zz z)`9n!^I;7*e^(2jxR@lWxhWIX8hW%ciKQPmI}z!`iupKVu7K{=7-jVzil%&jaUo8?YGZ&o9TuC$hCn+A$eesX|QV-{J@@1X7l5(82Jo zZaro7@#Ow42r=+S2kXv7SoDKL@Qp)M<+#l|crqq7(&w}T-C~2mf?zs9JU(f~vT9H$ zY8{)%wu!rePf{f^B!w5Trd;ykeQXf?e}-9-Ot7L@G1LvHCsrwnyTof7dXyU`j&ftp zs<`W@9UZnqrgmo}E9#gB*FXnk%9Vz-*-o=b)^2pd5L-AXw2_T2j`$mwz=->f_3sh@ zHRHBsWNH`Rigk#?s#x((5QefrGMmW7R(O|*32|0TyoKuZF8kg(85_j9Dr@SN(sFU3 zcD1ld?bsw<&9(yHyVPk}uO3%rVdd?*=e`fvdkgrAs&cAaIptL<-qahiJXM`O?UhfK z%P{m-v0WT@#IAf+R;H^b&%RbhD=ed8yt+}^hAN3oRW5cZ47Rkqs#J&?+?KPHzOnrm z7g~`D!eTRy&cR!^I;urpom5nn3!MZfz{C|wHpzra`*u=JY$i#&S}OH=y<)=i1RHdd zy-Oyx$^@|~MVz)req>8RX0 zD$p~sxv7k$WNxj#EqmlmPhAgWpbt<)?;ePkiS9M2)5F%G2dL$;;oQ6M%0wrmPA_WfI7Xty;53S zR60`I80ccV-5{l-Rz&QRMrKQtMlaa%$qb${%QvZi{*m$f9^K5E^m#Eno`sh?EV3hM zq}tPSQMSk}!P5?M{&Ku;Rxv()FT6J#3lETX68=G z^aWJwJ1xbXgyol;n06>Jr>e6Vn!hO7JfbkIfYFn5P5J?fN=AXUs4goj`F2X|1Ii4E zbx9Y+nv7!12g3k+6}tU(ld)aHkZz?`cg4%~%npGpaPE{Hu*>9WYC8Yzlm>N&Ix?3yR$ x@5tlczIcmMci_?wX;B{A!4`i*PJAn_VK4Y|!ZADe`@?WAHa>r8nLvI~{0CSJBy0cx diff --git a/mayan/apps/tags/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/tags/locale/nl_NL/LC_MESSAGES/django.po index 23ef113525..5ff02fc58a 100644 --- a/mayan/apps/tags/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-11-09 15:49+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" -"edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 @@ -38,10 +37,8 @@ msgid "Remove tag" msgstr "Label verwijderen" #: links.py:17 links.py:24 -#, fuzzy -#| msgid "Attach tag" msgid "Attach tags" -msgstr "Voeg label bij" +msgstr "" #: links.py:20 msgid "Remove tags" @@ -134,24 +131,21 @@ msgid "Tag attach request performed on %(count)d documents" msgstr "" #: views.py:42 -#, fuzzy -#| msgid "Attach tag" msgid "Attach" -msgstr "Voeg label bij" +msgstr "" #: views.py:44 -#, fuzzy #| msgid "Attach tags to documents" msgid "Attach tags to document" msgid_plural "Attach tags to documents" -msgstr[0] "Label documenten" -msgstr[1] "Label documenten" +msgstr[0] "" +msgstr[1] "" #: views.py:54 -#, fuzzy, python-format +#, python-format #| msgid "Attach tag to document: %s." msgid "Attach tags to document: %s" -msgstr "Attach tag to document: %s." +msgstr "" #: views.py:63 msgid "Tags to be attached." @@ -196,10 +190,10 @@ msgstr[0] "Geselecteerd label verwijderen?" msgstr[1] "Geselecteerde labels verwijderen?" #: views.py:142 -#, fuzzy, python-format +#, python-format #| msgid "Delete tags" msgid "Delete tag: %s" -msgstr "Verwijder labels" +msgstr "" #: views.py:152 #, python-format @@ -209,8 +203,7 @@ msgstr "Label \"%s\" verwijderd." #: views.py:156 #, python-format msgid "Error deleting tag \"%(tag)s\": %(error)s" -msgstr "" -"Fout bij het verwijderen van label: \"%(tag)s\". Foutmelding: %(error)s" +msgstr "Fout bij het verwijderen van label: \"%(tag)s\". Foutmelding: %(error)s" #: views.py:171 #, python-format @@ -238,34 +231,31 @@ msgid "Tag remove request performed on %(count)d documents" msgstr "" #: views.py:244 -#, fuzzy -#| msgid "Remove tag" msgid "Remove" -msgstr "Label verwijderen" +msgstr "Verwijder" #: views.py:246 -#, fuzzy #| msgid "Remove tags from documents" msgid "Remove tags from document" msgid_plural "Remove tags from documents" -msgstr[0] "Labels van documenten verwijderen" -msgstr[1] "Labels van documenten verwijderen" +msgstr[0] "" +msgstr[1] "" #: views.py:256 -#, fuzzy, python-format +#, python-format #| msgid "Remove tag from document: %s." msgid "Remove tags from document: %s" -msgstr "Verwijder label van document: %s" +msgstr "" #: views.py:265 msgid "Tags to be removed." msgstr "" #: views.py:290 -#, fuzzy, python-format +#, python-format #| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" -msgstr "Document \"%(document)s\" is niet gelabeld als: \"%(tag)s\"" +msgstr "" #: views.py:300 #, python-format @@ -273,16 +263,41 @@ msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "Label: \"%(tag)s\" is verwijderd van document \"%(document)s\"." #~ msgid "Must provide at least one document." -#~ msgstr "U dient minstens 1 document aan te geven." +#~ msgstr "Must provide at least one document." + +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "2b1f894eebfe4fd9c93a2a121387867c_pl_0" +#~ msgstr[1] "2b1f894eebfe4fd9c93a2a121387867c_pl_1" #~ msgid "Must provide at least one tag." -#~ msgstr "U moet minimaal een label aanbrengen." +#~ msgstr "Must provide at least one tag." #~ msgid "Must provide at least one tagged document." -#~ msgstr "U dient minstens 1 gelabeld document aan te brengen." +#~ msgstr "Must provide at least one tagged document." #~ msgid "Remove tag from documents: %s." -#~ msgstr "Verwijder label van documenten: %s" +#~ msgstr "Remove tag from documents: %s." + +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" + +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" diff --git a/mayan/apps/tags/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/pl/LC_MESSAGES/django.mo index d74886672332c000f3bd6fb868114905760a5745..ccce22b519b2874efdf9da01a01ab464562bc8e9 100644 GIT binary patch delta 941 zcmYk)KWGzS7{~E9Z5q?mRvR1J8vmTAX);9aF0rL)t`VJdkRmvUI0PDk5>u(BI#h#T z-9+UO2X#?#5CVdeB8Z?M2yxIs9E7f-lc2bW-``nHU-I7P<=%Ur=Y5|y?coRU=I40$ zrlD=2Z>EPs#$@m-s$K6gW(03w4?e;He2nYx1;+3lM(`8%;WCcnH|)io-NtOf-5ACL zxYn4aImAF89K$iJpb}lhHRz)P-$o_6hf2^w1$>J9%m*GN{D^yTge+U}C@SH39tpgF z%ID(_@|(L1wz12Xs0u8TO&j=)>oLqO1~Gw3Jcd!sVLukJfCo{5mvAFqLv8#as$wnF z`sZll8;p|Q{L%oscqnlnD$pS6#7Wc@q);a<;Xd4tIlO`!@ELLj(?)IJJu2ZB%;FE! ztty6ElCJ#0-Am?!5-FLQf+(PxDx=em(&O|YI`gJ#9zT;1ZtD`gXm4y?PbLMd6)Z9X41?z0N`s8>|In+Oqwewlmu^hMH z=KZ&kWarIz!JY8GM}9W*Q`YHPW4>JT(sj>stdeD01uI?O<=E4nYo$__hD9%*(KvW- z7aiAHTnr}o$YH8vIjpL0C&0h2rail}+R13aO4L1__mk<)ghKsKNXEZ$UE=04Q!)Qm gwB=vyZ4AuJ%~or#mS)Y7GmY1m{Y$Z-`|Vih55xO(9{>OV literal 3022 zcma);&u<$=6vwAfei!?U5YE^+af}k8wZ-@h@!U2_A6A%&y{(@dOfyAkI#P^M3uVX1KBkz1>=e>FF&3m&W z-`u_P3x>8I&+~XDcQAGs{NOHhX#U-d<-ihH04Kqx!Da9s@FKVi{1kiyyaJN`ci_F? z58#8~b?^xID_92q1s?!QI~jWxoB;7-XVE`Hd%=Am=^Y0tjt@cd*8~v)y96EwKLK9{e*;NBhu~q7<-sSx0!Z;pf#m-! z@E7DN1}WZS_cQhmI0I51zXD;3{Rln^UI!loe+Ma!n;?GdZ*&iXx4;Ux15S>ClOXw9 zLAM9|7=$bKB}n=H1|&P*gFg5Z=&p^u4w;+CO z10B`(50LWn7kC2v2OI}|IDH%pK+4Z~kmCCY#E*TB&I7N4NRMk2?=yHPFVDG|Zf>5y zm|}uy*T^rOA!;vn!8VVfdwU8!#Z3OlH`Rr5O8cQ2P@^-j+l{&%2lnHk98;qhsZmX+ z(O#%g&3kR%=79E3wWhpNjz;jXH>?%)C2mDyV92fJfvzVl8QE>7&A_}F)Hm#;4t2~< z#!^_xBbhqmTVJ8n6_ej78A>ZRLCS_rZ93;8qhq~5@@9l9!$pXdL5K7jGT_3H4qhPM zc3CP+bkN>*N#@h=R9R$XNz#G}A2n<`P}X%@X6Oa7IMy)_Xb&oC&|DS}7LQ4i=M6h8 z7G%g~6JvQh)+;KITv#4Tfe9VSe!dI0(Sh+hh$$t#gcaCaELW6F*}QD&6}O#%AzzGj ztFKJ^ENm+^!(ua_YPMQ3tcIfE$?|}m(kVl1CaKq@F^fqUqJ-Hg8!B{RXnpK9FtmJ2 z{M#77nQ^5Va_#K9KoLBZZ}YslYM({Qy0v{zg&|*%yyxC|6qxJjBV}{3Zpym#P6ggs z85^ae3ZE4n5%KA%*>`jEvaMt5&6ocr{(&xw*G%p8Eu#?@i%DsqnI2I^vZ| zUU{7R<;vk#J^zsJL(!W@5y|eLoafQ$81sNm5 z^V*15X(&XEL^PyVlcH7Ob2?OJiH|K=+pZLgX_^)+tyYWje4(ye#kjjJF1Bbho(x*1 z7;f4qw!>mRH+yP!I@@!p;O9>2$l}WIYMnMVWaW7aO`)O*USATik+yoKHsc-5^vL6) zjJ@fot^<5N6@GL<*?z1Q-VSqfVG@hbo6&I#$1rNUS5qCIfRH5Bv8Y-t@#Ea*5RaDp z*Q#ZH;D8%WRu9o|jHdm`lFu((aPy?&=dq@QHRb$74p+y<+WMvXDixlc6WI%Djo-4n z3zKanH?F1sTc!q0(!w|0g?YxNH?GC2JkqJV-Ppi{`*u}-hGINpl4$+X`sMzBB3IZ) zH`Jl;fj1@YnP#%_GuP15sfaqfDVBBik#4&*Qj#xpHrDREveUQG;VzR(;;6X`v}2Pd zu22F6IxyRf`vhe?;B6h$S8=B&CP9cwkWgeXR, 2015 @@ -12,16 +12,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-03-21 21:12+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" -"pl/)\n" -"Language: pl\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 #: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 @@ -41,10 +39,8 @@ msgid "Remove tag" msgstr "Usuń tag" #: links.py:17 links.py:24 -#, fuzzy -#| msgid "Attach tag" msgid "Attach tags" -msgstr "Dołącz tag" +msgstr "" #: links.py:20 msgid "Remove tags" @@ -137,25 +133,23 @@ msgid "Tag attach request performed on %(count)d documents" msgstr "" #: views.py:42 -#, fuzzy -#| msgid "Attach tag" msgid "Attach" -msgstr "Dołącz tag" +msgstr "" #: views.py:44 -#, fuzzy #| msgid "Attach tags to documents" msgid "Attach tags to document" msgid_plural "Attach tags to documents" -msgstr[0] "Załącz tagi do dokumentów" -msgstr[1] "Załącz tagi do dokumentów" -msgstr[2] "Załącz tagi do dokumentów" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:54 -#, fuzzy, python-format +#, python-format #| msgid "Attach tag to document: %s." msgid "Attach tags to document: %s" -msgstr "Attach tag to document: %s." +msgstr "" #: views.py:63 msgid "Tags to be attached." @@ -199,12 +193,13 @@ msgid_plural "Delete the selected tags?" msgstr[0] "" msgstr[1] "" msgstr[2] "" +msgstr[3] "" #: views.py:142 -#, fuzzy, python-format +#, python-format #| msgid "Delete tags" msgid "Delete tag: %s" -msgstr "Usunąć tagi" +msgstr "" #: views.py:152 #, python-format @@ -242,35 +237,33 @@ msgid "Tag remove request performed on %(count)d documents" msgstr "" #: views.py:244 -#, fuzzy -#| msgid "Remove tag" msgid "Remove" -msgstr "Usuń tag" +msgstr "Usuń" #: views.py:246 -#, fuzzy #| msgid "Remove tags from documents" msgid "Remove tags from document" msgid_plural "Remove tags from documents" -msgstr[0] "Usuń tagi z dokumentów" -msgstr[1] "Usuń tagi z dokumentów" -msgstr[2] "Usuń tagi z dokumentów" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:256 -#, fuzzy, python-format +#, python-format #| msgid "Remove tag from document: %s." msgid "Remove tags from document: %s" -msgstr "Usuń tag z dokumentu: %s." +msgstr "" #: views.py:265 msgid "Tags to be removed." msgstr "" #: views.py:290 -#, fuzzy, python-format +#, python-format #| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" -msgstr "Dokument \"%(document)s\" nie był otagowany jako \"%(tag)s\"" +msgstr "" #: views.py:300 #, python-format @@ -278,22 +271,43 @@ msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "Tag \"%(tag)s\" usunięty z dokumentu \"%(document)s\"." #~ msgid "Must provide at least one document." -#~ msgstr "Musisz podać co najmniej jeden dokument." +#~ msgstr "Must provide at least one document." #~ msgid "Attach tag to document" #~ msgid_plural "Attach tag to documents" -#~ msgstr[0] "Załącz tag do dokumentu" -#~ msgstr[1] "Załącz tag do dokumentów" -#~ msgstr[2] "Załącz tag do dokumentów" +#~ msgstr[0] "2b1f894eebfe4fd9c93a2a121387867c_pl_0" +#~ msgstr[1] "2b1f894eebfe4fd9c93a2a121387867c_pl_1" +#~ msgstr[2] "2b1f894eebfe4fd9c93a2a121387867c_pl_2" +#~ msgstr[3] "2b1f894eebfe4fd9c93a2a121387867c_pl_3" #~ msgid "Must provide at least one tag." -#~ msgstr "Musisz wprowadzić conajmniej jeden tag." +#~ msgstr "Must provide at least one tag." #~ msgid "Must provide at least one tagged document." -#~ msgstr "Musisz podać conajmniej jeden otagowany dokument." +#~ msgstr "Must provide at least one tagged document." #~ msgid "Remove tag from documents: %s." -#~ msgstr "Usuń tagi z dokumentów: %s." +#~ msgstr "Remove tag from documents: %s." + +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" + +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" diff --git a/mayan/apps/tags/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/pt/LC_MESSAGES/django.mo index e09b3449673275a07b62e0d78700b8ad2de48fdb..d0388f6fb9456d7e61030a3f3a03162ff2e08606 100644 GIT binary patch delta 483 zcmX}oze~eF6u|LIf2F3?YDKEzkBXp!29hIM47j-~?c(5~kfDezSSc2SI*8~XD8YX~ z99*1S#6@v&a1aC+2Pb#`0SCV?l|J(Fxl8Wdz2rCZZneMiiAzNckYnUESs>>PZo~-= z<0&Tb3UhdaDZIxFK4K5PVgf(@=bt#s{2Qe{8|&2Naa5_c8euTO3lF8Rg0j&%PU9Ay zQ+$k5%nK}v;}QY1C#`RawiBoE$D4*WrBV32lu zaU5rG4(TJ>oL-_PSQ>pjM2BT%K$xV|O7xNP$D}#gSDNXDbS}Ro9o`yesdBJWZwBE( z>|vo~JD#oGqN{!FF?JklZPhLZ&1$1suh}b`dx2lnj@wA*KuvBVNEG+CT z$U=#l6=fk!S^BY1%2sxi?-@fjoVxFG@9Exq&U>#|^B!KiZwhQHqKVPYIAC-zMtwYp zLu|n#ti&s<#~ZA|M-1aLhVT^w_)%W_{Yv$*j-Z?$#2!pwr&4Qbib*Sp)vtuwLAl@r z<-#+R0~ff(r7zgcdWB6DxQETSkJWgBjaa}METS}ehYk3IaeTu7^;Iuz^^)i>JBeMa zmr)AuqBL@jwRnlL{}$;-(NC$6G()Nsb!DZngf#X$s9pMM5$QxiI+M>TAw?wQm&luZ zN03PB6zF8ow;W9px6 RjyB%>Qr37*EPowX{{+$KV%Gow diff --git a/mayan/apps/tags/locale/pt/LC_MESSAGES/django.po b/mayan/apps/tags/locale/pt/LC_MESSAGES/django.po index f8053abde7..d06060913e 100644 --- a/mayan/apps/tags/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Emerson Soares , 2011 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-03-21 21:12+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" -"language/pt/)\n" -"Language: pt\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 @@ -40,10 +39,8 @@ msgid "Remove tag" msgstr "" #: links.py:17 links.py:24 -#, fuzzy -#| msgid "Attach tags to documents" msgid "Attach tags" -msgstr "Atribuir etiquetas aos documentos" +msgstr "" #: links.py:20 msgid "Remove tags" @@ -140,18 +137,17 @@ msgid "Attach" msgstr "" #: views.py:44 -#, fuzzy #| msgid "Attach tags to documents" msgid "Attach tags to document" msgid_plural "Attach tags to documents" -msgstr[0] "Atribuir etiquetas aos documentos" -msgstr[1] "Atribuir etiquetas aos documentos" +msgstr[0] "" +msgstr[1] "" #: views.py:54 -#, fuzzy, python-format +#, python-format #| msgid "Attach tag to document: %s." msgid "Attach tags to document: %s" -msgstr "Attach tag to document: %s." +msgstr "" #: views.py:63 msgid "Tags to be attached." @@ -196,10 +192,10 @@ msgstr[0] "" msgstr[1] "" #: views.py:142 -#, fuzzy, python-format +#, python-format #| msgid "Delete tags" msgid "Delete tag: %s" -msgstr "Excluir etiquetas" +msgstr "" #: views.py:152 #, python-format @@ -238,21 +234,20 @@ msgstr "" #: views.py:244 msgid "Remove" -msgstr "" +msgstr "Remover" #: views.py:246 -#, fuzzy #| msgid "Remove tags from documents" msgid "Remove tags from document" msgid_plural "Remove tags from documents" -msgstr[0] "Remover etiquetas de documentos" -msgstr[1] "Remover etiquetas de documentos" +msgstr[0] "" +msgstr[1] "" #: views.py:256 -#, fuzzy, python-format -#| msgid "Remove tags from documents" +#, python-format +#| msgid "Remove tag from document: %s." msgid "Remove tags from document: %s" -msgstr "Remover etiquetas de documentos" +msgstr "" #: views.py:265 msgid "Tags to be removed." @@ -260,6 +255,7 @@ msgstr "" #: views.py:290 #, python-format +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "" @@ -269,10 +265,41 @@ msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Deve fornecer pelo menos um documento." +#~ msgstr "Must provide at least one document." + +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "2b1f894eebfe4fd9c93a2a121387867c_pl_0" +#~ msgstr[1] "2b1f894eebfe4fd9c93a2a121387867c_pl_1" #~ msgid "Must provide at least one tag." -#~ msgstr "Deve fornecer pelo menos uma etiqueta." +#~ msgstr "Must provide at least one tag." + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "Must provide at least one tagged document." + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "Remove tag from documents: %s." + +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" + +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" diff --git a/mayan/apps/tags/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/pt_BR/LC_MESSAGES/django.mo index 995c537541437b744db066661a8fd51e6dcff817..eb541cdc9b2de0a27f6a8a698cae8b6122c9d92a 100644 GIT binary patch delta 886 zcmZY7KTK0m6vy#XETzzve+noF-ii?i8sJgDcEDmFI59YqI5heKB$|Re|AfRehD`@! zt|m?lj5-)~aUihkWTLAvCMG(;Kpad={Qe5Mc+&Ge_r1P%@44r_2kucv^>cgtsS#Q7 zBzY!gHiUz99Ek6D9DiUv)*Ufx#w5027dGJlCNRJh7BIjW9LKwu#+R7EEo?Na+B*i_ zT=}eh#feKRAyID3oPJUy7CYm=hLjN2}3-JOQ`4Wp*rJ{pKWqz!{=DSEiB@1)cxm^ zW}U2Wa|~2@hz^%gJ9>=m_zbns3mnEBq!!ylJ@*rH7^7@D$D?x7r%c z;yPBR8N6qpowhO?L(5|iPNLq`Jf6ixq!G2(!?0Eq)Itj=^i4QYg(x&nC#eprJ6W=i z)T`l>(*FMseQ*jbt~f?^k!rgNR9Ezl)kcMOsgGA(`y1-O2~s;&w|YsNilXw>MHiJ9 zR$Wwa*D8K6zU_PK@B4HjNZIA^M&)*>zkM}v&Od3`@vF(T%tUTDp9@CZNKg#&{#UXm x{qM?nF?f@0EX4flrhWe{we3%5N^OVp+;lV1(#owcD*IQNQU9U&i~rOz_6ICYS-t=O literal 4106 zcmai$O^h7H6@beL31LGBIEFyLq*!pgYuq!l3&G2nwY}b5N0wNzvNt4#11e9~&NlAp znsoJey-1OA;0DSmL|hWdLLyRb;goZnV=hq?CE^fa0VlX| z-h1_`-v004J?|-=fc6CK?E^|J!!N(V56>sxRB8s^ge~|bd=x%@k5b=)&%*~`7k(d} zha!IoejA4HyYLEJguCzs_~+vLCcK~TLn!+md%36!kYyTqpZvK zB}gdL@8D_pK0E{e3q{{!-x=Gz1Rv&m8U7evgyNrvV$ZMPUy1p3C~~i1+zK2*4L^di z&cEOf;D4aVeE}uz2QZo?)r0UM_$WLBk3q5X3Oofrgfj1Q_z3(OqCy=cs2U!IxTsFS zgK!e_Lla-+ zAx!xrIZ{5de}`yCXcA+IyZ9vWEFU=oxS*abI%E$ujd0}tfjrJ^YyQX{N!-**mYLp; z&P>1YsxzlU*BcFNlI_#&8~wg1@71b{U8+`7Yci`7yPGSY{6uIxEbFe>*k-nX2>a@N z$7;`LFSDTxoZfH1Gg8>AXOGO4w$J-n9eHhH77O=8Lmx%PiwqwO?>lYR_~dAI=P9VD z=ktNxg%OQ6y&Gl37f+Dr>LXsQhf$XQO!UYHV`=JA9ZE!^q%VE7txTS?GCuFs%jU9; z)yBwYdYHPaQE0WvbZiYBF0s|_weBE;^1BR6w8~hv)Mje0Ms^oQ1C#FQD|S!2?b0>L zfy-DChBj=e3wGeH<}Np0^>*q8l|qR{Q*d(BPY?TsB0nWt4UMB*hioh-!7tsAAeQg* zq)ln)-DiqL)l`4$T+guV;e26TbJe@f72W$yZmuiKZjpAhhLs?X6PvY<0?t>St5Zwo`n@bdEF_PYN=Pr zvGHN}MHI)9Q>A&iMTWjoANjMHx;MEWg7abUs!e_5lCIt`dnVEAYa175F4&<ib~Jb@j~VD_cQ+10f%*aZh#iVrSunU|}Ixd`@>3yFWbDyq-nn71@V(+Lwvfk>sv#EJ2is$v*PL>V3?e^~OZYz^TqHTLk6tq+4O&Ynh zJrJJ*8xDLsE)=$h*&AmswC86w&Tp*O(OGD9W>#I2akmFsdqZ5$?6s^tj7^lB)V&>( zdYdi(eCu4WRLjYt+cpi>lb#E?nYw!Ea+FoJcXhtj%w{}FO&pwa>420^hWV#oUOcJC zugi0ZKBX7tPtGWl*lQ-$+;hJg+01B@C&x+{^@#PvK%K@;-FDnp3E?P9lX|@#n$$D} zR`cQ%u|(po8ogc^Kt(G1d}Wo?De0|**01&AQIx8J4Z)S6=_6^Xu5slOXF_vYmBS6) zO@T%Mb5mzczj@=jwm##RYqw`Yr`dU@>+@fgom-|RH$HGO*WhRw>2iKu1559SQXME& z_DXac-D|~JCe*Jq120B3yw7)2DxD!%IVuCXMGcf_HNuhCK5ejf9OFt}&yFugF4kGO z3yT`4iz2vYDKy+NiS60+xE|WrY5s9>{-=QJckVCAF&K!ghiYqdniTl_83J2YkGYvfi@ipqVO2)l%{oKgoSbj=-T%G7Gh zx>+AJ=G66&Z5*#Vk-AlGOdHXtB4zE|cjA<7)zn7qoXmi_2HxV>-6u!#HL9mQ%NbLZhU(*@_*`Zwr-~, 2016 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-11-17 23:07+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" -"edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 @@ -40,10 +39,8 @@ msgid "Remove tag" msgstr "Remover Etiqueta" #: links.py:17 links.py:24 -#, fuzzy -#| msgid "Attach tag" msgid "Attach tags" -msgstr "anexar etiqueta a: %s" +msgstr "" #: links.py:20 msgid "Remove tags" @@ -136,30 +133,25 @@ msgid "Tag attach request performed on %(count)d documents" msgstr "" #: views.py:42 -#, fuzzy -#| msgid "Attach tag" msgid "Attach" -msgstr "anexar etiqueta a: %s" +msgstr "" #: views.py:44 -#, fuzzy #| msgid "Attach tags to documents" msgid "Attach tags to document" msgid_plural "Attach tags to documents" -msgstr[0] "Anexar etiquetas para documentos" -msgstr[1] "Anexar etiquetas para documentos" +msgstr[0] "" +msgstr[1] "" #: views.py:54 -#, fuzzy, python-format +#, python-format #| msgid "Attach tag to document: %s." msgid "Attach tags to document: %s" -msgstr "Attach tag to document: %s." +msgstr "" #: views.py:63 -#, fuzzy -#| msgid "Tags to attach to the document." msgid "Tags to be attached." -msgstr "Etiquetas para anexar ao documento." +msgstr "" #: views.py:88 #, python-format @@ -169,8 +161,7 @@ msgstr "Documento \"%(document)s\" já está marcado como \"%(tag)s\"" #: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." -msgstr "" -"Etiqueta \"%(tag)s\" anexada com sucesso para o documento \"%(document)s\"." +msgstr "Etiqueta \"%(tag)s\" anexada com sucesso para o documento \"%(document)s\"." #: views.py:108 msgid "Create tag" @@ -201,10 +192,10 @@ msgstr[0] "Apagar a etiqueta selecionada?" msgstr[1] "Apagar as etiquetas selecionadas?" #: views.py:142 -#, fuzzy, python-format +#, python-format #| msgid "Delete tags" msgid "Delete tag: %s" -msgstr "Excluir etiquetas" +msgstr "" #: views.py:152 #, python-format @@ -242,76 +233,73 @@ msgid "Tag remove request performed on %(count)d documents" msgstr "" #: views.py:244 -#, fuzzy -#| msgid "Remove tag" msgid "Remove" -msgstr "Remover Etiqueta" +msgstr "Remover" #: views.py:246 -#, fuzzy #| msgid "Remove tags from documents" msgid "Remove tags from document" msgid_plural "Remove tags from documents" -msgstr[0] "Remover etiquetas de documentos" -msgstr[1] "Remover etiquetas de documentos" +msgstr[0] "" +msgstr[1] "" #: views.py:256 -#, fuzzy, python-format +#, python-format #| msgid "Remove tag from document: %s." msgid "Remove tags from document: %s" -msgstr "Remove etiqueta do documento: %s." +msgstr "" #: views.py:265 msgid "Tags to be removed." msgstr "" #: views.py:290 -#, fuzzy, python-format +#, python-format #| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" -msgstr "Documento \"%(document)s\" não estava etiquetado como \"%(tag)s\"" +msgstr "" #: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." -msgstr "" -"Etiqueta \"%(tag)s\" removida com sucesso do documento \"%(document)s\"." +msgstr "Etiqueta \"%(tag)s\" removida com sucesso do documento \"%(document)s\"." #~ msgid "Must provide at least one document." -#~ msgstr "Deve fornecer, pelo menos, um documento." +#~ msgstr "Must provide at least one document." #~ msgid "Attach tag to document" #~ msgid_plural "Attach tag to documents" -#~ msgstr[0] "Adicionar etiqueta ao documento" -#~ msgstr[1] "Adicionar etiqueta aos documentos" +#~ msgstr[0] "2b1f894eebfe4fd9c93a2a121387867c_pl_0" +#~ msgstr[1] "2b1f894eebfe4fd9c93a2a121387867c_pl_1" #~ msgid "Must provide at least one tag." -#~ msgstr "Deve fornecer pelo menos uma etiqueta." +#~ msgstr "Must provide at least one tag." #~ msgid "Must provide at least one tagged document." -#~ msgstr "Deve fornecer pelo menos um documento marcado." +#~ msgstr "Must provide at least one tagged document." #~ msgid "Remove tag from documents: %s." -#~ msgstr "Remove etiqueta dos documentos: %s." +#~ msgstr "Remove tag from documents: %s." -#~| msgid "" -#~| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" #~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" -#~ msgstr "Remover a etiqueta \"%(tag)s\" do documento: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" -#~| msgid "" -#~| "u sure you wish to remove the tag \"%(tag)s\" from the documents: " -#~| "ments)s?" #~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -#~ msgstr "Remover a etiqueta \"%(tag)s\" dos documentos: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" -#~| msgid "" -#~| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" #~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" -#~ msgstr "Remover as etiquetas: %(tags)s do documento: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" #~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -#~ msgstr "Remover as etiquetas %(tags)s dos documentos: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" diff --git a/mayan/apps/tags/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/ro_RO/LC_MESSAGES/django.mo index 6eedd58ce7c087676884e53361861fa451830845..ae58a0dce44db93f9463fb8b8ef19a6ec570c8b9 100644 GIT binary patch delta 730 zcmYk(KS&!<9KiA4#h94b+Q!J-Z6T1H8tXaepp%GyDClBqT8?<7{=pu>%@79* z4i0CX#L2NkA>dSsgMzq;4uyhKhYo^^;#BneJA?SR-}}7x?(X;g{f+;NEuGc|zX|0T z@tim#T8Wj>1YNB!Ekp-$=%wr$!U^8B!P86qlicP2sN#hIb!QX7^J+{z)!(?IR zmkAp63{3e0B8#XA3TWX5YN8`-#6RW!CC2Gr;}eXB*#y2u{r(;D$TU?9=gSuH75#OL zFu(kwF^C5^gmqOSFYyEN$SPG6uA?6P4{XC-)LYV1(sA8{7QHS#YMoTeLqZqGI;DmE8uzzcdm(4bz-MR1ncZ7X*sk+&+IF+0|B;+=1MU7&HUIzs delta 1256 zcmajdO=uHA6u|LGlQvpETB}Cu=b(gIH8F|(z#v$mUX)@L4_-X1>9k!;c1yBbp&p`E zJ?KRYo;(Oj5d{$`BE2anRuB~I!IO9pKMvA^ck%z$G_3`3$mTb@^LF0soB6itbFBQa zC2~{IG}k7%LQ3rt>-eKhVtkg1W#4e0s2K#U+p2rP%6(cx- z%atmt2i1V5*v7zflmy>#JI>-3T+LfMF@v(8Q@9z2QO2*JEMNj9(PQLQ^#%{%JM6(` zCYShQ7$LtJp|h3;KFUh3p(MVEAE?F@uHpVhRH?0a5BaHA{H?>c)%&j~^UPuv>zDko z2W8%K*ov2{_qQ=des!PDYJ7%!ai$uugtrphx1fA^5AMM;xC(D!93NK4-&ddi!giiF zQzp79i$|~*`|vvMz>ioamx@xijo6H`r@OHY_ag-e8bt`2#7UDcmB#i5WtU3G*U7@9 zwQ$9Po>D8Yx!RZcrTnt6l}eoq4ukBIlvobfT+?*qKuTpeC_$5bl`W71$KqA6c$6k* zK^^owD>tk?YpBv+cd_y%+!WPkt&-E`Ri4ycD)jj!PmdJcQG38>%hP#d@xXPA9&mGh z!8l%0{X2$P|1&&f2Igm~90)fNrC@mSaM%iUb|up3 zL}sr}WwM>!iBv}_)!2VDaomjBCEIlpy_RRPI+IFwF_uVo>(st%N5|x+$f;11vBqAE zYvb9uVdK3RuXH!u+34r>w)l>@k8Ce((~hq#J?NIa%2dOn@`<83?b}9|cyrJ%I`)_u zGdgGTdc>c;Wjoq;Y9EnQwP=$!InN@=!cccU_kvJjEU##j<>g&_arn~eT6MDGMq3YC mq@0_?s^#_bzMYM03V0}Q7i?!yl+pS5SQZw9PF{!(g?, 2013 @@ -12,16 +12,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-04-17 09:44+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Stefaniu Criste \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" -"edms/language/ro_RO/)\n" -"Language: ro_RO\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 #: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 @@ -41,10 +39,8 @@ msgid "Remove tag" msgstr "Elimină eticheta" #: links.py:17 links.py:24 -#, fuzzy -#| msgid "Attach tag" msgid "Attach tags" -msgstr "Atașează etichetă" +msgstr "" #: links.py:20 msgid "Remove tags" @@ -137,25 +133,22 @@ msgid "Tag attach request performed on %(count)d documents" msgstr "" #: views.py:42 -#, fuzzy -#| msgid "Attach tag" msgid "Attach" -msgstr "Atașează etichetă" +msgstr "" #: views.py:44 -#, fuzzy #| msgid "Attach tags to documents" msgid "Attach tags to document" msgid_plural "Attach tags to documents" -msgstr[0] "Atașați etichete la documente" -msgstr[1] "Atașați etichete la documente" -msgstr[2] "Atașați etichete la documente" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" #: views.py:54 -#, fuzzy, python-format +#, python-format #| msgid "Attach tag to document: %s." msgid "Attach tags to document: %s" -msgstr "Attach tag to document: %s." +msgstr "" #: views.py:63 msgid "Tags to be attached." @@ -169,8 +162,7 @@ msgstr "Documentul \"%(document)s\" este deja etichetat cu \"%(tag)s\"" #: views.py:99 #, python-format msgid "Tag \"%(tag)s\" attached successfully to document \"%(document)s\"." -msgstr "" -"Eticheta \"%(tag)s\" a fost atașată cu succes la documentul \"%(document)s\"." +msgstr "Eticheta \"%(tag)s\" a fost atașată cu succes la documentul \"%(document)s\"." #: views.py:108 msgid "Create tag" @@ -202,10 +194,10 @@ msgstr[1] "" msgstr[2] "" #: views.py:142 -#, fuzzy, python-format +#, python-format #| msgid "Delete tags" msgid "Delete tag: %s" -msgstr "Ștergeți etichetele" +msgstr "" #: views.py:152 #, python-format @@ -243,54 +235,75 @@ msgid "Tag remove request performed on %(count)d documents" msgstr "" #: views.py:244 -#, fuzzy -#| msgid "Remove tag" msgid "Remove" -msgstr "Elimină eticheta" +msgstr "Şterge" #: views.py:246 -#, fuzzy #| msgid "Remove tags from documents" msgid "Remove tags from document" msgid_plural "Remove tags from documents" -msgstr[0] "Îndepărtați etichetele de pe documente" -msgstr[1] "Îndepărtați etichetele de pe documente" -msgstr[2] "Îndepărtați etichetele de pe documente" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" #: views.py:256 -#, fuzzy, python-format +#, python-format #| msgid "Remove tag from document: %s." msgid "Remove tags from document: %s" -msgstr "Eliminați eticheta documentului:% s." +msgstr "" #: views.py:265 msgid "Tags to be removed." msgstr "" #: views.py:290 -#, fuzzy, python-format +#, python-format #| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" -msgstr "Documentul \"%(document)s\" nu a fost etichetat cu \"%(tag)s\"" +msgstr "" #: views.py:300 #, python-format msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." -msgstr "" -"Eticheta \"%(tag)s\" a fost eliminată cu succes din documentul \"%(document)s" -"\"." +msgstr "Eticheta \"%(tag)s\" a fost eliminată cu succes din documentul \"%(document)s\"." #~ msgid "Must provide at least one document." -#~ msgstr "Trebuie să furnizeze cel puțin un document." +#~ msgstr "Must provide at least one document." + +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "2b1f894eebfe4fd9c93a2a121387867c_pl_0" +#~ msgstr[1] "2b1f894eebfe4fd9c93a2a121387867c_pl_1" +#~ msgstr[2] "2b1f894eebfe4fd9c93a2a121387867c_pl_2" #~ msgid "Must provide at least one tag." -#~ msgstr "Trebuie selectată cel puțin o etichetă." +#~ msgstr "Must provide at least one tag." #~ msgid "Must provide at least one tagged document." -#~ msgstr "Trebuie să atribuiţi cel puțin o etichetă ." +#~ msgstr "Must provide at least one tagged document." #~ msgid "Remove tag from documents: %s." -#~ msgstr "Eliminați eticheta de la documentele:% s." +#~ msgstr "Remove tag from documents: %s." + +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" + +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" diff --git a/mayan/apps/tags/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/ru/LC_MESSAGES/django.mo index b86ee3ea2b7328733e9103f48d590467a9c89ee5..f862fa35bc32b72d0022b566d233113090dcd361 100644 GIT binary patch delta 931 zcmZY7KWI}y9Ki8QP1B^W&!(+4);8%Yt!*?7rmwZ35!Bcgp*RH>5r?OSs#G83J*>Dq ztO$bQa*CURg$^$MiJ++HC^)6)B7%cB)SsX;3J0->vTzw?BMT@SSVWok8Zwo-j|cG~ z9>Q;!VtqBpthCi(?8YO=&eTbi1?Dk9^*1rk_cE(T@e2;&cO1qTojsUCIib16_i=o| zw}<;M!{kYHu%Go+K%)~MpiJ}(W#^wUjT^WNlax1u(*N} zpe$TOhNwl9LY6R?rSXb}+`XK;3`nB9hcx!%9PY>S$n&UQkBsXgH$%or$eXZ8xgv>P zayuy}ESr{jQ=}Bgp-TP#hdek5c_>8>&>k;9e@r-#Un-^_`Y?+KXN>^V!@) z)*iFQ?1DX^e?@!8|Mg53?0hCiv>tUlKYOg=T=W(k->np^l6$ILVUd#SIhAv6bvkxC xq<0&A)pg@~sJde2L;7jEYcAKG*Phf~*IuqJt=`h9_#XWzUeLcgK5Db;#2*(MY%~A> literal 4968 zcmdUyTWlOx8Gr`}1x&bwaA`x^6PF}jn%RqEx6USO(>hKSsTNVX6h(cS?2esjcXzCr z*|?U9lr*hcDN&SKxm5C0Ky>!J`lntqMi% zY&<^)5AnVL`KP_f&qMGX_yGJJ`~kcJzW{gRjLh$a;@V${|OJm`$)#U@G&U)eRzrC$Grl8<|EdInCyuwS9fFT?%t*HHTR zk5J;={mrO;has&UUJ|F&?hv=sKA$=Jy31Ya9fAG?Nu<*)#nAjV<$3CYSHq@FOeWoRtH>drfzxRPtS&RkOVToRh}z&X6A*UfrfJ7YHO3t`BaM>Xfz&D5aeA}iQC z>-JB(8AEQLY&sQXxtp>`PLiL5AxTW0bF@w3=+2trQL5^0)^(Yd8s=i}va9Z>E4BwI zXV;ZwtF#?=CQ2jR#1zYI*J`Hg&b1p2+P%ApMYbFDaK2C939Hqo-czgr2H0O=ul6k+ z+IM9Uav}X3Zwn%cNAWFkTD;6=Dz80Fk42l|Csv~&J(ai@dSoz`*rR_=JNC1j5BjOP z{12zmVk=TupZ z7E6!lrIJ2+L={KNS%(dp*#=NOlO`};>XWFi7;or!4&s!)L3X6-2c~3O0IrI5^&2APP+cg}^ zb_z`iL^tbAx6p`<6r6S;H#B={cBUI|DPJ6#wp$*jwO(CXAQ;bl-YYCL46Aia)y^A^ zYkHL*S5N8_T{&5C&UEydR?V(+)|A!6Im=6(Ei0!zbh^=YjD~*FcA9i>Yax7fD`Ur0 z^jH~b9Vitmm6AGmP|0I)f2CAXQ>v&C=Y6s=noJ$9jLBoDQ9NE6RWG~{sZ5r}a;TJI zl}e>3Q=!~sWxT6?G?$KJmt~SQk5{lTrA9GuBzJ5`^WP0F`W=6r-!=bZzZ1L|Tvh%@ z{#x)NgO_)jSN^*4SN+=}D_Z^rdMo}%+w1wA|9`#r{Tq@b&0i+^o8(|6O5FypH-gK- zYdu*^h5QY&y{3SOT?t-J#7N;LTbVMvCoA~3q5^4t&ue00-S2FgVGaK}#a&^=jXt-g zc96azj>bOto&T+L@0qLUrVnKGPS{lBIdvqs+&#;+J}qKI=VMYUUcVykNTU(^dPc{8 zD{5|kWsA<$(pg%xzpts7=D&gUOtS}9wir^urPN=Xmo@)Za5Yho%-s$yktqrCB4-*tTtvD=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 #: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 @@ -40,10 +37,8 @@ msgid "Remove tag" msgstr "Снять метку" #: links.py:17 links.py:24 -#, fuzzy -#| msgid "Attach tag" msgid "Attach tags" -msgstr "Прикрепить метку" +msgstr "" #: links.py:20 msgid "Remove tags" @@ -136,32 +131,27 @@ msgid "Tag attach request performed on %(count)d documents" msgstr "" #: views.py:42 -#, fuzzy -#| msgid "Attach tag" msgid "Attach" -msgstr "Прикрепить метку" +msgstr "" #: views.py:44 -#, fuzzy #| msgid "Attach tags to documents" msgid "Attach tags to document" msgid_plural "Attach tags to documents" -msgstr[0] "Прикрепить метки к документам" -msgstr[1] "Прикрепить метки к документам" -msgstr[2] "Прикрепить метки к документам" -msgstr[3] "Прикрепить метки к документам" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:54 -#, fuzzy, python-format +#, python-format #| msgid "Attach tag to document: %s." msgid "Attach tags to document: %s" -msgstr "Attach tag to document: %s." +msgstr "" #: views.py:63 -#, fuzzy -#| msgid "Tags to attach to the document." msgid "Tags to be attached." -msgstr "Метки, прикрепляемые к документу." +msgstr "" #: views.py:88 #, python-format @@ -204,10 +194,10 @@ msgstr[2] "Удалить выбранные метки?" msgstr[3] "Удалить выбранные метки?" #: views.py:142 -#, fuzzy, python-format +#, python-format #| msgid "Delete tags" msgid "Delete tag: %s" -msgstr "Удалить метки" +msgstr "" #: views.py:152 #, python-format @@ -245,36 +235,33 @@ msgid "Tag remove request performed on %(count)d documents" msgstr "" #: views.py:244 -#, fuzzy -#| msgid "Remove tag" msgid "Remove" -msgstr "Снять метку" +msgstr "Удалить" #: views.py:246 -#, fuzzy #| msgid "Remove tags from documents" msgid "Remove tags from document" msgid_plural "Remove tags from documents" -msgstr[0] "Удаление тегов из документов" -msgstr[1] "Удаление тегов из документов" -msgstr[2] "Удаление тегов из документов" -msgstr[3] "Удаление тегов из документов" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:256 -#, fuzzy, python-format +#, python-format #| msgid "Remove tag from document: %s." msgid "Remove tags from document: %s" -msgstr "Снять метку с документа %s." +msgstr "" #: views.py:265 msgid "Tags to be removed." msgstr "" #: views.py:290 -#, fuzzy, python-format +#, python-format #| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" -msgstr "\"%(document)s\" не помечен как \"%(tag)s\"" +msgstr "" #: views.py:300 #, python-format @@ -282,42 +269,43 @@ msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "Метка \"%(tag)s\" снята с документа \"%(document)s\"." #~ msgid "Must provide at least one document." -#~ msgstr "Должен быть хотя бы один документ." +#~ msgstr "Must provide at least one document." #~ msgid "Attach tag to document" #~ msgid_plural "Attach tag to documents" -#~ msgstr[0] "Прикрепить метку к документам" -#~ msgstr[1] "Прикрепить метки к документам" -#~ msgstr[2] "Прикрепить метки к документам" -#~ msgstr[3] "Прикрепить метки к документам" +#~ msgstr[0] "2b1f894eebfe4fd9c93a2a121387867c_pl_0" +#~ msgstr[1] "2b1f894eebfe4fd9c93a2a121387867c_pl_1" +#~ msgstr[2] "2b1f894eebfe4fd9c93a2a121387867c_pl_2" +#~ msgstr[3] "2b1f894eebfe4fd9c93a2a121387867c_pl_3" #~ msgid "Must provide at least one tag." -#~ msgstr "Должна быть хотя бы одна метка." +#~ msgstr "Must provide at least one tag." #~ msgid "Must provide at least one tagged document." -#~ msgstr "Следует указать хотя бы один помеченный документ." +#~ msgstr "Must provide at least one tagged document." #~ msgid "Remove tag from documents: %s." -#~ msgstr "Снять метку с документов %s." +#~ msgstr "Remove tag from documents: %s." -#~| msgid "" -#~| "u sure you wish to remove the tag \"%(tag)s\" from the document: ment)s?" #~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" -#~ msgstr "Снять метку \"%(tag)s\" с документа %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" -#~| msgid "" -#~| "u sure you wish to remove the tag \"%(tag)s\" from the documents: " -#~| "ments)s?" #~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" -#~ msgstr "Снять метку \"%(tag)s\" с документов %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" -#~| msgid "" -#~| "u sure you wish to remove the tags: %(tags)s from the document: ment)s?" #~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" -#~ msgstr "Снять метки \"%(tags)s\" с документа %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" #~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" -#~ msgstr "Снять метки \"%(tags)s\" с документов %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" diff --git a/mayan/apps/tags/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/sl_SI/LC_MESSAGES/django.mo index 72bc579bf1dbfde89b4242158d4c2a93bb29d69f..71260eaf8b3f490b75129253ae91218317cf28b1 100644 GIT binary patch delta 207 zcmey(wwSH{o)F7a1|VPuVi_O~0b*_-?g3&D*a5_>K)e%(`GI&p5OV_Yc_0Rf-vnYQ zAifX8EI|AVh_5g*F#HG7Ao(jy3=G0R`WBD|>3avH*?{y9APuxnis3(0K!%xt0jQ4w xNPz+S#FcK7g&A{r&2_25ayROYjN4{sl37 z!zOG5L@i_+`2iXDxo93e3*CvvPc^6$;j9F75TGuZ?R@rv3atB#B5fmT8f9gxr^MxqBwgbyL-qHR4z~U2rOs s*<8|Ld06B}FL%K>h`ZJe^_8*Q(>$=HauqkV>ajL>;%4^5{qNk)AFRnc&;S4c diff --git a/mayan/apps/tags/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/tags/locale/sl_SI/LC_MESSAGES/django.po index cd34639508..19e9c6ae4f 100644 --- a/mayan/apps/tags/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/sl_SI/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # kontrabant , 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-11-17 08:59+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" -"edms/language/sl_SI/)\n" -"Language: sl_SI\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" +"Language: sl_SI\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 #: links.py:40 menus.py:8 models.py:34 permissions.py:7 views.py:181 @@ -137,20 +135,19 @@ msgid "Attach" msgstr "" #: views.py:44 -#, fuzzy -#| msgid "Attach tag to document: %s." +#| msgid "Attach tags to documents" msgid "Attach tags to document" msgid_plural "Attach tags to documents" -msgstr[0] "Attach tag to document: %s." -msgstr[1] "Attach tag to document: %s." -msgstr[2] "Attach tag to document: %s." -msgstr[3] "Attach tag to document: %s." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:54 -#, fuzzy, python-format +#, python-format #| msgid "Attach tag to document: %s." msgid "Attach tags to document: %s" -msgstr "Attach tag to document: %s." +msgstr "" #: views.py:63 msgid "Tags to be attached." @@ -198,6 +195,7 @@ msgstr[3] "" #: views.py:142 #, python-format +#| msgid "Delete tags" msgid "Delete tag: %s" msgstr "" @@ -241,20 +239,19 @@ msgid "Remove" msgstr "" #: views.py:246 -#, fuzzy #| msgid "Remove tags from documents" msgid "Remove tags from document" msgid_plural "Remove tags from documents" -msgstr[0] "Odstrani oznake iz dokumenta" -msgstr[1] "Odstrani oznake iz dokumenta" -msgstr[2] "Odstrani oznake iz dokumenta" -msgstr[3] "Odstrani oznake iz dokumenta" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:256 -#, fuzzy, python-format -#| msgid "Remove tags from documents" +#, python-format +#| msgid "Remove tag from document: %s." msgid "Remove tags from document: %s" -msgstr "Odstrani oznake iz dokumenta" +msgstr "" #: views.py:265 msgid "Tags to be removed." @@ -262,6 +259,7 @@ msgstr "" #: views.py:290 #, python-format +#| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" msgstr "" @@ -271,7 +269,43 @@ msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "" #~ msgid "Must provide at least one document." -#~ msgstr "Potrebno je podati vsaj en dokument" +#~ msgstr "Must provide at least one document." + +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "2b1f894eebfe4fd9c93a2a121387867c_pl_0" +#~ msgstr[1] "2b1f894eebfe4fd9c93a2a121387867c_pl_1" +#~ msgstr[2] "2b1f894eebfe4fd9c93a2a121387867c_pl_2" +#~ msgstr[3] "2b1f894eebfe4fd9c93a2a121387867c_pl_3" + +#~ msgid "Must provide at least one tag." +#~ msgstr "Must provide at least one tag." + +#~ msgid "Must provide at least one tagged document." +#~ msgstr "Must provide at least one tagged document." + +#~ msgid "Remove tag from documents: %s." +#~ msgstr "Remove tag from documents: %s." + +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" + +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" diff --git a/mayan/apps/tags/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/vi_VN/LC_MESSAGES/django.mo index d48b0dd7da8050cc8e2258b28e801a3ce4914ae0..449d0eef1b3d62fed9ccfc2cd5cdeee27ecbffa0 100644 GIT binary patch delta 508 zcmYk(y-LGS6u|MD^d>QC+8P(NDndmE3ACX$SPQzkI5_Dff|*3bMF*jk4uW$~&=+v& zpadLTg$_m&f9JKIe0`<}pByK<cNx$iK!?e_QBiV&d$rso5@Pco%X_~ z_WDPH*iG&y-;>?s{QwW5F(||yY{C$Ru?_oiD;~!vj-Y`v*o4oq9$(eQud$EuTkOGg zJSap#bkqrPgbxNDz-!2an87Zb!&CSYPvh6xe3aGI2A6rL4aczulQ>87_i!)co-IG? zPNHi3466E39AVXaVRwTNy%1)~QaHZv;;ShN4;|q8WoyH)2D>ntn{zn=f6|My=_LlgZiIi0N7}Y3PxtrVnaH zL>iG;#3+BLdmI>)GTht0aje5mSl&!~FYJ_b(|+ZyeDh#+*{>`ls@>V?)nz&1%@@Z* z@xobuWzm+2Jf#VL<=Le4mRxD4d39yhuRL+3>&<86M8>bo=EWwe&D3V9HrDK%&C{H> n@JENmQmCs>U5gm=%4W4^*RPah!h6aIHhwyrS0&|As4egVRy^*H diff --git a/mayan/apps/tags/locale/vi_VN/LC_MESSAGES/django.po b/mayan/apps/tags/locale/vi_VN/LC_MESSAGES/django.po index d4c97af5dd..a8ce7cf28c 100644 --- a/mayan/apps/tags/locale/vi_VN/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/vi_VN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Trung Phan Minh , 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-03-21 21:12+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" -"mayan-edms/language/vi_VN/)\n" -"Language: vi_VN\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 @@ -38,10 +37,8 @@ msgid "Remove tag" msgstr "" #: links.py:17 links.py:24 -#, fuzzy -#| msgid "Attach tags to documents" msgid "Attach tags" -msgstr "Gắn tag cho tài liệu" +msgstr "" #: links.py:20 msgid "Remove tags" @@ -138,17 +135,16 @@ msgid "Attach" msgstr "" #: views.py:44 -#, fuzzy #| msgid "Attach tags to documents" msgid "Attach tags to document" msgid_plural "Attach tags to documents" -msgstr[0] "Gắn tag cho tài liệu" +msgstr[0] "" #: views.py:54 -#, fuzzy, python-format +#, python-format #| msgid "Attach tag to document: %s." msgid "Attach tags to document: %s" -msgstr "Attach tag to document: %s." +msgstr "" #: views.py:63 msgid "Tags to be attached." @@ -192,10 +188,10 @@ msgid_plural "Delete the selected tags?" msgstr[0] "" #: views.py:142 -#, fuzzy, python-format +#, python-format #| msgid "Delete tags" msgid "Delete tag: %s" -msgstr "Xóa tags" +msgstr "" #: views.py:152 #, python-format @@ -234,30 +230,29 @@ msgstr "" #: views.py:244 msgid "Remove" -msgstr "" +msgstr "Xóa" #: views.py:246 -#, fuzzy #| msgid "Remove tags from documents" msgid "Remove tags from document" msgid_plural "Remove tags from documents" -msgstr[0] "Xóa tag từ tài liệu" +msgstr[0] "" #: views.py:256 -#, fuzzy, python-format +#, python-format #| msgid "Remove tag from document: %s." msgid "Remove tags from document: %s" -msgstr "Xóa tag từ tài liệu: %s" +msgstr "" #: views.py:265 msgid "Tags to be removed." msgstr "" #: views.py:290 -#, fuzzy, python-format +#, python-format #| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" -msgstr "Tài liệu \"%(document)s\" không thể được tag như là \"%(tag)s\"" +msgstr "" #: views.py:300 #, python-format @@ -265,16 +260,40 @@ msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "Tag \"%(tag)s\" đã được xóa thành công từ tài liệu \"%(document)s\"." #~ msgid "Must provide at least one document." -#~ msgstr "Cần cung cấp ít nhất một tài liệu" +#~ msgstr "Must provide at least one document." + +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "2b1f894eebfe4fd9c93a2a121387867c_pl_0" #~ msgid "Must provide at least one tag." -#~ msgstr "Cần cung cấp ít nhất một tag" +#~ msgstr "Must provide at least one tag." #~ msgid "Must provide at least one tagged document." -#~ msgstr "Cần cung cấp ít nhất một tài liệu đã được tag" +#~ msgstr "Must provide at least one tagged document." #~ msgid "Remove tag from documents: %s." -#~ msgstr "Xóa tag từ các tài liệu: %s" +#~ msgstr "Remove tag from documents: %s." + +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" + +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" diff --git a/mayan/apps/tags/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/tags/locale/zh_CN/LC_MESSAGES/django.mo index d900244e2dfbdfbab2fdaea51c9683b880240ffa..ed18239ddfeb8492fbed7b0c42da075054f152bd 100644 GIT binary patch delta 491 zcmX}oJxjw-6o>JXzNEF*whE$Hk%FL014&3*sNf5@E8QF&f_BgjN++?K)HynIagc(J zLI;ITf{UL(aOf(6c9(+qoKQUQ&+q2u-kXy=g6#BCFhI(ZmWa;5u&L9&U=Xq{Co|iFb_Q59&d`xQxlD$Q6ec zahCgM7U_X+sErITjYD*BG=6T;t4ofG(3cii=;3ndkHUFs5^m}K~ zHKSCqY|nC?g5y?QkFjm1c6Y3r->je18^_l6{;6LrxVH1Zu3U91y|37X5p>Lw`El3( K>~w>J#OojF#W}tJ delta 959 zcmajc%}W$v90%~Wjwi=y^YL_y2XTKPV+|TyQ~xlf*@>^uwdsPI&|{XrExZIdg<)v;Uqa()PY zV*X1HBeo0H^KXo<+P0P%XSOzGIWvOkJdGq`?4D*BUAE&1BgGq2md)-?nuT0eXPV6> zbPX>|LuXktGnLm3yPI|%gK2k3kLlTeW*XJ=WVYesEJjr|} zEB%qnLSI^xWl`y2lA`uq6s2BCiVxouNA*I^%9)0EO|x~CDUzHPr5;g{nIfyQQdz8f zA{^=HJhOeMvsQ=qy6lxpwZ#=D6}?_u`}%l&uIfF1;jX;@Q>v^jy>yqS-Q@*uw&Yen u|DJwC!H6Iij0;EjlkAelG~V0?a;wjR7C%sJzPkSQW3Y#|ol}kx{k8=+sqKFN diff --git a/mayan/apps/tags/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/tags/locale/zh_CN/LC_MESSAGES/django.po index 6f31ee1272..b6d90b91f6 100644 --- a/mayan/apps/tags/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/tags/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-03-21 21:12+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" -"language/zh_CN/)\n" -"Language: zh_CN\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:34 apps.py:78 apps.py:85 apps.py:104 apps.py:106 forms.py:31 @@ -39,10 +38,8 @@ msgid "Remove tag" msgstr "" #: links.py:17 links.py:24 -#, fuzzy -#| msgid "Attach tags to documents" msgid "Attach tags" -msgstr "给文档添加标签" +msgstr "" #: links.py:20 msgid "Remove tags" @@ -139,17 +136,16 @@ msgid "Attach" msgstr "" #: views.py:44 -#, fuzzy #| msgid "Attach tags to documents" msgid "Attach tags to document" msgid_plural "Attach tags to documents" -msgstr[0] "给文档添加标签" +msgstr[0] "" #: views.py:54 -#, fuzzy, python-format +#, python-format #| msgid "Attach tag to document: %s." msgid "Attach tags to document: %s" -msgstr "Attach tag to document: %s." +msgstr "" #: views.py:63 msgid "Tags to be attached." @@ -193,10 +189,10 @@ msgid_plural "Delete the selected tags?" msgstr[0] "" #: views.py:142 -#, fuzzy, python-format +#, python-format #| msgid "Delete tags" msgid "Delete tag: %s" -msgstr "删除标签" +msgstr "" #: views.py:152 #, python-format @@ -235,30 +231,29 @@ msgstr "" #: views.py:244 msgid "Remove" -msgstr "" +msgstr "移除" #: views.py:246 -#, fuzzy #| msgid "Remove tags from documents" msgid "Remove tags from document" msgid_plural "Remove tags from documents" -msgstr[0] "从文档中删除标签" +msgstr[0] "" #: views.py:256 -#, fuzzy, python-format +#, python-format #| msgid "Remove tag from document: %s." msgid "Remove tags from document: %s" -msgstr "从文档: %s移除标签" +msgstr "" #: views.py:265 msgid "Tags to be removed." msgstr "" #: views.py:290 -#, fuzzy, python-format +#, python-format #| msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s\"" msgid "Document \"%(document)s\" wasn't tagged as \"%(tag)s" -msgstr "文档\"%(document)s\"无标签\"%(tag)s\"" +msgstr "" #: views.py:300 #, python-format @@ -266,16 +261,40 @@ msgid "Tag \"%(tag)s\" removed successfully from document \"%(document)s\"." msgstr "标签\"%(tag)s\"成功从文档\"%(document)s\"移除" #~ msgid "Must provide at least one document." -#~ msgstr "必须提供至少一个文件。" +#~ msgstr "Must provide at least one document." + +#~ msgid "Attach tag to document" +#~ msgid_plural "Attach tag to documents" +#~ msgstr[0] "2b1f894eebfe4fd9c93a2a121387867c_pl_0" #~ msgid "Must provide at least one tag." -#~ msgstr "必须至少提供一个标签" +#~ msgstr "Must provide at least one tag." #~ msgid "Must provide at least one tagged document." -#~ msgstr "必须至少提供一个标签文档" +#~ msgstr "Must provide at least one tagged document." #~ msgid "Remove tag from documents: %s." -#~ msgstr "从文档: %s移除标签" +#~ msgstr "Remove tag from documents: %s." + +#~ msgid "Remove the tag \"%(tag)s\" from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tag \"%(tag)s\" from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tag \"%(tag)s\" from the documents: " +#~ "%(documents)s?" + +#~ msgid "Remove the tags: %(tags)s from the document: %(document)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags: %(tags)s from the document: " +#~ "%(document)s?" + +#~ msgid "Remove the tags %(tags)s from the documents: %(documents)s?" +#~ msgstr "" +#~ "Are you sure you wish to remove the tags %(tag)s from the documents: " +#~ "%(documents)s?" #~ msgid "remove tags" #~ msgstr "remove tags" diff --git a/mayan/apps/user_management/locale/ar/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/ar/LC_MESSAGES/django.mo index 875cfe531797a61b94a78077675e8f86cef7de67..d199b7af1e59300b2d93e15b0f0931fb0b3682e9 100644 GIT binary patch delta 653 zcmY+>PbdU&6u|K}*7~#l|KD1&L{?etOtM8v>qK(Fg&b%dgvg(iR!VN1NK)=gwxq$8 z6K5x*#LdY;a+dF#M)K;-XMVqC=FR)Pli*R+=1Y0@fe=BmmV73g$zy{H5z7)OMH9;~ z;jKron)NhRVG6Tx4=eEyD=>q8yv0_$!%qCb9Fa|F@re|&(T;3LH%2gl<2Z{+yvKTM zql!9+B{+v#Acb0Z3$^eezS6`QhFS0M@g~e*BR*h+`trq18yj`GA^{x0b{xeRZes&p zVJ|*n5`%dn#khfba=WPSpJG2=qBii2`uteFh=n((-~YrA^`(Kgw1XauU?1ua&7n>~ zyV6416^G!S7W@lpxKZG#5pINcreb+`&JR0kWT4va^x~z`r?bn7+mHT9 X-~M`jZNN!87mn?upSJBp;LZ2}S9C?K delta 1061 zcmZ|NPe>F|9Ki9n{z=j7{&Nj2^3VYK296Ds;ArC<~w398=uI#Le5G~po zrgaE0=+q%%Z82?GD7@Ce4tD9%8<4sM9fA)1Idtj!rpZh6;LT@d-u~Y2H@~+J8<$$L zAL=U>1>*qoAoClujkyux!Wb?SVmI2j2h+iG4x4yh#711k3VeloaUC0Q6D#p69>*UT zMOiMyHX*WNh?_&axP&|LCLY0gY{ive{Vlfh`~@#!6WQXJMjih?@F&*s+)P%T_!t*m zkb%0OllYO3yMU7XB3dQHQ5J?!C%%C?(If1@H&}z;F^r;G2op}=VI0O@oW?l5##(IO zE<_*ppziD>p1}ub;U;#GU(~YuSv-aM%kH7x=rcyJf5)H1Q>c&WIa0jXz;=9xy3k+9 zhlysU?tnfXn&o#D{81lBjbb0uCdMDS;=h9q3X1c`{=gQb0shcM=>LK~cm3bcZPf)) zuRc@1-5j&n#S|r@EELL~8*?*qG@Tkx#2sm8a5JSCHvv1G)GS&>pl zrCr`Tr2{>%jwIUH|^!5T4R~FB~?%>YSo*O-mJ>2XKFRP zFkju8^?%D+LA~Vlk~b~ATV76YqY6^x{o5iTMRival_yV5?^je$NzIl;?@m~#Cu)s| lRbB?+tP)IGYRdV$Y*pZQCx~eIU&zA!s)jO}RI2_I`VGfk1wsG- diff --git a/mayan/apps/user_management/locale/ar/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/ar/LC_MESSAGES/django.po index adef953594..0288e769d1 100644 --- a/mayan/apps/user_management/locale/ar/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/ar/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mohammed ALDOUB , 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-03-21 21:12+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/" -"ar/)\n" -"Language: ar\n" +"Language-Team: Arabic (http://www.transifex.com/rosarior/mayan-edms/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: apps.py:42 permissions.py:7 msgid "User management" @@ -86,10 +84,8 @@ msgid "Users" msgstr "Users" #: links.py:62 links.py:66 -#, fuzzy -#| msgid "New password" msgid "Set password" -msgstr "كلمة مرور جديدة" +msgstr "" #: permissions.py:10 msgid "Create new groups" @@ -138,6 +134,7 @@ msgstr "" #: views.py:64 #, python-format +#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "" @@ -170,30 +167,27 @@ msgid "User delete request performed on %(count)d users" msgstr "" #: views.py:146 -#, fuzzy #| msgid "Delete existing users" msgid "Delete user" msgid_plural "Delete users" -msgstr[0] "حذف المستخدمين الحاليين" -msgstr[1] "حذف المستخدمين الحاليين" -msgstr[2] "حذف المستخدمين الحاليين" -msgstr[3] "حذف المستخدمين الحاليين" -msgstr[4] "حذف المستخدمين الحاليين" -msgstr[5] "حذف المستخدمين الحاليين" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" #: views.py:156 -#, fuzzy, python-format -#| msgid "Delete the groups: %s?" +#, python-format +#| msgid "Delete existing users" msgid "Delete user: %s" -msgstr "Delete existing groups" +msgstr "" #: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "" -"Super user and staff user deleting is not allowed, use the admin interface " -"for these cases." +msgstr "Super user and staff user deleting is not allowed, use the admin interface for these cases." #: views.py:176 #, python-format @@ -235,33 +229,29 @@ msgstr "" #: views.py:262 msgid "Submit" -msgstr "" +msgstr "ارسال" #: views.py:264 -#, fuzzy -#| msgid "Confirm password" msgid "Change user password" msgid_plural "Change users passwords" -msgstr[0] "تأكيد كلمة المرور" -msgstr[1] "تأكيد كلمة المرور" -msgstr[2] "تأكيد كلمة المرور" -msgstr[3] "تأكيد كلمة المرور" -msgstr[4] "تأكيد كلمة المرور" -msgstr[5] "تأكيد كلمة المرور" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" #: views.py:274 -#, fuzzy, python-format +#, python-format #| msgid "Reseting password for user: %s" msgid "Change password for user: %s" -msgstr "إعادة كلمة السر للمستخدم: %s" +msgstr "" #: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "" -"Super user and staff user password reseting is not allowed, use the admin " -"interface for these cases." +msgstr "Super user and staff user password reseting is not allowed, use the admin interface for these cases." #: views.py:304 #, python-format @@ -274,13 +264,16 @@ msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "خطأ أثناء إعادة تعيين كلمة المرور للمستخدم \"%(user)s\": %(error)s" #~ msgid "Must provide at least one user." -#~ msgstr "يجب أن توفر ما لا يقل عن مستخدم واحد." +#~ msgstr "Must provide at least one user." + +#~ msgid "Delete the users: %s?" +#~ msgstr "Delete existing users" #~ msgid "Passwords do not match, try again." -#~ msgstr "لا تتطابق كلمات المرور، حاول مرة أخرى." +#~ msgstr "Passwords do not match, try again." #~ msgid "Reseting password for users: %s" -#~ msgstr "إعادة كلمة السر للمستخدمين %s" +#~ msgstr "Reseting password for users: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " @@ -301,6 +294,9 @@ msgstr "خطأ أثناء إعادة تعيين كلمة المرور للمست #~ msgid "Error deleting group \"%(group)s\": %(error)s" #~ msgstr "Error deleting group \"%(group)s\": %(error)s" +#~ msgid "Delete the groups: %s?" +#~ msgstr "Delete existing groups" + #~ msgid "Are you sure you wish to delete the user: %s?" #~ msgstr "Are you sure you wish to delete the user: %s?" diff --git a/mayan/apps/user_management/locale/bg/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/bg/LC_MESSAGES/django.mo index c140e8308c96e340a4b8e41bbe411cf60a2cdef1..c7863646cbd11dbd5c5b3984964865b90d6bfb24 100644 GIT binary patch delta 656 zcmY+>&nts*9Ki98*ZSe6{oWT%oqd|R1^D@9jUj9!q1RaXqbnil*EYFWWwtx(tb8w@}=gB8_T)q&|l0@<~7fU@jDb)iP8 zx??!jy>ngSBHhV}9Gk5?99{Ptk&^ZMr7ecSxICHt|y za!OEIs9UMusjbwd01wKA3L$FI!a7Ws`!}(X{uDOgBdo+%xCvk5M*M&wT*f{413OU$ zg;*s-R-B@-gBRy;9bUtocpJCl5bVGp)2sh9J`X&U`_7eC<_{Dw*LXkyp;Qa~f91J2?R zTtNNRny5MhI%tyRXBGTXUzS+KW~#**e%Vk~Lk0yw`ejSmW+VZA(f^A67xb<4zoFAg zHvLM8IxLRcV=`sA?wFH~ zi-B^(m2pQV9Zz1dyrGdc>7}nqYuHL8!(z~OZ7-1=URfkBI%$8em~3_b8?K43jJtZm z+@avJKu4z$i5Ss#X+~omU52^eG^+Ga;w)ld0;4^I@Ux@!nsy zsAia5P%qSsP}Bc9EN4Hxw0OOEi@8kHXN0A?Pdlf_)$`IJ1<3mw7T9`vGF8, 2012 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-03-21 21:12+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/" -"language/bg/)\n" -"Language: bg\n" +"Language-Team: Bulgarian (http://www.transifex.com/rosarior/mayan-edms/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:42 permissions.py:7 @@ -85,10 +84,8 @@ msgid "Users" msgstr "Потребители" #: links.py:62 links.py:66 -#, fuzzy -#| msgid "New password" msgid "Set password" -msgstr "Нова парола" +msgstr "" #: permissions.py:10 msgid "Create new groups" @@ -137,6 +134,7 @@ msgstr "" #: views.py:64 #, python-format +#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "" @@ -169,26 +167,23 @@ msgid "User delete request performed on %(count)d users" msgstr "" #: views.py:146 -#, fuzzy #| msgid "Delete existing users" msgid "Delete user" msgid_plural "Delete users" -msgstr[0] "Изтриване на съществуващи потребители" -msgstr[1] "Изтриване на съществуващи потребители" +msgstr[0] "" +msgstr[1] "" #: views.py:156 -#, fuzzy, python-format -#| msgid "Delete the groups: %s?" +#, python-format +#| msgid "Delete existing users" msgid "Delete user: %s" -msgstr "Delete existing groups" +msgstr "" #: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "" -"Изтриване на потребители от супер потребител и служител не е разрешено. " -"Използвайте администраторския модул за тези случаи." +msgstr "Изтриване на потребители от супер потребител и служител не е разрешено. Използвайте администраторския модул за тези случаи." #: views.py:176 #, python-format @@ -230,29 +225,25 @@ msgstr "" #: views.py:262 msgid "Submit" -msgstr "" +msgstr "Подаване" #: views.py:264 -#, fuzzy -#| msgid "Confirm password" msgid "Change user password" msgid_plural "Change users passwords" -msgstr[0] "Потвърждение на парола" -msgstr[1] "Потвърждение на парола" +msgstr[0] "" +msgstr[1] "" #: views.py:274 -#, fuzzy, python-format +#, python-format #| msgid "Reseting password for user: %s" msgid "Change password for user: %s" -msgstr "Промяна на парола на потребител %s" +msgstr "" #: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "" -"Промяна на парола на потребители от супер потребител и служител не е " -"разрешено. Използвайте администраторския модул за тези случаи." +msgstr "Промяна на парола на потребители от супер потребител и служител не е разрешено. Използвайте администраторския модул за тези случаи." #: views.py:304 #, python-format @@ -265,13 +256,16 @@ msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "Грешка при промяна на парола на потребител \"%(user)s\": %(error)s" #~ msgid "Must provide at least one user." -#~ msgstr "Трябва да изберете поне един потребител." +#~ msgstr "Must provide at least one user." + +#~ msgid "Delete the users: %s?" +#~ msgstr "Delete existing users" #~ msgid "Passwords do not match, try again." -#~ msgstr "Паролата не съвпада. Опитайте отново." +#~ msgstr "Passwords do not match, try again." #~ msgid "Reseting password for users: %s" -#~ msgstr "Промяна на парола на потребители %s" +#~ msgstr "Reseting password for users: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " @@ -292,6 +286,9 @@ msgstr "Грешка при промяна на парола на потреби #~ msgid "Error deleting group \"%(group)s\": %(error)s" #~ msgstr "Error deleting group \"%(group)s\": %(error)s" +#~ msgid "Delete the groups: %s?" +#~ msgstr "Delete existing groups" + #~ msgid "Are you sure you wish to delete the user: %s?" #~ msgstr "Are you sure you wish to delete the user: %s?" diff --git a/mayan/apps/user_management/locale/bs_BA/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/bs_BA/LC_MESSAGES/django.mo index b4488727f73bb6538d82a29331c3195ec5fa4e28..a5ad3726e3128c2365f31123e489c6ed12556d49 100644 GIT binary patch delta 661 zcmY+>JxD@P6u|NGOe_1c(ljc{MJlLJDFcHBr-qQIh9DXY9iEm(pAdo27Bm&%(&Q8r zG#JfI*-~pm;no(>RBQk9coAJV_xJ8a@44sP$F5^%4B3z=9Kr-HV-C|; z#Q_{4i#m%QTtiK8fSULaHE{{QDB=?J;$;r+#2eI$SFxM?QsYA_|HcONFpEa>>XUIliP&qaCE6Yx`rcY`6G2m~_VHZON_Z+O z4#V&!Gkd{})YjHsVKXfYJFDyFcICb9)@Yp^4UdmTBf&^C9vwfucJ==4#NyG(%CoEN d@Fxqqso+{+-^}MyGFM3F&1`1dtc2Vb#t&9xLz4gi delta 1006 zcmZ|NyK59d9Ki9pJdDOiOkxsW=pe=i+{U}hL%2dvERBYMS_tZ#JI1|>J8^gKLQ;5* zP0&Upe}JhhM2mo}B1#%l+XS(&6)YrHg5TfX5({zI+0V{n=eNI^ebT=^(EQTZv8*VE zsE4UPsl(JyIc}8OZA$G$gS{AK?MFCBdl?7tC3fI@+=pw}j~m#DKkzhe;sok;rM4;6 zRM&YpO2}iqS*}*h`G$eo&*%1;=i~K9{FUYyezaiTy853X5G~I5FS?#8( zRj)0VYfjeVM9)R85%^Y{M9*47hYPK)$2J;Km+icsGjTlcB415q53%;04qc+}o8->D zyiTG8ZDvdmj;LuH+aw5QwqDYAU6ig>*2D2X!#)1icq|iE&$qwHjZb*RqE{N#g;II^ ztXCK-6uPIbc+<8K#DNRFizcyUT`CkOyuzqgD(X_PTr92TJ6GD8lP)s45+s3k6zh#5TolA%P$MzdFnZQ424T&pOQ}}JR+IUh^XtBeOtqfpxmN%9+*A|k l4qd}#De`t$wb=qzFPhfU9&4Mwnf_-MlSqJUzjeLH{Q<$2w3Yw> diff --git a/mayan/apps/user_management/locale/bs_BA/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/bs_BA/LC_MESSAGES/django.po index 8931814d00..609573aa45 100644 --- a/mayan/apps/user_management/locale/bs_BA/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/bs_BA/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # www.ping.ba , 2013 @@ -10,16 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-03-21 21:12+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/" -"rosarior/mayan-edms/language/bs_BA/)\n" -"Language: bs_BA\n" +"Language-Team: Bosnian (Bosnia and Herzegovina) (http://www.transifex.com/rosarior/mayan-edms/language/bs_BA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: bs_BA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: apps.py:42 permissions.py:7 msgid "User management" @@ -86,10 +84,8 @@ msgid "Users" msgstr "Korisnici" #: links.py:62 links.py:66 -#, fuzzy -#| msgid "New password" msgid "Set password" -msgstr "Nova lozinka" +msgstr "" #: permissions.py:10 msgid "Create new groups" @@ -138,6 +134,7 @@ msgstr "" #: views.py:64 #, python-format +#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "" @@ -170,27 +167,24 @@ msgid "User delete request performed on %(count)d users" msgstr "" #: views.py:146 -#, fuzzy #| msgid "Delete existing users" msgid "Delete user" msgid_plural "Delete users" -msgstr[0] "Obriši postojeće korisnike" -msgstr[1] "Obriši postojeće korisnike" -msgstr[2] "Obriši postojeće korisnike" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" #: views.py:156 -#, fuzzy, python-format -#| msgid "Delete the groups: %s?" +#, python-format +#| msgid "Delete existing users" msgid "Delete user: %s" -msgstr "Delete existing groups" +msgstr "" #: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "" -"Super user i staff user brisanja nisu dozvoljena, koristite administratorski " -"interface za takve slučajeve" +msgstr "Super user i staff user brisanja nisu dozvoljena, koristite administratorski interface za takve slučajeve" #: views.py:176 #, python-format @@ -232,30 +226,26 @@ msgstr "" #: views.py:262 msgid "Submit" -msgstr "" +msgstr "Podnijeti" #: views.py:264 -#, fuzzy -#| msgid "Confirm password" msgid "Change user password" msgid_plural "Change users passwords" -msgstr[0] "Potvrdite lozinku" -msgstr[1] "Potvrdite lozinku" -msgstr[2] "Potvrdite lozinku" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" #: views.py:274 -#, fuzzy, python-format +#, python-format #| msgid "Reseting password for user: %s" msgid "Change password for user: %s" -msgstr "Resetovanje lozinke za korisnika: %s" +msgstr "" #: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "" -"Super user i staff user reset lozinke nije dozvoljen, koristite " -"administratorski interface za takve slučajeve" +msgstr "Super user i staff user reset lozinke nije dozvoljen, koristite administratorski interface za takve slučajeve" #: views.py:304 #, python-format @@ -268,13 +258,16 @@ msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "Greška resetovanja lozinke za korisnika \"%(user)s\": %(error)s" #~ msgid "Must provide at least one user." -#~ msgstr "Mora biti obebjeđen bar jedan korisnik." +#~ msgstr "Must provide at least one user." + +#~ msgid "Delete the users: %s?" +#~ msgstr "Delete existing users" #~ msgid "Passwords do not match, try again." -#~ msgstr "Lozinke se ne podudaraju, pokušajte ponovo." +#~ msgstr "Passwords do not match, try again." #~ msgid "Reseting password for users: %s" -#~ msgstr "Resetovanje lozinke za korisnike: %s" +#~ msgstr "Reseting password for users: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " @@ -295,6 +288,9 @@ msgstr "Greška resetovanja lozinke za korisnika \"%(user)s\": %(error)s" #~ msgid "Error deleting group \"%(group)s\": %(error)s" #~ msgstr "Error deleting group \"%(group)s\": %(error)s" +#~ msgid "Delete the groups: %s?" +#~ msgstr "Delete existing groups" + #~ msgid "Are you sure you wish to delete the user: %s?" #~ msgstr "Are you sure you wish to delete the user: %s?" diff --git a/mayan/apps/user_management/locale/da/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/da/LC_MESSAGES/django.mo index fc052d0b9fb65fb3c27c23bc6411d8262fd12cd3..acfff8eba9c40eb28955a93acea25a71e8b70db3 100644 GIT binary patch delta 530 zcmY+=yGjF55P;#yWi{$XK$2qeprND42tnisGVB9;cDhExmM+6AA$O0WEwBkoXq{$3vTPo6ncxR{TLOyY6q4GvJhpf>(M zZJdaU9P(%eb)XX?@GA5c$GCqA{X$(V-4&R_JoPFr@xFK*bh0*P@eXVFjeA(_4mNy4 z9pnd-XeC5O(GHzM<_d;HjXsk7{C`kuT}X%ii=IVJyyJ&9?Iju54;_l7g+>1b?~6tD z>uuABzMJKZx?Nqb)#_W@mDYajERrl{b8gnj+j*ztxXlG)ymM11ImOndF&#C_jh)VC IZsH*F3z=LvZ~y=R delta 873 zcmaLUKWGzC9Ki9HnAWuZi)}SjM4wtgC0FiJ6CvOrWN|Ro;^uVbp7Bg_SMFU>0z!r& z4(b%dNt_FcLI*pTDYGCVIO*snE>2E<-z9PM!Mo4zy}Wz(`~C7M_kOYeeIfH)F!Ick z%rDH-%%>?HjBHwn9M0iUJTX}p@Hp$Mcnojj5S#K?){AiacQ3rXE`R$ z5S(J8isnEaFW@%b!Pn?vHZ%UcJ@FYHVgC)94-e6N_%oX1f1pWN&yIaG@dYlkzmwP( zVnkpn|2FXtI;`{ig}8>-@fbN_(d;xhq8FW}2V4AK>#|!}tN&ZSx zgz20a$vYGv4iAQ@U$<^_bSyWcuc*-fi?&m?>@}@}8Fp2q0$rf)(Oy^j4MpO$PD{srtHq(| aCGuVvjc>mcB^CYmOcankrGA{, 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-03-21 21:12+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/" -"da/)\n" -"Language: da\n" +"Language-Team: Danish (http://www.transifex.com/rosarior/mayan-edms/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:42 permissions.py:7 @@ -85,10 +84,8 @@ msgid "Users" msgstr "" #: links.py:62 links.py:66 -#, fuzzy -#| msgid "New password" msgid "Set password" -msgstr "Nyt password" +msgstr "" #: permissions.py:10 msgid "Create new groups" @@ -137,6 +134,7 @@ msgstr "" #: views.py:64 #, python-format +#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "" @@ -169,26 +167,23 @@ msgid "User delete request performed on %(count)d users" msgstr "" #: views.py:146 -#, fuzzy #| msgid "Delete existing users" msgid "Delete user" msgid_plural "Delete users" -msgstr[0] "Slet eksisterende brugere" -msgstr[1] "Slet eksisterende brugere" +msgstr[0] "" +msgstr[1] "" #: views.py:156 -#, fuzzy, python-format -#| msgid "Delete the groups: %s?" +#, python-format +#| msgid "Delete existing users" msgid "Delete user: %s" -msgstr "Delete existing groups" +msgstr "" #: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "" -"Det er ikke tilladt at slette superbruger og personalebruger. Anvend " -"administrator brugerfladen i disse tilfælde." +msgstr "Det er ikke tilladt at slette superbruger og personalebruger. Anvend administrator brugerfladen i disse tilfælde." #: views.py:176 #, python-format @@ -233,26 +228,22 @@ msgid "Submit" msgstr "" #: views.py:264 -#, fuzzy -#| msgid "Confirm password" msgid "Change user password" msgid_plural "Change users passwords" -msgstr[0] "Bekræft password" -msgstr[1] "Bekræft password" +msgstr[0] "" +msgstr[1] "" #: views.py:274 -#, fuzzy, python-format +#, python-format #| msgid "Reseting password for user: %s" msgid "Change password for user: %s" -msgstr "Nulstiller password for bruger: %s" +msgstr "" #: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "" -"Det er ikke tilladt at nulstille Superbruger og personale brugeradgangskode. " -"Anvend administrator brugerflade istedet." +msgstr "Det er ikke tilladt at nulstille Superbruger og personale brugeradgangskode. Anvend administrator brugerflade istedet." #: views.py:304 #, python-format @@ -265,13 +256,16 @@ msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "Fejl ved nulstilling af password for bruger \"%(user)s\": %(error)s" #~ msgid "Must provide at least one user." -#~ msgstr "Der skal angives mindst én bruger." +#~ msgstr "Must provide at least one user." + +#~ msgid "Delete the users: %s?" +#~ msgstr "Delete existing users" #~ msgid "Passwords do not match, try again." -#~ msgstr "De to password stemmer ikke overens, prøv igen." +#~ msgstr "Passwords do not match, try again." #~ msgid "Reseting password for users: %s" -#~ msgstr "Nulstiller password for brugerne: %s" +#~ msgstr "Reseting password for users: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " @@ -292,6 +286,9 @@ msgstr "Fejl ved nulstilling af password for bruger \"%(user)s\": %(error)s" #~ msgid "Error deleting group \"%(group)s\": %(error)s" #~ msgstr "Error deleting group \"%(group)s\": %(error)s" +#~ msgid "Delete the groups: %s?" +#~ msgstr "Delete existing groups" + #~ msgid "Are you sure you wish to delete the user: %s?" #~ msgstr "Are you sure you wish to delete the user: %s?" diff --git a/mayan/apps/user_management/locale/de_DE/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/de_DE/LC_MESSAGES/django.mo index 9976a65f11768ba36a8e0ee073227597a8ae372f..ff84d27080d7e2d4621af3a507781f04bbe8d972 100644 GIT binary patch delta 1194 zcmY+@&1(}u7{K9)rfHkDYU@{x8rRlp+Om?w_(80qQZJ&l)q1LzO*@8^WK*-7_Mni1 zAc!|bEMDxve?Vi!9t1(qi-L$Kf>iV*#X}K#*58{S%5aeYdDFj+auheQ3GbW!97;luQRaJvVf>6T z?+>iVjTIUapqaaziHaggsDpR}2XGk6D1l!ii&vje0xaTITt+#{rj~l3D0b5CMS1QN z$`OvDEMUBa{g)L_Gmydxy7<)C%{g?@zk}U4kMiOdl=pt2WWItDAjCGZv$YR7ic1vU{5|r<%maU9SHoK{^3w_iGmCr%RpM~UW+brLL9H%U7 z8KsC~GEzmcl%i6Ps>nrxvYQwssJwLCr+Ephro^~g+TfN%$ GAn+HX@s4%? delta 1598 zcmZvbT}&KR6vyvcC@qvyQTm0#?FR}iyDk)IvzmZfP1LHSsZU1RVdu)O?#`0AvtUUo zQNt54CX&XF_-JCIPZi4(FS^mhgva`-CO+6SKAZGGm2^C{ngck}%H^!cZ$ z{VOPc-@^UIESoJBeHea8c?aIhzNfuuKMpaO0+f9U-UBZ{B~pUja1nBu6>cMN6;8q% za5wx7D)8@6=l_7c#5Y}7<#+&gz*Fh|5vU4g;2@lZd*IvfD0~kpfiK|z{2J=q&u|#Z z*-KyqhHwSy`R$aQyC{nv31H&705LXG4WJOuxQT;^a`Gte=pbCXa3pMlKM zT!a*F7T_6p18D2hjVqL55MaNv)Uktlijg zd+4mIxWw6{, 2015-2016 +# Jesaja Everling , 2017 # Mathias Behrle , 2014 # Stefan Lodders , 2012 # tetjarediske , 2012 @@ -14,14 +15,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-04-11 21:48+0000\n" -"Last-Translator: Berny \n" -"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-" -"edms/language/de_DE/)\n" -"Language: de_DE\n" +"PO-Revision-Date: 2017-04-24 23:01+0000\n" +"Last-Translator: Jesaja Everling \n" +"Language-Team: German (Germany) (http://www.transifex.com/rosarior/mayan-edms/language/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:42 permissions.py:7 @@ -89,10 +89,8 @@ msgid "Users" msgstr "Benutzer" #: links.py:62 links.py:66 -#, fuzzy -#| msgid "Reset password" msgid "Set password" -msgstr "Passwort" +msgstr "Passwort festlegen" #: permissions.py:10 msgid "Create new groups" @@ -141,6 +139,7 @@ msgstr "Gruppe %s bearbeiten" #: views.py:64 #, python-format +#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "Gruppe %s löschen?" @@ -173,26 +172,23 @@ msgid "User delete request performed on %(count)d users" msgstr "" #: views.py:146 -#, fuzzy -#| msgid "Delete the user: %s?" +#| msgid "Delete existing users" msgid "Delete user" msgid_plural "Delete users" -msgstr[0] "Benutzer %s löschen?" -msgstr[1] "Benutzer %s löschen?" +msgstr[0] "" +msgstr[1] "" #: views.py:156 -#, fuzzy, python-format -#| msgid "Delete the user: %s?" +#, python-format +#| msgid "Delete existing users" msgid "Delete user: %s" -msgstr "Benutzer %s löschen?" +msgstr "" #: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "" -"Super User und Staff Benutzer löschen ist nicht erlaubt, benutzen Sie die " -"Administratoren-Oberfläche dafür." +msgstr "Super User und Staff Benutzer löschen ist nicht erlaubt, benutzen Sie die Administratoren-Oberfläche dafür." #: views.py:176 #, python-format @@ -234,29 +230,25 @@ msgstr "" #: views.py:262 msgid "Submit" -msgstr "" +msgstr "Absenden" #: views.py:264 -#, fuzzy -#| msgid "Reset password" msgid "Change user password" msgid_plural "Change users passwords" -msgstr[0] "Passwort" -msgstr[1] "Passwort" +msgstr[0] "" +msgstr[1] "" #: views.py:274 -#, fuzzy, python-format +#, python-format #| msgid "Reseting password for user: %s" msgid "Change password for user: %s" -msgstr "Passwort zurücksetzen für Benutzer %s" +msgstr "" #: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "" -"Super User und Staff Benutzer löschen ist nicht erlaubt, benutzen Sie die " -"Administratoren-Oberfläche dafür." +msgstr "Super User und Staff Benutzer löschen ist nicht erlaubt, benutzen Sie die Administratoren-Oberfläche dafür." #: views.py:304 #, python-format @@ -266,22 +258,19 @@ msgstr "Passwort erfolgreich zurückgesetzt für Benutzer %s" #: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" -msgstr "" -"Fehler beim Zurücksetzen des Passworts für den Benutzer \"%(user)s\": " -"%(error)s" +msgstr "Fehler beim Zurücksetzen des Passworts für den Benutzer \"%(user)s\": %(error)s" #~ msgid "Must provide at least one user." -#~ msgstr "Es muss mindestens ein Benutzer angegeben werden" +#~ msgstr "Must provide at least one user." -#~| msgid "Delete existing users" #~ msgid "Delete the users: %s?" -#~ msgstr "Die Benutzer %s löschen?" +#~ msgstr "Delete existing users" #~ msgid "Passwords do not match, try again." -#~ msgstr "Passwörter stimmen nicht überein, bitte noch einmal versuchen" +#~ msgstr "Passwords do not match, try again." #~ msgid "Reseting password for users: %s" -#~ msgstr "Passwort zurücksetzen für die Benutzer %s" +#~ msgstr "Reseting password for users: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/en/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/en/LC_MESSAGES/django.mo index 934b7744aa25321530ca3c13081879325339cda7..de79bb24146ce1bb269857656d45e91ad24b55fb 100644 GIT binary patch delta 516 zcmZY5Jxjw-6vpw>m{?yDZR5*Sv1GDC!G@B8gLSv~1zZ&3tXQODM>idc_yO!#Tiiis*ehzVZ`Ae9biCd}4HjU)`EtNOlU<`GYa_{|j~c9yj)Pq! z-l7H@pl&=u4K_h?#UW8^p5}g0FrDi<{foafyTgccqH=i7(FBf4Lvd;0qJN5W#HAPX uZObyo_TEt=e{xu_H;zxk?l>K$TAyaksT4QMMZc6U`CERuTeUpn|A#+ge>Xw^ delta 765 zcmci9&npCB9LMoz*JAx<{c0s1TMF&Uk5Ec3u7up2CNr^OM?15-DJ40$_;J`A{0pLJ zFD`rV9|)x!9Gw&gCnxXk%=i~P^~~#;XXbgnpLyn}`6;&l7K@xKS|`1m{!H(sABVWm zqG6?)u?AbPE4WW$2lq4Bjw{%Po7jr`IEY1@#4^gh-&l`r6-p&|P4zM8VPX#Dg*6<& zLtMoxG%*_SpKk}AU=#D#D22-?g&*;Z@b4(W^HqNEBb56Kl;D@xPJMOHKsIMhG)!p>Ma=UCZcwO|$Wj^Q{3J8P=NVBl!e)*0K?+lITgk<@N> zR~zd_Iy0=6i+kaC)wJ$+{9&ad4~XQE|LiUUwJe13#g`Z A0{{R3 diff --git a/mayan/apps/user_management/locale/es/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/es/LC_MESSAGES/django.mo index b61d51bd26d0bdb41bf0058af87f095b77123b91..439ba69b01cc8013eae9fa552002030eb076b6dd 100644 GIT binary patch delta 1584 zcmZY8&ug4T9LMolP1ZDVjaF;5+H_)#rnVcO-PQ(!5KUUzL##ikzd$ z?uO#wDHJUT1u^ubCog)EN~GeURA@c;2k60rc$nZ$zVG7$ z^gltp_cgMlxsLbY55p!k_tN-<2Y2BgSi%CU(lq0^2e;utoX0KLL;lQJel-6)ZpDkJ zg}=Z%@Jhe`J?a2I-@l7#zEF|b(+rgGEj)-d{1|uPUwyZa7;1cH-wNuz!zqnv8gJq}p2OpK4VB6rWBCFBYJr8m$5G?&paPx6 z9e5sfrJtd$_y;S|%s07s8 zsgvqZc2jkIma3v}X^N_kOKIP_IyJPEo_4KzXxq;Fl{l%{Q*mOuK1}B9lsAj{p!yp# z1|Ry3r_7C;O=o@Bc8TkRHQR`M$Hu2@J&C(*+fJgUOU~GL!!zD?VoSKF-m;z3W0B9| z@o;7}9{PMz!OWqs5q83Czz=q`tF@Z58 zT&>tjb*_4Vb`Xrd_(J*Ruow9#Zj}$Q(>YrWD*3$qHrPKG1Z%&I)C#FbfL~^Bmne(blx}Y>HXDb=VJ#d$UBI*7H_#woU#|#!WY$&1y7U zFC=c3y@(yKay{v`V{i3NLLNz@t7ZMrXDQ3#&a5ttUa2g^Nx~V{_p-U`&E|fV+h@kk e74{wLhCMfUa`RjkW>YrI;Z~0Xtz9gASNIS34iN(Y delta 1531 zcmZvbPi$0G6o>C%OABo+D2Q4euFzTvv`#w#aR{j)P1qDeh{A%9csp}#CwaWry!VFc zYJvt6q69*NE8XeNg*wUt7Zs2li7VD%*b!EeKv-b-elu^HmT;0Y-@WIad+z!3=28B3 z{^E3fgE3~l!x-@l+z2nhe)wZ%{~fMne-pk2Z^6y*UdAVI6Z`(omVFRnG9@VcBzzTq z3}1$Gun#VDnz~_a&hj$?zkz$yn zOcfH+Jf;dI^gq=3hV?BDLfzX}XQ5UehH@-t4z-NuvhyFH0yf~A@G5)@-i8{Loe3bt zns1>JxeOKfXZQ|Wf-3A^ScDJZ7C6j2hk4&jvKYfK3rFF1FoA!=ui-uhriYfGW_Sk< zz%^v2hx1Sg4MPP!0GWWYAcCQ%iGfDnwnBP=^`(lpnQ6vs9ZUBdBK9mR&6Lcams!FQNK+ zC2H}z=-b*LJJ9WDK^vrhaj0W@@oC3T+tWF3Yl)9bb|{%NQ$Fyiw{2t6v^H*Zj^yfx zYe{P7|#8 z8jhKxKJf%>-)L^D;q0=-eip^cnVF+`xxetdnPj84>q@R~@96mW=tR*LCQ5tWU;L+g z083%dXyF4}7%vrzjmO=U+~PpbpT+A-2ctN4vGoCO)LdMRS`An}2%@BYl69f0_p4le z%FlRP4J*|$mt9~_`B08w+m}An{Ap*)QJBUq@i%^TX4)ky_X!PQUk%H2G90tVYChnG zBW&u!)Wt#6>`v-t0$=v=%Dczaw$#;P7t+`jkJ!rUN>=#=tMb9sK3`qqO5b0(XM$Y; AqW}N^ diff --git a/mayan/apps/user_management/locale/es/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/es/LC_MESSAGES/django.po index 3d26d61151..44bd237edf 100644 --- a/mayan/apps/user_management/locale/es/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/es/LC_MESSAGES/django.po @@ -1,27 +1,26 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # jmcainzos , 2014 # jmcainzos , 2015 # Lory977 , 2015 # Roberto Rosario, 2012,2015 -# Roberto Rosario, 2016 +# Roberto Rosario, 2016-2017 msgid "" msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-05-09 01:33+0000\n" +"PO-Revision-Date: 2017-04-23 03:00+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/" -"language/es/)\n" -"Language: es\n" +"Language-Team: Spanish (http://www.transifex.com/rosarior/mayan-edms/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:42 permissions.py:7 @@ -89,10 +88,8 @@ msgid "Users" msgstr "Usuarios" #: links.py:62 links.py:66 -#, fuzzy -#| msgid "Reset password" msgid "Set password" -msgstr "Restablecer contraseña" +msgstr "Asignar contraseña" #: permissions.py:10 msgid "Create new groups" @@ -128,7 +125,7 @@ msgstr "Ver usuarios existentes" #: serializers.py:29 msgid "Comma separated list of group primary keys to assign this user to." -msgstr "" +msgstr "Lista separada por comas de llaves primarias de grupos a ser asignados a este usuario." #: serializers.py:51 msgid "List of group primary keys to which to add the user." @@ -141,6 +138,7 @@ msgstr "Editar grupo: %s" #: views.py:64 #, python-format +#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "¿Borrar el grupo: %s?" @@ -173,26 +171,23 @@ msgid "User delete request performed on %(count)d users" msgstr "" #: views.py:146 -#, fuzzy -#| msgid "Delete the user: %s?" +#| msgid "Delete existing users" msgid "Delete user" msgid_plural "Delete users" -msgstr[0] "¿Borrar el usuario: %s?" -msgstr[1] "¿Borrar el usuario: %s?" +msgstr[0] "Borrar usuario" +msgstr[1] "Borrar usuarios" #: views.py:156 -#, fuzzy, python-format -#| msgid "Delete the user: %s?" +#, python-format +#| msgid "Delete existing users" msgid "Delete user: %s" -msgstr "¿Borrar el usuario: %s?" +msgstr "Borrar usuario: %s" #: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "" -"No se permite eliminar el super usuario y usuario de personal. Use la " -"interfaz de administración para estos casos." +msgstr "No se permite eliminar el super usuario y usuario de personal. Use la interfaz de administración para estos casos." #: views.py:176 #, python-format @@ -234,29 +229,25 @@ msgstr "" #: views.py:262 msgid "Submit" -msgstr "" +msgstr "Enviar" #: views.py:264 -#, fuzzy -#| msgid "Reset password" msgid "Change user password" msgid_plural "Change users passwords" -msgstr[0] "Restablecer contraseña" -msgstr[1] "Restablecer contraseña" +msgstr[0] "Cambiar contraseña de usuario" +msgstr[1] "Cambiar contraseñas de usuarios" #: views.py:274 -#, fuzzy, python-format +#, python-format #| msgid "Reseting password for user: %s" msgid "Change password for user: %s" -msgstr "Restaurando contraseña del usuario: %s" +msgstr "Cambiar contraseñas para el usuario: %s" #: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "" -"No se permite cambiar la contraseña del super usuario y del usuario de " -"personal. Use la interfaz de administración para estos casos." +msgstr "No se permite cambiar la contraseña del super usuario y del usuario de personal. Use la interfaz de administración para estos casos." #: views.py:304 #, python-format @@ -266,21 +257,19 @@ msgstr "Contraseña restablecida para el usuario: %s." #: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" -msgstr "" -"Error restaurando la contraseña para el usuario \"%(user)s\": %(error)s " +msgstr "Error restaurando la contraseña para el usuario \"%(user)s\": %(error)s " #~ msgid "Must provide at least one user." -#~ msgstr "Debe indicar al menos un usuario." +#~ msgstr "Must provide at least one user." -#~| msgid "Delete existing users" #~ msgid "Delete the users: %s?" -#~ msgstr "¿Borrar los usuarios: %s?" +#~ msgstr "Delete existing users" #~ msgid "Passwords do not match, try again." -#~ msgstr "Las contraseñas no coinciden. Vuelva a intentarlo." +#~ msgstr "Passwords do not match, try again." #~ msgid "Reseting password for users: %s" -#~ msgstr "Restaurando la contraseña de los usuarios: %s" +#~ msgstr "Reseting password for users: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/fa/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/fa/LC_MESSAGES/django.mo index 27ae4a936c899f36a1633ec142bf18ebe8d36500..f5be6896c0737458e4a44f383a86cbe91d21a0f9 100644 GIT binary patch delta 870 zcmYMyPe_zO7{~EvTeo#xHFdWv*S58#G-yj-UKEz3OVGjS&_5{cVC)_O!$@V1OSE(l zZ&DOQDPms2kQcjj@FH{&PeQDR%!8*OJ9QBceSfcSI5_j!8OHZ{=9yVd?YEY?C{V+42b0{+5YO!D6`96$xQi!C^W`rs%=u@cOuu%7uWYX2g3;W7^578Zza zd7_O?=0Kl{U=0DqB;t&Xp~q)KV5Wj;?-Rc;Ygk+op{1GRq-)7Z#nC6dDq zbTLDGyT=b@TEb4O;CcLnZMcC7u!|{-QwA41@fHrD68?;;;0o$M>)4IIQGwHSW~cBR z>bqC5Ot%LN{aC~+IEUA98y)P5n_a>|R05NzEBlC9T*kAwi4?|PQ$l(#YO0>zf~vq4 z|2=RPcVElyIB7w^bcS}Q*8hM delta 1224 zcmX}qPe@cj9Ki9hT{TzD($dU-W2Pmz%kKK85c3d0c&KEFD7v_~uUxWS-M12L*L(XYhd1I-n@D9oB7TBsaUI;_*&|` zuPBG9)zou2O10zc4jz;~hf;YM#N9ZMbsYEbej7`0KHL8cW&CR_$2HuC8|cKJxEFt6 znNky~kltN%)L}7tFc-V98Bbsb4q^d5K?$&erMQYR;d{)-&FuR(tmFMR7GWim9>gY; zcs*E4e070_3>?EF_y8~ATMS_}(d7G$tP3bReuoTEpHLR?1=*4Mj?-jORDxShc z^y3zKuz~2ZzyQh-M2g9O1C8r+$k{BQWR4BkJCfj1YN&FV{uRlNTq>DFGRJR9?yIC< zieyQO%*{RfUs$hQI2rqBid6shnMiu%cFXEyAyOnG6?SVo-O|)lxpb1gLsThp2PA9U zGu23yyFfzivR|I*T*rJ)-{}!Eu7_gL(QwGn!MGkYf^T` zkm}7gOdX2qNHngm1>^k#Ejk_>*TE~naKxhmhG{V2zdr(VRnE%1PTgoKyP0cBJH6_B zk<;Gc_W9iYR_*n7wjXtS+q_;^?^$=i7!8}@XvBRo7&kh#-|Opedt2RppZ5DYeg5>L zyvL33nG|(w(w@v(n5ltuxcinYNa-mE;p4tdxvQWTvcT0?82mmqGSyHFL3oCI>s4 S8!pgAgtSN4`wO`q=KKY?yx7_R diff --git a/mayan/apps/user_management/locale/fa/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/fa/LC_MESSAGES/django.po index 0662171394..77c2f9734f 100644 --- a/mayan/apps/user_management/locale/fa/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/fa/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Mehdi Amani , 2014 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-03-21 21:12+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/" -"language/fa/)\n" -"Language: fa\n" +"Language-Team: Persian (http://www.transifex.com/rosarior/mayan-edms/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:42 permissions.py:7 @@ -85,10 +84,8 @@ msgid "Users" msgstr "کاربران" #: links.py:62 links.py:66 -#, fuzzy -#| msgid "Reset password" msgid "Set password" -msgstr "کلمه عبور جدید" +msgstr "" #: permissions.py:10 msgid "Create new groups" @@ -137,6 +134,7 @@ msgstr "ویرایش گروه : %s" #: views.py:64 #, python-format +#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "" @@ -169,17 +167,16 @@ msgid "User delete request performed on %(count)d users" msgstr "" #: views.py:146 -#, fuzzy -#| msgid "Delete" +#| msgid "Delete existing users" msgid "Delete user" msgid_plural "Delete users" -msgstr[0] "حذف" +msgstr[0] "" #: views.py:156 -#, fuzzy, python-format -#| msgid "Edit user: %s" +#, python-format +#| msgid "Delete existing users" msgid "Delete user: %s" -msgstr "ویرایش کاربر : %s" +msgstr "" #: views.py:168 msgid "" @@ -227,20 +224,18 @@ msgstr "" #: views.py:262 msgid "Submit" -msgstr "" +msgstr "ارسال" #: views.py:264 -#, fuzzy -#| msgid "Reset password" msgid "Change user password" msgid_plural "Change users passwords" -msgstr[0] "کلمه عبور جدید" +msgstr[0] "" #: views.py:274 -#, fuzzy, python-format +#, python-format #| msgid "Reseting password for user: %s" msgid "Change password for user: %s" -msgstr "ریست کلمه عبور کاربر: %s" +msgstr "" #: views.py:294 msgid "" @@ -259,13 +254,16 @@ msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "خطا در زمان ریست کلمه عبور کاربر: \"%(user)s\": %(error)s" #~ msgid "Must provide at least one user." -#~ msgstr "باید حداقل یک کاربر ارئه شود." +#~ msgstr "Must provide at least one user." + +#~ msgid "Delete the users: %s?" +#~ msgstr "Delete existing users" #~ msgid "Passwords do not match, try again." -#~ msgstr "کلمه عبور یکسان نیست دوباره امتحان کنید." +#~ msgstr "Passwords do not match, try again." #~ msgid "Reseting password for users: %s" -#~ msgstr "ریست کلمه عبور کابران : %s" +#~ msgstr "Reseting password for users: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/fr/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/fr/LC_MESSAGES/django.mo index eb2734cea808011efe5b6598f9477120bd79ba8c..19d7644a68b8897b79b6ebab9e9afa5ab92e899f 100644 GIT binary patch delta 1117 zcmYk*O-K}B9LMoz)%9h!%(OStY%DD`7uID{+D=BEG8L_pAdNY}hB~n`t8~#rK|zNC z^A-_Nlu%GC)g?hF>`+h;QFI9D7(oTuwZ6Y`iXQfv&oj?F`#jJ8|IA!(oUfn#R9!M} zC~eew>UhMMgZQ+F3*~OHF{QYG8}I>E;u2Qj>#%<%y#F2=DKTav&#O`YYeJ1rqvq?u zEym26UK*R}I2n2t`I*aHHsMvQ!3EU9i?|+NVH7`NE3RNC#^|iTZq!0YP~!)&8c(3+ z^{|Zf&Bd_e3TnriJSR>#@FBra>yq2h_lCxDAU5qZaE?_no*M`%y=A8nuB7$j{v2(tr=K3E!Z`uOd^L zs+ci5uoib?7tYqv7^WeoQ3L0&2e07>e#SUL7tAUYiZ`v@|k<5GnG zm%ZT)A4c##>6Qcp0W`PM2tE__QueG7M5)v&3o1I#y1C|(FNI9BB~sJpOj~Dc&zp90 zV`eBnI+67Yze^uShPx8UbRyMZb)+(>H0@+EHqf6Kbf&Ui)}2fowtXjKrIH>0#&u>= zUHg)hSg-B*iDNl?(i^vZHK$jwhUzMpdnGnH1+A1MfX0RR91 delta 1611 zcmZA0PiP!v7{~E9X*Ov$jrn7>*4FloHa2Oq>n1g;uC+<4tq9SS7`-UcN%qwY?Cz{H zvkA>*{X-EE5e)StQi>wdo2y?$4EU0et)x*5c-nI=Y8LK=bh(y z-q}kBJ{WHPI@EQ^&PQRpmQ4&f2974dl>g;+Vh8zDN{ntPvfn)fC^+8`*0QcGZ*6VEgCBDoetLf}+YV?iQaUq+S~r7t z-~#T$YC3)c?__)#b+lii0{9tKksH`lE-%IBP6C*gl!DvAdmElQDDuLsSeN=_s z!xMNF70{np!fwvv5j=&bv5Bwa*LWGv@&)TX*Kid32B^PES0o%_FmtF4pGRf5hMYk1 za*JxpSWW9yZmPJ|hUgvL8nu(jFjkUkdbvt}AD0r;_m_PAIStaLQsuc+%1$nQY)81% zls(BN$E34Vb<{{OIYND~I%~ecr0JKS1UK6;I{G!Kk(MJmxAcb~aviwh_6oWJjWDbJJwhdb2CvasJ6h6x(_jtoUVTz1UWq$3#$T zKbbdAxm8>DqG&Y;%jR6#iEKHrwIH@tFJ4+6w{dvEdM|l?EpO&sADrSX8l^(f4RX%Uc*)czsB;~ z_9v)T&{%QF-I!;RGB`8KzSSVsF6|jhb(exLbWuI1m0c~V*SKAA4aL7^!*4!uQRH24 qVcr~?cYe)}eUG@6g40%8J5kh)?9^s`H?pI9ZptCavbE7`JO2lo$o~fb diff --git a/mayan/apps/user_management/locale/fr/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/fr/LC_MESSAGES/django.po index 3c28a7c0a7..ca92eb10e3 100644 --- a/mayan/apps/user_management/locale/fr/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Christophe CHAUVET , 2014 @@ -14,14 +14,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-04-28 15:12+0000\n" -"Last-Translator: Baptiste GAILLET \n" -"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/" -"fr/)\n" -"Language: fr\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: French (http://www.transifex.com/rosarior/mayan-edms/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:42 permissions.py:7 @@ -89,10 +88,8 @@ msgid "Users" msgstr "Utilisateurs" #: links.py:62 links.py:66 -#, fuzzy -#| msgid "Reset password" msgid "Set password" -msgstr "Reinitialiser le mot de passe" +msgstr "" #: permissions.py:10 msgid "Create new groups" @@ -141,6 +138,7 @@ msgstr "Modification du groupe : %s" #: views.py:64 #, python-format +#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "Supprimer le groupe : %s ?" @@ -173,26 +171,23 @@ msgid "User delete request performed on %(count)d users" msgstr "" #: views.py:146 -#, fuzzy -#| msgid "Delete the user: %s?" +#| msgid "Delete existing users" msgid "Delete user" msgid_plural "Delete users" -msgstr[0] "Supprimer l'utilisateur : %s ?" -msgstr[1] "Supprimer l'utilisateur : %s ?" +msgstr[0] "" +msgstr[1] "" #: views.py:156 -#, fuzzy, python-format -#| msgid "Delete the user: %s?" +#, python-format +#| msgid "Delete existing users" msgid "Delete user: %s" -msgstr "Supprimer l'utilisateur : %s ?" +msgstr "" #: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "" -"La suppression des comptes super utilisateur et staff n'est pas autorisée " -"ici, veuillez le faire via l'interface d'administration." +msgstr "La suppression des comptes super utilisateur et staff n'est pas autorisée ici, veuillez le faire via l'interface d'administration." #: views.py:176 #, python-format @@ -202,8 +197,7 @@ msgstr "Utilisateur \"%s\" supprimé avec succès." #: views.py:182 #, python-format msgid "Error deleting user \"%(user)s\": %(error)s" -msgstr "" -"Erreur lors de la suppression de l'utilisateur \"%(user)s\" : %(error)s" +msgstr "Erreur lors de la suppression de l'utilisateur \"%(user)s\" : %(error)s" #: views.py:198 #, python-format @@ -235,30 +229,25 @@ msgstr "" #: views.py:262 msgid "Submit" -msgstr "" +msgstr "Soumettre" #: views.py:264 -#, fuzzy -#| msgid "Reset password" msgid "Change user password" msgid_plural "Change users passwords" -msgstr[0] "Reinitialiser le mot de passe" -msgstr[1] "Reinitialiser le mot de passe" +msgstr[0] "" +msgstr[1] "" #: views.py:274 -#, fuzzy, python-format +#, python-format #| msgid "Reseting password for user: %s" msgid "Change password for user: %s" -msgstr "Ré-initialisation du mot de passe pour l'utilisateur : %s" +msgstr "" #: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "" -"La réinitialisation des mots de passe pour les comptes super utilisateur et " -"staff n'est pas autorisée ici, veuillez le faire via l'interface " -"d'administration." +msgstr "La réinitialisation des mots de passe pour les comptes super utilisateur et staff n'est pas autorisée ici, veuillez le faire via l'interface d'administration." #: views.py:304 #, python-format @@ -268,22 +257,19 @@ msgstr "Mot de passe ré-initialisé avec succès pour l'utilisateur : %s." #: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" -msgstr "" -"Erreur lors de la ré-initialisation du mot de passe pour l'utilisateur " -"\"%(user)s\" : %(error)s" +msgstr "Erreur lors de la ré-initialisation du mot de passe pour l'utilisateur \"%(user)s\" : %(error)s" #~ msgid "Must provide at least one user." -#~ msgstr "Vous devez indiquer au moins un utilisateur." +#~ msgstr "Must provide at least one user." -#~| msgid "Delete existing users" #~ msgid "Delete the users: %s?" -#~ msgstr "Supprimer les utilisateurs : %s ?" +#~ msgstr "Delete existing users" #~ msgid "Passwords do not match, try again." -#~ msgstr "Les mots de passe ne correspondent pas, veuillez réessayer." +#~ msgstr "Passwords do not match, try again." #~ msgid "Reseting password for users: %s" -#~ msgstr "Ré-initialisation du mot de passe pour les utilisateurs : %s" +#~ msgstr "Reseting password for users: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/hu/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/hu/LC_MESSAGES/django.mo index 7826a7171e4e3d1572f52b7d89b1b0be0a733b33..93e5027046a18305c0acbfec044442a1fc1f44ce 100644 GIT binary patch delta 64 zcmX@fe3E%WtEsuJfr+k>p@N~2m5~XMZD7C^;IA8$T9#RynV+ZYl30>zrC?-W2v=uj LWn{i_7e6BaIs*|2 delta 64 zcmX@fe3E%WtEri;p`oskv4Vk-m8rR|fr)_uSAf56P-A5eW>!Y#8*lJ40s#4M3lsnV delta 41 wcmaFP{G55hVqP;{LqlC7V+8{vD^v4{8>E2(2FAKZh6+Z8R)$6!Z}2k$0Qp!83;+NC diff --git a/mayan/apps/user_management/locale/id/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/id/LC_MESSAGES/django.po index 27802425c6..371efd3351 100644 --- a/mayan/apps/user_management/locale/id/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/id/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,14 +9,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-03-21 21:12+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/" -"language/id/)\n" -"Language: id\n" +"Language-Team: Indonesian (http://www.transifex.com/rosarior/mayan-edms/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:42 permissions.py:7 @@ -134,6 +133,7 @@ msgstr "" #: views.py:64 #, python-format +#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "" @@ -166,17 +166,16 @@ msgid "User delete request performed on %(count)d users" msgstr "" #: views.py:146 -#, fuzzy -#| msgid "create new user" +#| msgid "Delete existing users" msgid "Delete user" msgid_plural "Delete users" -msgstr[0] "create new user" +msgstr[0] "" #: views.py:156 -#, fuzzy, python-format -#| msgid "Delete the groups: %s?" +#, python-format +#| msgid "Delete existing users" msgid "Delete user: %s" -msgstr "Delete existing groups" +msgstr "" #: views.py:168 msgid "" @@ -232,10 +231,10 @@ msgid_plural "Change users passwords" msgstr[0] "" #: views.py:274 -#, fuzzy, python-format -#| msgid "Non groups of user: %s" +#, python-format +#| msgid "Reseting password for user: %s" msgid "Change password for user: %s" -msgstr "non groups of user: %s" +msgstr "" #: views.py:294 msgid "" @@ -253,6 +252,18 @@ msgstr "" msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "" +#~ msgid "Must provide at least one user." +#~ msgstr "Must provide at least one user." + +#~ msgid "Delete the users: %s?" +#~ msgstr "Delete existing users" + +#~ msgid "Passwords do not match, try again." +#~ msgstr "Passwords do not match, try again." + +#~ msgid "Reseting password for users: %s" +#~ msgstr "Reseting password for users: %s" + #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " #~ "for these cases." @@ -272,12 +283,18 @@ msgstr "" #~ msgid "Error deleting group \"%(group)s\": %(error)s" #~ msgstr "Error deleting group \"%(group)s\": %(error)s" +#~ msgid "Delete the groups: %s?" +#~ msgstr "Delete existing groups" + #~ msgid "Are you sure you wish to delete the user: %s?" #~ msgstr "Are you sure you wish to delete the user: %s?" #~ msgid "Are you sure you wish to delete the users: %s?" #~ msgstr "Are you sure you wish to delete the users: %s?" +#~ msgid "Non groups of user: %s" +#~ msgstr "non groups of user: %s" + #~ msgid "Group \"%s\" updated successfully." #~ msgstr "Group \"%s\" updated successfully." @@ -305,6 +322,9 @@ msgstr "" #~ msgid "edit" #~ msgstr "edit" +#~ msgid "create new user" +#~ msgstr "create new user" + #~ msgid "create new group" #~ msgstr "create new group" diff --git a/mayan/apps/user_management/locale/it/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/it/LC_MESSAGES/django.mo index a7673e670971cfe2dec72a1e18a80a624fe32148..951234e1ffb870c4102ce94100edb5b23340fa4d 100644 GIT binary patch delta 1107 zcmY+@%}*0S7{~EhEpII-7E}bqil7B;(l!kw)r+qQkszraOt`p64^5!kbW70_H(w4! z9KQpt#&htFGz1w-Aedb*_ zaLv&A=$q*imN9#9eiawmt<}cV;vBBUJGcg)U^6cI>&yOp#n%cLvyS^=)cVF10#5r`gh|^)IkfVgWsY8{fK(-cch};;hm_~S4AI}_bh+v zePe9*DyB6BRIm5{r)^`(4M?>y8D<6%*#46 zo8ZNuP)l1%p+V?DJXMe$1daCKMS2jV2%bd{OFc;OSOgD(-{0<}Tf~Pv`8>}vGtcw? z|7Z5n?k|T|e;w@l*wD)K=jopmjG5DT6aQ#qUB+z2aU8%h_TwyW$J6=xxqRNp{Q!4x z{d#`=X1@M4YQOLC8Dmz>j|`q>;ePJlxRd!ncYA#wvSg~L^`rO{ouubyP;5qe}cOs^mZ8 z2>yY}sGr?6-;1O8CccdC;zhiHSJCpY#V>Fl{?t$X70E*u6j>J&Wz>f{cn|Uh%p~2? z)l@Mx&TdtMVm)el4HJ)M?POFDC8?$$^)bFe=j+$^-_EqCN#3ZIDbZE(C+Pavl$DyY zC7IT1(Z{4<)rh~9k%Cqwm5iEx33`&|+a4V=e99JQY; znNx1XHoP=liIcjS&j+ck$2N*H8+uu7Y0_rNd)8a@{HSCWTQ!5*RHrNZ%e3ATgi}0|cu^X7 zSxhP?y`&b~IWKGk9AyuOnwM(%ycE`E7emhvO0_sVvi?iYy+Ucui)tjBw?&?HdrLf2Q?iBt7 DlqU9# diff --git a/mayan/apps/user_management/locale/it/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/it/LC_MESSAGES/django.po index 5733a5f092..4bd344383f 100644 --- a/mayan/apps/user_management/locale/it/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Marco Camplese , 2016 @@ -12,14 +12,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-09-24 11:31+0000\n" -"Last-Translator: Marco Camplese \n" -"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/" -"language/it/)\n" -"Language: it\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Italian (http://www.transifex.com/rosarior/mayan-edms/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:42 permissions.py:7 @@ -87,10 +86,8 @@ msgid "Users" msgstr "Utenti" #: links.py:62 links.py:66 -#, fuzzy -#| msgid "Reset password" msgid "Set password" -msgstr "Reset della password" +msgstr "" #: permissions.py:10 msgid "Create new groups" @@ -139,6 +136,7 @@ msgstr "Modifica gruppo: %s" #: views.py:64 #, python-format +#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "Cancellare il gruppo: %s?" @@ -171,26 +169,23 @@ msgid "User delete request performed on %(count)d users" msgstr "" #: views.py:146 -#, fuzzy -#| msgid "Delete the user: %s?" +#| msgid "Delete existing users" msgid "Delete user" msgid_plural "Delete users" -msgstr[0] "Cancellare l'utente: %s?" -msgstr[1] "Cancellare l'utente: %s?" +msgstr[0] "" +msgstr[1] "" #: views.py:156 -#, fuzzy, python-format -#| msgid "Delete the user: %s?" +#, python-format +#| msgid "Delete existing users" msgid "Delete user: %s" -msgstr "Cancellare l'utente: %s?" +msgstr "" #: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "" -"Al super utente e utente non è consentito la cancellazione del personale, " -"utilizzare l'interfaccia di amministrazione per questi casi." +msgstr "Al super utente e utente non è consentito la cancellazione del personale, utilizzare l'interfaccia di amministrazione per questi casi." #: views.py:176 #, python-format @@ -232,29 +227,25 @@ msgstr "" #: views.py:262 msgid "Submit" -msgstr "" +msgstr "Invia" #: views.py:264 -#, fuzzy -#| msgid "Reset password" msgid "Change user password" msgid_plural "Change users passwords" -msgstr[0] "Reset della password" -msgstr[1] "Reset della password" +msgstr[0] "" +msgstr[1] "" #: views.py:274 -#, fuzzy, python-format +#, python-format #| msgid "Reseting password for user: %s" msgid "Change password for user: %s" -msgstr "Reimposta la password per l'utente:%s" +msgstr "" #: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "" -"Al super utente e utente non è consentito di reimpostare la password " -"personale, utilizzare l'interfaccia di amministrazione per questi casi." +msgstr "Al super utente e utente non è consentito di reimpostare la password personale, utilizzare l'interfaccia di amministrazione per questi casi." #: views.py:304 #, python-format @@ -264,22 +255,19 @@ msgstr "Password reimpostata per l'utente: %s." #: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" -msgstr "" -"Errore per il reimpostamento della password per l'utente \"%(user)s\": " -"%(error)s" +msgstr "Errore per il reimpostamento della password per l'utente \"%(user)s\": %(error)s" #~ msgid "Must provide at least one user." -#~ msgstr "Devi fornire almeno un utente." +#~ msgstr "Must provide at least one user." -#~| msgid "Delete existing users" #~ msgid "Delete the users: %s?" -#~ msgstr "Cancellare gli utenti: %s?" +#~ msgstr "Delete existing users" #~ msgid "Passwords do not match, try again." -#~ msgstr "La password non corrisponde, riprova." +#~ msgstr "Passwords do not match, try again." #~ msgid "Reseting password for users: %s" -#~ msgstr "Reimposta la password per gli utenti:%s" +#~ msgstr "Reseting password for users: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/nl_NL/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/nl_NL/LC_MESSAGES/django.mo index 46da19310826bd004513570c0975565d11625c93..18c57b08f595e208f88acf564eded747649e57ba 100644 GIT binary patch delta 1112 zcmY+@O-K}B9LMozZGGEKP3=w197{{Bh23pYTn`o0rNl&|4iYu$fD7it%xp_1p+nTA zg6dEZ9ikTxL9|qtf}m~%Uh+^uNVlRxhq@S4-{0;O^sqCZ=Xv&-=lMVXXXbjxV(a|J zrsy?8>EqhOH5)Nz2%lAOqugI*OcgF*13tuhe1U6lG3;Ls+uuSXQDYkUzX|nR7ixS4 zHQ#<*Z_KmZFmni<4fF# zpO7id&#)bhmB+Q?ycQm$qLds!MSdLjpo8Oh7nS-IBzRLBFYmMw6-Xy);UU!XM^OPE zL(LnY*13QR?&u%J#6uhfz9rHQBG(%GJG-Tj?`F742T7ol9rkqXtFUXuHxK{Zhk#{9>eKB7W{ V2@0-4IO2GIkk5O?uXPV1e*iR4b|?S< delta 1614 zcmZvbL2MLN7{}j2OQi)XwV;5|hfr*xyKGy)W--zPO*{ZLP&CF%r`<<)U^~;y%yy!Q zX*8*k5JTeX!K5dmi6nZl;K6Vqpa)~(MNcNi=*2V|J&}-T^!MML1w;6x9!8e#h-fGJ}_93@dRTzXUsAAYx%5;bC|Uu7|%vZG0Q*`F~&!`{T!b%Ww&5eKlj}Lo~_$W*-j4m=aVW<4_%*f!8?>AClAT?QB+_hm!sX z)N{unQkto3o@Vol@G;_-;a2!1+y=jgQshs#xE<#Xjyl-fWz6I7AXNMW)Sd7lHJG=v z^-J0MCs2jlf-3w6s76-dIQ$EqhQr7vrIsMgoA;sa(((rMS7o0P(1u?_CHMuZqu-zs z{|gJSmxI%W$KWWOgi_!g_!L}*1Mn6chJQdG_OW{eFTlOP{v#XsU6Jx=iX`MnjE`bYXR5x-YUph8k+wejI&GGBuvpXRfoC?P5rt9hzX0 zayO%>3D#ZzcJ^qTc%JwGUzQ!aKSY`t-+zNvld zIu&3VZhI_$<(u{|avKllhllecqqaCwI`nk?-Hz=OM2h*5FA+0>W;Hv()z@GNJYT^gy?K7?!iL=1??40LU3p3%|vnxM#*fj@Va#8A^E4#?j z;;fsFYX13_C=XtXODnh6*K>Zu?>8bsW4u5)w5+cB-y7OWhoZUvs_CHhKjsE#irhl2PN{nKsaV@ylJG<^BUXum^Sk diff --git a/mayan/apps/user_management/locale/nl_NL/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/nl_NL/LC_MESSAGES/django.po index bba2be424d..2ef00eaf14 100644 --- a/mayan/apps/user_management/locale/nl_NL/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Evelijn Saaltink , 2016 @@ -11,14 +11,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-10-28 08:58+0000\n" -"Last-Translator: Evelijn Saaltink \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-" -"edms/language/nl_NL/)\n" -"Language: nl_NL\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/rosarior/mayan-edms/language/nl_NL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:42 permissions.py:7 @@ -86,10 +85,8 @@ msgid "Users" msgstr "Gebruikers" #: links.py:62 links.py:66 -#, fuzzy -#| msgid "Reset password" msgid "Set password" -msgstr "Verander wachtwoord" +msgstr "" #: permissions.py:10 msgid "Create new groups" @@ -138,6 +135,7 @@ msgstr "Bewerk groep: %s" #: views.py:64 #, python-format +#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "Verwijder de groep: %s?" @@ -170,26 +168,23 @@ msgid "User delete request performed on %(count)d users" msgstr "" #: views.py:146 -#, fuzzy -#| msgid "Delete the user: %s?" +#| msgid "Delete existing users" msgid "Delete user" msgid_plural "Delete users" -msgstr[0] "Verwijder de gebruiker: %s?" -msgstr[1] "Verwijder de gebruiker: %s?" +msgstr[0] "" +msgstr[1] "" #: views.py:156 -#, fuzzy, python-format -#| msgid "Delete the user: %s?" +#, python-format +#| msgid "Delete existing users" msgid "Delete user: %s" -msgstr "Verwijder de gebruiker: %s?" +msgstr "" #: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "" -"Super gebruiker en medewerker verwijderen is niet toegestaan, gebruik de " -"admin gebruiker voor deze zaken." +msgstr "Super gebruiker en medewerker verwijderen is niet toegestaan, gebruik de admin gebruiker voor deze zaken." #: views.py:176 #, python-format @@ -231,29 +226,25 @@ msgstr "" #: views.py:262 msgid "Submit" -msgstr "" +msgstr "Verstuur" #: views.py:264 -#, fuzzy -#| msgid "Reset password" msgid "Change user password" msgid_plural "Change users passwords" -msgstr[0] "Verander wachtwoord" -msgstr[1] "Verander wachtwoord" +msgstr[0] "" +msgstr[1] "" #: views.py:274 -#, fuzzy, python-format +#, python-format #| msgid "Reseting password for user: %s" msgid "Change password for user: %s" -msgstr "Wachtwoord aanpassen voor gebruiker: %s" +msgstr "" #: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "" -"Super gebruiker en medewerker wachtwoord aanpassen is niet toegestaan, " -"gebruik de admin gebruiker voor deze zaken." +msgstr "Super gebruiker en medewerker wachtwoord aanpassen is niet toegestaan, gebruik de admin gebruiker voor deze zaken." #: views.py:304 #, python-format @@ -263,22 +254,19 @@ msgstr "Succesvol wachtwoord aangepast voor gebruiker: %s" #: views.py:310 #, python-format msgid "Error reseting password for user \"%(user)s\": %(error)s" -msgstr "" -"Fout tijdens het veranderen van het wachtwoord voor gebruiker \"%(user)s\": " -"%(error)s" +msgstr "Fout tijdens het veranderen van het wachtwoord voor gebruiker \"%(user)s\": %(error)s" #~ msgid "Must provide at least one user." -#~ msgstr "U dient minimaal één gebruiker in te voeren." +#~ msgstr "Must provide at least one user." -#~| msgid "Delete existing users" #~ msgid "Delete the users: %s?" -#~ msgstr "Verwijder de gebruikers: %s?" +#~ msgstr "Delete existing users" #~ msgid "Passwords do not match, try again." -#~ msgstr "Wachtwoord is niet het zelfde, probeer het opnieuw." +#~ msgstr "Passwords do not match, try again." #~ msgid "Reseting password for users: %s" -#~ msgstr "Wachtwoord aanpassen voor gebruikers: %s" +#~ msgstr "Reseting password for users: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/pl/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/pl/LC_MESSAGES/django.mo index 358f2966ca962f525fa7555aeac60f6675048cb7..fe38c40837ff31ba85eb0ec34b8cba6dcd4921ce 100644 GIT binary patch delta 1260 zcmY+@Pe>F|9Ki9nrk3l!@?WNv&vMNzwq~YPX>}Ds=u#P4bnw#1F0}sHk)2fugoTKN z=n#n1c8E@1N(eUUB1DG>g1|tEIz%2K2s(82)b}?#D*f2m&ztvV-uun(%`CUQY|VYI zD_vGZnBy=qc(g~Ua?E2bKE)b*f&1}|-@opk|M2~b2N*9YE#B9Fa(xHN zeBIcjR8IBNXryD*H--FEj=u)HgY}q4S$GwzaShAx14{Di*n?YGfhL2pP#@Oed6fCC z;a;5Z&T~p-Xh^1uScQ3%8&|LkS8)tKV*)J(+wh_9Ym~}-K`v3hP!{@wl6VQLwNcF` zl!bf9PAV~gjjXSRX~+agq$Fw zmB3b<#N)V#lE5>}9i*{FLo(mMIDW$m*j!nx$PJY7X_N$Al!WggKlPYD*}@f+iP!x8 zk0?+46(hKbb6886UA$Yx{-36?MTcY-W@9DOODJ2B!b3QRGX4O0KfPJovBuk0rBHq)<-b=`n%f~=bylps&(wkBgwgxn{v{TAv>FlY0EHouIq_ey{8N! zc+qyVk*gUy?M~TQClk{n&UiADbSGxk)xD; zvtRXZ9$EkOV9Tb#Mj3}08!2O6hFyDkV24_a*$4YzH?;5(=)gzebP_+GykAbZ3?F0u zYBIl(#6N>N?`!ykG3#avrKJ4NCINAn!nbidYP?_i85jX?8pa+k_WvGic;M4F^sC75t zFuVufft?)c!93Lb_X+=kQnG753G4pDIJ)>KRAr~(@3i4{$XYYj(UkfnD5Ykh4!8o5 z(3GJP{s8KnkD$)E0SDkVR08)PN18pI#ykZ(;rbxX5RNv^CKE2yx3C5&#$1Q}@MHKa z+=A-;UHBw?2vO6tBhwV@hOfYLP|9uc(EKM*34Z}qz;|8f&tCHb0abPf>fnbk4foJk z%{y=iPD1r=4yqL^a2Q^PX?PQ^zy~mbdHR%rcc2pQ;8qoqfm~r;>qh@RoJ$0>U>Tyk zIl+)*GHsA)gVv(rzoumLvF(`JrAnoW>^X)$J|&^bWh!(e_IRlOs!-X-y@Ag#RIN;H zp_sT|`qzj~S#(?^-Udx_mNY+ukVBPi2 zy?+kQ_$9yM+seFetC3%xu!GUG`A;xvthU(H<#W}jVwcL{O2PB3Td^hIB@hP9of-3n zU$aYY6xG7AXU->1WWCS^VZ|=GmAUy5TPd$vH}4jLjJe=PJ_qjXxKK~E_U%&wCU#pR z`He4Izeyb!PiM2~+?aK86Q@qs!?ym5<7wxGv~$urFHVeQPdHe|Ea{{#mfavKxs{Mo zX566Qm+YlNP;kr9LcvaYaU@gQiDbOm+5DngC}rlt#WVG9+kQ-q)j!rI%lSG zc4)}Tot!!;cUZnNnRV>iS{&CJ=a`+gSvz5Kja+*!m3uR)2HV%R-?!D=lSlGDR`E%+YP+}M7 diff --git a/mayan/apps/user_management/locale/pl/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/pl/LC_MESSAGES/django.po index 2ab943bce6..893c587819 100644 --- a/mayan/apps/user_management/locale/pl/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/pl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Annunnaky , 2015 @@ -12,16 +12,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-08-04 09:31+0000\n" -"Last-Translator: Daniel Winiarski \n" -"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/" -"pl/)\n" -"Language: pl\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Polish (http://www.transifex.com/rosarior/mayan-edms/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: apps.py:42 permissions.py:7 msgid "User management" @@ -88,10 +86,8 @@ msgid "Users" msgstr "Użytkownicy" #: links.py:62 links.py:66 -#, fuzzy -#| msgid "Reset password" msgid "Set password" -msgstr "Zresetować hasło" +msgstr "" #: permissions.py:10 msgid "Create new groups" @@ -140,6 +136,7 @@ msgstr "Edycja grupy: %s" #: views.py:64 #, python-format +#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "Usunąć grupę: %s?" @@ -172,27 +169,25 @@ msgid "User delete request performed on %(count)d users" msgstr "" #: views.py:146 -#, fuzzy -#| msgid "Delete the user: %s?" +#| msgid "Delete existing users" msgid "Delete user" msgid_plural "Delete users" -msgstr[0] "Usunąć użytkownika: %s?" -msgstr[1] "Usunąć użytkownika: %s?" -msgstr[2] "Usunąć użytkownika: %s?" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:156 -#, fuzzy, python-format -#| msgid "Delete the user: %s?" +#, python-format +#| msgid "Delete existing users" msgid "Delete user: %s" -msgstr "Usunąć użytkownika: %s?" +msgstr "" #: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "" -"Super user oraz staff user usuwanie nie jest możliwa , należy użyć " -"interfejsu administratora w takich przypadkach." +msgstr "Super user oraz staff user usuwanie nie jest możliwa , należy użyć interfejsu administratora w takich przypadkach." #: views.py:176 #, python-format @@ -234,30 +229,27 @@ msgstr "" #: views.py:262 msgid "Submit" -msgstr "" +msgstr "Wykonaj" #: views.py:264 -#, fuzzy -#| msgid "Reset password" msgid "Change user password" msgid_plural "Change users passwords" -msgstr[0] "Zresetować hasło" -msgstr[1] "Zresetować hasło" -msgstr[2] "Zresetować hasło" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:274 -#, fuzzy, python-format +#, python-format #| msgid "Reseting password for user: %s" msgid "Change password for user: %s" -msgstr "Resetowanie hasła użytkownika:%s" +msgstr "" #: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "" -"Super user oraz staff user reset nie jest możliwa , należy użyć interfejsu " -"administratora w takich przypadkach." +msgstr "Super user oraz staff user reset nie jest możliwa , należy użyć interfejsu administratora w takich przypadkach." #: views.py:304 #, python-format @@ -270,17 +262,16 @@ msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "Błąd podczas resetowania hasło użytkownika \" %(user)s \": %(error)s " #~ msgid "Must provide at least one user." -#~ msgstr "Musi podać co najmniej jednego użytkownika." +#~ msgstr "Must provide at least one user." -#~| msgid "Delete existing users" #~ msgid "Delete the users: %s?" -#~ msgstr "Usunąć użytkowników: %s?" +#~ msgstr "Delete existing users" #~ msgid "Passwords do not match, try again." -#~ msgstr "Hasła nie pasują, spróbuj ponownie." +#~ msgstr "Passwords do not match, try again." #~ msgid "Reseting password for users: %s" -#~ msgstr "Resetowanie hasła dla użytkowników:%s" +#~ msgstr "Reseting password for users: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/pt/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/pt/LC_MESSAGES/django.mo index f67d8e88354d606a8a91ae5e2ef3cb03475fe0c6..8ef1c8a064e33b9b0c240c4495c3b5fb3aafdbf3 100644 GIT binary patch delta 995 zcmYk)J7`l;9LMp0+O*a*eb`#HYW3E)LLj-MiH1%hhz>D6CcAhwmo|gF+QhcHM5I)a z3I*{sI*3?sF;Gx&5LY*G5p_@(Q70dRli%OXMf`Km`JCjQdmjID9uD0Ytbgc>-!ft+ zWh3Q8%xnY~TBwLqt!C}$VGmAVH_l=&UX8pP`3P6>|1(toSJD6PP~&{ZHTV+;%<9$| z4;wa&JeH?gjicC)M^O{{*o8H0!z;KOuVD_K;7a_0n&=1i;U8RqU3{c*2T%*#gGuJM zQ5yQ-5bnYfj^RZt;~U(J1v<%-sGVIxUfFfjz>BB_Kfpz@_%wQdxTBe=5^Cojs^2Uo znco(o4);(iUP4l1&v6~TMjrb{wH|+=gS~85{W8d0b`aISh?{U6bwu;1es@q4KgKM+ z!1{g~ziBA7`x4PW7!HI=-8gE80V;KK$YZyuw6OcQ7nkrde!_VycbaX*uebwyl4ff$ zhdfqP{?>Nan(qd}BitT}ln|e<`2=|t&B>X<)WsaAr? u)B&&N7aTX8`PVO3aPy6zqr0WCoG3DIFzq>2e{#YLhxKdzRO4mxbL=lYC}K4L delta 1473 zcmZwGPe>F|9Ki9n`7i%urB<3+Pt(e3YChpe?{9Y$iyr&-^X9!bZ+`FhW-ixFHD=#e z6<${qi`qcF5K(F`eqY8PGjP`9v#fyd$X8|0@xhy7o%n(N;v0jw%gY6WgYe#+vn4Lh(CPhu%vLwWE` ztin53f={r9=d0&5B;py|h+nY+OSr2UYfv88g&Xi7$~=QxaU751eN18*tIN0-dIcpD z50ItRGn9?K#%i9gW@%g{?LWc^S;Cgoj-#aN2FlLwp#=6K9Dj?lqYp?b)g0F1@-iwm z;dRuHta;kl#Oke#vM3`d+-&W$9cSn=XmNSEaH4* z!8Tlny~q?bgcA4&*5f54(YYe?8|3^YfQ2IGBMZoGKM9aVNI zMWXjXr)Ltm~&Z?oo}Ja zQOSFtsm0WVA{lI=Hcy-^m~HJbDH9kS3>iJ*n@mEt`uo&Bo&I#Juso7IJmLp>IOB~v zNu%vRr;JU9=jQKhS4Yg49=3gd%*!NIZ`km4($lUN=(HX55AD!F=Crm4ZO3g_ea1H| zxNt}A(s2hDd-Q;pSqw_`ZIJ2z9rq>b>7zxDBD*`SSj>ud=x98#yUU91ibl(Nk6L|Z z)bSn9wR-HpBy>C)>$IXBRy?NTu|zCBohYeX7Ed{8$F(!s(<6bCa?aREFHFaQ#UX#m znDM8(OOHiP^_Wqk9XILpbMvrCc{*)ekD2KulgW-ZYHQ!PL$>Pn^9^6SFK>Ig-*eo4 sa+)SP#^o?vrm{w0BuB#}A-rv3zOZu-O)d#{%f3YZ00hwJrT_o{ diff --git a/mayan/apps/user_management/locale/pt/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/pt/LC_MESSAGES/django.po index a6d8de9887..54b1c638c4 100644 --- a/mayan/apps/user_management/locale/pt/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/pt/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Manuela Silva , 2015 @@ -13,14 +13,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-03-21 21:12+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/" -"language/pt/)\n" -"Language: pt\n" +"Language-Team: Portuguese (http://www.transifex.com/rosarior/mayan-edms/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:42 permissions.py:7 @@ -88,10 +87,8 @@ msgid "Users" msgstr "Utilizadores" #: links.py:62 links.py:66 -#, fuzzy -#| msgid "Reset password" msgid "Set password" -msgstr "Repor senha" +msgstr "" #: permissions.py:10 msgid "Create new groups" @@ -140,6 +137,7 @@ msgstr "Editar grupo: %s" #: views.py:64 #, python-format +#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "Eliminar o grupo: %s?" @@ -172,26 +170,23 @@ msgid "User delete request performed on %(count)d users" msgstr "" #: views.py:146 -#, fuzzy -#| msgid "Delete the user: %s?" +#| msgid "Delete existing users" msgid "Delete user" msgid_plural "Delete users" -msgstr[0] "Eliminar o utilizador: %s?" -msgstr[1] "Eliminar o utilizador: %s?" +msgstr[0] "" +msgstr[1] "" #: views.py:156 -#, fuzzy, python-format -#| msgid "Delete the user: %s?" +#, python-format +#| msgid "Delete existing users" msgid "Delete user: %s" -msgstr "Eliminar o utilizador: %s?" +msgstr "" #: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "" -"Não é permitida a eliminação de administradores ou membros da equipa, " -"utilize a interface de administrador para estes casos." +msgstr "Não é permitida a eliminação de administradores ou membros da equipa, utilize a interface de administrador para estes casos." #: views.py:176 #, python-format @@ -233,29 +228,25 @@ msgstr "" #: views.py:262 msgid "Submit" -msgstr "" +msgstr "Submeter" #: views.py:264 -#, fuzzy -#| msgid "Reset password" msgid "Change user password" msgid_plural "Change users passwords" -msgstr[0] "Repor senha" -msgstr[1] "Repor senha" +msgstr[0] "" +msgstr[1] "" #: views.py:274 -#, fuzzy, python-format +#, python-format #| msgid "Reseting password for user: %s" msgid "Change password for user: %s" -msgstr "A redefinir a senha para o utilizador: %s" +msgstr "" #: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "" -"Não é permitido redefinir a senha de administradores ou de membros da " -"equipa, utilize a interface de administrador para estes casos." +msgstr "Não é permitido redefinir a senha de administradores ou de membros da equipa, utilize a interface de administrador para estes casos." #: views.py:304 #, python-format @@ -268,17 +259,16 @@ msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "Erro ao redefinir a senha para o utilizador \"%(user)s\": %(error)s " #~ msgid "Must provide at least one user." -#~ msgstr "Deve indicar pelo menos um utilizador." +#~ msgstr "Must provide at least one user." -#~| msgid "Delete existing users" #~ msgid "Delete the users: %s?" -#~ msgstr "Eliminar os utilizadores: %s?" +#~ msgstr "Delete existing users" #~ msgid "Passwords do not match, try again." -#~ msgstr "As senhas não coincidem, tente novamente." +#~ msgstr "Passwords do not match, try again." #~ msgid "Reseting password for users: %s" -#~ msgstr "A redefinir a senha para os utilizadores: %s" +#~ msgstr "Reseting password for users: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/pt_BR/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/pt_BR/LC_MESSAGES/django.mo index 6b391e650886a6a76494ee2cb25e8c1ebdb11590..536dade9a5008ad8d4c7d1964ce39be00d7e447b 100644 GIT binary patch delta 1104 zcmYk*KTH#07{~GVl)tTr6h#HaQwu`1u`~^Yx~Q>(N|2z7AtWBs#3s;#UM(>(c5u)Q z6Lobn%4X7tgPJ%H9WXJ*ILJV7GGSuC#X_JQ-rM(mpXa@M)_J$Ryc(%_ zY$!3V16)&7M@2?|BIr=r%>}{ zu+5mV8KSa>j_ZN9ke`|7wi_Q|D=wfGev3``5o>V;dvOi>F+^u0otK-=!lelZS?ObTUOfkqC`kijQVXIWOntL^p(6VbN{P?B|1=z6 zd;t=pxdESpx1j>)Wp~YQfbt)JJ75jI1HXkQ;A-l%5q<$T!^TSVSH{2L&?UJG70_Q$ z8TPO{6)@XqmL`*5#@R;dDWJ9~tKs$lDjAjbN$*pTI!EfLWV(ON1M?bqLoHLFQFikP zO_xns$)pO&m~}K=CIv4eUbBU!3#(E}W|_VOm9TAF>F8^c>5k;}nd|n-B+aw5XEeYD zX_86*4YJ~~d{Ih)NmJDa+sWCzkc<{@X=__(8xo0^zSGh0vMxv=7FklCsW zaKusT&4PK=&D(mArt@)9F^7F8wUyXLab{~lR-V~rv*fr9-VVa3U?yGa*s%S^vb-_;p!1x3J&MIXfLEkt@5z)?GEWH5bLKt36nXD)C%kQy0wy=7^rDjjo=K zZ8;93GD6mn#6?sfVjZt%u3!>ZanoTGCjPxiKaP;Hxf7x#!LElQMbFl2|6gVmkWZ+k K=)s;#x&Hvd75P5^ diff --git a/mayan/apps/user_management/locale/pt_BR/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/pt_BR/LC_MESSAGES/django.po index de7833b08c..331e5278d3 100644 --- a/mayan/apps/user_management/locale/pt_BR/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Aline Freitas , 2016 @@ -14,14 +14,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-11-10 19:25+0000\n" -"Last-Translator: Aline Freitas \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-" -"edms/language/pt_BR/)\n" -"Language: pt_BR\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/rosarior/mayan-edms/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: apps.py:42 permissions.py:7 @@ -89,10 +88,8 @@ msgid "Users" msgstr "Usuários" #: links.py:62 links.py:66 -#, fuzzy -#| msgid "Reset password" msgid "Set password" -msgstr "redefinir senha" +msgstr "" #: permissions.py:10 msgid "Create new groups" @@ -141,6 +138,7 @@ msgstr "Editar grupo:%s" #: views.py:64 #, python-format +#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "Apagar o grupo: %s?" @@ -173,26 +171,23 @@ msgid "User delete request performed on %(count)d users" msgstr "" #: views.py:146 -#, fuzzy -#| msgid "Delete the user: %s?" +#| msgid "Delete existing users" msgid "Delete user" msgid_plural "Delete users" -msgstr[0] "Apagar o usuário: %s?" -msgstr[1] "Apagar o usuário: %s?" +msgstr[0] "" +msgstr[1] "" #: views.py:156 -#, fuzzy, python-format -#| msgid "Delete the user: %s?" +#, python-format +#| msgid "Delete existing users" msgid "Delete user: %s" -msgstr "Apagar o usuário: %s?" +msgstr "" #: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "" -"Excluir super usuário e usuário pessoal não é permitido, use a interface de " -"administração para esses casos." +msgstr "Excluir super usuário e usuário pessoal não é permitido, use a interface de administração para esses casos." #: views.py:176 #, python-format @@ -234,29 +229,25 @@ msgstr "" #: views.py:262 msgid "Submit" -msgstr "" +msgstr "Enviar" #: views.py:264 -#, fuzzy -#| msgid "Reset password" msgid "Change user password" msgid_plural "Change users passwords" -msgstr[0] "redefinir senha" -msgstr[1] "redefinir senha" +msgstr[0] "" +msgstr[1] "" #: views.py:274 -#, fuzzy, python-format +#, python-format #| msgid "Reseting password for user: %s" msgid "Change password for user: %s" -msgstr "Redefinindo senha para o usuário: %s" +msgstr "" #: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "" -"Redefinir senha de super usuário e usuário pessoal não é permitido, use a " -"interface de administração para esses casos." +msgstr "Redefinir senha de super usuário e usuário pessoal não é permitido, use a interface de administração para esses casos." #: views.py:304 #, python-format @@ -269,17 +260,16 @@ msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "Erro de redefinição de senha para o usuário \"%(user)s\": %(error)s " #~ msgid "Must provide at least one user." -#~ msgstr "Deve fornecer pelo menos um usuário." +#~ msgstr "Must provide at least one user." -#~| msgid "Delete existing users" #~ msgid "Delete the users: %s?" -#~ msgstr "Apagar os usuários: %s?" +#~ msgstr "Delete existing users" #~ msgid "Passwords do not match, try again." -#~ msgstr "Senhas não coincidem, tente novamente." +#~ msgstr "Passwords do not match, try again." #~ msgid "Reseting password for users: %s" -#~ msgstr "Redefinindo senha para os usuários: %s" +#~ msgstr "Reseting password for users: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/ro_RO/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/ro_RO/LC_MESSAGES/django.mo index ea975af9f4ca71121100c466296e188fdd8111ff..31921ef89b577cd86b08e1d1ded6d5c5b58f6a1d 100644 GIT binary patch delta 967 zcmZY7O=uHA7{>8Qo2Hu9ug2O|tF9jfiv*G-O)#fO3#NiLRf`2rDM@9aO(aP_@Dgec zDuM@th!+ovUOWaw(TiFSJ@i-*5l{6Z2%-n|BL1J<#f!tv{AOo&XXkxqz6>@8>YsXo zcMWBTI!GN07&C%%Z8VfjyD=d=i90Zh+i@Cq;$?q)*}uPmyBNRk-#Y2gpcXoV@5$Pt|9oPLmzgQl^I6}k*vI{C z)B>Mqod25_{)2VYia(>a;wv7&FySe6!>C9zH2d&0S~!b(ejWAQ1JpuaqB8UvGx!UY z(Gy|sKUu8ngB%?eZ{|^v)lezFiCpF$jg1fS8gAe%obK`#u!+aH?;yWgNF0^wEKNU7 z;ZZChi88$I{*NFO|Nlj+*M~YtDmrL7kD6RtGelKkE8UE_H#CY)g+L9*%H1{vq;zX5 z6wD#2%6{sA8Fl;a>eN%ZbvjiJdl+`X&4z_XsM1nRjZfNa$H$Bo&P%qITSh+i5#NKNbt;CZgwxi%!)km!f0&S}|?evG~9D sl4(2D`qMey)+&U@1O2&tr98LVuuA2H)rPrHahSRI?vc}4?*1P53sI3_asU7T delta 1365 zcmZwGOKeR+7{KwlZB<*P+Ip*YJc`m*Z#^m%kBCPsG#-r*EKcto?MZIWxjBzEn#c{^ z2rF&~5eu;)R7evW77dNC(G7`(*Tx155sBD{|99@uSeV>7zd18=X3qD`x%v5@>vHdF zN-inNDry}ylTd0CJ}%-yxmB!GDc;5^ypJ<*3}@m*-2XAY|Ay7{CrS$AwJ6Uo!#TJb zXXEyQIdz!EEIJ(Ir-tMEvslahb(9Ss;B*|rDfkkb@D*;r-&l_88I%pTVh!%Xsdxls z9}63B04r5asmnB$&~X!Gqi0x;uTducz?C?QRgdCkOygCQ@!zra>>?T3f;^(SP&VvF z3B<-XWcO4&eu%f7$^PmX4Vlm%dm86*e+eamk+^>>?tg`>p}wLV*$CjD|OOR0^`T;y*=AW@Mt$w#$-Dv@id6p40zesl4Q zsvRa{0;7XIqeI_#7fXKS_J)3-vz|L(r;WA(oiP?2u2Y!Ns=Cae&RV`d=z3|jFK+lc z?P|vjbiWm(`kHm%ozzyZWjn3vfbk6r{(U04wVmF{9(}^~qRl&XqpuFs%k=+_`!Zp) za>~QR^bIY^WJ~*6-PYc@z9TbuGybolJJFO^*I7-BUFC`IW$Uz2^BfTZe(2 zv4^a{^+q?A?@#2qJ<}7~M*HK#`b6kC_K+DeI%P6C8#3R~A-~CIS_#v0Gt70|aD2FM zN8+>->XhplKN~vfX8rV@lQLe)k`2?W!Q@tTFx6-G_gJ1G-e?WUN4}_{p`^1>`}rFc VwR5t@3B2&1{cIT;y;1Q!@dw}f+A#nC diff --git a/mayan/apps/user_management/locale/ro_RO/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/ro_RO/LC_MESSAGES/django.po index 6975f21fb7..aeef147a47 100644 --- a/mayan/apps/user_management/locale/ro_RO/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/ro_RO/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Badea Gabriel , 2013 @@ -11,16 +11,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-04-17 11:31+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Stefaniu Criste \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-" -"edms/language/ro_RO/)\n" -"Language: ro_RO\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/rosarior/mayan-edms/language/ro_RO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" +"Language: ro_RO\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: apps.py:42 permissions.py:7 msgid "User management" @@ -87,10 +85,8 @@ msgid "Users" msgstr "Utilizatorii" #: links.py:62 links.py:66 -#, fuzzy -#| msgid "Reset password" msgid "Set password" -msgstr "Schimbare parolă" +msgstr "" #: permissions.py:10 msgid "Create new groups" @@ -139,6 +135,7 @@ msgstr "Modificați grupul: %s" #: views.py:64 #, python-format +#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "Ștergeți grupul: %s?" @@ -171,27 +168,24 @@ msgid "User delete request performed on %(count)d users" msgstr "" #: views.py:146 -#, fuzzy -#| msgid "Delete the user: %s?" +#| msgid "Delete existing users" msgid "Delete user" msgid_plural "Delete users" -msgstr[0] "Ștergeți utilizatorul: %s?" -msgstr[1] "Ștergeți utilizatorul: %s?" -msgstr[2] "Ștergeți utilizatorul: %s?" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" #: views.py:156 -#, fuzzy, python-format -#| msgid "Delete the user: %s?" +#, python-format +#| msgid "Delete existing users" msgid "Delete user: %s" -msgstr "Ștergeți utilizatorul: %s?" +msgstr "" #: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "" -"Super-utilizator și personalul ștergerea utilizator nu este permisă, " -"utilizați interfata de administrare pentru aceste cazuri." +msgstr "Super-utilizator și personalul ștergerea utilizator nu este permisă, utilizați interfata de administrare pentru aceste cazuri." #: views.py:176 #, python-format @@ -233,30 +227,26 @@ msgstr "" #: views.py:262 msgid "Submit" -msgstr "" +msgstr "Trimiteţi" #: views.py:264 -#, fuzzy -#| msgid "Reset password" msgid "Change user password" msgid_plural "Change users passwords" -msgstr[0] "Schimbare parolă" -msgstr[1] "Schimbare parolă" -msgstr[2] "Schimbare parolă" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" #: views.py:274 -#, fuzzy, python-format +#, python-format #| msgid "Reseting password for user: %s" msgid "Change password for user: %s" -msgstr "Resetarea parola pentru utilizator:% s" +msgstr "" #: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "" -"Super utilizator și parola de utilizator personalul resetarea nu este " -"permisă, utilizați interfata de administrare pentru aceste cazuri." +msgstr "Super utilizator și parola de utilizator personalul resetarea nu este permisă, utilizați interfata de administrare pentru aceste cazuri." #: views.py:304 #, python-format @@ -269,13 +259,16 @@ msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "Eroare resetarea parola pentru utilizatorul %(user)s\": %(error)s" #~ msgid "Must provide at least one user." -#~ msgstr "Trebuie să furnizeze cel puțin un utilizator." +#~ msgstr "Must provide at least one user." + +#~ msgid "Delete the users: %s?" +#~ msgstr "Delete existing users" #~ msgid "Passwords do not match, try again." -#~ msgstr "Parolele nu corespund, încercați din nou." +#~ msgstr "Passwords do not match, try again." #~ msgid "Reseting password for users: %s" -#~ msgstr "Resetarea parolei pentru utilizatori:% s" +#~ msgstr "Reseting password for users: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/ru/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/ru/LC_MESSAGES/django.mo index f378e611ee79395ca049db0307109f2d9807f50f..4c447f6d853d9fda7fa6abac8c83e9f2e890b7ee 100644 GIT binary patch delta 1110 zcmY+@%WD%s9Ki8O`m#ywD{5`)W9`GVjSEQ#t*i)E+mj)N)>}N7nj9jvtJ&Bh2$6ab z5iGR+1tQv8F>Mv8QpAh++8pXZM0*wl3wreN{cTpkAK83nCYzo4{bu$}aJ8%WskQo! zA_lnja7}uYI)ZCnzK91^O4Z^bHsKOB;yO0tJ9m83?SFIiR4diO@2x2R>p{6chVr~o z+@(}e#cAwh;GF9f!ta>DBtP!Q71s@vOn)G^sG7RUM1GV6G;E`) zF_c8&tTMp-Dn&y>6Xk((7{Vp&#*cUqm9JtDV{{WJ8DB?v;1hTJC63Vlg&LmlE7gG+ zJcdO~;yM;XG+IdaFdju&`81B>RXl?>N(MT0q^X9n6BF2v=TXN6loCJ3Hr&9y_|@(E zStWa}x>4pc8ma$V8WscZ@i_I91+{Zh#8HgkCESg7Q8Hgc$#4rfug<~UhY|x7oQX8I zEyx*@#mnAHFs0fi`~No%(CFgg9C0uzA(KkTzDlN2MyZgz98}k-ifkDPI;XoG*{%N~ z==OLqobx1ID(`G3oljz~CuQ5i5k%u?QqzaJf)9ir*l@$oYF_qg{+}P!;ydY4I0s* zP?+$=(^f%0olj3$lj(w)H?%QxBAYLmXr=Qxv*fS8SykFq6 zp)?u^Xk#1bT6$?|#r7)EP0|EOtOpNDEpIM`Y7wEg;K4%)co6*lW+xte*zn$DD|<7YxzfO4=c34*o=L+3_lCjPXzNq;6+@{ z_3wh~zXt0QDEr;VRZ0!1KN+lK;lIF_xPp00U3Gm6vZPWd>%I669zh9Y0Gn_S`BNkO z>%dX$!AV?-&rx2yfO7vUjPZWe$f|6-0qb#RF#ixGgMQqICozh{xCzHl0=SJE@E*#2 z&#)b3v!l>~X&gbhJ|7rqAW7b@wlg3Yl|l)m4<*CTF&0uPgYu#;Bh~d$)XaZI+3*kS z#Amn}qm4>!#YEs2xQqE$C>5!o>^F}?a^WR|eQ1%MMi;yA8d`V{-^CZ$hmF*)ANOM? z{)F%21C&HU?0y&<@E9ILNoWSyLOsH@__&$+%ePu!AWQ=(M8f{#U=kXK#Ay|Kk zpE6$vuJ>^gC6VK}7t1ICdH5Gb_>O<$KPUl@^Ahpj81+vwXdt{bm_pg;FiJ%(BR>eg z8XBcZ&+i|$ zZNbGANR|E1A>W?({6+!Q7P=f*`5AKt{U+6w#1@-m9S$ZGN5$o5E~i)8dvrNCQgUhS zbU9E7nb2CwztzsS?Q^nD$Z@;CKst)6&dPdvFxCljgN-JJc6gSx?v{FxVdAdys99M z3#-Fs(#%wjH{J|&UNdt%GR4BIHn+S{c~*NPW{$y_zoNNg!c3c4wp(b-i z1^>ZmZD!4+_AWBJZSL}ZV(`B8hPyPgIdj*)@0NGT%y`4xXePZYa{mSH{M}OKI`3pB kp7*1chk~t1;iHySA#ZFk6PcF(kLm^q-ml#U&96eQ0fj0kHUIzs diff --git a/mayan/apps/user_management/locale/ru/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/ru/LC_MESSAGES/django.po index 8132946a11..3d6f2b0553 100644 --- a/mayan/apps/user_management/locale/ru/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/ru/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # lilo.panic, 2016 @@ -10,17 +10,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-07-14 10:52+0000\n" -"Last-Translator: lilo.panic\n" -"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/" -"language/ru/)\n" -"Language: ru\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" +"Last-Translator: Roberto Rosario\n" +"Language-Team: Russian (http://www.transifex.com/rosarior/mayan-edms/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: apps.py:42 permissions.py:7 msgid "User management" @@ -87,10 +84,8 @@ msgid "Users" msgstr "Пользователи" #: links.py:62 links.py:66 -#, fuzzy -#| msgid "Reset password" msgid "Set password" -msgstr "Сбросить пароль" +msgstr "" #: permissions.py:10 msgid "Create new groups" @@ -139,6 +134,7 @@ msgstr "Редактировать группу: %s" #: views.py:64 #, python-format +#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "Удалить группу: %s?" @@ -171,28 +167,25 @@ msgid "User delete request performed on %(count)d users" msgstr "" #: views.py:146 -#, fuzzy -#| msgid "Delete the user: %s?" +#| msgid "Delete existing users" msgid "Delete user" msgid_plural "Delete users" -msgstr[0] "Удалить пользователя: %s?" -msgstr[1] "Удалить пользователя: %s?" -msgstr[2] "Удалить пользователя: %s?" -msgstr[3] "Удалить пользователя: %s?" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:156 -#, fuzzy, python-format -#| msgid "Delete the user: %s?" +#, python-format +#| msgid "Delete existing users" msgid "Delete user: %s" -msgstr "Удалить пользователя: %s?" +msgstr "" #: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "" -"Удаление суперпользователя и персонала не допускается, используйте " -"интерфейс администратора для этих случаев." +msgstr "Удаление суперпользователя и персонала не допускается, используйте интерфейс администратора для этих случаев." #: views.py:176 #, python-format @@ -234,31 +227,27 @@ msgstr "" #: views.py:262 msgid "Submit" -msgstr "" +msgstr "Подтвердить" #: views.py:264 -#, fuzzy -#| msgid "Reset password" msgid "Change user password" msgid_plural "Change users passwords" -msgstr[0] "Сбросить пароль" -msgstr[1] "Сбросить пароль" -msgstr[2] "Сбросить пароль" -msgstr[3] "Сбросить пароль" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:274 -#, fuzzy, python-format +#, python-format #| msgid "Reseting password for user: %s" msgid "Change password for user: %s" -msgstr "Сброс пароля пользователя: %s" +msgstr "" #: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "" -"Сброс паролей суперпользователя и персонала не допускается, используйте " -"интерфейс администратора для этих случаев." +msgstr "Сброс паролей суперпользователя и персонала не допускается, используйте интерфейс администратора для этих случаев." #: views.py:304 #, python-format @@ -271,17 +260,16 @@ msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "Ошибка сброса пароля для пользователя \"%(user)s\": %(error)s" #~ msgid "Must provide at least one user." -#~ msgstr "Должен быть хотя бы один пользователь." +#~ msgstr "Must provide at least one user." -#~| msgid "Delete existing users" #~ msgid "Delete the users: %s?" -#~ msgstr "Удалить пользователей: %s?" +#~ msgstr "Delete existing users" #~ msgid "Passwords do not match, try again." -#~ msgstr "Пароли не совпадают, попробуйте еще раз." +#~ msgstr "Passwords do not match, try again." #~ msgid "Reseting password for users: %s" -#~ msgstr "Сброс пароля для пользователей: %s" +#~ msgstr "Reseting password for users: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " diff --git a/mayan/apps/user_management/locale/sl_SI/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/sl_SI/LC_MESSAGES/django.mo index ea0561d947cd5a9635a273775fcac12d59b57e80..c12fc41e0e73814f6d37a9b5a7bc09d0928fc797 100644 GIT binary patch delta 64 zcmcb{a*bueE>m+|0~1{%Lj^-4DkmILqlC7V+8{vD^qh_0}}%St^j}CpwzO=;>`R!U6;g?R4WA|14FPn QLvsZK3oBFOjqlSL0Z$we?EnA( diff --git a/mayan/apps/user_management/locale/sl_SI/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/sl_SI/LC_MESSAGES/django.po index 5e0f4c7236..8fea53742f 100644 --- a/mayan/apps/user_management/locale/sl_SI/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/sl_SI/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: msgid "" @@ -9,16 +9,14 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-11-17 08:53+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-" -"edms/language/sl_SI/)\n" -"Language: sl_SI\n" +"Language-Team: Slovenian (Slovenia) (http://www.transifex.com/rosarior/mayan-edms/language/sl_SI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" +"Language: sl_SI\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: apps.py:42 permissions.py:7 msgid "User management" @@ -135,6 +133,7 @@ msgstr "" #: views.py:64 #, python-format +#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "" @@ -167,20 +166,19 @@ msgid "User delete request performed on %(count)d users" msgstr "" #: views.py:146 -#, fuzzy -#| msgid "create new user" +#| msgid "Delete existing users" msgid "Delete user" msgid_plural "Delete users" -msgstr[0] "create new user" -msgstr[1] "create new user" -msgstr[2] "create new user" -msgstr[3] "create new user" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: views.py:156 -#, fuzzy, python-format -#| msgid "Delete the groups: %s?" +#, python-format +#| msgid "Delete existing users" msgid "Delete user: %s" -msgstr "Delete existing groups" +msgstr "" #: views.py:168 msgid "" @@ -239,10 +237,10 @@ msgstr[2] "" msgstr[3] "" #: views.py:274 -#, fuzzy, python-format -#| msgid "Non groups of user: %s" +#, python-format +#| msgid "Reseting password for user: %s" msgid "Change password for user: %s" -msgstr "non groups of user: %s" +msgstr "" #: views.py:294 msgid "" @@ -260,6 +258,18 @@ msgstr "" msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "" +#~ msgid "Must provide at least one user." +#~ msgstr "Must provide at least one user." + +#~ msgid "Delete the users: %s?" +#~ msgstr "Delete existing users" + +#~ msgid "Passwords do not match, try again." +#~ msgstr "Passwords do not match, try again." + +#~ msgid "Reseting password for users: %s" +#~ msgstr "Reseting password for users: %s" + #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " #~ "for these cases." @@ -279,12 +289,18 @@ msgstr "" #~ msgid "Error deleting group \"%(group)s\": %(error)s" #~ msgstr "Error deleting group \"%(group)s\": %(error)s" +#~ msgid "Delete the groups: %s?" +#~ msgstr "Delete existing groups" + #~ msgid "Are you sure you wish to delete the user: %s?" #~ msgstr "Are you sure you wish to delete the user: %s?" #~ msgid "Are you sure you wish to delete the users: %s?" #~ msgstr "Are you sure you wish to delete the users: %s?" +#~ msgid "Non groups of user: %s" +#~ msgstr "non groups of user: %s" + #~ msgid "Group \"%s\" updated successfully." #~ msgstr "Group \"%s\" updated successfully." @@ -312,6 +328,9 @@ msgstr "" #~ msgid "edit" #~ msgstr "edit" +#~ msgid "create new user" +#~ msgstr "create new user" + #~ msgid "create new group" #~ msgstr "create new group" diff --git a/mayan/apps/user_management/locale/vi_VN/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/vi_VN/LC_MESSAGES/django.mo index 9ea5073f9f2958948010f01a9c371cd56cab1120..75acf873e6cfec4d0b925d9a13f2b5cb09d00d6b 100644 GIT binary patch delta 586 zcmX}o%P#{#9KiAEi|T`FRS=I&T-vZ~SGCb2lAemxN%YdB4I7U(`a1TH5Em{k4kQvu zZ*}D+4kB?A72@XLD#UkI`6V--`R&f`?>BQ7c=gpE{q_Sv1R2AOE5-<8+rmUVp$}Ww ziy!UWZWW@RJc#n!NwniU_F)nOm_Y{?F^pA=;W2uIsEY>{As)QoI(ltF=a~kp)Ik7MQ_9no8mT`7_mIqn|j0-VPyL7(#PD%7&8YroKqAkSADczbN1|c?GBN z1pRoAcG>Z!;zfU85nzg!6hBw2+!Oab_OWC>Xl7E=t zW~QDQ^7LGp*}Z%qf6k?t*DmwFppJP%zWq7tw`VC|Q;OMAsaDv_HLh(Jmf5(fMO8hb zMD&CnWvywhm1Q-ZuNozzu&XX+%lU+&Ymxtbv4kFPoH;yJf2!3yFDqM{t>$S(*=b!K K8I4tE-SPuBN<*vw delta 932 zcmaLU&1(}u7{K94j8$uEYis?eQU|4I(4R0M8^+k*i5;UObPxaU$xQxR-tf2k;Ii@Cok0CG5x7xE0qii63zc)fS}= zD^*o_8eR0K@CceXg!8Ql>KPuV{}!*}CYpGW-B>`?BG<8p{tuJ`$gXmL0er}1lDMD# zT1V?5pK*}=)h3Nj0-f8UA5c!5#GN>Ta>Fyx_!S(XKZR+W$7A>k`)~v0z&}wkI=H=M z9*@$WM7hWQ9B#aC0>hlkEOENRBlvfa)nd*g-3~ljATYrxvb7* z3)x)#U7{;qz0hndIl5S3uVS, 2013 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-03-21 21:12+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/" -"mayan-edms/language/vi_VN/)\n" -"Language: vi_VN\n" +"Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/rosarior/mayan-edms/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:42 permissions.py:7 @@ -85,10 +84,8 @@ msgid "Users" msgstr "" #: links.py:62 links.py:66 -#, fuzzy -#| msgid "New password" msgid "Set password" -msgstr "Mật khẩu mới" +msgstr "" #: permissions.py:10 msgid "Create new groups" @@ -137,6 +134,7 @@ msgstr "" #: views.py:64 #, python-format +#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "" @@ -169,25 +167,22 @@ msgid "User delete request performed on %(count)d users" msgstr "" #: views.py:146 -#, fuzzy #| msgid "Delete existing users" msgid "Delete user" msgid_plural "Delete users" -msgstr[0] "Xóa người dùng" +msgstr[0] "" #: views.py:156 -#, fuzzy, python-format -#| msgid "Delete the groups: %s?" +#, python-format +#| msgid "Delete existing users" msgid "Delete user: %s" -msgstr "Delete existing groups" +msgstr "" #: views.py:168 msgid "" "Super user and staff user deleting is not allowed, use the admin interface " "for these cases." -msgstr "" -"Super user and staff user deleting is not allowed, use the admin interface " -"for these cases." +msgstr "Super user and staff user deleting is not allowed, use the admin interface for these cases." #: views.py:176 #, python-format @@ -232,25 +227,21 @@ msgid "Submit" msgstr "" #: views.py:264 -#, fuzzy -#| msgid "Confirm password" msgid "Change user password" msgid_plural "Change users passwords" -msgstr[0] "Xác nhận mật khẩu" +msgstr[0] "" #: views.py:274 -#, fuzzy, python-format +#, python-format #| msgid "Reseting password for user: %s" msgid "Change password for user: %s" -msgstr "Đang reset mật khẩu: %s" +msgstr "" #: views.py:294 msgid "" "Super user and staff user password reseting is not allowed, use the admin " "interface for these cases." -msgstr "" -"Super user and staff user password reseting is not allowed, use the admin " -"interface for these cases." +msgstr "Super user and staff user password reseting is not allowed, use the admin interface for these cases." #: views.py:304 #, python-format @@ -263,13 +254,16 @@ msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "Lỗi reset mật khẩu \"%(user)s\": %(error)s" #~ msgid "Must provide at least one user." -#~ msgstr "Cần cung cấp ít nhất một user." +#~ msgstr "Must provide at least one user." + +#~ msgid "Delete the users: %s?" +#~ msgstr "Delete existing users" #~ msgid "Passwords do not match, try again." -#~ msgstr "Mật khẩu không khớp, thử lại." +#~ msgstr "Passwords do not match, try again." #~ msgid "Reseting password for users: %s" -#~ msgstr "Đang reset mật khẩu: %s" +#~ msgstr "Reseting password for users: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " @@ -290,6 +284,9 @@ msgstr "Lỗi reset mật khẩu \"%(user)s\": %(error)s" #~ msgid "Error deleting group \"%(group)s\": %(error)s" #~ msgstr "Error deleting group \"%(group)s\": %(error)s" +#~ msgid "Delete the groups: %s?" +#~ msgstr "Delete existing groups" + #~ msgid "Are you sure you wish to delete the user: %s?" #~ msgstr "Are you sure you wish to delete the user: %s?" diff --git a/mayan/apps/user_management/locale/zh_CN/LC_MESSAGES/django.mo b/mayan/apps/user_management/locale/zh_CN/LC_MESSAGES/django.mo index 0a232bc2c5c3c219a98f922e96ea3a9588786b5d..fa30ad85c4e402b30e210dc7b6cdef5945bf2e1e 100644 GIT binary patch delta 610 zcmYMxOG^S#6u|K_>ZJD4vU%#>pZmc8^~K}Uo$wW?UDvPC1)9@QSH&)_ zxB60=VGkaWMy4K3t({>*sGZOw)uBbTQ#8cxL<8!P>M-@}ycc6GBRsLR8O<%^^P8({ z8JXT#Tv=W(mfg2TLpl~u#;im%VGUZz!!xtvKa(1?(#4YbWdtiHH?P-wZ|6HwIVil` KT^0v?5#tYQxIYsB delta 939 zcmZY7&ubGw6bJCPX>4s;O^j8m*g7f!1vg|jZN%J^B6_H%_25A~tY)nXnl0IFil?ZU z)gEuDJZ##;_x)Y3+RpGSLj9T!mhlr9~Vxj z8*)N2oW@5TguLH7WZ}jB^bG@^_}Q4ipbd+G5Aq9lJ8>BDbBAFNo^ZSh+Yvv7ocNLx ze}p>`m*5uIy0%&6Uf6^906c>I=_Ce2a1L@we>k?|t-PUtTrwGQLVb`E9DsaEyk&>)M-5%z4ft&W^A{}U^X{{b#1C%~JdijA-4#JIdT zUh2Frxuo>qm}QI6q?t0}y3lNKLDw*0CUh}o>B%4+)5pcAW?AEAGEOmPV2QXX5~eLK zYWCUl`-GjmB(xFDNCatEw{+V`jI1sa=gef|T~QIR{=4msuim%#fqYlXbE!WfD~ha! zMM#bI@0UY;p^ztbTprd_hGm!uc|f!Es8B;nL=J^zRS~KZRn+`%_b(}3ex0e$FI8^b zEWNs0o6MINZj}m`ONB?(>4%l;i&VM2P|i(M=dMtbQXyNOdQs10my1)i++ukmTg%O0 jMdk54)hDynmrt4t16FnRnzQon`Q_s5KezIpwjSvZ1FpgK diff --git a/mayan/apps/user_management/locale/zh_CN/LC_MESSAGES/django.po b/mayan/apps/user_management/locale/zh_CN/LC_MESSAGES/django.po index 95be7b78eb..0164b01b0b 100644 --- a/mayan/apps/user_management/locale/zh_CN/LC_MESSAGES/django.po +++ b/mayan/apps/user_management/locale/zh_CN/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Translators: # Ford Guo , 2014 @@ -10,14 +10,13 @@ msgstr "" "Project-Id-Version: Mayan EDMS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-04-21 12:24-0400\n" -"PO-Revision-Date: 2016-03-21 21:12+0000\n" +"PO-Revision-Date: 2017-04-21 16:27+0000\n" "Last-Translator: Roberto Rosario\n" -"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/" -"language/zh_CN/)\n" -"Language: zh_CN\n" +"Language-Team: Chinese (China) (http://www.transifex.com/rosarior/mayan-edms/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: apps.py:42 permissions.py:7 @@ -85,10 +84,8 @@ msgid "Users" msgstr "用户" #: links.py:62 links.py:66 -#, fuzzy -#| msgid "New password" msgid "Set password" -msgstr "新密码" +msgstr "" #: permissions.py:10 msgid "Create new groups" @@ -137,6 +134,7 @@ msgstr "" #: views.py:64 #, python-format +#| msgid "Delete existing groups" msgid "Delete the group: %s?" msgstr "" @@ -169,17 +167,16 @@ msgid "User delete request performed on %(count)d users" msgstr "" #: views.py:146 -#, fuzzy #| msgid "Delete existing users" msgid "Delete user" msgid_plural "Delete users" -msgstr[0] "删除现有用户" +msgstr[0] "" #: views.py:156 -#, fuzzy, python-format -#| msgid "Delete the groups: %s?" +#, python-format +#| msgid "Delete existing users" msgid "Delete user: %s" -msgstr "Delete existing groups" +msgstr "" #: views.py:168 msgid "" @@ -227,20 +224,18 @@ msgstr "" #: views.py:262 msgid "Submit" -msgstr "" +msgstr "提交" #: views.py:264 -#, fuzzy -#| msgid "Confirm password" msgid "Change user password" msgid_plural "Change users passwords" -msgstr[0] "确认密码" +msgstr[0] "" #: views.py:274 -#, fuzzy, python-format +#, python-format #| msgid "Reseting password for user: %s" msgid "Change password for user: %s" -msgstr "重置用户%s的密码" +msgstr "" #: views.py:294 msgid "" @@ -259,13 +254,16 @@ msgid "Error reseting password for user \"%(user)s\": %(error)s" msgstr "重置用户\"%(user)s\"密码出错:%(error)s" #~ msgid "Must provide at least one user." -#~ msgstr "必须提供至少一个用户" +#~ msgstr "Must provide at least one user." + +#~ msgid "Delete the users: %s?" +#~ msgstr "Delete existing users" #~ msgid "Passwords do not match, try again." -#~ msgstr "密码不匹配,请再试一次" +#~ msgstr "Passwords do not match, try again." #~ msgid "Reseting password for users: %s" -#~ msgstr "重置用户:%s的密码" +#~ msgstr "Reseting password for users: %s" #~ msgid "" #~ "Super user and staff user editing is not allowed, use the admin interface " @@ -286,6 +284,9 @@ msgstr "重置用户\"%(user)s\"密码出错:%(error)s" #~ msgid "Error deleting group \"%(group)s\": %(error)s" #~ msgstr "Error deleting group \"%(group)s\": %(error)s" +#~ msgid "Delete the groups: %s?" +#~ msgstr "Delete existing groups" + #~ msgid "Are you sure you wish to delete the user: %s?" #~ msgstr "Are you sure you wish to delete the user: %s?" From 22cc5334c50c6e04dc6894af271529ec7fdf1424 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 26 Apr 2017 00:53:16 -0400 Subject: [PATCH 139/144] Fix issue with new style plural defition expression. Switch to old style. Signed-off-by: Roberto Rosario --- .../cabinets/locale/en/LC_MESSAGES/django.mo | Bin 429 -> 421 bytes .../cabinets/locale/en/LC_MESSAGES/django.po | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/mayan/apps/cabinets/locale/en/LC_MESSAGES/django.mo b/mayan/apps/cabinets/locale/en/LC_MESSAGES/django.mo index 2003843bf5bfde5dc01b6228ef37f47f8bc758d2..577fdf1ed48d9295acd3208c3610faec2e93adf0 100644 GIT binary patch delta 34 pcmZ3>yp(x@3S;(0)oeylBWs0%oYJDi99xY%1w~s0LrrTg1^}@X2>k#6 delta 42 xcmZ3=yq0-_3S;p`)oeytPrndXch?|mg@T;YqQo3q*NA{1*Wh4Je?Mz31^^cs3~K-Y diff --git a/mayan/apps/cabinets/locale/en/LC_MESSAGES/django.po b/mayan/apps/cabinets/locale/en/LC_MESSAGES/django.po index c17169b1f3..d96f0d6fa2 100644 --- a/mayan/apps/cabinets/locale/en/LC_MESSAGES/django.po +++ b/mayan/apps/cabinets/locale/en/LC_MESSAGES/django.po @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: apps.py:33 forms.py:30 links.py:21 menus.py:8 models.py:34 permissions.py:7 #: views.py:153 From eb8808cb09062bbb605a3e298ef83e2cfa992df8 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 27 Apr 2017 00:56:16 -0400 Subject: [PATCH 140/144] Add release day to HISTORY file. Signed-off-by: Roberto Rosario --- HISTORY.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HISTORY.rst b/HISTORY.rst index 2131e4a58a..c0d083a4f0 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -1,4 +1,4 @@ -2.2 (2017-04-XX) +2.2 (2017-04-26) ================ - Remove the installation app (GitLab #301). - Add support for document page search From a889a58a39f6f5a536e4371f2a8f4d68ba3f4363 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 27 Apr 2017 00:57:41 -0400 Subject: [PATCH 141/144] Sort multi form view methods. Signed-off-by: Roberto Rosario --- mayan/apps/common/generics.py | 80 ++++++++++++++++++----------------- 1 file changed, 41 insertions(+), 39 deletions(-) diff --git a/mayan/apps/common/generics.py b/mayan/apps/common/generics.py index f77fb5504f..1ff511c2a9 100644 --- a/mayan/apps/common/generics.py +++ b/mayan/apps/common/generics.py @@ -189,9 +189,49 @@ class FormView(FormExtraKwargsMixin, ViewPermissionCheckMixin, ExtraContextMixin class MultiFormView(DjangoFormView): + prefix = None prefixes = {} - prefix = None + def _create_form(self, form_name, klass): + form_kwargs = self.get_form_kwargs(form_name) + form_create_method = 'create_%s_form' % form_name + if hasattr(self, form_create_method): + form = getattr(self, form_create_method)(**form_kwargs) + else: + form = klass(**form_kwargs) + return form + + def forms_valid(self, forms): + for form_name, form in forms.items(): + form_valid_method = '%s_form_valid' % form_name + + if hasattr(self, form_valid_method): + return getattr(self, form_valid_method)(form) + + self.all_forms_valid(forms) + + return HttpResponseRedirect(self.get_success_url()) + + def forms_invalid(self, forms): + return self.render_to_response(self.get_context_data(forms=forms)) + + def get(self, request, *args, **kwargs): + form_classes = self.get_form_classes() + forms = self.get_forms(form_classes) + return self.render_to_response(self.get_context_data(forms=forms)) + + def get_context_data(self, **kwargs): + """ + Insert the form into the context dict. + """ + if 'forms' not in kwargs: + kwargs['forms'] = self.get_forms( + form_classes=self.get_form_classes() + ) + return super(FormMixin, self).get_context_data(**kwargs) + + def get_form_classes(self): + return self.form_classes def get_form_kwargs(self, form_name): kwargs = {} @@ -206,25 +246,6 @@ class MultiFormView(DjangoFormView): return kwargs - def _create_form(self, form_name, klass): - form_kwargs = self.get_form_kwargs(form_name) - form_create_method = 'create_%s_form' % form_name - if hasattr(self, form_create_method): - form = getattr(self, form_create_method)(**form_kwargs) - else: - form = klass(**form_kwargs) - return form - - def get_context_data(self, **kwargs): - """ - Insert the form into the context dict. - """ - if 'forms' not in kwargs: - kwargs['forms'] = self.get_forms( - form_classes=self.get_form_classes() - ) - return super(FormMixin, self).get_context_data(**kwargs) - def get_forms(self, form_classes): return dict( [ @@ -244,25 +265,6 @@ class MultiFormView(DjangoFormView): def get_prefix(self, form_name): return self.prefixes.get(form_name, self.prefix) - def get(self, request, *args, **kwargs): - form_classes = self.get_form_classes() - forms = self.get_forms(form_classes) - return self.render_to_response(self.get_context_data(forms=forms)) - - def forms_valid(self, forms): - for form_name, form in forms.items(): - form_valid_method = '%s_form_valid' % form_name - - if hasattr(self, form_valid_method): - return getattr(self, form_valid_method)(form) - - self.all_forms_valid(forms) - - return HttpResponseRedirect(self.get_success_url()) - - def forms_invalid(self, forms): - return self.render_to_response(self.get_context_data(forms=forms)) - def post(self, request, *args, **kwargs): form_classes = self.get_form_classes() forms = self.get_forms(form_classes) From b91f7f685a391548c4a0e99b5a8a14da60e58ccb Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 4 May 2017 00:40:02 -0400 Subject: [PATCH 142/144] Incorporate @Macrobb metadata widget and content visual changes. GitLab issue #378 Signed-off-by: Roberto Rosario --- docs/releases/3.0.rst | 75 +++++++++++++++++++ .../appearance/static/appearance/css/base.css | 16 ++++ mayan/apps/metadata/widgets.py | 12 +-- 3 files changed, 97 insertions(+), 6 deletions(-) create mode 100644 docs/releases/3.0.rst diff --git a/docs/releases/3.0.rst b/docs/releases/3.0.rst new file mode 100644 index 0000000000..3998d3b4f0 --- /dev/null +++ b/docs/releases/3.0.rst @@ -0,0 +1,75 @@ +============================= +Mayan EDMS v3.0 release notes +============================= + +Released: XX XX, 2017 + +What's new +========== + + +Other changes +------------- +- Metadat widget appearance changes +- Content windows appearance changes + +Removals +-------- +- None + +Upgrading from a previous version +--------------------------------- + +If installed via PIP +~~~~~~~~~~~~~~~~~~~~ + +Type in the console:: + + $ pip install -U mayan-edms + +the requirements will also be updated automatically. + +If installed using Git +~~~~~~~~~~~~~~~~~~~~~~ + +If you installed Mayan EDMS by cloning the Git repository issue the commands:: + + $ git reset --hard HEAD + $ git pull + +otherwise download the compressed archived and uncompress it overriding the +existing installation. + +Manually upgrade/add the new requirements:: + + $ pip install --upgrade -r requirements.txt + +Remove deprecated requirements:: + + $ pip uninstall -y -r removals.txt + +Common steps +~~~~~~~~~~~~ + +Migrate existing database schema with:: + + $ mayan-edms.py performupgrade + +Add new static media:: + + $ mayan-edms.py collectstatic --noinput + +The upgrade procedure is now complete. + + +Backward incompatible changes +============================= + +* None + +Bugs fixed or issues closed +=========================== + +* `GitLab issue #378 `_ Add metadata widget changes from @Macrobb + +.. _PyPI: https://pypi.python.org/pypi/mayan-edms/ diff --git a/mayan/apps/appearance/static/appearance/css/base.css b/mayan/apps/appearance/static/appearance/css/base.css index 97c832828e..1e6e6dfd23 100644 --- a/mayan/apps/appearance/static/appearance/css/base.css +++ b/mayan/apps/appearance/static/appearance/css/base.css @@ -171,3 +171,19 @@ a i { .tag-container .label { margin-right: 2px; } + +/* Metadata */ +.metadata-display { + display: inline-block; + min-width: 200px; + padding-right: 10px; + width: 49%; +} + +/* Content */ +@media (min-width:1200px) { + .container { + min-width: 1170px; + width: 95%; + } +} diff --git a/mayan/apps/metadata/widgets.py b/mayan/apps/metadata/widgets.py index 8307a66d5c..a70540577f 100644 --- a/mayan/apps/metadata/widgets.py +++ b/mayan/apps/metadata/widgets.py @@ -1,14 +1,14 @@ from __future__ import unicode_literals +from django.utils.html import format_html_join def get_metadata_string(document): """ Return a formated representation of a document's metadata values """ - return ', '.join( - [ - '%s - %s' % ( - document_metadata.metadata_type, document_metadata.value - ) for document_metadata in document.metadata.all() - ] + return format_html_join( + '\n', '